From e8eb227857264390aaa9a931e90b06a9381f7b9a Mon Sep 17 00:00:00 2001 From: Felka Chang Date: Tue, 8 Sep 2020 20:58:50 +0800 Subject: [PATCH] Remove PackageManager.getResourcesForApplicationAsUser API To switch another user to do something should create the context of the specified user by using Context.createContextAsUser rather than call *AsUser API directly. Test: make -j droid cts gts vts Test: make -j docs Test: atest SystemUITests \ FrameworksServicesTests:com.android.server.pm Test: atest CtsBlobStoreTestCases Bug: 170928809 Change-Id: Ia9d376b579ef4d88637d51a5fb3947faa71c76ca --- .../service/java/com/android/server/blob/BlobStoreUtils.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobStoreUtils.java b/apex/blobstore/service/java/com/android/server/blob/BlobStoreUtils.java index 1d07e88773c3b..8f9427303dff4 100644 --- a/apex/blobstore/service/java/com/android/server/blob/BlobStoreUtils.java +++ b/apex/blobstore/service/java/com/android/server/blob/BlobStoreUtils.java @@ -24,6 +24,7 @@ import android.annotation.Nullable; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; +import android.os.UserHandle; import android.text.format.TimeMigrationUtils; import android.util.Slog; @@ -34,8 +35,8 @@ class BlobStoreUtils { static Resources getPackageResources(@NonNull Context context, @NonNull String packageName, int userId) { try { - return context.getPackageManager() - .getResourcesForApplicationAsUser(packageName, userId); + return context.createContextAsUser(UserHandle.of(userId), /* flags */ 0) + .getPackageManager().getResourcesForApplication(packageName); } catch (PackageManager.NameNotFoundException e) { Slog.d(TAG, "Unknown package in user " + userId + ": " + packageName, e);