Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileConnectionRepository.kt +27 −0 Original line number Diff line number Diff line Loading @@ -25,7 +25,12 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.NetworkNameMode import com.android.systemui.statusbar.pipeline.mobile.data.model.ResolvedNetworkType import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn /** * Every mobile line of service can be identified via a [SubscriptionInfo] object. We set up a Loading Loading @@ -174,5 +179,27 @@ interface MobileConnectionRepository { companion object { /** The default number of levels to use for [numberOfLevels]. */ val DEFAULT_NUM_LEVELS = CellSignalStrength.getNumSignalStrengthLevels() /** * Automatically implements [MobileConnectionRepository.numberOfLevels] based on the * [inflateSignalStrength] value. * * @param default The default number of levels to use if [inflateSignalStrength] is false. */ fun createNumberOfLevelsFlow( scope: CoroutineScope, inflateSignalStrength: Flow<Boolean>, default: Int = DEFAULT_NUM_LEVELS, ): StateFlow<Int> { return inflateSignalStrength .map { shouldInflate -> if (shouldInflate) { default + 1 } else { default } } .stateIn(scope, SharingStarted.WhileSubscribed(), default) } } } packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionRepository.kt +2 −12 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionS import com.android.systemui.statusbar.pipeline.mobile.data.model.NetworkNameModel import com.android.systemui.statusbar.pipeline.mobile.data.model.ResolvedNetworkType import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.DEFAULT_NUM_LEVELS import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.createNumberOfLevelsFlow import com.android.systemui.statusbar.pipeline.mobile.data.repository.demo.model.FakeNetworkEventModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.FullMobileConnectionRepository.Companion.COL_CARRIER_ID import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.FullMobileConnectionRepository.Companion.COL_CARRIER_NETWORK_CHANGE Loading @@ -45,7 +45,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn /** Loading Loading @@ -198,16 +197,7 @@ class DemoMobileConnectionRepository( .logDiffsForTable(tableLogBuffer, initialValue = _resolvedNetworkType.value) .stateIn(scope, SharingStarted.WhileSubscribed(), _resolvedNetworkType.value) override val numberOfLevels = _inflateSignalStrength .map { shouldInflate -> if (shouldInflate) { DEFAULT_NUM_LEVELS + 1 } else { DEFAULT_NUM_LEVELS } } .stateIn(scope, SharingStarted.WhileSubscribed(), DEFAULT_NUM_LEVELS) override val numberOfLevels = createNumberOfLevelsFlow(scope, _inflateSignalStrength) override val dataEnabled = MutableStateFlow(true) Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt +2 −11 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.toDataConnectio import com.android.systemui.statusbar.pipeline.mobile.data.model.toNetworkNameModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.CarrierConfigRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.DEFAULT_NUM_LEVELS import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.createNumberOfLevelsFlow import com.android.systemui.statusbar.pipeline.mobile.util.MobileMappingsProxy import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import com.android.systemui.statusbar.pipeline.shared.data.model.toMobileDataActivityModel Loading Loading @@ -327,16 +327,7 @@ class MobileConnectionRepositoryImpl( override val inflateSignalStrength = systemUiCarrierConfig.shouldInflateSignalStrength override val allowNetworkSliceIndicator = systemUiCarrierConfig.allowNetworkSliceIndicator override val numberOfLevels = inflateSignalStrength .map { shouldInflate -> if (shouldInflate) { DEFAULT_NUM_LEVELS + 1 } else { DEFAULT_NUM_LEVELS } } .stateIn(scope, SharingStarted.WhileSubscribed(), DEFAULT_NUM_LEVELS) override val numberOfLevels = createNumberOfLevelsFlow(scope, inflateSignalStrength) override val carrierName = subscriptionModel Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileConnectionRepository.kt +27 −0 Original line number Diff line number Diff line Loading @@ -25,7 +25,12 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.NetworkNameMode import com.android.systemui.statusbar.pipeline.mobile.data.model.ResolvedNetworkType import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn /** * Every mobile line of service can be identified via a [SubscriptionInfo] object. We set up a Loading Loading @@ -174,5 +179,27 @@ interface MobileConnectionRepository { companion object { /** The default number of levels to use for [numberOfLevels]. */ val DEFAULT_NUM_LEVELS = CellSignalStrength.getNumSignalStrengthLevels() /** * Automatically implements [MobileConnectionRepository.numberOfLevels] based on the * [inflateSignalStrength] value. * * @param default The default number of levels to use if [inflateSignalStrength] is false. */ fun createNumberOfLevelsFlow( scope: CoroutineScope, inflateSignalStrength: Flow<Boolean>, default: Int = DEFAULT_NUM_LEVELS, ): StateFlow<Int> { return inflateSignalStrength .map { shouldInflate -> if (shouldInflate) { default + 1 } else { default } } .stateIn(scope, SharingStarted.WhileSubscribed(), default) } } }
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionRepository.kt +2 −12 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionS import com.android.systemui.statusbar.pipeline.mobile.data.model.NetworkNameModel import com.android.systemui.statusbar.pipeline.mobile.data.model.ResolvedNetworkType import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.DEFAULT_NUM_LEVELS import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.createNumberOfLevelsFlow import com.android.systemui.statusbar.pipeline.mobile.data.repository.demo.model.FakeNetworkEventModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.FullMobileConnectionRepository.Companion.COL_CARRIER_ID import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.FullMobileConnectionRepository.Companion.COL_CARRIER_NETWORK_CHANGE Loading @@ -45,7 +45,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn /** Loading Loading @@ -198,16 +197,7 @@ class DemoMobileConnectionRepository( .logDiffsForTable(tableLogBuffer, initialValue = _resolvedNetworkType.value) .stateIn(scope, SharingStarted.WhileSubscribed(), _resolvedNetworkType.value) override val numberOfLevels = _inflateSignalStrength .map { shouldInflate -> if (shouldInflate) { DEFAULT_NUM_LEVELS + 1 } else { DEFAULT_NUM_LEVELS } } .stateIn(scope, SharingStarted.WhileSubscribed(), DEFAULT_NUM_LEVELS) override val numberOfLevels = createNumberOfLevelsFlow(scope, _inflateSignalStrength) override val dataEnabled = MutableStateFlow(true) Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt +2 −11 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.toDataConnectio import com.android.systemui.statusbar.pipeline.mobile.data.model.toNetworkNameModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.CarrierConfigRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.DEFAULT_NUM_LEVELS import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.createNumberOfLevelsFlow import com.android.systemui.statusbar.pipeline.mobile.util.MobileMappingsProxy import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import com.android.systemui.statusbar.pipeline.shared.data.model.toMobileDataActivityModel Loading Loading @@ -327,16 +327,7 @@ class MobileConnectionRepositoryImpl( override val inflateSignalStrength = systemUiCarrierConfig.shouldInflateSignalStrength override val allowNetworkSliceIndicator = systemUiCarrierConfig.allowNetworkSliceIndicator override val numberOfLevels = inflateSignalStrength .map { shouldInflate -> if (shouldInflate) { DEFAULT_NUM_LEVELS + 1 } else { DEFAULT_NUM_LEVELS } } .stateIn(scope, SharingStarted.WhileSubscribed(), DEFAULT_NUM_LEVELS) override val numberOfLevels = createNumberOfLevelsFlow(scope, inflateSignalStrength) override val carrierName = subscriptionModel Loading