mirror of
https://github.com/etesync/android
synced 2025-05-09 18:38:51 +00:00
Merge pull request #473 from Springuin/master
Time zone guessing improved, fixes 'Assuming time zone Etc/GMT for Etc/G...
This commit is contained in:
commit
7d5ed0bd11
@ -341,25 +341,38 @@ public class Event extends Resource {
|
||||
|
||||
/* guess matching Android timezone ID */
|
||||
protected static void validateTimeZone(DateProperty date) {
|
||||
if (date.isUtc() || !hasTime(date))
|
||||
return;
|
||||
|
||||
String tzID = getTzId(date);
|
||||
if (tzID == null)
|
||||
return;
|
||||
|
||||
String localTZ = Time.TIMEZONE_UTC;
|
||||
|
||||
String availableTZs[] = SimpleTimeZone.getAvailableIDs();
|
||||
for (String availableTZ : availableTZs)
|
||||
if (tzID.indexOf(availableTZ, 0) != -1) {
|
||||
localTZ = availableTZ;
|
||||
break;
|
||||
}
|
||||
|
||||
Log.d(TAG, "Assuming time zone " + localTZ + " for " + tzID);
|
||||
date.setTimeZone(tzRegistry.getTimeZone(localTZ));
|
||||
}
|
||||
if (date.isUtc() || !hasTime(date))
|
||||
return;
|
||||
|
||||
String tzID = getTzId(date);
|
||||
if (tzID == null)
|
||||
return;
|
||||
|
||||
String localTZ = Time.TIMEZONE_UTC;
|
||||
boolean foundMatch = false;
|
||||
String availableTZs[] = SimpleTimeZone.getAvailableIDs();
|
||||
|
||||
// Try to find an exact match
|
||||
for (String availableTZ : availableTZs) {
|
||||
if (tzID.equals(availableTZ)) {
|
||||
localTZ = availableTZ;
|
||||
foundMatch = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundMatch) {
|
||||
// Try to find something else that matches
|
||||
for (String availableTZ : availableTZs) {
|
||||
if (tzID.indexOf(availableTZ, 0) != -1) {
|
||||
localTZ = availableTZ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Log.d(TAG, "Assuming time zone " + localTZ + " for " + tzID);
|
||||
date.setTimeZone(tzRegistry.getTimeZone(localTZ));
|
||||
}
|
||||
|
||||
public static String TimezoneDefToTzId(String timezoneDef) throws IllegalArgumentException {
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user