Replace Screen system component time with device screen on time
Bug: 278022529
Fix: 278022529
Test: manual
Change-Id: I95a107ea5c3c5e15893c0846c8fd83757e7b9358
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
index 78541c1..a51e084 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
@@ -1402,6 +1402,11 @@
currentEntry.mCachedUsageConsumePower,
nextEntry.mCachedUsageConsumePower);
}
+ if (selectedBatteryEntry.isSystemEntry()
+ && selectedBatteryEntry.mDrainType == BatteryConsumer.POWER_COMPONENT_SCREEN) {
+ // Replace Screen system component time with screen on time.
+ foregroundUsageTimeInMs = slotScreenOnTime;
+ }
// Excludes entry since we don't have enough data to calculate.
if (foregroundUsageTimeInMs == 0
&& backgroundUsageTimeInMs == 0
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
index d69eec7..e2274e2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -984,7 +984,7 @@
/*backgroundUsageTimeInMs=*/ 35L, /*isHidden=*/ false);
entryMap.put(entry.getKey(), entry);
entry = createBatteryHistEntry(
- "package3", "label3", /*consumePower=*/ 10.0,
+ "package3", "Screen", /*consumePower=*/ 10.0,
/*foregroundUsageConsumePower=*/ 4, /*foregroundServiceUsageConsumePower=*/ 2,
/*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
/*uid=*/ 3L, currentUserId,
@@ -992,7 +992,7 @@
/*backgroundUsageTimeInMs=*/ 50L, /*isHidden=*/ false);
entryMap.put(entry.getKey(), entry);
entry = createBatteryHistEntry(
- "package4", "label3", /*consumePower=*/ 15.0,
+ "package4", "label4", /*consumePower=*/ 15.0,
/*foregroundUsageConsumePower=*/ 6, /*foregroundServiceUsageConsumePower=*/ 3,
/*backgroundUsageConsumePower=*/ 3, /*cachedUsageConsumePower=*/ 3,
/*uid=*/ 4L, currentUserId,
@@ -1012,7 +1012,7 @@
/*backgroundUsageTimeInMs=*/ 40L, /*isHidden=*/ false);
entryMap.put(entry.getKey(), entry);
entry = createBatteryHistEntry(
- "package3", "label3", /*consumePower=*/ 20.0,
+ "package3", "Screen", /*consumePower=*/ 20.0,
/*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
/*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
/*uid=*/ 3L, currentUserId,
@@ -1092,7 +1092,7 @@
ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
/*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
/*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 50, /*backgroundUsageTimeInMs=*/ 60,
+ /*foregroundUsageTimeInMs=*/ 16, /*backgroundUsageTimeInMs=*/ 60,
/*screenOnTimeInMs=*/ 9);
resultDiffData = resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL);
assertBatteryDiffEntry(
@@ -1122,7 +1122,7 @@
ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
/*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
/*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 50, /*backgroundUsageTimeInMs=*/ 60,
+ /*foregroundUsageTimeInMs=*/ 16, /*backgroundUsageTimeInMs=*/ 60,
/*screenOnTimeInMs=*/ 9);
}