From c19341db32c5c63f0972d4953c5038b7dcb388e2 Mon Sep 17 00:00:00 2001 From: tom hsu Date: Thu, 13 Mar 2025 19:03:58 +0000 Subject: [PATCH] [Satellite] Refactor about content of Satellite setting Flag: EXEMPT refactor Bug: b/403149290 Test: Manual test pass Test: atest pass Change-Id: I55868869a9442648995343c857758c23fe358bc2 --- res/values/strings.xml | 8 +- res/xml/satellite_setting.xml | 6 +- .../telephony/satellite/SatelliteSetting.java | 24 ++---- .../SatelliteSettingAboutContentController.kt | 52 +++++++++++++ ...elliteSettingAboutContentControllerTest.kt | 77 +++++++++++++++++++ 5 files changed, 142 insertions(+), 25 deletions(-) create mode 100644 src/com/android/settings/network/telephony/satellite/SatelliteSettingAboutContentController.kt create mode 100644 tests/unit/src/com/android/settings/network/telephony/satellite/SatelliteSettingAboutContentControllerTest.kt diff --git a/res/values/strings.xml b/res/values/strings.xml index 0f92d31fa20..aa34c81953e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12685,10 +12685,10 @@ Data usage charges may apply. Send and receive text messages by satellite. Contact your carrier for details. Satellite messaging, satellite connectivity - - About %1$s - - You can send and receive text messages by satellite with an eligible %1$s account + + About satellite connectivity + + You can send and receive text messages and use some apps by satellite with an eligible %1$s account Your %1$s account diff --git a/res/xml/satellite_setting.xml b/res/xml/satellite_setting.xml index e299951092d..74bee71c31a 100644 --- a/res/xml/satellite_setting.xml +++ b/res/xml/satellite_setting.xml @@ -22,10 +22,12 @@ settings:keywords="@string/keywords_satellite_setting"> + android:title="@string/category_name_about_satellite_connectivity" + android:key="key_category_about_satellite" + settings:controller="com.android.settings.network.telephony.satellite.SatelliteSettingAboutContentController"> + android:key="key_about_satellite_connectivity"/> { + on { getSimOperatorName(TEST_SUB_ID) } doReturn TEST_SIM_OPERATOR_NAME + } + + private var context: Context = spy(ApplicationProvider.getApplicationContext()) { + on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager + } + + private val controller = SatelliteSettingAboutContentController( + context = context, + key = PREF_KEY_ABOUT_SATELLITE_CONNECTIVITY, + ) + + private lateinit var screen: PreferenceScreen + private lateinit var preference: TopIntroPreference + + @Before + fun setUp() { + preference = + TopIntroPreference(context).apply { key = PREF_KEY_ABOUT_SATELLITE_CONNECTIVITY } + screen = PreferenceManager(context).createPreferenceScreen(context) + screen.addPreference(preference) + } + + @Test + fun displayPreference_preferenceTitle_hasSimOperatorName() { + controller.init(TEST_SUB_ID) + + controller.displayPreference(screen) + + assertThat(preference.title).isEqualTo( + context.getString( + R.string.description_about_satellite_setting, + TEST_SIM_OPERATOR_NAME + ) + ) + } + + private companion object { + const val TEST_SUB_ID = 1 + const val TEST_SIM_OPERATOR_NAME = "Test Carrier" + } +} \ No newline at end of file