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))) {