Merge "[Settings] Add a flag to control show new App language picker UI or not" into main

This commit is contained in:
Zoey Chen
2025-02-03 06:32:08 -08:00
committed by Android (Google) Code Review

View File

@@ -16,11 +16,13 @@
package com.android.settings.spa.system package com.android.settings.spa.system
import android.app.settings.SettingsEnums
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.ApplicationInfo import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.net.Uri import android.net.Uri
import android.os.Bundle
import android.os.UserHandle import android.os.UserHandle
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
@@ -30,7 +32,10 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R import com.android.settings.R
import com.android.settings.applications.AppLocaleUtil import com.android.settings.applications.AppLocaleUtil
import com.android.settings.applications.appinfo.AppLocaleDetails import com.android.settings.applications.appinfo.AppLocaleDetails
import com.android.settings.core.SubSettingLauncher
import com.android.settings.flags.Flags
import com.android.settings.localepicker.AppLocalePickerActivity import com.android.settings.localepicker.AppLocalePickerActivity
import com.android.settings.localepicker.AppLocalePickerFragment
import com.android.settingslib.spa.framework.util.filterItem import com.android.settingslib.spa.framework.util.filterItem
import com.android.settingslib.spaprivileged.framework.common.asUser import com.android.settingslib.spaprivileged.framework.common.asUser
import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppListModel
@@ -94,10 +99,23 @@ class AppLanguagesListModel(private val context: Context) : AppListModel<AppLang
@Composable @Composable
override fun AppListItemModel<AppLanguagesRecord>.AppItem() { override fun AppListItemModel<AppLanguagesRecord>.AppItem() {
AppListItem { AppListItem {
if (Flags.settingsExpressiveDesignEnabled()) {
val extra = Bundle()
extra.putString(AppLocalePickerFragment.ARG_PACKAGE_NAME, record.app.packageName)
extra.putInt(AppLocalePickerFragment.ARG_PACKAGE_UID, context.userId)
SubSettingLauncher(context)
.setDestination(AppLocalePickerFragment::class.java.canonicalName)
.setTitleText(context.getString(R.string.app_locale_picker_title))
.setSourceMetricsCategory(SettingsEnums.APPS_LOCALE_LIST)
.setArguments(extra)
.setUserHandle(record.app.userHandle)
.launch()
} else {
val intent = Intent(context, AppLocalePickerActivity::class.java).apply { val intent = Intent(context, AppLocalePickerActivity::class.java).apply {
data = Uri.parse("package:${record.app.packageName}") data = Uri.parse("package:${record.app.packageName}")
} }
context.startActivityAsUser(intent, record.app.userHandle) context.startActivityAsUser(intent, record.app.userHandle)
} }
} }
}
} }