Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06efc034 authored by Lei Yu's avatar Lei Yu
Browse files

Don't check battery usage in excessive bg anomaly

We don't need it anymore because we don't auto restrict this
anomaly.

Bug: 79210436
Test: robo test still pass
Change-Id: I186213a57f9bf54a0e19985f2c92169c6dc0571c
parent 99902e1f
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
@@ -511,37 +511,6 @@ public class BatteryUtils {
        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}
     */
+1 −4
Original line number Diff line number Diff line
@@ -136,7 +136,6 @@ public class AnomalyDetectionJobService extends JobService {
                StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES);
        final AnomalyInfo anomalyInfo = new AnomalyInfo(
                !ArrayUtils.isEmpty(cookies) ? cookies.get(0) : "");
        final PackageManager packageManager = context.getPackageManager();
        Log.i(TAG, "Extra stats value: " + intentDimsValue.toString());

        try {
@@ -151,9 +150,7 @@ public class AnomalyDetectionJobService extends JobService {

            final boolean anomalyDetected;
            if (isExcessiveBackgroundAnomaly(anomalyInfo)) {
                anomalyDetected = batteryUtils.isPreOApp(packageName)
                        && batteryUtils.isAppHeavilyUsed(batteryStatsHelper, userManager, uid,
                        policy.excessiveBgDrainPercentage);
                anomalyDetected = batteryUtils.isPreOApp(packageName);
            } else {
                anomalyDetected = true;
            }
+0 −12
Original line number Diff line number Diff line
@@ -580,18 +580,6 @@ public class BatteryUtilsTest {
        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
    public void testShouldHideAnomaly_systemAppWithLauncher_returnTrue() {
        final List<ResolveInfo> resolveInfos = new ArrayList<>();