Merge "[Settings] Add a flag to control show new App language picker UI or not" into main
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user