Hide misc in battery settings
Hide it in any condition: 1. both in app usage list and device usage list 2. in all targets(i.e. user, userdebug..) Bug: 62422405 Test: RunSettingsRoboTests Change-Id: I36bd043942ce7e2353163868bf6d86f422f8e7ee
This commit is contained in:
@@ -46,6 +46,7 @@ import android.view.View;
|
|||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.View.OnLongClickListener;
|
import android.view.View.OnLongClickListener;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.internal.os.BatterySipper;
|
import com.android.internal.os.BatterySipper;
|
||||||
import com.android.internal.os.BatterySipper.DrainType;
|
import com.android.internal.os.BatterySipper.DrainType;
|
||||||
@@ -68,6 +69,7 @@ import com.android.settings.fuelgauge.anomaly.AnomalyLoader;
|
|||||||
import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController;
|
import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -573,31 +575,8 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
if (((int) (percentOfTotal + .5)) < 1) {
|
if (((int) (percentOfTotal + .5)) < 1) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (sipper.drainType == BatterySipper.DrainType.OVERCOUNTED) {
|
if (shouldHideSipper(sipper)) {
|
||||||
// Don't show over-counted unless it is at least 2/3 the size of
|
continue;
|
||||||
// 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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
final UserHandle userHandle = new UserHandle(UserHandle.getUserId(sipper.getUid()));
|
final UserHandle userHandle = new UserHandle(UserHandle.getUserId(sipper.getUid()));
|
||||||
final BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper);
|
final BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper);
|
||||||
@@ -647,6 +626,13 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
BatteryEntry.startRequestQueue();
|
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
|
@VisibleForTesting
|
||||||
void refreshAnomalyIcon() {
|
void refreshAnomalyIcon() {
|
||||||
for (int i = 0, size = mAnomalySparseArray.size(); i < size; i++) {
|
for (int i = 0, size = mAnomalySparseArray.size(); i < size; i++) {
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
package com.android.settings.fuelgauge;
|
package com.android.settings.fuelgauge;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import android.app.LoaderManager;
|
import android.app.LoaderManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -511,6 +512,27 @@ public class PowerUsageSummaryTest {
|
|||||||
assertThat(preference.showAnomalyIcon()).isTrue();
|
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 {
|
public static class TestFragment extends PowerUsageSummary {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
Reference in New Issue
Block a user