Fix a crash in battery settings page

Regression from ag/7161923, in this case we should use onResume/onPause
pair. Also sort the method to fit android lifecycle.

Bug: 131615524
Test: RunSettingsRoboTests
Change-Id: I299032bfeb119dac293039917c6673dd4c0ef4e0
This commit is contained in:
Lei Yu
2019-04-29 13:25:24 -07:00
parent 7c802e553f
commit aa625bd06e
2 changed files with 68 additions and 23 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.fuelgauge;
import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
import android.net.Uri;
@@ -107,7 +108,8 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
BatteryTipPreferenceController mBatteryTipPreferenceController;
private int mStatsType = BatteryStats.STATS_SINCE_CHARGED;
private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
@VisibleForTesting
final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange, Uri uri) {
restartBatteryInfoLoader();
@@ -201,21 +203,6 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
}
};
@Override
public void onStop() {
getContentResolver().unregisterContentObserver(mSettingsObserver);
super.onStop();
}
@Override
public void onResume() {
super.onResume();
getContentResolver().registerContentObserver(
Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
false,
mSettingsObserver);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
@@ -251,6 +238,21 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
updateBatteryTipFlag(icicle);
}
@Override
public void onResume() {
super.onResume();
getContentResolver().registerContentObserver(
Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
false,
mSettingsObserver);
}
@Override
public void onPause() {
getContentResolver().unregisterContentObserver(mSettingsObserver);
super.onPause();
}
@Override
public int getMetricsCategory() {
return SettingsEnums.FUELGAUGE_POWER_USAGE_SUMMARY_V2;