diff options
author | jackqdyulei <jackqdyulei@google.com> | 2018-02-06 14:03:30 -0800 |
---|---|---|
committer | jackqdyulei <jackqdyulei@google.com> | 2018-02-08 15:22:27 -0800 |
commit | a2df26e9b358086224d587b6da45c59da6098fe2 (patch) | |
tree | 54015b1a90cb08ca707adc44a86899263d07c00e /src/com/android/settings/fuelgauge/batterysaver | |
parent | 92757b2454c3bbc6d54a5b49efad4ebafc9fe01b (diff) | |
download | packages_apps_Settings-a2df26e9b358086224d587b6da45c59da6098fe2.tar.gz packages_apps_Settings-a2df26e9b358086224d587b6da45c59da6098fe2.tar.bz2 packages_apps_Settings-a2df26e9b358086224d587b6da45c59da6098fe2.zip |
Use BatterySaverReceiver in battery saver settings
Use this receiver to listen to following updates:
1. Plug state: if it is plugged in, disable this two state
button, otherwise make it enabled
2. low power mode: If mode on, show "turn off" otherwise show
"turn on"
Bug: 72228477
Test: RunSettingsRoboTests
Change-Id: Ib3d3df9f9a5fbac8b1b876c9e193beb75f522ebd
Diffstat (limited to 'src/com/android/settings/fuelgauge/batterysaver')
-rw-r--r-- | src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java index 17b42b80f6..1d427c9f95 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java @@ -22,6 +22,7 @@ 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; @@ -31,20 +32,19 @@ import com.android.settingslib.core.lifecycle.events.OnStop; /** * Controller to update the battery saver button */ -//TODO(b/72228477): disable the button if device is charging. public class BatterySaverButtonPreferenceController extends TwoStateButtonPreferenceController implements - LifecycleObserver, OnStart, OnStop, BatteryBroadcastReceiver.OnBatteryChangedListener { + LifecycleObserver, OnStart, OnStop, BatterySaverReceiver.BatterySaverListener { private static final String KEY = "battery_saver_button_container"; - private BatteryBroadcastReceiver mBatteryBroadcastReceiver; + private BatterySaverReceiver mBatterySaverReceiver; @VisibleForTesting PowerManager mPowerManager; public BatterySaverButtonPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY); mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - mBatteryBroadcastReceiver = new BatteryBroadcastReceiver(context); - mBatteryBroadcastReceiver.setBatteryChangedListener(this); + mBatterySaverReceiver = new BatterySaverReceiver(context); + mBatterySaverReceiver.setBatterySaverListener(this); if (lifecycle != null) { lifecycle.addObserver(this); } @@ -52,19 +52,18 @@ public class BatterySaverButtonPreferenceController extends @Override public void onStart() { - mBatteryBroadcastReceiver.register(); + mBatterySaverReceiver.setListening(true); } @Override public void onStop() { - mBatteryBroadcastReceiver.unRegister(); + mBatterySaverReceiver.setListening(false); } @Override public void updateState(Preference preference) { super.updateState(preference); - final boolean lowPowerModeOn = mPowerManager.isPowerSaveMode(); - updateButton(!lowPowerModeOn); + setButtonVisibility(!mPowerManager.isPowerSaveMode()); } @Override @@ -73,13 +72,17 @@ public class BatterySaverButtonPreferenceController extends } @Override - public void onBatteryChanged() { - final boolean lowPowerModeOn = mPowerManager.isPowerSaveMode(); - updateButton(!lowPowerModeOn); + public void onButtonClicked(boolean stateOn) { + mPowerManager.setPowerSaveMode(stateOn); } @Override - public void onButtonClicked(boolean stateOn) { - mPowerManager.setPowerSaveMode(stateOn); + public void onPowerSaveModeChanged() { + setButtonVisibility(!mPowerManager.isPowerSaveMode()); + } + + @Override + public void onBatteryChanged(boolean pluggedIn) { + setButtonEnabled(!pluggedIn); } }
\ No newline at end of file |