Fixed get packages for HSUM devices
On HSUM devices, packages installed on secondary users can't
be retrieved by the system users' package manager. Fixed by
using corresponding user's package manager.
Fix: 356827794
Fix: 362253919
Test: Basic telephony functionality tests
Test: atest FrameworksTelephonyTests TeleServicesTests
Flag: com.android.internal.telephony.flags.hsum_broadcast
Change-Id: Ic8c973caac761882481a6b2be319f41497012095
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 3cd9a8b..3c7b321 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -519,8 +519,14 @@
return false;
}
- List<ResolveInfo> receivers = mContext.getPackageManager()
- .queryBroadcastReceivers(intent, 0);
+ List<ResolveInfo> receivers;
+ if (mFeatureFlags.hsumPackageManager()) {
+ receivers = mContext.createContextAsUser(userHandle, 0)
+ .getPackageManager().queryBroadcastReceivers(intent, 0);
+ } else {
+ receivers = mContext.getPackageManager()
+ .queryBroadcastReceivers(intent, 0);
+ }
return receivers.size() > 0;
}