From 8db6c33b465a62e9d8f8a8675c968391c9b74d2c Mon Sep 17 00:00:00 2001 From: Jacky Wang Date: Mon, 10 Mar 2025 10:20:14 +0800 Subject: [PATCH 1/6] [Catalyst] Avoid PreferenceMetadata.getPreferenceSummary call PreferenceMetadata.getPreferenceSummary is implementation detail. Bug: 388167106 Flag: EXEMPT refactor Test: atest Change-Id: I4ec429723f0275c540b4e91e46dfc19fd592c524 --- .../settings/accessibility/ColorInversionPreferenceTest.kt | 4 ++-- .../settings/accessibility/DaltonizerPreferenceTest.kt | 4 ++-- .../supervision/SupervisionPinManagementScreenTest.kt | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceTest.kt b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceTest.kt index 687cd8bef1f..a3966f1ba4c 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceTest.kt +++ b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceTest.kt @@ -97,7 +97,7 @@ class ColorInversionPreferenceTest { fun getSummary_colorInversionOn_verifySummary() { SettingsSecureStore.get(appContext).setInt(SETTING_KEY, AccessibilityUtil.State.ON) - assertThat(colorInversionPreference.getPreferenceSummary(appContext)).isEqualTo( + assertThat(colorInversionPreference.getSummary(appContext)).isEqualTo( appContext.getText( R.string.color_inversion_state_on ) @@ -108,7 +108,7 @@ class ColorInversionPreferenceTest { fun getSummary_colorInversionOff_verifySummary() { SettingsSecureStore.get(appContext).setInt(SETTING_KEY, AccessibilityUtil.State.OFF) - assertThat(colorInversionPreference.getPreferenceSummary(appContext)).isEqualTo( + assertThat(colorInversionPreference.getSummary(appContext)).isEqualTo( appContext.getText( R.string.color_inversion_state_off ) diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceTest.kt b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceTest.kt index f1ccf393371..07d27a0521b 100644 --- a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceTest.kt +++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceTest.kt @@ -97,7 +97,7 @@ class DaltonizerPreferenceTest { fun getSummary_daltonizerOn_verifySummary() { SettingsSecureStore.get(appContext).setInt(SETTING_KEY, AccessibilityUtil.State.ON) - assertThat(daltonizerPreference.getPreferenceSummary(appContext)).isEqualTo( + assertThat(daltonizerPreference.getSummary(appContext)).isEqualTo( appContext.getText( R.string.daltonizer_state_on ) @@ -108,7 +108,7 @@ class DaltonizerPreferenceTest { fun getSummary_daltonizerOff_verifySummary() { SettingsSecureStore.get(appContext).setInt(SETTING_KEY, AccessibilityUtil.State.OFF) - assertThat(daltonizerPreference.getPreferenceSummary(appContext)).isEqualTo( + assertThat(daltonizerPreference.getSummary(appContext)).isEqualTo( appContext.getText( R.string.daltonizer_state_off ) diff --git a/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt b/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt index ab37b3ca4e9..b39bc5a51e6 100644 --- a/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt +++ b/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt @@ -18,6 +18,7 @@ package com.android.settings.supervision import android.content.Context import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settings.R import com.google.common.truth.Truth.assertThat import org.junit.Test import org.junit.runner.RunWith @@ -41,7 +42,7 @@ class SupervisionPinManagementScreenTest { @Test fun getSummary_addPin() { - assertThat(supervisionPinManagementScreen.getPreferenceSummary(context)) - .isEqualTo("Add a PIN recovery method") + assertThat(supervisionPinManagementScreen.summary) + .isEqualTo(R.string.supervision_pin_management_preference_summary_add) } } From 2380c5d1e4544734301a03ab76ba4f0b3f5631a7 Mon Sep 17 00:00:00 2001 From: Jacky Wang Date: Mon, 10 Mar 2025 10:40:59 +0800 Subject: [PATCH 2/6] [Catalyst] Avoid PreferenceMetadata.getPreferenceTitle call Bug: 388167106 Flag: EXEMPT refactor Test: atest Change-Id: I6491f076c22e5cca4981d4a9270f92cd53173f74 --- src/com/android/settings/widget/FooterPreference.kt | 1 + .../android/settings/network/tether/TetherScreenTest.kt | 4 ++-- .../supervision/SupervisionChangePinPreferenceTest.kt | 5 +++-- .../supervision/SupervisionPinManagementScreenTest.kt | 4 ++-- .../supervision/SupervisionPinRecoveryPreferenceTest.kt | 7 ++++--- .../supervision/SupervisionWebContentFiltersScreenTest.kt | 5 +++-- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/widget/FooterPreference.kt b/src/com/android/settings/widget/FooterPreference.kt index f4f5b108345..afc96c196a5 100644 --- a/src/com/android/settings/widget/FooterPreference.kt +++ b/src/com/android/settings/widget/FooterPreference.kt @@ -19,6 +19,7 @@ package com.android.settings.widget import android.content.Context import androidx.preference.Preference import com.android.settingslib.metadata.PreferenceMetadata +import com.android.settingslib.metadata.getPreferenceTitle import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.widget.FooterPreference import com.android.settingslib.widget.preference.footer.R diff --git a/tests/robotests/src/com/android/settings/network/tether/TetherScreenTest.kt b/tests/robotests/src/com/android/settings/network/tether/TetherScreenTest.kt index f3d1d394e30..e0e061d2c7e 100644 --- a/tests/robotests/src/com/android/settings/network/tether/TetherScreenTest.kt +++ b/tests/robotests/src/com/android/settings/network/tether/TetherScreenTest.kt @@ -57,7 +57,7 @@ class TetherScreenTest : CatalystScreenTestCase() { fun getPreferenceTitle_tetherConfigDisallowed_shouldShowAll() { ShadowRestrictedLockUtilsInternal.setRestricted(true) - assertThat(preferenceScreenCreator.getPreferenceTitle(appContext)).isEqualTo( + assertThat(preferenceScreenCreator.getTitle(appContext)).isEqualTo( appContext.getString(R.string.tether_settings_title_all)) } @@ -66,7 +66,7 @@ class TetherScreenTest : CatalystScreenTestCase() { ShadowRestrictedLockUtilsInternal.setRestricted(false) val tm = appContext.getSystemService(TetheringManager::class.java) - assertThat(preferenceScreenCreator.getPreferenceTitle(appContext)).isEqualTo( + assertThat(preferenceScreenCreator.getTitle(appContext)).isEqualTo( appContext.getText(Utils.getTetheringLabel(tm))) } diff --git a/tests/robotests/src/com/android/settings/supervision/SupervisionChangePinPreferenceTest.kt b/tests/robotests/src/com/android/settings/supervision/SupervisionChangePinPreferenceTest.kt index 4ad9c266123..91d0044e17d 100644 --- a/tests/robotests/src/com/android/settings/supervision/SupervisionChangePinPreferenceTest.kt +++ b/tests/robotests/src/com/android/settings/supervision/SupervisionChangePinPreferenceTest.kt @@ -18,6 +18,7 @@ package com.android.settings.supervision import android.content.Context import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settings.R import com.google.common.truth.Truth.assertThat import org.junit.Test import org.junit.runner.RunWith @@ -30,7 +31,7 @@ class SupervisionChangePinPreferenceTest { @Test fun getTitle() { - assertThat(supervisionChangePinPreference.getPreferenceTitle(context)) - .isEqualTo("Change PIN") + assertThat(supervisionChangePinPreference.title) + .isEqualTo(R.string.supervision_change_pin_preference_title) } } diff --git a/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt b/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt index b39bc5a51e6..90719fba908 100644 --- a/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt +++ b/tests/robotests/src/com/android/settings/supervision/SupervisionPinManagementScreenTest.kt @@ -36,8 +36,8 @@ class SupervisionPinManagementScreenTest { @Test fun getTitle() { - assertThat(supervisionPinManagementScreen.getPreferenceTitle(context)) - .isEqualTo("Manage PIN") + assertThat(supervisionPinManagementScreen.title) + .isEqualTo(R.string.supervision_pin_management_preference_title) } @Test diff --git a/tests/robotests/src/com/android/settings/supervision/SupervisionPinRecoveryPreferenceTest.kt b/tests/robotests/src/com/android/settings/supervision/SupervisionPinRecoveryPreferenceTest.kt index 3fa938f6e57..22ee241182b 100644 --- a/tests/robotests/src/com/android/settings/supervision/SupervisionPinRecoveryPreferenceTest.kt +++ b/tests/robotests/src/com/android/settings/supervision/SupervisionPinRecoveryPreferenceTest.kt @@ -18,6 +18,7 @@ package com.android.settings.supervision import android.content.Context import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settings.R import com.google.common.truth.Truth.assertThat import org.junit.Test import org.junit.runner.RunWith @@ -30,7 +31,7 @@ class SupervisionPinRecoveryPreferenceTest { @Test fun getTitle() { - assertThat(supervisionPinRecoveryPreference.getPreferenceTitle(context)) - .isEqualTo("Forgot PIN") + assertThat(supervisionPinRecoveryPreference.title) + .isEqualTo(R.string.supervision_add_forgot_pin_preference_title) } -} \ No newline at end of file +} diff --git a/tests/robotests/src/com/android/settings/supervision/SupervisionWebContentFiltersScreenTest.kt b/tests/robotests/src/com/android/settings/supervision/SupervisionWebContentFiltersScreenTest.kt index b8e208c50b0..351cbdeaa19 100644 --- a/tests/robotests/src/com/android/settings/supervision/SupervisionWebContentFiltersScreenTest.kt +++ b/tests/robotests/src/com/android/settings/supervision/SupervisionWebContentFiltersScreenTest.kt @@ -18,6 +18,7 @@ package com.android.settings.supervision import android.content.Context import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settings.R import com.google.common.truth.Truth.assertThat import org.junit.Test import org.junit.runner.RunWith @@ -35,7 +36,7 @@ class SupervisionWebContentFiltersScreenTest { @Test fun getTitle() { - assertThat(supervisionWebContentFiltersScreen.getPreferenceTitle(context)) - .isEqualTo("Web content filters") + assertThat(supervisionWebContentFiltersScreen.title) + .isEqualTo(R.string.supervision_web_content_filters_title) } } From e82b0b2eea5053f65e8bab28ead832c531b0aef1 Mon Sep 17 00:00:00 2001 From: Weng Su Date: Mon, 10 Mar 2025 10:31:26 +0800 Subject: [PATCH 3/6] Update the required or optional styles of EditText in VPN settings - Follow the Required text indicator in the Google Material 3 guidelines Bug: 401956268 Flag: EXEMPT refactor Test: Manual testing Change-Id: Ifeb1b882b34151ebef18edc32e7f2a3c116921c2 --- res/layout/vpn_dialog.xml | 54 +++++++------------ res/values/strings.xml | 29 +++++----- res/values/styles.xml | 4 ++ .../android/settings/vpn2/ConfigDialog.java | 7 +-- .../settings/wifi/utils/TextInputGroup.kt | 7 +++ 5 files changed, 49 insertions(+), 52 deletions(-) diff --git a/res/layout/vpn_dialog.xml b/res/layout/vpn_dialog.xml index f0e7b836c64..c045cd567d9 100644 --- a/res/layout/vpn_dialog.xml +++ b/res/layout/vpn_dialog.xml @@ -16,7 +16,7 @@ + app:helperText="@string/vpn_field_required"> + app:helperText="@string/vpn_field_required"> @@ -89,13 +87,12 @@ android:orientation="vertical" android:visibility="gone"> + app:helperText="@string/vpn_field_required"> @@ -108,13 +105,12 @@ android:orientation="vertical" android:visibility="gone"> + app:helperText="@string/vpn_field_required"> + app:endIconMode="clear_text"> + app:endIconMode="clear_text"> + android:hint="@string/vpn_username_optional" + app:endIconMode="clear_text"> + android:hint="@string/vpn_password_optional" + app:endIconMode="password_toggle"> Clear - Proxy port + Proxy port (optional) Bypass proxy for @@ -372,7 +372,7 @@ Done - Proxy hostname + Proxy hostname (optional) Attention @@ -7262,15 +7262,15 @@ Data usage charges may apply. Metered - Name + Name* Type - Server address + Server address* - IPSec identifier + IPSec identifier* - IPSec pre-shared key + IPSec pre-shared key* IPSec user certificate @@ -7279,10 +7279,14 @@ Data usage charges may apply. IPSec server certificate Show advanced options - - Username - - Password + + Username (optional) + + Password (optional) + + Username* + + Password* Save account information @@ -7295,12 +7299,9 @@ Data usage charges may apply. generic error. [CHAR LIMIT=120] --> The information entered doesn\'t support always-on VPN - - (optional) - (required) - The field is required + *required Cancel diff --git a/res/values/styles.xml b/res/values/styles.xml index 976f3d0494a..9f1df7d9095 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -207,6 +207,10 @@ ?android:attr/textColorSecondary + +