summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings
diff options
context:
space:
mode:
authorMakoto Onuki <omakoto@google.com>2018-03-20 13:05:22 -0700
committerMakoto Onuki <omakoto@google.com>2018-03-21 11:14:20 -0700
commit5b60fdba81245056de69ecefbf6bb37c90c4978f (patch)
treeb319b12054d49d5f8d794458198eca7b707fcad5 /src/com/android/settings
parent940630bae187ee8861f7a0db923684d70df3238d (diff)
downloadpackages_apps_Settings-5b60fdba81245056de69ecefbf6bb37c90c4978f.tar.gz
packages_apps_Settings-5b60fdba81245056de69ecefbf6bb37c90c4978f.tar.bz2
packages_apps_Settings-5b60fdba81245056de69ecefbf6bb37c90c4978f.zip
Implement new BS warning / notification flow (2/2)
Bug: 74120126 Test: Manual tests Change-Id: Ieea6ee97695cd5a30e55f5c6ccec8135ec2d0ef4
Diffstat (limited to 'src/com/android/settings')
-rw-r--r--src/com/android/settings/dashboard/conditional/BatterySaverCondition.java4
-rw-r--r--src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java13
-rw-r--r--src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java7
-rw-r--r--src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java7
4 files changed, 15 insertions, 16 deletions
diff --git a/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java b/src/com/android/settings/dashboard/conditional/BatterySaverCondition.java
index 618fed3a81..d1135784d4 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 3fc0cd823e..04624bb8c7 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 1d427c9f95..b23a5f08a7 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 bb526236bb..6eff47a6b4 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);
}