Update the action for early warning tip.

Add action to open the battery saver page when it shows "battery saver
is on".

Change-Id: Ia0536e7ef73271aefbd95e938d6f91f359a116d2
Fixes: 77874407
Test: RunSettingsRoboTests
This commit is contained in:
Lei Yu
2018-04-11 15:10:36 -07:00
parent eaccf907e7
commit 2162a68a43
3 changed files with 83 additions and 1 deletions

View File

@@ -23,9 +23,12 @@ import static org.mockito.Mockito.when;
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
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;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.EarlyWarningTip;
import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -47,6 +50,7 @@ public class BatteryTipUtilsTest {
@Mock
private InstrumentedPreferenceFragment mFragment;
private RestrictAppTip mRestrictAppTip;
private EarlyWarningTip mEarlyWarningTip;
@Before
public void setUp() {
@@ -55,6 +59,7 @@ public class BatteryTipUtilsTest {
FakeFeatureFactory.setupForTest();
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
mRestrictAppTip = spy(new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>()));
mEarlyWarningTip = spy(new EarlyWarningTip(BatteryTip.StateType.NEW, true));
}
@Test
@@ -72,4 +77,20 @@ public class BatteryTipUtilsTest {
assertThat(BatteryTipUtils.getActionForBatteryTip(mRestrictAppTip, mSettingsActivity,
mFragment)).isInstanceOf(OpenRestrictAppFragmentAction.class);
}
@Test
public void testGetActionForBatteryTip_typeEarlyWarningStateNew_returnActionBatterySaver() {
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);
}
}