Merge "Hide misc in battery settings" into oc-dr1-dev
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index e4ae053..730f061 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -46,6 +46,7 @@
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.TextView;
+
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType;
@@ -69,6 +70,7 @@
import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -574,31 +576,8 @@
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);
@@ -649,6 +628,13 @@
}
@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++) {
final String key = extractKeyFromUid(mAnomalySparseArray.keyAt(i));
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 5225a74..eb22d22 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -16,6 +16,7 @@
package com.android.settings.fuelgauge;
import java.util.List;
+
import android.app.LoaderManager;
import android.content.Context;
import android.content.Intent;
@@ -514,6 +515,27 @@
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;