Merge "Don't check battery usage in excessive bg anomaly" into pi-dev am: 27f1e8e1e9

am: 5dc5fbc0d5

Change-Id: Idabb5bcca09b7617334133615e92bfce59281c18
This commit is contained in:
android-build-team Robot
2018-05-09 12:41:47 -07:00
committed by android-build-merger
3 changed files with 1 additions and 47 deletions

View File

@@ -511,37 +511,6 @@ public class BatteryUtils {
return false; return false;
} }
/**
* Check if the app represented by {@code uid} has battery usage more than {@code threshold}
*
* @param batteryStatsHelper used to check the battery usage
* @param userManager used to init the {@code batteryStatsHelper}
* @param uid represent the app
* @param threshold battery percentage threshold(e.g. 10 means 10% battery usage )
* @return {@code true} if battery drain is more than the threshold
*/
public boolean isAppHeavilyUsed(BatteryStatsHelper batteryStatsHelper, UserManager userManager,
int uid, int threshold) {
initBatteryStatsHelper(batteryStatsHelper, null /* bundle */, userManager);
final int dischargeAmount = batteryStatsHelper.getStats().getDischargeAmount(
BatteryStats.STATS_SINCE_CHARGED);
List<BatterySipper> batterySippers = batteryStatsHelper.getUsageList();
final double hiddenAmount = removeHiddenBatterySippers(batterySippers);
for (int i = 0, size = batterySippers.size(); i < size; i++) {
final BatterySipper batterySipper = batterySippers.get(i);
if (batterySipper.getUid() == uid) {
final int percent = (int) calculateBatteryPercent(
batterySipper.totalPowerMah, batteryStatsHelper.getTotalPower(),
hiddenAmount,
dischargeAmount);
return percent >= threshold;
}
}
return false;
}
/** /**
* Return {@code true} if we should hide anomaly app represented by {@code uid} * Return {@code true} if we should hide anomaly app represented by {@code uid}
*/ */

View File

@@ -145,7 +145,6 @@ public class AnomalyDetectionJobService extends JobService {
StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES); StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES);
final AnomalyInfo anomalyInfo = new AnomalyInfo( final AnomalyInfo anomalyInfo = new AnomalyInfo(
!ArrayUtils.isEmpty(cookies) ? cookies.get(0) : ""); !ArrayUtils.isEmpty(cookies) ? cookies.get(0) : "");
final PackageManager packageManager = context.getPackageManager();
Log.i(TAG, "Extra stats value: " + intentDimsValue.toString()); Log.i(TAG, "Extra stats value: " + intentDimsValue.toString());
try { try {
@@ -160,9 +159,7 @@ public class AnomalyDetectionJobService extends JobService {
final boolean anomalyDetected; final boolean anomalyDetected;
if (isExcessiveBackgroundAnomaly(anomalyInfo)) { if (isExcessiveBackgroundAnomaly(anomalyInfo)) {
anomalyDetected = batteryUtils.isPreOApp(packageName) anomalyDetected = batteryUtils.isPreOApp(packageName);
&& batteryUtils.isAppHeavilyUsed(batteryStatsHelper, userManager, uid,
policy.excessiveBgDrainPercentage);
} else { } else {
anomalyDetected = true; anomalyDetected = true;
} }

View File

@@ -580,18 +580,6 @@ public class BatteryUtilsTest {
assertThat(mBatteryUtils.isForceAppStandbyEnabled(UID, PACKAGE_NAME)).isFalse(); assertThat(mBatteryUtils.isForceAppStandbyEnabled(UID, PACKAGE_NAME)).isFalse();
} }
@Test
public void testIsAppHeavilyUsed_usageMoreThanThreshold_returnTrue() {
assertThat(mBatteryUtils.isAppHeavilyUsed(mBatteryStatsHelper, mUserManager, UID,
10 /* threshold */ )).isTrue();
}
@Test
public void testIsAppHeavilyUsed_usageLessThanThreshold_returnFalse() {
assertThat(mBatteryUtils.isAppHeavilyUsed(mBatteryStatsHelper, mUserManager, UID,
DISCHARGE_AMOUNT /* threshold */ )).isFalse();
}
@Test @Test
public void testShouldHideAnomaly_systemAppWithLauncher_returnTrue() { public void testShouldHideAnomaly_systemAppWithLauncher_returnTrue() {
final List<ResolveInfo> resolveInfos = new ArrayList<>(); final List<ResolveInfo> resolveInfos = new ArrayList<>();