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.R;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
|
import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
|
||||||
|
import com.android.settingslib.fuelgauge.BatterySaverUtils;
|
||||||
|
|
||||||
public class BatterySaverCondition extends Condition {
|
public class BatterySaverCondition extends Condition {
|
||||||
public BatterySaverCondition(ConditionManager manager) {
|
public BatterySaverCondition(ConditionManager manager) {
|
||||||
@@ -68,7 +69,8 @@ public class BatterySaverCondition extends Condition {
|
|||||||
@Override
|
@Override
|
||||||
public void onActionClick(int index) {
|
public void onActionClick(int index) {
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
mManager.getContext().getSystemService(PowerManager.class).setPowerSaveMode(false);
|
BatterySaverUtils.setPowerSaveMode(mManager.getContext(), false,
|
||||||
|
/*needFirstTimeWarning*/ false);
|
||||||
refreshState();
|
refreshState();
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("Unexpected index " + index);
|
throw new IllegalArgumentException("Unexpected index " + index);
|
||||||
|
@@ -16,14 +16,13 @@
|
|||||||
|
|
||||||
package com.android.settings.fuelgauge;
|
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.content.Intent;
|
||||||
import android.os.PowerManager;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.settings.utils.VoiceSettingsActivity;
|
import com.android.settings.utils.VoiceSettingsActivity;
|
||||||
|
import com.android.settingslib.fuelgauge.BatterySaverUtils;
|
||||||
import static android.provider.Settings.EXTRA_BATTERY_SAVER_MODE_ENABLED;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activity for modifying the {@link android.os.PowerManager} power save mode
|
* Activity for modifying the {@link android.os.PowerManager} power save mode
|
||||||
@@ -35,9 +34,9 @@ public class BatterySaverModeVoiceActivity extends VoiceSettingsActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected boolean onVoiceSettingInteraction(Intent intent) {
|
protected boolean onVoiceSettingInteraction(Intent intent) {
|
||||||
if (intent.hasExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED)) {
|
if (intent.hasExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED)) {
|
||||||
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
if (BatterySaverUtils.setPowerSaveMode(this,
|
||||||
if (powerManager.setPowerSaveMode(
|
intent.getBooleanExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, false),
|
||||||
intent.getBooleanExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, false))) {
|
/*needFirstTimeWarning=*/ true)) {
|
||||||
notifySuccess(null);
|
notifySuccess(null);
|
||||||
} else {
|
} else {
|
||||||
Log.v(TAG, "Unable to set power mode");
|
Log.v(TAG, "Unable to set power mode");
|
||||||
|
@@ -21,13 +21,13 @@ import android.os.PowerManager;
|
|||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
|
|
||||||
import com.android.settings.fuelgauge.BatterySaverReceiver;
|
import com.android.settings.fuelgauge.BatterySaverReceiver;
|
||||||
import com.android.settings.widget.TwoStateButtonPreferenceController;
|
import com.android.settings.widget.TwoStateButtonPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||||
|
import com.android.settingslib.fuelgauge.BatterySaverUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller to update the battery saver button
|
* Controller to update the battery saver button
|
||||||
@@ -73,7 +73,8 @@ public class BatterySaverButtonPreferenceController extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onButtonClicked(boolean stateOn) {
|
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
|
@Override
|
||||||
|
@@ -17,16 +17,13 @@
|
|||||||
package com.android.settings.fuelgauge.batterytip.actions;
|
package com.android.settings.fuelgauge.batterytip.actions;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.PowerManager;
|
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
|
import com.android.settingslib.fuelgauge.BatterySaverUtils;
|
||||||
|
|
||||||
public class BatterySaverAction extends BatteryTipAction {
|
public class BatterySaverAction extends BatteryTipAction {
|
||||||
private PowerManager mPowerManager;
|
|
||||||
|
|
||||||
public BatterySaverAction(Context context) {
|
public BatterySaverAction(Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +31,7 @@ public class BatterySaverAction extends BatteryTipAction {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void handlePositiveAction(int metricsKey) {
|
public void handlePositiveAction(int metricsKey) {
|
||||||
mPowerManager.setPowerSaveMode(true);
|
BatterySaverUtils.setPowerSaveMode(mContext, true, /*needFirstTimeWarning*/ true);
|
||||||
mMetricsFeatureProvider.action(mContext,
|
mMetricsFeatureProvider.action(mContext,
|
||||||
MetricsProto.MetricsEvent.ACTION_TIP_TURN_ON_BATTERY_SAVER, metricsKey);
|
MetricsProto.MetricsEvent.ACTION_TIP_TURN_ON_BATTERY_SAVER, metricsKey);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user