summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/content/pm/ShortcutInfo.java6
-rw-r--r--services/core/java/com/android/server/pm/ShortcutService.java7
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java10
3 files changed, 15 insertions, 8 deletions
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index 1b3c46f90851..7ed803f78260 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -630,7 +630,7 @@ public final class ShortcutInfo implements Parcelable {
* This will set {@link #FLAG_STRINGS_RESOLVED}.
*
* @param res {@link Resources} for the publisher. Must have been loaded with
- * {@link PackageManager#getResourcesForApplicationAsUser}.
+ * {@link PackageManager#getResourcesForApplication(String)}.
*
* @hide
*/
@@ -752,7 +752,7 @@ public final class ShortcutInfo implements Parcelable {
* aforementioned method would do internally, but not documented, so doing here explicitly.)
*
* @param res {@link Resources} for the publisher. Must have been loaded with
- * {@link PackageManager#getResourcesForApplicationAsUser}.
+ * {@link PackageManager#getResourcesForApplication(String)}.
*
* @hide
*/
@@ -782,7 +782,7 @@ public final class ShortcutInfo implements Parcelable {
* in the resource name fields.
*
* @param res {@link Resources} for the publisher. Must have been loaded with
- * {@link PackageManager#getResourcesForApplicationAsUser}.
+ * {@link PackageManager#getResourcesForApplication(String)}.
*
* @hide
*/
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index 96f9982a16a5..e471ac697679 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -3907,10 +3907,11 @@ public class ShortcutService extends IShortcutService.Stub {
final long start = getStatStartTime();
final long token = injectClearCallingIdentity();
try {
- return mContext.getPackageManager().getResourcesForApplicationAsUser(
- packageName, userId);
+ return mContext.createContextAsUser(UserHandle.of(userId), /* flags */ 0)
+ .getPackageManager().getResourcesForApplication(packageName);
} catch (NameNotFoundException e) {
- Slog.e(TAG, "Resources for package " + packageName + " not found");
+ Slog.e(TAG, "Resources of package " + packageName + " for user " + userId
+ + " not found");
return null;
} finally {
injectRestoreCallingIdentity(token);
diff --git a/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
index e4acdfe93fd4..f78c01a8f281 100644
--- a/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
@@ -177,6 +177,12 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
}
@Override
+ public Context createContextAsUser(UserHandle user, int flags) {
+ when(mMockPackageManager.getUserId()).thenReturn(user.getIdentifier());
+ return this;
+ }
+
+ @Override
public void unregisterReceiver(BroadcastReceiver receiver) {
// ignore.
}
@@ -939,7 +945,7 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
assertEquals(Process.SYSTEM_UID, mInjectedCallingUid);
final String packageName = (String) pmInvocation.getArguments()[0];
- final int userId = (Integer) pmInvocation.getArguments()[1];
+ final int userId = mMockPackageManager.getUserId();
final Resources res = mock(Resources.class);
@@ -971,7 +977,7 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
return Integer.parseInt(entryName.substring(1)) + ressIdOffset;
}).when(res).getIdentifier(anyStringOrNull(), anyStringOrNull(), anyStringOrNull());
return res;
- }).when(mMockPackageManager).getResourcesForApplicationAsUser(anyString(), anyInt());
+ }).when(mMockPackageManager).getResourcesForApplication(anyString());
}
protected static UserInfo withProfileGroupId(UserInfo in, int groupId) {