Remove nested PreferenceCategory in Battery Usage page.

https://screenshot.googleplex.com/83LwysPKMCRoRoG

Bug: 349652542
Test: atest BatteryUsageBreakdownControllerTest
Flag: EXEMPT for simple fix
Change-Id: If97b5e3de9757b814ad72aa47f6491d29106b8a3
This commit is contained in:
mxyyiyi
2024-11-13 15:05:04 +08:00
parent 33008bc693
commit 4c5f8481bd
4 changed files with 63 additions and 63 deletions

View File

@@ -59,11 +59,12 @@ public final class BatteryUsageBreakdownControllerTest {
private static final String PREF_KEY2 = "pref_key2";
private static final String PREF_SUMMARY = "fake preference summary";
private static final String KEY_SPINNER_POSITION = "spinner_position";
private static final long TIME_LESS_THAN_HALF_MINUTE = DateUtils.MINUTE_IN_MILLIS / 2 - 1;
private static final int ENTRY_PREF_ORDER_OFFSET = 100;
private static final long TIME_LESS_THAN_HALF_MINUTE = DateUtils.MINUTE_IN_MILLIS / 2 - 1;
@Mock private InstrumentedPreferenceFragment mFragment;
@Mock private SettingsActivity mSettingsActivity;
@Mock private PreferenceGroup mAppListPreferenceGroup;
@Mock private PreferenceGroup mRootPreferenceGroup;
@Mock private Drawable mDrawable;
@Mock private BatteryHistEntry mBatteryHistEntry;
@Mock private AnomalyAppItemPreference mAnomalyAppItemPreference;
@@ -90,7 +91,7 @@ public final class BatteryUsageBreakdownControllerTest {
.when(mFeatureFactory.powerUsageFeatureProvider)
.getHideApplicationSet();
mBatteryUsageBreakdownController = createController();
mBatteryUsageBreakdownController.mAppListPreferenceGroup = mAppListPreferenceGroup;
mBatteryUsageBreakdownController.mRootPreferenceGroup = mRootPreferenceGroup;
mBatteryDiffEntry =
new BatteryDiffEntry(
mContext,
@@ -130,7 +131,7 @@ public final class BatteryUsageBreakdownControllerTest {
BatteryDiffEntry.sResourceCache.put(
"fakeBatteryDiffEntryKey",
new BatteryEntry.NameAndIcon("fakeName", /* icon= */ null, /* iconId= */ 1));
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).findPreference(PREF_KEY);
doReturn(mAnomalyAppItemPreference).when(mRootPreferenceGroup).findPreference(PREF_KEY);
}
@Test
@@ -147,7 +148,7 @@ public final class BatteryUsageBreakdownControllerTest {
@Test
public void onDestroy_removeAllPreferenceFromPreferenceGroup() {
mBatteryUsageBreakdownController.onDestroy();
verify(mAppListPreferenceGroup).removeAll();
verify(mRootPreferenceGroup).removeAll();
}
@Test
@@ -162,11 +163,11 @@ public final class BatteryUsageBreakdownControllerTest {
@Test
public void addAllPreferences_addAllPreferences() {
final String appLabel = "fake app label";
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
doReturn(appLabel).when(mBatteryDiffEntry).getAppLabel();
doReturn(PREF_KEY).when(mBatteryDiffEntry).getKey();
doReturn(null).when(mAppListPreferenceGroup).findPreference(PREF_KEY);
doReturn(null).when(mRootPreferenceGroup).findPreference(PREF_KEY);
doReturn(false).when(mBatteryDiffEntry).validForRestriction();
mBatteryUsageBreakdownController.addAllPreferences();
@@ -177,11 +178,11 @@ public final class BatteryUsageBreakdownControllerTest {
mBatteryUsageBreakdownController.mPreferenceCache.get(PREF_KEY);
assertThat(pref).isNotNull();
// Verifies the added preference configuration.
verify(mAppListPreferenceGroup).addPreference(pref);
verify(mRootPreferenceGroup).addPreference(pref);
assertThat(pref.getKey()).isEqualTo(PREF_KEY);
assertThat(pref.getTitle().toString()).isEqualTo(appLabel);
assertThat(pref.getIcon()).isEqualTo(mDrawable);
assertThat(pref.getOrder()).isEqualTo(1);
assertThat(pref.getOrder()).isEqualTo(ENTRY_PREF_ORDER_OFFSET + 1);
assertThat(pref.getBatteryDiffEntry()).isSameInstanceAs(mBatteryDiffEntry);
assertThat(pref.isSingleLineTitle()).isTrue();
assertThat(pref.isSelectable()).isFalse();
@@ -190,20 +191,20 @@ public final class BatteryUsageBreakdownControllerTest {
@Test
public void addPreferenceToScreen_alreadyInScreen_notAddPreferenceAgain() {
final String appLabel = "fake app label";
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
doReturn(appLabel).when(mBatteryDiffEntry).getAppLabel();
doReturn(PREF_KEY).when(mBatteryDiffEntry).getKey();
mBatteryUsageBreakdownController.addAllPreferences();
verify(mAppListPreferenceGroup, never()).addPreference(any());
verify(mRootPreferenceGroup, never()).addPreference(any());
}
@Test
public void removeAndCacheAllUnusedPreferences_removePref_buildCacheAndRemoveAllPreference() {
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).getPreference(0);
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
doReturn(mAnomalyAppItemPreference).when(mRootPreferenceGroup).getPreference(0);
doReturn(PREF_KEY2).when(mBatteryHistEntry).getKey();
doReturn(PREF_KEY).when(mAnomalyAppItemPreference).getKey();
// Ensures the testing data is correct.
@@ -213,13 +214,13 @@ public final class BatteryUsageBreakdownControllerTest {
assertThat(mBatteryUsageBreakdownController.mPreferenceCache.get(PREF_KEY))
.isEqualTo(mAnomalyAppItemPreference);
verify(mAppListPreferenceGroup).removePreference(mAnomalyAppItemPreference);
verify(mRootPreferenceGroup).removePreference(mAnomalyAppItemPreference);
}
@Test
public void removeAndCacheAllUnusedPreferences_keepPref_KeepAllPreference() {
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).getPreference(0);
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
doReturn(mAnomalyAppItemPreference).when(mRootPreferenceGroup).getPreference(0);
doReturn(PREF_KEY).when(mBatteryDiffEntry).getKey();
doReturn(PREF_KEY).when(mAnomalyAppItemPreference).getKey();
// Ensures the testing data is correct.
@@ -227,15 +228,13 @@ public final class BatteryUsageBreakdownControllerTest {
mBatteryUsageBreakdownController.removeAndCacheAllUnusedPreferences();
verify(mAppListPreferenceGroup, never()).removePreference(any());
verify(mRootPreferenceGroup, never()).removePreference(any());
assertThat(mBatteryUsageBreakdownController.mPreferenceCache).isEmpty();
}
@Test
public void handlePreferenceTreeClick_notPowerGaugePreference_returnFalse() {
assertThat(
mBatteryUsageBreakdownController.handlePreferenceTreeClick(
mAppListPreferenceGroup))
assertThat(mBatteryUsageBreakdownController.handlePreferenceTreeClick(mRootPreferenceGroup))
.isFalse();
verify(mMetricsFeatureProvider, never())