summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aishwarya Mallampati <amallampati@google.com> 2024-04-29 16:43:54 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-04-29 16:43:54 +0000
commitbe173deffd55a242afca7352cc652d6aa7ca02bd (patch)
treed13ec45e821d2e8a87bf615396e3a2b9cb98d5bf
parentd6cbe5eae02e48d47bf83f465768bbbaacddf84a (diff)
parent6da4eef8184679a156993fedd3f06800b7b69577 (diff)
Merge "[Sat] Use new TelephonyCallback instead of ServiceState" into 24D1-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt65
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt18
3 files changed, 54 insertions, 38 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt
index 4f702d7534cb..d4b2dbff078b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt
@@ -102,6 +102,15 @@ constructor(
)
}
+ fun logOnCarrierRoamingNtnModeChanged(active: Boolean) {
+ buffer.log(
+ TAG,
+ LogLevel.INFO,
+ { bool1 = active },
+ { "onCarrierRoamingNtnModeChanged: $bool1" }
+ )
+ }
+
fun logOnDisplayInfoChanged(displayInfo: TelephonyDisplayInfo, subId: Int) {
buffer.log(
TAG,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt
index b3885d247949..6803a9dc06fd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt
@@ -142,29 +142,23 @@ class MobileConnectionRepositoryImpl(
val callback =
object :
TelephonyCallback(),
- TelephonyCallback.ServiceStateListener,
- TelephonyCallback.SignalStrengthsListener,
- TelephonyCallback.DataConnectionStateListener,
- TelephonyCallback.DataActivityListener,
TelephonyCallback.CarrierNetworkListener,
+ TelephonyCallback.CarrierRoamingNtnModeListener,
+ TelephonyCallback.DataActivityListener,
+ TelephonyCallback.DataConnectionStateListener,
+ TelephonyCallback.DataEnabledListener,
TelephonyCallback.DisplayInfoListener,
- TelephonyCallback.DataEnabledListener {
- override fun onServiceStateChanged(serviceState: ServiceState) {
- logger.logOnServiceStateChanged(serviceState, subId)
- trySend(CallbackEvent.OnServiceStateChanged(serviceState))
- }
+ TelephonyCallback.ServiceStateListener,
+ TelephonyCallback.SignalStrengthsListener {
- override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
- logger.logOnSignalStrengthsChanged(signalStrength, subId)
- trySend(CallbackEvent.OnSignalStrengthChanged(signalStrength))
+ override fun onCarrierNetworkChange(active: Boolean) {
+ logger.logOnCarrierNetworkChange(active, subId)
+ trySend(CallbackEvent.OnCarrierNetworkChange(active))
}
- override fun onDataConnectionStateChanged(
- dataState: Int,
- networkType: Int
- ) {
- logger.logOnDataConnectionStateChanged(dataState, networkType, subId)
- trySend(CallbackEvent.OnDataConnectionStateChanged(dataState))
+ override fun onCarrierRoamingNtnModeChanged(active: Boolean) {
+ logger.logOnCarrierRoamingNtnModeChanged(active)
+ trySend(CallbackEvent.OnCarrierRoamingNtnModeChanged(active))
}
override fun onDataActivity(direction: Int) {
@@ -172,9 +166,17 @@ class MobileConnectionRepositoryImpl(
trySend(CallbackEvent.OnDataActivity(direction))
}
- override fun onCarrierNetworkChange(active: Boolean) {
- logger.logOnCarrierNetworkChange(active, subId)
- trySend(CallbackEvent.OnCarrierNetworkChange(active))
+ override fun onDataEnabledChanged(enabled: Boolean, reason: Int) {
+ logger.logOnDataEnabledChanged(enabled, subId)
+ trySend(CallbackEvent.OnDataEnabledChanged(enabled))
+ }
+
+ override fun onDataConnectionStateChanged(
+ dataState: Int,
+ networkType: Int
+ ) {
+ logger.logOnDataConnectionStateChanged(dataState, networkType, subId)
+ trySend(CallbackEvent.OnDataConnectionStateChanged(dataState))
}
override fun onDisplayInfoChanged(
@@ -184,9 +186,14 @@ class MobileConnectionRepositoryImpl(
trySend(CallbackEvent.OnDisplayInfoChanged(telephonyDisplayInfo))
}
- override fun onDataEnabledChanged(enabled: Boolean, reason: Int) {
- logger.logOnDataEnabledChanged(enabled, subId)
- trySend(CallbackEvent.OnDataEnabledChanged(enabled))
+ override fun onServiceStateChanged(serviceState: ServiceState) {
+ logger.logOnServiceStateChanged(serviceState, subId)
+ trySend(CallbackEvent.OnServiceStateChanged(serviceState))
+ }
+
+ override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
+ logger.logOnSignalStrengthsChanged(signalStrength, subId)
+ trySend(CallbackEvent.OnSignalStrengthChanged(signalStrength))
}
}
telephonyManager.registerTelephonyCallback(bgDispatcher.asExecutor(), callback)
@@ -229,8 +236,8 @@ class MobileConnectionRepositoryImpl(
override val isNonTerrestrial =
callbackEvents
- .mapNotNull { it.onServiceStateChanged }
- .map { it.serviceState.isUsingNonTerrestrialNetwork }
+ .mapNotNull { it.onCarrierRoamingNtnModeChanged }
+ .map { it.active }
.stateIn(scope, SharingStarted.WhileSubscribed(), false)
override val isGsm =
@@ -502,6 +509,8 @@ private fun Intent.carrierId(): Int =
sealed interface CallbackEvent {
data class OnCarrierNetworkChange(val active: Boolean) : CallbackEvent
+ data class OnCarrierRoamingNtnModeChanged(val active: Boolean) : CallbackEvent
+
data class OnDataActivity(val direction: Int) : CallbackEvent
data class OnDataConnectionStateChanged(val dataState: Int) : CallbackEvent
@@ -522,6 +531,7 @@ sealed interface CallbackEvent {
data class TelephonyCallbackState(
val onDataActivity: CallbackEvent.OnDataActivity? = null,
val onCarrierNetworkChange: CallbackEvent.OnCarrierNetworkChange? = null,
+ val onCarrierRoamingNtnModeChanged: CallbackEvent.OnCarrierRoamingNtnModeChanged? = null,
val onDataConnectionStateChanged: CallbackEvent.OnDataConnectionStateChanged? = null,
val onDataEnabledChanged: CallbackEvent.OnDataEnabledChanged? = null,
val onDisplayInfoChanged: CallbackEvent.OnDisplayInfoChanged? = null,
@@ -531,6 +541,9 @@ data class TelephonyCallbackState(
fun applyEvent(event: CallbackEvent): TelephonyCallbackState {
return when (event) {
is CallbackEvent.OnCarrierNetworkChange -> copy(onCarrierNetworkChange = event)
+ is CallbackEvent.OnCarrierRoamingNtnModeChanged -> {
+ copy(onCarrierRoamingNtnModeChanged = event)
+ }
is CallbackEvent.OnDataActivity -> copy(onDataActivity = event)
is CallbackEvent.OnDataConnectionStateChanged ->
copy(onDataConnectionStateChanged = event)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt
index 9d1411625a8f..3695d8c151a2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt
@@ -35,6 +35,7 @@ import android.telephony.ServiceState.STATE_OUT_OF_SERVICE
import android.telephony.SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX
import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET
import android.telephony.TelephonyCallback
+import android.telephony.TelephonyCallback.CarrierRoamingNtnModeListener
import android.telephony.TelephonyCallback.DataActivityListener
import android.telephony.TelephonyCallback.DisplayInfoListener
import android.telephony.TelephonyCallback.ServiceStateListener
@@ -983,26 +984,19 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
@Test
@EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG)
- fun isNonTerrestrial_updatesFromServiceState() =
+ fun isNonTerrestrial_updatesFromCallback0() =
testScope.runTest {
val latest by collectLastValue(underTest.isNonTerrestrial)
- // Lambda makes it a little clearer what we are testing IMO
- val serviceStateCreator = { ntn: Boolean ->
- mock<ServiceState>().also {
- whenever(it.isUsingNonTerrestrialNetwork).thenReturn(ntn)
- }
- }
-
// Starts out false
assertThat(latest).isFalse()
- getTelephonyCallbackForType<ServiceStateListener>()
- .onServiceStateChanged(serviceStateCreator(true))
+ val callback = getTelephonyCallbackForType<CarrierRoamingNtnModeListener>()
+
+ callback.onCarrierRoamingNtnModeChanged(true)
assertThat(latest).isTrue()
- getTelephonyCallbackForType<ServiceStateListener>()
- .onServiceStateChanged(serviceStateCreator(false))
+ callback.onCarrierRoamingNtnModeChanged(false)
assertThat(latest).isFalse()
}