summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mayank Garg <gargmayank@google.com> 2024-07-16 17:14:48 -0700
committer Mayank Garg <gargmayank@google.com> 2024-07-19 04:38:30 +0000
commitee53bcf8c9eb3ae0490a291a1ce761b14835ed8c (patch)
treefc40df4ecea5f2f9524486a767a0c1046e7e7595
parent142a8e13e71e057c1a2a4c22042de1e137f71bc0 (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.java5
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);