diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java index 9aa8363f415..c2e45b19c48 100644 --- a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java +++ b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java @@ -103,6 +103,7 @@ public class RestrictAppTip extends BatteryTip { } else { mState = tip.getState(); mShowDialog = tip.shouldShowDialog(); + mRestrictAppList = ((RestrictAppTip) tip).mRestrictAppList; } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java index a5a6602950a..e2c80df9a1f 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java @@ -60,6 +60,7 @@ public class RestrictAppTipTest { private RestrictAppTip mHandledBatteryTip; private RestrictAppTip mInvisibleBatteryTip; private List mUsageAppList; + private AppInfo mAppInfo; @Mock private ApplicationInfo mApplicationInfo; @Mock @@ -77,15 +78,16 @@ public class RestrictAppTipTest { PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER); doReturn(DISPLAY_NAME).when(mApplicationInfo).loadLabel(mPackageManager); - mUsageAppList = new ArrayList<>(); - mUsageAppList.add(new AppInfo.Builder() + mAppInfo = new AppInfo.Builder() .setPackageName(PACKAGE_NAME) .addAnomalyType(ANOMALY_WAKEUP) .addAnomalyType(ANOMALY_WAKELOCK) - .build()); + .build(); + mUsageAppList = new ArrayList<>(); + mUsageAppList.add(mAppInfo); mNewBatteryTip = new RestrictAppTip(BatteryTip.StateType.NEW, mUsageAppList); mHandledBatteryTip = new RestrictAppTip(BatteryTip.StateType.HANDLED, mUsageAppList); - mInvisibleBatteryTip = new RestrictAppTip(BatteryTip.StateType.INVISIBLE, mUsageAppList); + mInvisibleBatteryTip = new RestrictAppTip(BatteryTip.StateType.INVISIBLE, new ArrayList<>()); } @Test @@ -164,6 +166,13 @@ public class RestrictAppTipTest { assertThat(mHandledBatteryTip.getState()).isEqualTo(BatteryTip.StateType.NEW); } + @Test + public void update_newHandledAnomalyComes_containHandledAnomaly() { + mInvisibleBatteryTip.updateState(mHandledBatteryTip); + assertThat(mInvisibleBatteryTip.getState()).isEqualTo(BatteryTip.StateType.HANDLED); + assertThat(mInvisibleBatteryTip.getRestrictAppList()).containsExactly(mAppInfo); + } + @Test public void toString_containsAppData() { assertThat(mNewBatteryTip.toString()).isEqualTo(