Implement new BS warning / notification flow (2/2)
Bug: 74120126 Test: Manual tests Change-Id: Ieea6ee97695cd5a30e55f5c6ccec8135ec2d0ef4
This commit is contained in:
@@ -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);
|
||||
|
@@ -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");
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user