Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9e2fc00 authored by Behnam Heydarshahi's avatar Behnam Heydarshahi
Browse files

Flow internet tile view model data on bg

Flag: EXEMPT bugfix
Test: atest InternetTileViewModelTest
Bug: 389985793
Change-Id: Id362e9d0a9cc5b2d79627cdf0e5bfbe337e12c94
parent 1600fc4b
Loading
Loading
Loading
Loading
+14 −16
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription
import com.android.systemui.common.shared.model.Text
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tileimpl.QSTileImpl.ResourceIcon
import com.android.systemui.res.R
@@ -63,7 +63,7 @@ constructor(
    mobileIconsInteractor: MobileIconsInteractor,
    wifiInteractor: WifiInteractor,
    private val context: Context,
    @Application scope: CoroutineScope,
    @Background scope: CoroutineScope,
) {
    private val internetLabel: String = context.getString(R.string.quick_settings_internet_label)

@@ -113,17 +113,16 @@ constructor(
            if (it == null) {
                notConnectedFlow
            } else {
                combine(
                    it.networkName,
                    it.signalLevelIcon,
                    mobileDataContentName,
                ) { networkNameModel, signalIcon, dataContentDescription ->
                combine(it.networkName, it.signalLevelIcon, mobileDataContentName) {
                    networkNameModel,
                    signalIcon,
                    dataContentDescription ->
                    when (signalIcon) {
                        is SignalIconModel.Cellular -> {
                            val secondary =
                                mobileDataContentConcat(
                                    networkNameModel.name,
                                    dataContentDescription
                                    dataContentDescription,
                                )
                            InternetTileModel.Active(
                                secondaryTitle = secondary,
@@ -149,7 +148,7 @@ constructor(

    private fun mobileDataContentConcat(
        networkName: String?,
        dataContentDescription: CharSequence?
        dataContentDescription: CharSequence?,
    ): CharSequence {
        if (dataContentDescription == null) {
            return networkName ?: ""
@@ -162,9 +161,9 @@ constructor(
            context.getString(
                R.string.mobile_carrier_text_format,
                networkName,
                dataContentDescription
                dataContentDescription,
            ),
            0
            0,
        )
    }

@@ -193,10 +192,9 @@ constructor(
        }

    private val notConnectedFlow: StateFlow<InternetTileModel> =
        combine(
                wifiInteractor.areNetworksAvailable,
                airplaneModeRepository.isAirplaneMode,
            ) { networksAvailable, isAirplaneMode ->
        combine(wifiInteractor.areNetworksAvailable, airplaneModeRepository.isAirplaneMode) {
                networksAvailable,
                isAirplaneMode ->
                when {
                    isAirplaneMode -> {
                        val secondary = context.getString(R.string.status_bar_airplane)
@@ -215,7 +213,7 @@ constructor(
                            iconId = R.drawable.ic_qs_no_internet_available,
                            stateDescription = null,
                            contentDescription =
                                ContentDescription.Loaded("$internetLabel,$secondary")
                                ContentDescription.Loaded("$internetLabel,$secondary"),
                        )
                    }
                    else -> {