Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2c1b245 authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "Implement new BS warning / notification flow (2/2)" into pi-dev

parents aebbd5b7 5b60fdba
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);
+6 −7
Original line number Diff line number Diff line
@@ -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");
+4 −3
Original line number Diff line number Diff line
@@ -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
+2 −5
Original line number Diff line number Diff line
@@ -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);
    }