Loading aconfig/catalyst/system.aconfig 0 → 100644 +9 −0 Original line number Original line Diff line number Diff line package: "com.android.settings.flags" container: "system" flag { name: "catalyst_language_setting" namespace: "android_settings" description: "Flag for System -> Languages screen" bug: "323791114" } res/xml/language_settings.xml +1 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto" xmlns:settings="http://schemas.android.com/apk/res-auto" android:title="@string/languages_settings" android:title="@string/languages_settings" android:key="languages_settings"> android:key="language_settings"> <PreferenceCategory <PreferenceCategory android:key="languages_category" android:key="languages_category" android:title="@string/locale_picker_category_title"> android:title="@string/locale_picker_category_title"> Loading src/com/android/settings/language/LanguageSettingScreen.kt 0 → 100644 +54 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.language import android.content.ComponentName import android.content.Context import android.content.pm.PackageManager import com.android.settings.R import com.android.settings.Settings.LanguageSettingsActivity import com.android.settings.flags.Flags import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator @ProvidePreferenceScreen class LanguageSettingScreen: PreferenceScreenCreator { override val key: String get() = KEY override val title: Int get() = R.string.languages_settings override val summary: Int get() = R.string.languages_setting_summary override val icon: Int get() = R.drawable.ic_settings_languages override fun isFlagEnabled(context: Context) = Flags.catalystLanguageSetting() override fun hasCompleteHierarchy() = false override fun fragmentClass() = LanguageSettings::class.java override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} companion object { const val KEY = "language_setting" } } src/com/android/settings/language/LanguageSettings.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -66,6 +66,11 @@ public class LanguageSettings extends DashboardFragment { activity.setTitle(R.string.languages_settings); activity.setTitle(R.string.languages_settings); } } @Override public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) { return LanguageSettingScreen.KEY; } @Override @Override protected int getPreferenceScreenResId() { protected int getPreferenceScreenResId() { return R.xml.language_settings; return R.xml.language_settings; Loading tests/unit/Android.bp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -26,11 +26,14 @@ android_test { "androidx.test.ext.junit", "androidx.test.ext.junit", "androidx.test.rules", "androidx.test.rules", "flag-junit", "flag-junit", "kotlin-test", "mockito-kotlin2", "mockito-target-minus-junit4", "mockito-target-minus-junit4", "platform-test-annotations", "platform-test-annotations", "platform-test-rules", "platform-test-rules", "truth", "truth", "kotlinx_coroutines_test", "kotlinx_coroutines_test", "SettingsLibPreference-testutils", "Settings-testutils2", "Settings-testutils2", "servicestests-utils", "servicestests-utils", // Don't add SettingsLib libraries here - you can use them directly as they are in the // Don't add SettingsLib libraries here - you can use them directly as they are in the Loading Loading
aconfig/catalyst/system.aconfig 0 → 100644 +9 −0 Original line number Original line Diff line number Diff line package: "com.android.settings.flags" container: "system" flag { name: "catalyst_language_setting" namespace: "android_settings" description: "Flag for System -> Languages screen" bug: "323791114" }
res/xml/language_settings.xml +1 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto" xmlns:settings="http://schemas.android.com/apk/res-auto" android:title="@string/languages_settings" android:title="@string/languages_settings" android:key="languages_settings"> android:key="language_settings"> <PreferenceCategory <PreferenceCategory android:key="languages_category" android:key="languages_category" android:title="@string/locale_picker_category_title"> android:title="@string/locale_picker_category_title"> Loading
src/com/android/settings/language/LanguageSettingScreen.kt 0 → 100644 +54 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.language import android.content.ComponentName import android.content.Context import android.content.pm.PackageManager import com.android.settings.R import com.android.settings.Settings.LanguageSettingsActivity import com.android.settings.flags.Flags import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator @ProvidePreferenceScreen class LanguageSettingScreen: PreferenceScreenCreator { override val key: String get() = KEY override val title: Int get() = R.string.languages_settings override val summary: Int get() = R.string.languages_setting_summary override val icon: Int get() = R.drawable.ic_settings_languages override fun isFlagEnabled(context: Context) = Flags.catalystLanguageSetting() override fun hasCompleteHierarchy() = false override fun fragmentClass() = LanguageSettings::class.java override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} companion object { const val KEY = "language_setting" } }
src/com/android/settings/language/LanguageSettings.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -66,6 +66,11 @@ public class LanguageSettings extends DashboardFragment { activity.setTitle(R.string.languages_settings); activity.setTitle(R.string.languages_settings); } } @Override public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) { return LanguageSettingScreen.KEY; } @Override @Override protected int getPreferenceScreenResId() { protected int getPreferenceScreenResId() { return R.xml.language_settings; return R.xml.language_settings; Loading
tests/unit/Android.bp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -26,11 +26,14 @@ android_test { "androidx.test.ext.junit", "androidx.test.ext.junit", "androidx.test.rules", "androidx.test.rules", "flag-junit", "flag-junit", "kotlin-test", "mockito-kotlin2", "mockito-target-minus-junit4", "mockito-target-minus-junit4", "platform-test-annotations", "platform-test-annotations", "platform-test-rules", "platform-test-rules", "truth", "truth", "kotlinx_coroutines_test", "kotlinx_coroutines_test", "SettingsLibPreference-testutils", "Settings-testutils2", "Settings-testutils2", "servicestests-utils", "servicestests-utils", // Don't add SettingsLib libraries here - you can use them directly as they are in the // Don't add SettingsLib libraries here - you can use them directly as they are in the Loading