From 9661f163c3b4922dc8bff5f6f40af494da95265e Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Mon, 10 Apr 2023 13:32:24 +0800 Subject: [PATCH] Fix App languages for work profile Use the correct work profile context to fix. Fix: 277536202 Test: Manually with App languages when work profile is installed Change-Id: Ibc3bb47127228c8dc6ebf073cd7881727321d5c8 --- .../settings/spa/system/AppLanguagesListModel.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/spa/system/AppLanguagesListModel.kt b/src/com/android/settings/spa/system/AppLanguagesListModel.kt index 3141d68c94f..942bcc4b794 100644 --- a/src/com/android/settings/spa/system/AppLanguagesListModel.kt +++ b/src/com/android/settings/spa/system/AppLanguagesListModel.kt @@ -33,8 +33,10 @@ import com.android.settings.applications.AppLocaleUtil import com.android.settings.applications.appinfo.AppLocaleDetails import com.android.settings.localepicker.AppLocalePickerActivity import com.android.settingslib.spa.framework.util.filterItem +import com.android.settingslib.spaprivileged.framework.common.asUser import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord +import com.android.settingslib.spaprivileged.model.app.userHandle import com.android.settingslib.spaprivileged.template.app.AppListItem import com.android.settingslib.spaprivileged.template.app.AppListItemModel import kotlinx.coroutines.Dispatchers @@ -54,17 +56,18 @@ class AppLanguagesListModel(private val context: Context) : AppListModel, appListFlow: Flow>) = userIdFlow.map { userId -> - packageManager.queryIntentActivitiesAsUser( + userId to packageManager.queryIntentActivitiesAsUser( AppLocaleUtil.LAUNCHER_ENTRY_INTENT, PackageManager.ResolveInfoFlags.of(PackageManager.GET_META_DATA.toLong()), userId, ) - }.combine(appListFlow) { resolveInfos, appList -> + }.combine(appListFlow) { (userId, resolveInfos), appList -> + val userContext = context.asUser(UserHandle.of(userId)) appList.map { app -> AppLanguagesRecord( app = app, isAppLocaleSupported = AppLocaleUtil.canDisplayLocaleUi( - context, app, resolveInfos + userContext, app, resolveInfos ), ) } @@ -86,9 +89,7 @@ class AppLanguagesListModel(private val context: Context) : AppListModel.AppItem() { @@ -96,8 +97,7 @@ class AppLanguagesListModel(private val context: Context) : AppListModel