[Satelllite] Avoid using "add ESIM page"

- When user clicks preference UI, show a dialog to nofity user
   satellite session.

Flag: EXEMPT bug fix
Fix: b/402544816
Test: atest pass
Test: Manual test

Change-Id: Ifeff9368fed906bc56abcc8eb23748a71f79ee4d
This commit is contained in:
tom hsu
2025-03-21 11:08:19 +00:00
parent 14fe4f0f01
commit 8be6d98b1f
6 changed files with 146 additions and 17 deletions

View File

@@ -28,6 +28,10 @@ import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settings.network.SatelliteWarningDialogActivity
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.CUSTOM_CONTENT_BUTTON_NAME
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.CUSTOM_CONTENT_DESCRIPTION
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.CUSTOM_CONTENT_TITLE
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.EXTRA_TYPE_OF_SATELLITE_CUSTOMIZED_CONTENT
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.EXTRA_TYPE_OF_SATELLITE_WARNING_DIALOG
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.TYPE_IS_AIRPLANE_MODE
import com.android.settings.network.SatelliteWarningDialogActivity.Companion.TYPE_IS_BLUETOOTH
@@ -74,6 +78,33 @@ class SatelliteWarningDialogActivityTest {
scenario.close()
}
@Test
fun launchActivity_checkCustomizedContent_hasContentIntent() {
val scenario = launchCustomizedDialogActivity()
scenario.onActivity { activity ->
assert(activity.intent.hasExtra(EXTRA_TYPE_OF_SATELLITE_CUSTOMIZED_CONTENT))
}
scenario.close()
}
@Test
fun testCustomizedDialogIsExisted() {
val scenario = launchCustomizedDialogActivity()
composeTestRule.onNodeWithText(
getSatelliteTestContent().get(CUSTOM_CONTENT_BUTTON_NAME).toString()
).assertIsDisplayed()
composeTestRule.onNodeWithText(
getSatelliteTestContent().get(CUSTOM_CONTENT_TITLE).toString()
).assertIsDisplayed()
composeTestRule.onNodeWithText(
getSatelliteTestContent().get(CUSTOM_CONTENT_DESCRIPTION).toString()
).assertIsDisplayed()
scenario.close()
}
@Test
fun launchActivity_unknownType_destroyActivity() {
val scenario = launchDialogActivity(TYPE_IS_UNKNOWN)
@@ -117,10 +148,31 @@ class SatelliteWarningDialogActivityTest {
scenario.close()
}
private fun launchDialogActivity(type: Int): ActivityScenario<SatelliteWarningDialogActivity> = launch(
Intent(
private fun launchDialogActivity(type: Int): ActivityScenario<SatelliteWarningDialogActivity> =
launch(Intent(
context,
SatelliteWarningDialogActivity::class.java
).putExtra(EXTRA_TYPE_OF_SATELLITE_WARNING_DIALOG, type)
)
private fun launchCustomizedDialogActivity(): ActivityScenario<SatelliteWarningDialogActivity> =
launch(Intent(
context,
SatelliteWarningDialogActivity::class.java
).putExtra(EXTRA_TYPE_OF_SATELLITE_CUSTOMIZED_CONTENT, getSatelliteTestContent())
)
private fun getSatelliteTestContent(): HashMap<Int, String> {
val content = HashMap<Int, String>()
content.put(CUSTOM_CONTENT_TITLE, TEST_TITLE)
content.put(CUSTOM_CONTENT_DESCRIPTION, TEST_DESCRIPTION)
content.put(CUSTOM_CONTENT_BUTTON_NAME, TEST_BUTTON_NAME)
return content
}
companion object {
const val TEST_TITLE = "TEST_TITLE"
const val TEST_DESCRIPTION = "TEST_DESCRIPTION"
const val TEST_BUTTON_NAME = "TEST_BUTTON_NAME"
}
}