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:
committed by
android-build-merger
commit
a75d1e41ce
@@ -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}
|
||||||
*/
|
*/
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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<>();
|
||||||
|
Reference in New Issue
Block a user