Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9214f13 authored by Zoey Chen's avatar Zoey Chen Committed by Android (Google) Code Review
Browse files

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

parents c2312baf b69e2820
Loading
Loading
Loading
Loading
+21 −3
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@

package com.android.settings.spa.system

import android.app.settings.SettingsEnums
import android.content.Context
import android.content.Intent
import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Bundle
import android.os.UserHandle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -30,7 +32,10 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
import com.android.settings.applications.AppLocaleUtil
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.AppLocalePickerFragment
import com.android.settingslib.spa.framework.util.filterItem
import com.android.settingslib.spaprivileged.framework.common.asUser
import com.android.settingslib.spaprivileged.model.app.AppListModel
@@ -94,6 +99,18 @@ class AppLanguagesListModel(private val context: Context) : AppListModel<AppLang
    @Composable
    override fun AppListItemModel<AppLanguagesRecord>.AppItem() {
        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 {
                    data = Uri.parse("package:${record.app.packageName}")
                }
@@ -101,3 +118,4 @@ class AppLanguagesListModel(private val context: Context) : AppListModel<AppLang
            }
        }
    }
}