Adjust battery tips action
- Change low battery tips action to launch battery saver page - Enable smart battery tip when battery level is lower than expected and battery saver is off Bug: 183582881 Test: make RunSettingsRoboTests -j40 Change-Id: I38b0ff7109d5ea95703edeade26cdfeed50f1403
This commit is contained in:
committed by
Wesley Wang
parent
89222adb7f
commit
f1e41c0bd9
@@ -24,7 +24,6 @@ import static org.mockito.Mockito.when;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.fuelgauge.batterytip.actions.BatteryDefenderAction;
|
||||
import com.android.settings.fuelgauge.batterytip.actions.BatterySaverAction;
|
||||
import com.android.settings.fuelgauge.batterytip.actions.OpenBatterySaverAction;
|
||||
import com.android.settings.fuelgauge.batterytip.actions.OpenRestrictAppFragmentAction;
|
||||
import com.android.settings.fuelgauge.batterytip.actions.RestrictAppAction;
|
||||
@@ -90,33 +89,17 @@ public class BatteryTipUtilsTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetActionForBatteryTip_typeEarlyWarningStateNew_returnActionBatterySaver() {
|
||||
public void testGetActionForBatteryTip_typeEarlyWarningStateNew_returnActionOpen() {
|
||||
when(mEarlyWarningTip.getState()).thenReturn(BatteryTip.StateType.NEW);
|
||||
|
||||
assertThat(BatteryTipUtils.getActionForBatteryTip(mEarlyWarningTip, mSettingsActivity,
|
||||
mFragment)).isInstanceOf(BatterySaverAction.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetActionForBatteryTip_typeEarlyWarningStateHandled_returnActionOpen() {
|
||||
when(mEarlyWarningTip.getState()).thenReturn(BatteryTip.StateType.HANDLED);
|
||||
|
||||
assertThat(BatteryTipUtils.getActionForBatteryTip(mEarlyWarningTip, mSettingsActivity,
|
||||
mFragment)).isInstanceOf(OpenBatterySaverAction.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetActionForBatteryTip_typeLowBatteryStateNew_returnActionBatterySaver() {
|
||||
public void testGetActionForBatteryTip_typeLowBatteryStateNew_returnActionOpen() {
|
||||
when(mLowBatteryTip.getState()).thenReturn(BatteryTip.StateType.NEW);
|
||||
|
||||
assertThat(BatteryTipUtils.getActionForBatteryTip(mLowBatteryTip, mSettingsActivity,
|
||||
mFragment)).isInstanceOf(BatterySaverAction.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetActionForBatteryTip_typeLowBatteryStateHandled_returnActionOpen() {
|
||||
when(mLowBatteryTip.getState()).thenReturn(BatteryTip.StateType.HANDLED);
|
||||
|
||||
assertThat(BatteryTipUtils.getActionForBatteryTip(mLowBatteryTip, mSettingsActivity,
|
||||
mFragment)).isInstanceOf(OpenBatterySaverAction.class);
|
||||
}
|
||||
|
@@ -22,26 +22,37 @@ import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.os.PowerManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.fuelgauge.BatteryInfo;
|
||||
import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
|
||||
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.Shadows;
|
||||
import org.robolectric.shadows.ShadowPowerManager;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class SmartBatteryDetectorTest {
|
||||
|
||||
private static final int EXPECTED_BATTERY_LEVEL = 30;
|
||||
private static final int UNEXPECTED_BATTERY_LEVEL = 31;
|
||||
|
||||
private Context mContext;
|
||||
private ContentResolver mContentResolver;
|
||||
private SmartBatteryDetector mSmartBatteryDetector;
|
||||
private BatteryTipPolicy mPolicy;
|
||||
private ShadowPowerManager mShadowPowerManager;
|
||||
@Mock
|
||||
private BatteryInfo mBatteryInfo;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -50,7 +61,9 @@ public class SmartBatteryDetectorTest {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContentResolver = mContext.getContentResolver();
|
||||
mPolicy = spy(new BatteryTipPolicy(mContext));
|
||||
mSmartBatteryDetector = new SmartBatteryDetector(mPolicy, mContentResolver);
|
||||
mShadowPowerManager = Shadows.shadowOf(mContext.getSystemService(PowerManager.class));
|
||||
mSmartBatteryDetector =
|
||||
new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo, mContentResolver);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -64,14 +77,38 @@ public class SmartBatteryDetectorTest {
|
||||
public void testDetect_smartBatteryOff_tipVisible() {
|
||||
Settings.Global.putInt(mContentResolver,
|
||||
Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
|
||||
mShadowPowerManager.setIsPowerSaveMode(false);
|
||||
mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
|
||||
|
||||
assertThat(mSmartBatteryDetector.detect().isVisible()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDetect_batterySaverOn_tipInvisible() {
|
||||
Settings.Global.putInt(mContentResolver,
|
||||
Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
|
||||
mShadowPowerManager.setIsPowerSaveMode(true);
|
||||
mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
|
||||
|
||||
assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDetect_unexpectedBatteryLevel_tipInvisible() {
|
||||
Settings.Global.putInt(mContentResolver,
|
||||
Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
|
||||
mShadowPowerManager.setIsPowerSaveMode(true);
|
||||
mBatteryInfo.batteryLevel = UNEXPECTED_BATTERY_LEVEL;
|
||||
|
||||
assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDetect_smartBatteryOn_tipInvisible() {
|
||||
Settings.Global.putInt(mContentResolver,
|
||||
Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1);
|
||||
mShadowPowerManager.setIsPowerSaveMode(false);
|
||||
mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
|
||||
|
||||
assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
|
||||
}
|
||||
|
Reference in New Issue
Block a user