Update battery usage app list filter logic:
(1) Add app screen on time thrshold 100 ms.
(2) Change app battery comsuption threshold from 0.1 mA to 1 mA.
Apps meet one of above conditions will be shown.
Bug: 264840285
Test: manual
Change-Id: Icfb304f09c49248397350ebe55bf06f3eb82d639
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 66e09a9..339cabe 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -36,6 +36,11 @@
boolean isBatteryUsageEnabled();
/**
+ * Returns a threshold (in milliseconds) for the minimal screen on time in battery usage list
+ */
+ double getBatteryUsageListScreenOnTimeThresholdInMs();
+
+ /**
* Returns a threshold (mA) for the minimal comsume power in battery usage list
*/
double getBatteryUsageListConsumePowerThreshold();
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index e0af88a..5d1e2e5 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -72,8 +72,13 @@
}
@Override
+ public double getBatteryUsageListScreenOnTimeThresholdInMs() {
+ return 0;
+ }
+
+ @Override
public double getBatteryUsageListConsumePowerThreshold() {
- return 0.0;
+ return 0;
}
@Override
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
index 774e6d9..a07cfdd 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
@@ -91,6 +91,8 @@
private static void purgeBatteryDiffData(
final PowerUsageFeatureProvider featureProvider,
final List<BatteryDiffEntry> entries) {
+ final double screenOnTimeThresholdInMs =
+ featureProvider.getBatteryUsageListScreenOnTimeThresholdInMs();
final double consumePowerThreshold =
featureProvider.getBatteryUsageListConsumePowerThreshold();
final Set<Integer> hideSystemComponentSet = featureProvider.getHideSystemComponentSet();
@@ -100,10 +102,12 @@
final Iterator<BatteryDiffEntry> iterator = entries.iterator();
while (iterator.hasNext()) {
final BatteryDiffEntry entry = iterator.next();
+ final long screenOnTimeInMs = entry.mScreenOnTimeInMs;
final double comsumePower = entry.mConsumePower;
final String packageName = entry.getPackageName();
final Integer componentId = entry.mBatteryHistEntry.mDrainType;
- if (comsumePower < consumePowerThreshold
+ if ((screenOnTimeInMs < screenOnTimeThresholdInMs
+ && comsumePower < consumePowerThreshold)
|| ConvertUtils.FAKE_PACKAGE_NAME.equals(packageName)
|| hideSystemComponentSet.contains(componentId)
|| (packageName != null && hideApplicationSet.contains(packageName))) {