From d71e8d8c87800feb10b3731f72bad4df66d1b92e Mon Sep 17 00:00:00 2001 From: Lei Yu Date: Tue, 8 May 2018 18:06:53 -0700 Subject: [PATCH] Use user doze whitelist in anomaly detection Bug: 77924141 Test: RunSettingsRoboTests Change-Id: Id9503c9468292f128b76ea872d6603c49965d919 --- src/com/android/settings/fuelgauge/BatteryUtils.java | 2 +- .../com/android/settings/fuelgauge/BatteryUtilsTest.java | 8 ++++++++ .../batterytip/AnomalyDetectionJobServiceTest.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java index 639c1fbba3e..c5ddf05a5b3 100644 --- a/src/com/android/settings/fuelgauge/BatteryUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryUtils.java @@ -552,7 +552,7 @@ public class BatteryUtils { return true; } - return isSystemUid(uid) || powerWhitelistBackend.isSysWhitelistedExceptIdle(packageNames) + return isSystemUid(uid) || powerWhitelistBackend.isWhitelisted(packageNames) || (isSystemApp(mPackageManager, packageNames) && !hasLauncherEntry(packageNames)); } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java index dc340161978..31ae100f31b 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java @@ -623,6 +623,14 @@ public class BatteryUtilsTest { assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, systemUid)).isTrue(); } + @Test + public void testShouldHideAnomaly_AppInDozeList_returnTrue() { + doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); + doReturn(true).when(mPowerWhitelistBackend).isWhitelisted(new String[]{HIGH_SDK_PACKAGE}); + + assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID)).isTrue(); + } + @Test public void testShouldHideAnomaly_normalApp_returnFalse() { doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java index d6fad34e5dd..c4cdfed1caa 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java @@ -131,7 +131,7 @@ public class AnomalyDetectionJobServiceTest { @Test public void testSaveAnomalyToDatabase_systemWhitelisted_doNotSave() { doReturn(UID).when(mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any()); - doReturn(true).when(mPowerWhitelistBackend).isSysWhitelistedExceptIdle(any(String[].class)); + doReturn(true).when(mPowerWhitelistBackend).isWhitelisted(any(String[].class)); mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mBatteryStatsHelper, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,