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
This commit is contained in:
Zaiyue Xue
2023-02-10 15:34:52 +08:00
parent 57258a3765
commit 7fad47a8d7
3 changed files with 16 additions and 2 deletions

View File

@@ -35,6 +35,11 @@ public interface PowerUsageFeatureProvider {
*/
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
*/

View File

@@ -71,9 +71,14 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
return true;
}
@Override
public double getBatteryUsageListScreenOnTimeThresholdInMs() {
return 0;
}
@Override
public double getBatteryUsageListConsumePowerThreshold() {
return 0.0;
return 0;
}
@Override

View File

@@ -91,6 +91,8 @@ public class BatteryDiffData {
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 @@ public class BatteryDiffData {
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))) {