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

Commit d48cf866 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Update the summary when Wi-Fi calling ready

Since the correct summary can only be got after Wi-Fi calling ready.

Fix: 325414275
Test: manual - on Mobile Settings
Change-Id: Ida94fd0a86f2130b9f0dded82fe18efd3ffc0c27
parent ea341bdf
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -22,10 +22,7 @@ import android.telecom.TelecomManager
import android.telephony.SubscriptionManager
import android.telephony.TelephonyManager
import android.telephony.ims.ImsMmTelManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.preference.Preference
import androidx.preference.PreferenceScreen
import com.android.settings.R
@@ -33,7 +30,6 @@ import com.android.settings.network.telephony.wificalling.WifiCallingRepository
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext

/**
@@ -81,15 +77,10 @@ open class WifiCallingPreferenceController @JvmOverloads constructor(

    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
        wifiCallingRepositoryFactory(mSubId).wifiCallingReadyFlow()
            .collectLatestWithLifecycle(viewLifecycleOwner) {
                preference.isVisible = it
                callingPreferenceCategoryController.updateChildVisible(preferenceKey, it)
            }

        viewLifecycleOwner.lifecycleScope.launch {
            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                update()
            }
            .collectLatestWithLifecycle(viewLifecycleOwner) { isReady ->
                preference.isVisible = isReady
                callingPreferenceCategoryController.updateChildVisible(preferenceKey, isReady)
                if (isReady) update()
            }

        callStateFlowFactory(mSubId).collectLatestWithLifecycle(viewLifecycleOwner) {