Loading AndroidManifest.xml +14 −3 Original line number Diff line number Diff line Loading @@ -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" Loading src/com/android/settings/Settings.java +3 −0 Original line number Diff line number Diff line Loading @@ -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 */ } Loading src/com/android/settings/core/gateway/SettingsGateway.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 = { Loading src/com/android/settings/localepicker/AppLocalePickerFragment.java +12 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); Loading src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt +8 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading
AndroidManifest.xml +14 −3 Original line number Diff line number Diff line Loading @@ -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" Loading
src/com/android/settings/Settings.java +3 −0 Original line number Diff line number Diff line Loading @@ -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 */ } Loading
src/com/android/settings/core/gateway/SettingsGateway.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 = { Loading
src/com/android/settings/localepicker/AppLocalePickerFragment.java +12 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); Loading
src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt +8 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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