From 7ff146a34a89ccb0f3b655b120eebfff64b10ad5 Mon Sep 17 00:00:00 2001 From: mxyyiyi Date: Wed, 26 Jun 2024 16:50:28 +0800 Subject: [PATCH] Fetch package uid under the corresponding user handle. - Make 3p-app usage entry under work profile selectable: [Before] https://screenshot.googleplex.com/AuD3Q8hrepmxaoS [After] https://screenshot.googleplex.com/ACrXLcV2RYYv9aA Bug: 346982931 Fix: 346982931 Test: atest BatteryDiffEntryTest Flag: EXEMPT bug fix Change-Id: Ib54df4c6d343dd32057e741b448596357ec2c12f --- .../settings/fuelgauge/batteryusage/BatteryDiffEntry.java | 3 ++- .../fuelgauge/batteryusage/BatteryDiffEntryTest.java | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java index 5b05e347fdd..4d1545a0a89 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java @@ -422,7 +422,8 @@ public class BatteryDiffEntry { return; } final boolean isValidPackage = - BatteryUtils.getInstance(mContext).getPackageUid(getPackageName()) + BatteryUtils.getInstance(mContext) + .getPackageUidAsUser(getPackageName(), (int) mUserId) != BatteryUtils.UID_NULL; if (!isValidPackage) { mValidForRestriction = false; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java index 4567bc398d5..0e10a15987f 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java @@ -494,6 +494,7 @@ public final class BatteryDiffEntryTest { final ContentValues values = getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY); values.put(BatteryHistEntry.KEY_UID, /*invalid uid*/ 10001); + values.put(BatteryHistEntry.KEY_USER_ID, /*valid userid*/ USER_ID); values.put(BatteryHistEntry.KEY_PACKAGE_NAME, fakePackageName); final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values)); @@ -503,14 +504,16 @@ public final class BatteryDiffEntryTest { doReturn(BatteryUtils.UID_NULL) .when(mMockPackageManager) - .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA); + .getPackageUidAsUser( + entry.getPackageName(), PackageManager.GET_META_DATA, USER_ID); entry.updateRestrictionFlagState(); // Sets false if the app is invalid package name. assertThat(entry.mValidForRestriction).isFalse(); doReturn(1000) .when(mMockPackageManager) - .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA); + .getPackageUidAsUser( + entry.getPackageName(), PackageManager.GET_META_DATA, USER_ID); entry.updateRestrictionFlagState(); // Sets false if the app PackageInfo cannot be found. assertThat(entry.mValidForRestriction).isFalse();