Load resources for the correct user
For apps that are only installed on secondary users, the SystemUI is
unable to see them by default. Added some methods to explicitly pass the
userId of the user the resources are requested for by the StatusBarIcon
Bug: 7214384
Also fix binding to remote views
Bug: 7192802
Change-Id: I5d6c5f624aa37fb231f3467f9764c8d99077a91d
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index e613e04..d4b204f 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -1740,6 +1740,11 @@
public final LoadedApk getPackageInfo(String packageName, CompatibilityInfo compatInfo,
int flags) {
+ return getPackageInfo(packageName, compatInfo, flags, UserHandle.myUserId());
+ }
+
+ public final LoadedApk getPackageInfo(String packageName, CompatibilityInfo compatInfo,
+ int flags, int userId) {
synchronized (mPackages) {
WeakReference<LoadedApk> ref;
if ((flags&Context.CONTEXT_INCLUDE_CODE) != 0) {
@@ -1768,7 +1773,7 @@
ApplicationInfo ai = null;
try {
ai = getPackageManager().getApplicationInfo(packageName,
- PackageManager.GET_SHARED_LIBRARY_FILES, UserHandle.myUserId());
+ PackageManager.GET_SHARED_LIBRARY_FILES, userId);
} catch (RemoteException e) {
// Ignore
}