summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
diff options
context:
space:
mode:
authorSalvador Martinez <dehboxturtle@google.com>2019-04-23 14:55:36 -0700
committerSalvador Martinez <dehboxturtle@google.com>2019-04-24 10:43:34 -0700
commit7de8929c051a0a42a66bab50013604f477cdaae9 (patch)
treef21eceea4986c1fdcba9ba6dfe90a03fefa8ec65 /packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
parentf49ca518514f3ece743d96524c8991b12d5ca732 (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.java9
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();
+ }
}
}
}