am 8d48c3d2: Merge "Enable AUTO_TIME_ZONE settings." into honeycomb

* commit '8d48c3d21f78cc2bc94682731d64b23ec0899824':
  Enable AUTO_TIME_ZONE settings.
This commit is contained in:
John Wang
2011-01-18 11:46:14 -08:00
committed by Android Git Automerger
2 changed files with 55 additions and 13 deletions

View File

@@ -152,9 +152,16 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
private ContentObserver mAutoTimeObserver = new ContentObserver(new Handler()) { private ContentObserver mAutoTimeObserver = new ContentObserver(new Handler()) {
@Override @Override
public void onChange(boolean selfChange) { public void onChange(boolean selfChange) {
Log.i("CdmaServiceStateTracker", "Auto time state called ..."); Log.i("CdmaServiceStateTracker", "Auto time state changed");
revertToNitz(); revertToNitzTime();
}
};
private ContentObserver mAutoTimeZoneObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
Log.i("CdmaServiceStateTracker", "Auto time zone state changed");
revertToNitzTimeZone();
} }
}; };
@@ -194,6 +201,9 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
cr.registerContentObserver( cr.registerContentObserver(
Settings.System.getUriFor(Settings.System.AUTO_TIME), true, Settings.System.getUriFor(Settings.System.AUTO_TIME), true,
mAutoTimeObserver); mAutoTimeObserver);
cr.registerContentObserver(
Settings.System.getUriFor(Settings.System.AUTO_TIME_ZONE), true,
mAutoTimeZoneObserver);
setSignalStrengthDefaultValues(); setSignalStrengthDefaultValues();
mNeedToRegForRuimLoaded = true; mNeedToRegForRuimLoaded = true;
@@ -212,6 +222,7 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
cm.unSetOnSignalStrengthUpdate(this); cm.unSetOnSignalStrengthUpdate(this);
cm.unSetOnNITZTime(this); cm.unSetOnNITZTime(this);
cr.unregisterContentObserver(this.mAutoTimeObserver); cr.unregisterContentObserver(this.mAutoTimeObserver);
cr.unregisterContentObserver(this.mAutoTimeZoneObserver);
} }
@Override @Override
@@ -1582,20 +1593,29 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
phone.getContext().sendStickyBroadcast(intent); phone.getContext().sendStickyBroadcast(intent);
} }
private void revertToNitz() { private void revertToNitzTime() {
if (Settings.System.getInt(cr, Settings.System.AUTO_TIME, 0) == 0) { if (Settings.System.getInt(cr, Settings.System.AUTO_TIME, 0) == 0) {
return; return;
} }
Log.d(LOG_TAG, "Reverting to NITZ: tz='" + mSavedTimeZone Log.d(LOG_TAG, "Reverting to NITZ Time: mSavedTime=" + mSavedTime
+ "' mSavedTime=" + mSavedTime
+ " mSavedAtTime=" + mSavedAtTime); + " mSavedAtTime=" + mSavedAtTime);
if (mSavedTimeZone != null && mSavedTime != 0 && mSavedAtTime != 0) { if (mSavedTime != 0 && mSavedAtTime != 0) {
setAndBroadcastNetworkSetTimeZone(mSavedTimeZone);
setAndBroadcastNetworkSetTime(mSavedTime setAndBroadcastNetworkSetTime(mSavedTime
+ (SystemClock.elapsedRealtime() - mSavedAtTime)); + (SystemClock.elapsedRealtime() - mSavedAtTime));
} }
} }
private void revertToNitzTimeZone() {
if (Settings.System.getInt(phone.getContext().getContentResolver(),
Settings.System.AUTO_TIME_ZONE, 0) == 0) {
return;
}
Log.d(LOG_TAG, "Reverting to NITZ TimeZone: tz='" + mSavedTimeZone);
if (mSavedTimeZone != null) {
setAndBroadcastNetworkSetTimeZone(mSavedTimeZone);
}
}
private boolean isSidsAllZeros() { private boolean isSidsAllZeros() {
if (mHomeSystemId != null) { if (mHomeSystemId != null) {
for (int i=0; i < mHomeSystemId.length; i++) { for (int i=0; i < mHomeSystemId.length; i++) {

View File

@@ -181,7 +181,15 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
@Override @Override
public void onChange(boolean selfChange) { public void onChange(boolean selfChange) {
Log.i("GsmServiceStateTracker", "Auto time state changed"); Log.i("GsmServiceStateTracker", "Auto time state changed");
revertToNitz(); revertToNitzTime();
}
};
private ContentObserver mAutoTimeZoneObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
Log.i("GsmServiceStateTracker", "Auto time zone state changed");
revertToNitzTimeZone();
} }
}; };
@@ -220,6 +228,10 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
cr.registerContentObserver( cr.registerContentObserver(
Settings.System.getUriFor(Settings.System.AUTO_TIME), true, Settings.System.getUriFor(Settings.System.AUTO_TIME), true,
mAutoTimeObserver); mAutoTimeObserver);
cr.registerContentObserver(
Settings.System.getUriFor(Settings.System.AUTO_TIME_ZONE), true,
mAutoTimeZoneObserver);
setSignalStrengthDefaultValues(); setSignalStrengthDefaultValues();
mNeedToRegForSimLoaded = true; mNeedToRegForSimLoaded = true;
@@ -244,6 +256,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
cm.unSetOnRestrictedStateChanged(this); cm.unSetOnRestrictedStateChanged(this);
cm.unSetOnNITZTime(this); cm.unSetOnNITZTime(this);
cr.unregisterContentObserver(this.mAutoTimeObserver); cr.unregisterContentObserver(this.mAutoTimeObserver);
cr.unregisterContentObserver(this.mAutoTimeZoneObserver);
} }
protected void finalize() { protected void finalize() {
@@ -1613,21 +1626,30 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
phone.getContext().sendStickyBroadcast(intent); phone.getContext().sendStickyBroadcast(intent);
} }
private void revertToNitz() { private void revertToNitzTime() {
if (Settings.System.getInt(phone.getContext().getContentResolver(), if (Settings.System.getInt(phone.getContext().getContentResolver(),
Settings.System.AUTO_TIME, 0) == 0) { Settings.System.AUTO_TIME, 0) == 0) {
return; return;
} }
Log.d(LOG_TAG, "Reverting to NITZ: tz='" + mSavedTimeZone Log.d(LOG_TAG, "Reverting to NITZ Time: mSavedTime=" + mSavedTime
+ "' mSavedTime=" + mSavedTime
+ " mSavedAtTime=" + mSavedAtTime); + " mSavedAtTime=" + mSavedAtTime);
if (mSavedTimeZone != null && mSavedTime != 0 && mSavedAtTime != 0) { if (mSavedTime != 0 && mSavedAtTime != 0) {
setAndBroadcastNetworkSetTimeZone(mSavedTimeZone);
setAndBroadcastNetworkSetTime(mSavedTime setAndBroadcastNetworkSetTime(mSavedTime
+ (SystemClock.elapsedRealtime() - mSavedAtTime)); + (SystemClock.elapsedRealtime() - mSavedAtTime));
} }
} }
private void revertToNitzTimeZone() {
if (Settings.System.getInt(phone.getContext().getContentResolver(),
Settings.System.AUTO_TIME_ZONE, 0) == 0) {
return;
}
Log.d(LOG_TAG, "Reverting to NITZ TimeZone: tz='" + mSavedTimeZone);
if (mSavedTimeZone != null) {
setAndBroadcastNetworkSetTimeZone(mSavedTimeZone);
}
}
/** /**
* Post a notification to NotificationManager for restricted state * Post a notification to NotificationManager for restricted state
* *