diff --git a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java index 3675a8392e9..69b5e9e3139 100644 --- a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java @@ -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 diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java index 0009451f463..5941183df0d 100644 --- a/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java +++ b/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java @@ -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 diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java index fab7b01526b..9f0da639224 100644 --- a/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java +++ b/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java @@ -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)); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java index 0e067653915..836f458c752 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java @@ -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 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)); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java index f1763249111..7fdf46a8f47 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java @@ -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));