diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 1a3c850fc8e..a992897623f 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -399,6 +399,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } } + protected int getCachedCount() { + return mPreferenceCache.size(); + } + private void highlightPreference(String key) { final int position = canUseListViewForHighLighting(key); if (position >= 0) { diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 79ce2041c1e..78f9833af14 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -368,7 +368,8 @@ public class PowerUsageSummary extends PowerUsageBase { } addedSome = true; mAppListGroup.addPreference(pref); - if (mAppListGroup.getPreferenceCount() > (MAX_ITEMS_TO_LIST + 1)) { + if (mAppListGroup.getPreferenceCount() - getCachedCount() + > (MAX_ITEMS_TO_LIST + 1)) { break; } } @@ -391,8 +392,10 @@ public class PowerUsageSummary extends PowerUsageBase { stats.add(new BatterySipper(type, null, use)); use += 5; } - stats.add(new BatterySipper(DrainType.APP, - new FakeUid(Process.FIRST_APPLICATION_UID), use)); + for (int i = 0; i < 100; i++) { + stats.add(new BatterySipper(DrainType.APP, + new FakeUid(Process.FIRST_APPLICATION_UID + i), use)); + } stats.add(new BatterySipper(DrainType.APP, new FakeUid(0), use));