diff options
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/BatteryMeterView.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 6c1d1f91830f..6832ee3c3312 100644 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -36,6 +36,7 @@ import android.graphics.Rect; import android.net.Uri; import android.os.Handler; import android.provider.Settings; +import android.text.TextUtils; import android.util.ArraySet; import android.util.AttributeSet; import android.util.TypedValue; @@ -319,6 +320,9 @@ public class BatteryMeterView extends LinearLayout implements mUser = ActivityManager.getCurrentUser(); getContext().getContentResolver().registerContentObserver( Settings.System.getUriFor(SHOW_BATTERY_PERCENT), false, mSettingObserver, mUser); + getContext().getContentResolver().registerContentObserver( + Settings.Global.getUriFor(Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), + false, mSettingObserver); updateShowPercent(); subscribeForTunerUpdates(); mUserTracker.startTracking(); @@ -493,6 +497,11 @@ public class BatteryMeterView extends LinearLayout implements public void onChange(boolean selfChange, Uri uri) { super.onChange(selfChange, uri); updateShowPercent(); + if (TextUtils.equals(uri.getLastPathSegment(), + Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME)) { + // update the text for sure if the estimate in the cache was updated + updatePercentText(); + } } } } |