Show Battery saver tip when battery saver is on

Before this CL, we only show "Battery Saver is on" when users turn it
on in battery tips.

In this CL, we change to constantly show this tip when battery
saver is on.

Change-Id: I9ddefdbd5818725202ddf4469b4a685ba008060a
Fixes: 75251000
Test: RunSettingsRoboTests
This commit is contained in:
Lei Yu
2018-04-04 13:30:42 -07:00
parent cf60ff7e08
commit 559f65a28a
2 changed files with 7 additions and 4 deletions

View File

@@ -55,8 +55,9 @@ public class EarlyWarningDetector implements BatteryTipDetector {
final boolean earlyWarning = mPowerUsageFeatureProvider.getEarlyWarningSignal(mContext, final boolean earlyWarning = mPowerUsageFeatureProvider.getEarlyWarningSignal(mContext,
EarlyWarningDetector.class.getName()); EarlyWarningDetector.class.getName());
final int state = final int state = powerSaveModeOn
mPolicy.batterySaverTipEnabled && !powerSaveModeOn && discharging && earlyWarning ? BatteryTip.StateType.HANDLED
: mPolicy.batterySaverTipEnabled && discharging && earlyWarning
? BatteryTip.StateType.NEW ? BatteryTip.StateType.NEW
: BatteryTip.StateType.INVISIBLE; : BatteryTip.StateType.INVISIBLE;
return new EarlyWarningTip(state, powerSaveModeOn); return new EarlyWarningTip(state, powerSaveModeOn);

View File

@@ -27,6 +27,7 @@ import android.os.BatteryManager;
import android.os.PowerManager; import android.os.PowerManager;
import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy; import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -74,10 +75,11 @@ public class EarlyWarningDetectorTest {
} }
@Test @Test
public void testDetect_batterySaverOn_tipInvisible() { public void testDetect_batterySaverOn_tipHandled() {
doReturn(true).when(mPowerManager).isPowerSaveMode(); doReturn(true).when(mPowerManager).isPowerSaveMode();
assertThat(mEarlyWarningDetector.detect().isVisible()).isFalse(); assertThat(mEarlyWarningDetector.detect().getState())
.isEqualTo(BatteryTip.StateType.HANDLED);
} }
@Test @Test