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

Commit 4175e177 authored by Zoey Chen's avatar Zoey Chen
Browse files

[Settings] 1. Apply new UI style to all App Language page 2. Update

AndroidManifest

Bug: 401180262
Test: manual
Test: adb shell am start -d package:com.android.chrome -a android.settings.APP_LOCALE_SETTING
Flag: EXEMPT bugfix
Change-Id: Ia30fbcb150aa713722859ae235de55239fbed56d
parent f0ff4bf6
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -1064,16 +1064,27 @@
                  android:theme="@style/Theme.LocalePickerWithRegionActivity">
        </activity>

        <activity android:name="Settings$SystemLanguageSettingsActivity"
                  android:label="@string/language_selection_title"
                  android:excludeFromRecents="true"
                  android:configChanges="orientation|keyboardHidden|screenSize"
                  android:exported="false">
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.localepicker.SystemLocalePickerFragment" />
        </activity>

        <activity
            android:name=".localepicker.AppLocalePickerActivity"
            android:name="Settings$AppLanguageSettingsActivity"
            android:label="@string/app_locale_picker_title"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:exported="true" >
            <intent-filter>
            <intent-filter android:priority="1">
                <action android:name="android.settings.APP_LOCALE_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="package"/>
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.localepicker.AppLocalePickerFragment"/>
        </activity>

        <activity android:name=".localepicker.NotificationActionActivity"
+3 −0
Original line number Diff line number Diff line
@@ -98,8 +98,11 @@ public class Settings extends SettingsActivity {
    }
    public static class InputMethodAndSubtypeEnablerActivity extends SettingsActivity { /* empty */ }
    public static class SpellCheckersSettingsActivity extends SettingsActivity { /* empty */ }
    /** Activity for the language settings. */
    public static class LocalePickerActivity extends SettingsActivity { /* empty */ }
    public static class LanguageSettingsActivity extends SettingsActivity { /* empty */ }
    public static class SystemLanguageSettingsActivity extends SettingsActivity { /* empty */ }
    public static class AppLanguageSettingsActivity extends SettingsActivity { /* empty */ }
    /** Activity for the regional preferences settings. */
    public static class RegionSettingsActivity extends SettingsActivity { /* empty */ }
    public static class RegionalPreferencesActivity extends SettingsActivity { /* empty */ }
+4 −0
Original line number Diff line number Diff line
@@ -141,7 +141,9 @@ import com.android.settings.inputmethod.TouchpadAndMouseSettings;
import com.android.settings.inputmethod.UserDictionaryList;
import com.android.settings.inputmethod.UserDictionarySettings;
import com.android.settings.language.LanguageSettings;
import com.android.settings.localepicker.AppLocalePickerFragment;
import com.android.settings.localepicker.LocaleListEditor;
import com.android.settings.localepicker.SystemLocalePickerFragment;
import com.android.settings.location.LocationServices;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.WifiScanningFragment;
@@ -424,6 +426,8 @@ public class SettingsGateway {
            ToggleScreenMagnificationPreferenceFragment.class.getName(),
            FlashNotificationsPreferenceFragment.class.getName(),
            BundlePreferenceFragment.class.getName(),
            SystemLocalePickerFragment.class.getName(),
            AppLocalePickerFragment.class.getName(),
    };

    public static final String[] SETTINGS_FOR_RESTRICTED = {
+12 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.LocaleList;
import android.text.TextUtils;
@@ -415,8 +416,18 @@ public class AppLocalePickerFragment extends DashboardFragment implements

    private List<AbstractPreferenceController> buildPreferenceControllers(
            @NonNull Context context) {
        final List<AbstractPreferenceController> controllers = new ArrayList<>();
        Bundle args = getArguments();
        Uri data = getIntent().getData();
        if (data != null) {
            mPackageName = data.getSchemeSpecificPart();
        } else if (args != null) {
            mPackageName = args.getString(ARG_PACKAGE_NAME);
        }
        if (TextUtils.isEmpty(mPackageName)) {
            return controllers;
        }

        mUid = args.getInt(ARG_PACKAGE_UID);
        mLocaleInfo = (LocaleStore.LocaleInfo) args.getSerializable(
                RegionAndNumberingSystemPickerFragment.EXTRA_TARGET_LOCALE);
@@ -431,7 +442,6 @@ public class AppLocalePickerFragment extends DashboardFragment implements
        mAppLocaleAllListPreferenceController = new AppLocaleAllListPreferenceController(
                context, KEY_PREFERENCE_APP_LOCALE_LIST, mPackageName, mIsNumberingMode,
                mLocaleInfo, getActivity(), appLocaleCollector);
        final List<AbstractPreferenceController> controllers = new ArrayList<>();
        controllers.add(mSuggestedListPreferenceController);
        controllers.add(mAppLocaleAllListPreferenceController);

+8 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
import com.android.settings.Settings
import com.android.settings.applications.AppInfoBase
import com.android.settings.applications.AppLocaleUtil
import com.android.settings.applications.appinfo.AppLocaleDetails
@@ -37,6 +38,7 @@ import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spaprivileged.model.app.userHandle
import com.android.settingslib.spaprivileged.model.app.userId
import com.android.settingslib.widget.SettingsThemeHelper
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.withContext
@@ -81,7 +83,12 @@ private class AppLocalePresenter(
    }

    fun startActivity() {
        val intent = Intent(context, AppLocalePickerActivity::class.java).apply {
        val className = if (SettingsThemeHelper.isExpressiveTheme(context)) {
            Settings.AppLanguageSettingsActivity::class.java
        } else {
            AppLocalePickerActivity::class.java
        }
        val intent = Intent(context, className).apply {
            data = Uri.parse("package:" + app.packageName)
            putExtra(AppInfoBase.ARG_PACKAGE_UID, app.uid)
        }
Loading