diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index a8b35eeaa66..48bc52b8a2a 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -576,31 +576,8 @@ public class PowerUsageSummary extends PowerUsageBase implements if (((int) (percentOfTotal + .5)) < 1) { continue; } - if (sipper.drainType == BatterySipper.DrainType.OVERCOUNTED) { - // Don't show over-counted unless it is at least 2/3 the size of - // the largest real entry, and its percent of total is more significant - if (sipper.totalPowerMah < ((mStatsHelper.getMaxRealPower() * 2) / 3)) { - continue; - } - if (percentOfTotal < 10) { - continue; - } - if ("user".equals(Build.TYPE)) { - continue; - } - } - if (sipper.drainType == BatterySipper.DrainType.UNACCOUNTED) { - // Don't show over-counted unless it is at least 1/2 the size of - // the largest real entry, and its percent of total is more significant - if (sipper.totalPowerMah < (mStatsHelper.getMaxRealPower() / 2)) { - continue; - } - if (percentOfTotal < 5) { - continue; - } - if ("user".equals(Build.TYPE)) { - continue; - } + if (shouldHideSipper(sipper)) { + continue; } final UserHandle userHandle = new UserHandle(UserHandle.getUserId(sipper.getUid())); final BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper); @@ -650,6 +627,13 @@ public class PowerUsageSummary extends PowerUsageBase implements BatteryEntry.startRequestQueue(); } + @VisibleForTesting + boolean shouldHideSipper(BatterySipper sipper) { + // Don't show over-counted and unaccounted in any condition + return sipper.drainType == BatterySipper.DrainType.OVERCOUNTED + || sipper.drainType == BatterySipper.DrainType.UNACCOUNTED; + } + @VisibleForTesting void refreshAnomalyIcon() { for (int i = 0, size = mAnomalySparseArray.size(); i < size; i++) { diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java index e6e960bc4f5..770fa0feb31 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java @@ -32,6 +32,8 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.util.List; + import android.app.LoaderManager; import android.content.ContentResolver; import android.content.Context; @@ -514,6 +516,27 @@ public class PowerUsageSummaryTest { assertThat(preference.showAnomalyIcon()).isTrue(); } + @Test + public void testShouldHideSipper_typeOvercounted_returnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED; + + assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_typeUnaccounted_returnTrue() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.UNACCOUNTED; + + assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue(); + } + + @Test + public void testShouldHideSipper_typeNormal_returnFalse() { + mNormalBatterySipper.drainType = BatterySipper.DrainType.APP; + + assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isFalse(); + } + public static class TestFragment extends PowerUsageSummary { private Context mContext;