diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java index 66e09a9cc3b..339cabe52d1 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java @@ -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 */ diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java index e0af88a694e..5d1e2e56bab 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java @@ -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 diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java index 774e6d9b9c3..a07cfdde856 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java @@ -91,6 +91,8 @@ public class BatteryDiffData { private static void purgeBatteryDiffData( final PowerUsageFeatureProvider featureProvider, final List entries) { + final double screenOnTimeThresholdInMs = + featureProvider.getBatteryUsageListScreenOnTimeThresholdInMs(); final double consumePowerThreshold = featureProvider.getBatteryUsageListConsumePowerThreshold(); final Set hideSystemComponentSet = featureProvider.getHideSystemComponentSet(); @@ -100,10 +102,12 @@ public class BatteryDiffData { final Iterator 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))) {