diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index fbe4e0d32ca..d89653ae5ce 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -36,7 +36,8 @@
+ android:title="@string/battery_saver"
+ settings:controller="com.android.settings.fuelgauge.BatterySaverController"/>
0 ? R.string.battery_saver_desc_turn_on_auto_pct
: R.string.battery_saver_desc_turn_on_auto_never;
- final String summary = mContext.getString(format, mContext.getString(percentFormat,
+ return mContext.getString(format, mContext.getString(percentFormat,
Utils.formatPercentage(percent)));
+ }
- mBatterySaverPref.setSummary(summary);
+ private void updateSummary() {
+ mBatterySaverPref.setSummary(getSummary());
}
private final ContentObserver mObserver = new ContentObserver(new Handler()) {
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 659166a8ce9..e6fd4492c45 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -59,6 +59,7 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.utils.PowerUtil;
import com.android.settingslib.utils.StringUtil;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -232,17 +233,20 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
final SettingsActivity activity = (SettingsActivity) getActivity();
final List controllers = new ArrayList<>();
mBatteryHeaderPreferenceController = new BatteryHeaderPreferenceController(
- context, activity, this /* host */, getLifecycle());
+ context, activity, this /* host */, lifecycle);
controllers.add(mBatteryHeaderPreferenceController);
mBatteryAppListPreferenceController = new BatteryAppListPreferenceController(context,
KEY_APP_LIST, lifecycle, activity, this);
controllers.add(mBatteryAppListPreferenceController);
mBatteryTipPreferenceController = new BatteryTipPreferenceController(context,
- KEY_BATTERY_TIP, (SettingsActivity) getActivity(), this, this);
+ KEY_BATTERY_TIP, (SettingsActivity) getActivity(), this /* fragment */, this /*
+ BatteryTipListener */);
controllers.add(mBatteryTipPreferenceController);
- controllers.add(new BatterySaverController(context, getLifecycle()));
+ BatterySaverController batterySaverController = new BatterySaverController(context);
+ controllers.add(batterySaverController);
controllers.add(new BatteryPercentagePreferenceController(context));
+ lifecycle.addObserver(batterySaverController);
return controllers;
}
@@ -322,7 +326,8 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
@VisibleForTesting
void updateLastFullChargePreference(long timeMs) {
- final CharSequence timeSequence = StringUtil.formatRelativeTime(getContext(), timeMs, false);
+ final CharSequence timeSequence = StringUtil.formatRelativeTime(getContext(), timeMs,
+ false);
mLastFullChargePref.setSubtitle(timeSequence);
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummaryLegacy.java b/src/com/android/settings/fuelgauge/PowerUsageSummaryLegacy.java
index e6c49237218..14a445bb2d7 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummaryLegacy.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummaryLegacy.java
@@ -313,12 +313,14 @@ public class PowerUsageSummaryLegacy extends PowerUsageBase implements
controllers.add(mBatteryHeaderPreferenceController);
controllers.add(new AutoBrightnessPreferenceController(context, KEY_AUTO_BRIGHTNESS));
controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
- controllers.add(new BatterySaverController(context, getLifecycle()));
controllers.add(new BatteryPercentagePreferenceController(context));
controllers.add(new AmbientDisplayPreferenceController(
context,
new AmbientDisplayConfiguration(context),
KEY_AMBIENT_DISPLAY));
+ BatterySaverController batterySaverController = new BatterySaverController(context);
+ controllers.add(batterySaverController);
+ getLifecycle().addObserver(batterySaverController);
return controllers;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
index c75a6a6377e..6cc3310b45a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
@@ -53,7 +53,7 @@ public class BatterySaverControllerTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
- mBatterySaverController = spy(new BatterySaverController(mContext, mLifecycle));
+ mBatterySaverController = spy(new BatterySaverController(mContext));
ReflectionHelpers.setField(mBatterySaverController, "mPowerManager", mPowerManager);
ReflectionHelpers.setField(mBatterySaverController, "mBatterySaverPref", mBatterySaverPref);
doNothing().when(mBatterySaverController).refreshConditionManager();