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
This commit is contained in:
mxyyiyi
2024-06-26 16:50:28 +08:00
parent 69f686828b
commit 7ff146a34a
2 changed files with 7 additions and 3 deletions

View File

@@ -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;

View File

@@ -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();