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