Remove misc data in battery main page.
The removed types are: 1. DrainType.UNACCOUNTED 2. DrainType.OVERCOUNTED This cl removes the above types in PowerUsageSummary and PowerUsageAdvanced Bug: 36874846 Test: RunSettingsRoboTests Change-Id: I1807c44a2c0a9c2fa124cdef962a6411ae6830ca
This commit is contained in:
@@ -66,7 +66,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
UsageType.USER,
|
UsageType.USER,
|
||||||
UsageType.IDLE,
|
UsageType.IDLE,
|
||||||
UsageType.APP,
|
UsageType.APP,
|
||||||
UsageType.UNACCOUNTED};
|
UsageType.UNACCOUNTED,
|
||||||
|
UsageType.OVERCOUNTED};
|
||||||
private BatteryHistoryPreference mHistPref;
|
private BatteryHistoryPreference mHistPref;
|
||||||
private PreferenceGroup mUsageListGroup;
|
private PreferenceGroup mUsageListGroup;
|
||||||
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
|
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
|
||||||
@@ -169,6 +170,9 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
mUsageListGroup.removeAll();
|
mUsageListGroup.removeAll();
|
||||||
for (int i = 0, size = dataList.size(); i < size; i++) {
|
for (int i = 0, size = dataList.size(); i < size; i++) {
|
||||||
final PowerUsageData batteryData = dataList.get(i);
|
final PowerUsageData batteryData = dataList.get(i);
|
||||||
|
if (shouldHide(batteryData)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
final PowerGaugePreference pref = new PowerGaugePreference(getPrefContext());
|
final PowerGaugePreference pref = new PowerGaugePreference(getPrefContext());
|
||||||
|
|
||||||
pref.setKey(String.valueOf(batteryData.usageType));
|
pref.setKey(String.valueOf(batteryData.usageType));
|
||||||
@@ -199,6 +203,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
return UsageType.CELL;
|
return UsageType.CELL;
|
||||||
} else if (drainType == DrainType.UNACCOUNTED) {
|
} else if (drainType == DrainType.UNACCOUNTED) {
|
||||||
return UsageType.UNACCOUNTED;
|
return UsageType.UNACCOUNTED;
|
||||||
|
} else if (drainType == DrainType.OVERCOUNTED) {
|
||||||
|
return UsageType.OVERCOUNTED;
|
||||||
} else if (mPowerUsageFeatureProvider.isTypeSystem(sipper)) {
|
} else if (mPowerUsageFeatureProvider.isTypeSystem(sipper)) {
|
||||||
return UsageType.SYSTEM;
|
return UsageType.SYSTEM;
|
||||||
} else if (mPowerUsageFeatureProvider.isTypeService(sipper)) {
|
} else if (mPowerUsageFeatureProvider.isTypeService(sipper)) {
|
||||||
@@ -208,6 +214,16 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
boolean shouldHide(PowerUsageData powerUsageData) {
|
||||||
|
if (powerUsageData.usageType == UsageType.UNACCOUNTED
|
||||||
|
|| powerUsageData.usageType == UsageType.OVERCOUNTED) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
List<PowerUsageData> parsePowerUsageData(BatteryStatsHelper statusHelper) {
|
List<PowerUsageData> parsePowerUsageData(BatteryStatsHelper statusHelper) {
|
||||||
final List<BatterySipper> batterySippers = statusHelper.getUsageList();
|
final List<BatterySipper> batterySippers = statusHelper.getUsageList();
|
||||||
@@ -297,7 +313,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
UsageType.BLUETOOTH,
|
UsageType.BLUETOOTH,
|
||||||
UsageType.USER,
|
UsageType.USER,
|
||||||
UsageType.IDLE,
|
UsageType.IDLE,
|
||||||
UsageType.UNACCOUNTED})
|
UsageType.UNACCOUNTED,
|
||||||
|
UsageType.OVERCOUNTED})
|
||||||
public @interface UsageType {
|
public @interface UsageType {
|
||||||
int APP = 0;
|
int APP = 0;
|
||||||
int WIFI = 1;
|
int WIFI = 1;
|
||||||
@@ -308,6 +325,7 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
int USER = 6;
|
int USER = 6;
|
||||||
int IDLE = 7;
|
int IDLE = 7;
|
||||||
int UNACCOUNTED = 8;
|
int UNACCOUNTED = 8;
|
||||||
|
int OVERCOUNTED = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
@StringRes
|
||||||
@@ -353,6 +371,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
return R.string.power_idle;
|
return R.string.power_idle;
|
||||||
case UsageType.UNACCOUNTED:
|
case UsageType.UNACCOUNTED:
|
||||||
return R.string.power_unaccounted;
|
return R.string.power_unaccounted;
|
||||||
|
case UsageType.OVERCOUNTED:
|
||||||
|
return R.string.power_overcounted;
|
||||||
case UsageType.APP:
|
case UsageType.APP:
|
||||||
default:
|
default:
|
||||||
return R.string.power_apps;
|
return R.string.power_apps;
|
||||||
|
@@ -599,6 +599,8 @@ public class PowerUsageSummary extends PowerUsageBase {
|
|||||||
|| drainType == DrainType.WIFI
|
|| drainType == DrainType.WIFI
|
||||||
|| drainType == DrainType.SCREEN
|
|| drainType == DrainType.SCREEN
|
||||||
|| drainType == DrainType.BLUETOOTH
|
|| drainType == DrainType.BLUETOOTH
|
||||||
|
|| drainType == DrainType.UNACCOUNTED
|
||||||
|
|| drainType == DrainType.OVERCOUNTED
|
||||||
|| (sipper.totalPowerMah * SECONDS_IN_HOUR) < MIN_POWER_THRESHOLD_MILLI_AMP
|
|| (sipper.totalPowerMah * SECONDS_IN_HOUR) < MIN_POWER_THRESHOLD_MILLI_AMP
|
||||||
|| mPowerFeatureProvider.isTypeService(sipper)
|
|| mPowerFeatureProvider.isTypeService(sipper)
|
||||||
|| mPowerFeatureProvider.isTypeSystem(sipper);
|
|| mPowerFeatureProvider.isTypeSystem(sipper);
|
||||||
@@ -625,9 +627,13 @@ public class PowerUsageSummary extends PowerUsageBase {
|
|||||||
final BatterySipper sipper = sippers.get(i);
|
final BatterySipper sipper = sippers.get(i);
|
||||||
if (shouldHideSipper(sipper)) {
|
if (shouldHideSipper(sipper)) {
|
||||||
sippers.remove(i);
|
sippers.remove(i);
|
||||||
|
if (sipper.drainType != DrainType.OVERCOUNTED
|
||||||
|
&& sipper.drainType != DrainType.UNACCOUNTED) {
|
||||||
|
// Don't add it if it is overcounted or unaccounted
|
||||||
totalPowerMah += sipper.totalPowerMah;
|
totalPowerMah += sipper.totalPowerMah;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return totalPowerMah;
|
return totalPowerMah;
|
||||||
}
|
}
|
||||||
|
@@ -207,7 +207,7 @@ public class PowerUsageAdvancedTest {
|
|||||||
|
|
||||||
assertThat(usageTypeSet).asList().containsExactly(UsageType.APP, UsageType.WIFI,
|
assertThat(usageTypeSet).asList().containsExactly(UsageType.APP, UsageType.WIFI,
|
||||||
UsageType.CELL, UsageType.BLUETOOTH, UsageType.IDLE, UsageType.SERVICE,
|
UsageType.CELL, UsageType.BLUETOOTH, UsageType.IDLE, UsageType.SERVICE,
|
||||||
UsageType.USER, UsageType.SYSTEM, UsageType.UNACCOUNTED);
|
UsageType.USER, UsageType.SYSTEM, UsageType.UNACCOUNTED, UsageType.OVERCOUNTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -223,4 +223,27 @@ public class PowerUsageAdvancedTest {
|
|||||||
assertThat(dataList.get(i - 1).totalPowerMah).isAtLeast(dataList.get(i).totalPowerMah);
|
assertThat(dataList.get(i - 1).totalPowerMah).isAtLeast(dataList.get(i).totalPowerMah);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testShouldHide_typeUnAccounted_returnTrue() {
|
||||||
|
mPowerUsageData.usageType = UsageType.UNACCOUNTED;
|
||||||
|
|
||||||
|
assertThat(mPowerUsageAdvanced.shouldHide(mPowerUsageData)).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testShouldHide_typeOverCounted_returnTrue() {
|
||||||
|
mPowerUsageData.usageType = UsageType.OVERCOUNTED;
|
||||||
|
|
||||||
|
assertThat(mPowerUsageAdvanced.shouldHide(mPowerUsageData)).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testShouldHide_typeNormal_returnFalse() {
|
||||||
|
mPowerUsageData.usageType = UsageType.APP;
|
||||||
|
|
||||||
|
assertThat(mPowerUsageAdvanced.shouldHide(mPowerUsageData)).isFalse();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -90,6 +90,7 @@ public class PowerUsageSummaryTest {
|
|||||||
private static final double TOTAL_POWER = 200;
|
private static final double TOTAL_POWER = 200;
|
||||||
private static final double BATTERY_SCREEN_USAGE = 300;
|
private static final double BATTERY_SCREEN_USAGE = 300;
|
||||||
private static final double BATTERY_SYSTEM_USAGE = 600;
|
private static final double BATTERY_SYSTEM_USAGE = 600;
|
||||||
|
private static final double BATTERY_OVERCOUNTED_USAGE = 500;
|
||||||
private static final double PRECISION = 0.001;
|
private static final double PRECISION = 0.001;
|
||||||
private static final double POWER_USAGE_PERCENTAGE = 50;
|
private static final double POWER_USAGE_PERCENTAGE = 50;
|
||||||
private static final Intent ADDITIONAL_BATTERY_INFO_INTENT =
|
private static final Intent ADDITIONAL_BATTERY_INFO_INTENT =
|
||||||
@@ -112,6 +113,8 @@ public class PowerUsageSummaryTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private BatterySipper mScreenBatterySipper;
|
private BatterySipper mScreenBatterySipper;
|
||||||
@Mock
|
@Mock
|
||||||
|
private BatterySipper mOvercountedBatterySipper;
|
||||||
|
@Mock
|
||||||
private BatterySipper mSystemBatterySipper;
|
private BatterySipper mSystemBatterySipper;
|
||||||
@Mock
|
@Mock
|
||||||
private BatterySipper mCellBatterySipper;
|
private BatterySipper mCellBatterySipper;
|
||||||
@@ -188,6 +191,9 @@ public class PowerUsageSummaryTest {
|
|||||||
mSystemBatterySipper.totalPowerMah = BATTERY_SYSTEM_USAGE;
|
mSystemBatterySipper.totalPowerMah = BATTERY_SYSTEM_USAGE;
|
||||||
when(mSystemBatterySipper.getUid()).thenReturn(Process.SYSTEM_UID);
|
when(mSystemBatterySipper.getUid()).thenReturn(Process.SYSTEM_UID);
|
||||||
|
|
||||||
|
mOvercountedBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED;
|
||||||
|
mOvercountedBatterySipper.totalPowerMah = BATTERY_OVERCOUNTED_USAGE;
|
||||||
|
|
||||||
mUsageList = new ArrayList<>();
|
mUsageList = new ArrayList<>();
|
||||||
mUsageList.add(mNormalBatterySipper);
|
mUsageList.add(mNormalBatterySipper);
|
||||||
mUsageList.add(mScreenBatterySipper);
|
mUsageList.add(mScreenBatterySipper);
|
||||||
@@ -303,6 +309,7 @@ public class PowerUsageSummaryTest {
|
|||||||
sippers.add(mNormalBatterySipper);
|
sippers.add(mNormalBatterySipper);
|
||||||
sippers.add(mScreenBatterySipper);
|
sippers.add(mScreenBatterySipper);
|
||||||
sippers.add(mSystemBatterySipper);
|
sippers.add(mSystemBatterySipper);
|
||||||
|
sippers.add(mOvercountedBatterySipper);
|
||||||
when(mFeatureFactory.powerUsageFeatureProvider.isTypeSystem(mSystemBatterySipper))
|
when(mFeatureFactory.powerUsageFeatureProvider.isTypeSystem(mSystemBatterySipper))
|
||||||
.thenReturn(true);
|
.thenReturn(true);
|
||||||
|
|
||||||
@@ -317,6 +324,18 @@ public class PowerUsageSummaryTest {
|
|||||||
assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
|
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_TypeOverCounted_ReturnTrue() {
|
||||||
|
mNormalBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED;
|
||||||
|
assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testShouldHideSipper_typeWifi_returnTrue() {
|
public void testShouldHideSipper_typeWifi_returnTrue() {
|
||||||
mNormalBatterySipper.drainType = BatterySipper.DrainType.WIFI;
|
mNormalBatterySipper.drainType = BatterySipper.DrainType.WIFI;
|
||||||
|
Reference in New Issue
Block a user