[Satellite Settings] Add a new API to SatelliteRepository

Flag: com.android.internal.telephony.flags.satellite_25q4_apis
Bug: b/395813844
Test: atest pass
Change-Id: Ife9e370dbcb3694adfd0bfbcc2ec2a742fbc4434
This commit is contained in:
tom hsu
2025-02-11 11:14:23 +00:00
committed by Tom Hsu
parent d20e849d56
commit 63242bc3ff
2 changed files with 59 additions and 3 deletions

View File

@@ -18,10 +18,12 @@ package com.android.settings.network
import android.content.Context
import android.os.OutcomeReceiver
import android.platform.test.annotations.EnableFlags
import android.telephony.satellite.SatelliteManager
import android.telephony.satellite.SatelliteManager.SatelliteException
import android.telephony.satellite.SatelliteModemStateCallback
import androidx.test.core.app.ApplicationProvider
import com.android.internal.telephony.flags.Flags
import com.google.common.truth.Truth.assertThat
import com.google.common.util.concurrent.ListenableFuture
import kotlinx.coroutines.flow.first
@@ -38,10 +40,10 @@ import org.mockito.Mockito.*
import org.mockito.Spy
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import org.mockito.kotlin.whenever
import org.robolectric.RobolectricTestRunner
import java.util.concurrent.Executor
@RunWith(RobolectricTestRunner::class)
class SatelliteRepositoryTest {
@@ -267,4 +269,35 @@ class SatelliteRepositoryTest {
assertThat(flow.first()).isFalse()
}
}
@Test
@EnableFlags(Flags.FLAG_SATELLITE_25Q4_APIS)
fun getSatelliteDataOptimizedApps_returnPackageNameList() = runBlocking {
whenever(
mockSatelliteManager.getSatelliteDataOptimizedApps()
).thenReturn(
listOf(
"com.android.settings",
"com.android.apps.messaging",
"com.android.dialer",
"com.android.systemui"
)
)
val result = repository.getSatelliteDataOptimizedApps()
assertThat(result.size == 4).isTrue()
}
@Test
@EnableFlags(Flags.FLAG_SATELLITE_25Q4_APIS)
fun getSatelliteDataOptimizedApps_noTelephony_returnEmptyList() = runBlocking {
whenever(
mockSatelliteManager.getSatelliteDataOptimizedApps()
).thenThrow(IllegalStateException("Telephony is null"))
val result = repository.getSatelliteDataOptimizedApps()
assertThat(result.isEmpty()).isTrue()
}
}