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

Commit 4376993a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "When restrict, use uid inside AppInfo" into pi-dev

parents e3a87548 d06d1165
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
    @VisibleForTesting
    void showDialog(boolean restricted) {
        final AppInfo appInfo = new AppInfo.Builder()
                .setUid(mUid)
                .setPackageName(mTargetPackage)
                .build();
        BatteryTip tip = restricted
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ public class RestrictAppAction extends BatteryTipAction {
            final AppInfo appInfo = appInfos.get(i);
            final String packageName = appInfo.packageName;
            // Force app standby, then app can't run in the background
            mBatteryUtils.setForceAppStandby(mBatteryUtils.getPackageUid(packageName), packageName,
            mBatteryUtils.setForceAppStandby(appInfo.uid, packageName,
                    AppOpsManager.MODE_IGNORED);
            if (CollectionUtils.isEmpty(appInfo.anomalyTypes)) {
                // Only log context if there is no anomaly type
+5 −4
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.util.Pair;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.batterytip.AppInfo;
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;

/**
@@ -44,12 +45,12 @@ public class UnrestrictAppAction extends BatteryTipAction {
     */
    @Override
    public void handlePositiveAction(int metricsKey) {
        final String packageName = mUnRestrictAppTip.getPackageName();
        final AppInfo appInfo = mUnRestrictAppTip.getUnrestrictAppInfo();
        // Clear force app standby, then app can run in the background
        mBatteryUtils.setForceAppStandby(mBatteryUtils.getPackageUid(packageName), packageName,
        mBatteryUtils.setForceAppStandby(appInfo.uid, appInfo.packageName,
                AppOpsManager.MODE_ALLOWED);
        mMetricsFeatureProvider.action(mContext,
                MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP, packageName, Pair.create(
                        MetricsProto.MetricsEvent.FIELD_CONTEXT, metricsKey));
                MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP, appInfo.packageName,
                Pair.create(MetricsProto.MetricsEvent.FIELD_CONTEXT, metricsKey));
    }
}
+6 −2
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
public class RestrictAppActionTest {

    private static final int UID_1 = 12345;
    private static final int UID_2 = 23456;
    private static final String PACKAGE_NAME_1 = "com.android.app1";
    private static final String PACKAGE_NAME_2 = "com.android.app2";
    private static final int ANOMALY_WAKEUP = 0;
@@ -63,9 +65,11 @@ public class RestrictAppActionTest {

        final List<AppInfo> mAppInfos = new ArrayList<>();
        mAppInfos.add(new AppInfo.Builder()
                .setUid(UID_1)
                .setPackageName(PACKAGE_NAME_1)
                .build());
        mAppInfos.add(new AppInfo.Builder()
                .setUid(UID_2)
                .setPackageName(PACKAGE_NAME_2)
                .addAnomalyType(ANOMALY_BT)
                .addAnomalyType(ANOMALY_WAKEUP)
@@ -87,9 +91,9 @@ public class RestrictAppActionTest {
        mRestrictAppAction.handlePositiveAction(METRICS_KEY);

        verify(mBatteryUtils)
                .setForceAppStandby(anyInt(), eq(PACKAGE_NAME_1), eq(AppOpsManager.MODE_IGNORED));
                .setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_IGNORED);
        verify(mBatteryUtils)
                .setForceAppStandby(anyInt(), eq(PACKAGE_NAME_2), eq(AppOpsManager.MODE_IGNORED));
                .setForceAppStandby(UID_2, PACKAGE_NAME_2, AppOpsManager.MODE_IGNORED);
        verify(mFeatureFactory.metricsFeatureProvider).action(RuntimeEnvironment.application,
                MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, PACKAGE_NAME_1, Pair.create(
                        MetricsProto.MetricsEvent.FIELD_CONTEXT, METRICS_KEY));
+6 −2
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
public class UnrestrictAppActionTest {

    private static final int UID_1 = 12345;
    private static final String PACKAGE_NAME_1 = "com.android.app1";
    private static final int METRICS_KEY = 1;

@@ -54,7 +55,10 @@ public class UnrestrictAppActionTest {
    public void setUp() {
        MockitoAnnotations.initMocks(this);

        final AppInfo appInfo = new AppInfo.Builder().setPackageName(PACKAGE_NAME_1).build();
        final AppInfo appInfo = new AppInfo.Builder()
                .setUid(UID_1)
                .setPackageName(PACKAGE_NAME_1)
                .build();
        mFeatureFactory = FakeFeatureFactory.setupForTest();

        mUnrestrictAppAction = new UnrestrictAppAction(RuntimeEnvironment.application,
@@ -72,7 +76,7 @@ public class UnrestrictAppActionTest {
        mUnrestrictAppAction.handlePositiveAction(METRICS_KEY);

        verify(mBatteryUtils)
                .setForceAppStandby(anyInt(), eq(PACKAGE_NAME_1), eq(AppOpsManager.MODE_ALLOWED));
                .setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_ALLOWED);
        verify(mFeatureFactory.metricsFeatureProvider).action(RuntimeEnvironment.application,
                MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP, PACKAGE_NAME_1, Pair.create(
                        MetricsProto.MetricsEvent.FIELD_CONTEXT, METRICS_KEY));