teamacid / android_device_samsung_galaxys4gmtd

CyanogenMod Device Tree for the Galaxy S 4G
http://forum.xda-developers.com/showthread.php?t=1618016
7 stars 7 forks source link

Time Zone Changed On DST End (Carrier-Supplied Time) #35

Open ovacikar opened 11 years ago

ovacikar commented 11 years ago

After the daylight savings end, The clock went back 2 hours instead of 1

Use network provided time zone setting incorrectly shows my time zone to Central Standard Time CST, whereas I am located in Eastern. time zone.

ICS 4.0.4 R9 2012-08-30

jeffsf commented 11 years ago

Similar impact confirmed by several users.

Various US time zones T-Mobile KG4, LB6 modems CM9, AOKP Also reports on RemICS (CM9-based?), MIUI, Audiophile, slimICS

http://forum.xda-developers.com/showthread.php?t=1973095 -- has some logs potentially suggesting a radio restart? Very weak evidence at this point.

maxfierke commented 11 years ago

Bug confirmed. This happened to me on LB6.

Fluidification commented 11 years ago

Confirmed on KJ4

CM9 r8

fbis251 commented 11 years ago

There must be something else to this, the problem was not replicated for me ROM: Team Acid AOKP Milestone 6 build 5. Modem: LB6 Carrier: T-Mobile Kernel: Hefe Kernel of Darkness

EDIT Just to clarify, the time zone on my phone was unchanged (PST) and the time change was only one hour as it should have been.

Kustomz commented 11 years ago

maybe its a kernel issue?

currently using 2.6.35.7-cyanogenmod-ICS-00168-g54d8330 which came with the latest aokp team acid edition. but maybe i'm wrong since jeff uses hefe kod also?

jeffsf commented 11 years ago

Handler is in frameworks/base/services/java/com/android/server/NetworkTimeUpdateService.java

/** Receiver for Nitz time events */
private BroadcastReceiver mNitzReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (TelephonyIntents.ACTION_NETWORK_SET_TIME.equals(action)) {
            mNitzTimeSetTime = SystemClock.elapsedRealtime();
        } else if (TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE.equals(action)) {
            mNitzZoneSetTime = SystemClock.elapsedRealtime();
        }
    }
};

Unfortunately that looks like a near noop as I can't see anything being done with mNitz*SetTime

More clues possibly in frameworks/base/telephony/java/com/android/internal/telephony/SamsungRIL.java

Current guess is that the time changed by an hour and it got reflected in both the clock and the timezone.