From 6df8d523b289c6ff94eacffb874fc926be82a862 Mon Sep 17 00:00:00 2001 From: Kenny Guy Date: Fri, 5 Sep 2014 16:30:38 +0100 Subject: [PATCH] Ensure ApplicationInfo is for correct user for system/android package. createPackageContextAsUser shortcuts creating the context for system and android packages, however it should still make sure the ApplicationInfo for the package is for the correct user. Bug: 17002733 Change-Id: Ie10008449f13a4464a9797937c4413d6aa119fbe --- core/java/android/app/ContextImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 91a0aede99ef4..cc5c6433e279a 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -2121,7 +2121,9 @@ class ContextImpl extends Context { public Context createPackageContextAsUser(String packageName, int flags, UserHandle user) throws NameNotFoundException { final boolean restricted = (flags & CONTEXT_RESTRICTED) == CONTEXT_RESTRICTED; - if (packageName.equals("system") || packageName.equals("android")) { + if ((packageName.equals("system") || packageName.equals("android")) + && user.getIdentifier() == UserHandle.getUserId( + mPackageInfo.getApplicationInfo().uid)) { return new ContextImpl(this, mMainThread, mPackageInfo, mActivityToken, user, restricted, mDisplay, mOverrideConfiguration); }