diff options
author | Salvador Martinez <dehboxturtle@google.com> | 2019-04-23 14:55:36 -0700 |
---|---|---|
committer | Salvador Martinez <dehboxturtle@google.com> | 2019-04-24 10:43:34 -0700 |
commit | 7de8929c051a0a42a66bab50013604f477cdaae9 (patch) | |
tree | f21eceea4986c1fdcba9ba6dfe90a03fefa8ec65 /packages/SystemUI/src/com/android/systemui/BatteryMeterView.java | |
parent | f49ca518514f3ece743d96524c8991b12d5ca732 (diff) |
Update SysUI to use system cache for battery estimates
This should help prevent Settings and SysUI from getting
out of sync with each other.
Test: manual by adjusting battery levels with adb
Bug: 124030091
Change-Id: I8eaba920a10e045c4c983406873de66208c22fb7
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(); + } } } } |