diff options
| author | 2010-08-30 12:47:23 +0200 | |
|---|---|---|
| committer | 2011-04-19 14:47:45 +0200 | |
| commit | c84cc4f183cb18f299bed237235fa64e013d0fca (patch) | |
| tree | a1b18aa8ef9644f6e143b8d352a224d3c0375775 | |
| parent | 08d9d9a46250c4fad66e9b637e8898a3524c4286 (diff) | |
Check if we are in daylight time when calculating timezone
The code that calculates the Kernel TimeZone does not check
if we are actually in daylite time prior updating the kernel
time zone. Use TimeZone.getOffset which checks for daylight
savings. Also updated setTimeZone for consistency.
Change-Id: I44565bc8df48e81370ea3bfbb099a6a5675e343d
| -rw-r--r-- | services/java/com/android/server/AlarmManagerService.java | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/services/java/com/android/server/AlarmManagerService.java b/services/java/com/android/server/AlarmManagerService.java index 4931cc7bd98d..cf3ecdcfc38c 100644 --- a/services/java/com/android/server/AlarmManagerService.java +++ b/services/java/com/android/server/AlarmManagerService.java @@ -281,10 +281,7 @@ class AlarmManagerService extends IAlarmManager.Stub { // Update the kernel timezone information // Kernel tracks time offsets as 'minutes west of GMT' - int gmtOffset = zone.getRawOffset(); - if (zone.inDaylightTime(new Date(System.currentTimeMillis()))) { - gmtOffset += zone.getDSTSavings(); - } + int gmtOffset = zone.getOffset(System.currentTimeMillis()); setKernelTimezone(mDescriptor, -(gmtOffset / 60000)); } @@ -784,9 +781,8 @@ class AlarmManagerService extends IAlarmManager.Stub { // based off of the current Zone gmt offset + userspace tracked // daylight savings information. TimeZone zone = TimeZone.getTimeZone(SystemProperties.get(TIMEZONE_PROPERTY)); - int gmtOffset = (zone.getRawOffset() + zone.getDSTSavings()) / 60000; - - setKernelTimezone(mDescriptor, -(gmtOffset)); + int gmtOffset = zone.getOffset(System.currentTimeMillis()); + setKernelTimezone(mDescriptor, -(gmtOffset / 60000)); scheduleDateChangedEvent(); } } |