diff --git a/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java b/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java index 618fed3a81b..d1135784d4a 100644 --- a/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java +++ b/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java @@ -23,6 +23,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings; +import com.android.settingslib.fuelgauge.BatterySaverUtils; public class BatterySaverCondition extends Condition { public BatterySaverCondition(ConditionManager manager) { @@ -68,7 +69,8 @@ public class BatterySaverCondition extends Condition { @Override public void onActionClick(int index) { if (index == 0) { - mManager.getContext().getSystemService(PowerManager.class).setPowerSaveMode(false); + BatterySaverUtils.setPowerSaveMode(mManager.getContext(), false, + /*needFirstTimeWarning*/ false); refreshState(); } else { throw new IllegalArgumentException("Unexpected index " + index); diff --git a/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java b/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java index 3fc0cd823ee..04624bb8c75 100644 --- a/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java +++ b/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java @@ -16,14 +16,13 @@ package com.android.settings.fuelgauge; -import android.content.Context; +import static android.provider.Settings.EXTRA_BATTERY_SAVER_MODE_ENABLED; + import android.content.Intent; -import android.os.PowerManager; import android.util.Log; import com.android.settings.utils.VoiceSettingsActivity; - -import static android.provider.Settings.EXTRA_BATTERY_SAVER_MODE_ENABLED; +import com.android.settingslib.fuelgauge.BatterySaverUtils; /** * Activity for modifying the {@link android.os.PowerManager} power save mode @@ -35,9 +34,9 @@ public class BatterySaverModeVoiceActivity extends VoiceSettingsActivity { @Override protected boolean onVoiceSettingInteraction(Intent intent) { if (intent.hasExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED)) { - PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); - if (powerManager.setPowerSaveMode( - intent.getBooleanExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, false))) { + if (BatterySaverUtils.setPowerSaveMode(this, + intent.getBooleanExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, false), + /*needFirstTimeWarning=*/ true)) { notifySuccess(null); } else { Log.v(TAG, "Unable to set power mode"); diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java index 1d427c9f953..b23a5f08a70 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java @@ -21,13 +21,13 @@ import android.os.PowerManager; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; -import com.android.settings.fuelgauge.BatteryBroadcastReceiver; import com.android.settings.fuelgauge.BatterySaverReceiver; import com.android.settings.widget.TwoStateButtonPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; +import com.android.settingslib.fuelgauge.BatterySaverUtils; /** * Controller to update the battery saver button @@ -73,7 +73,8 @@ public class BatterySaverButtonPreferenceController extends @Override public void onButtonClicked(boolean stateOn) { - mPowerManager.setPowerSaveMode(stateOn); + // This screen already shows a warning, so we don't need another warning. + BatterySaverUtils.setPowerSaveMode(mContext, stateOn, /*needFirstTimeWarning*/ false); } @Override @@ -85,4 +86,4 @@ public class BatterySaverButtonPreferenceController extends public void onBatteryChanged(boolean pluggedIn) { setButtonEnabled(!pluggedIn); } -} \ No newline at end of file +} diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java index bb526236bb9..6eff47a6b4d 100644 --- a/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java +++ b/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java @@ -17,16 +17,13 @@ package com.android.settings.fuelgauge.batterytip.actions; import android.content.Context; -import android.os.PowerManager; import com.android.internal.logging.nano.MetricsProto; +import com.android.settingslib.fuelgauge.BatterySaverUtils; public class BatterySaverAction extends BatteryTipAction { - private PowerManager mPowerManager; - public BatterySaverAction(Context context) { super(context); - mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); } /** @@ -34,7 +31,7 @@ public class BatterySaverAction extends BatteryTipAction { */ @Override public void handlePositiveAction(int metricsKey) { - mPowerManager.setPowerSaveMode(true); + BatterySaverUtils.setPowerSaveMode(mContext, true, /*needFirstTimeWarning*/ true); mMetricsFeatureProvider.action(mContext, MetricsProto.MetricsEvent.ACTION_TIP_TURN_ON_BATTERY_SAVER, metricsKey); }