[Settings]Check the Satellite modem state instead of enabled state only.

Flag: EXEMPT bugfix
Fix: 354806125
Test: Manual test pass
Change-Id: Iaa8d1c9d3df36e40fafda0117234036d9451a4fa
This commit is contained in:
tomhsu
2024-07-31 07:17:30 +00:00
parent 1010a85eda
commit 90553d91f1
7 changed files with 87 additions and 34 deletions

View File

@@ -91,7 +91,8 @@ class SatelliteRepositoryTest {
@Test
fun requestIsSessionStarted_resultIsTrue() = runBlocking {
`when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
`when`(
mockSatelliteManager.registerForModemStateChanged(any(), any())
).thenAnswer { invocation ->
val callback = invocation.getArgument<SatelliteModemStateCallback>(1)
callback.onSatelliteModemStateChanged(SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED)
@@ -105,7 +106,8 @@ class SatelliteRepositoryTest {
@Test
fun requestIsSessionStarted_resultIsFalse() = runBlocking {
`when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
`when`(
mockSatelliteManager.registerForModemStateChanged(any(), any())
).thenAnswer { invocation ->
val callback = invocation.getArgument<SatelliteModemStateCallback>(1)
callback.onSatelliteModemStateChanged(SatelliteManager.SATELLITE_MODEM_STATE_OFF)
@@ -119,7 +121,8 @@ class SatelliteRepositoryTest {
@Test
fun requestIsSessionStarted_registerFailed() = runBlocking {
`when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
`when`(
mockSatelliteManager.registerForModemStateChanged(any(), any())
).thenAnswer {
SatelliteManager.SATELLITE_RESULT_ERROR
}
@@ -129,6 +132,17 @@ class SatelliteRepositoryTest {
verify(mockSatelliteManager, never()).unregisterForModemStateChanged(any())
}
@Test
fun requestIsSessionStarted_phoneCrash_registerFailed() = runBlocking {
`when`(
mockSatelliteManager.registerForModemStateChanged(any(), any())
).thenThrow(IllegalStateException("Telephony is null"))
val result: ListenableFuture<Boolean> = repository.requestIsSessionStarted(mockExecutor)
assertFalse(result.get())
verify(mockSatelliteManager, never()).unregisterForModemStateChanged(any())
}
@Test
fun requestIsSessionStarted_nullSatelliteManager() = runBlocking {
`when`(spyContext.getSystemService(SatelliteManager::class.java)).thenReturn(null)
@@ -157,6 +171,17 @@ class SatelliteRepositoryTest {
assertFalse(result.get())
}
@Test
fun requestIsEnabled_phoneCrash_resultIsFalse() = runBlocking {
`when`(
mockSatelliteManager.requestIsEnabled(any(), any())
).thenThrow(IllegalStateException("Telephony is null"))
val result: ListenableFuture<Boolean> =
repository.requestIsEnabled(mockExecutor)
assertFalse(result.get())
}
@Test
fun requestIsEnabled_exceptionFailure() = runBlocking {
@@ -232,7 +257,8 @@ class SatelliteRepositoryTest {
@Test
fun getIsSessionStartedFlow_registerFailed() = runBlocking {
`when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
`when`(
mockSatelliteManager.registerForModemStateChanged(any(), any())
).thenAnswer {
SatelliteManager.SATELLITE_RESULT_ERROR
}