diff options
| author | 2024-07-16 17:14:48 -0700 | |
|---|---|---|
| committer | 2024-07-19 04:38:30 +0000 | |
| commit | ee53bcf8c9eb3ae0490a291a1ce761b14835ed8c (patch) | |
| tree | fc40df4ecea5f2f9524486a767a0c1046e7e7595 | |
| parent | 142a8e13e71e057c1a2a4c22042de1e137f71bc0 (diff) | |
Update package context query on per user basis
If the call is coming for other users and package is not installed for system User, it was throwing Package not found exception. The package context should be created for the user as it is possible that package may not be installed for the system User.
Flag: EXEMPT bugfix
Bug: 346835927
Test: atest --user-type secondary_user_on_secondary_display CtsLocaleConfigTestCases
Test: atest CtsLocaleConfigTestCases
Change-Id: Id8d1373ba232ad464306a8ed1e50685f20ae9c29
| -rw-r--r-- | services/core/java/com/android/server/locales/LocaleManagerService.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/locales/LocaleManagerService.java b/services/core/java/com/android/server/locales/LocaleManagerService.java index 4851a81d3b69..cc0a7340494c 100644 --- a/services/core/java/com/android/server/locales/LocaleManagerService.java +++ b/services/core/java/com/android/server/locales/LocaleManagerService.java @@ -614,9 +614,10 @@ public class LocaleManagerService extends SystemService { LocaleConfig resLocaleConfig = null; try { resLocaleConfig = LocaleConfig.fromContextIgnoringOverride( - mContext.createPackageContext(appPackageName, 0)); + mContext.createPackageContextAsUser(appPackageName, /* flags= */ 0, + UserHandle.of(userId))); } catch (PackageManager.NameNotFoundException e) { - Slog.e(TAG, "Unknown package name " + appPackageName); + Slog.e(TAG, "Unknown package name " + appPackageName + " for user " + userId); return; } final File file = getXmlFileNameForUser(appPackageName, userId); |