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
Merged-In: Ida94fd0a86f2130b9f0dded82fe18efd3ffc0c27
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
index b0ea6a6..0ee1d87 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
@@ -22,10 +22,7 @@
 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.settingslib.spa.framework.util.collectLatestWithLifecycle
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
 /**
@@ -81,17 +77,12 @@
 
     override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
         wifiCallingRepositoryFactory(mSubId).wifiCallingReadyFlow()
-            .collectLatestWithLifecycle(viewLifecycleOwner) {
-                preference.isVisible = it
-                callingPreferenceCategoryController.updateChildVisible(preferenceKey, it)
+            .collectLatestWithLifecycle(viewLifecycleOwner) { isReady ->
+                preference.isVisible = isReady
+                callingPreferenceCategoryController.updateChildVisible(preferenceKey, isReady)
+                if (isReady) update()
             }
 
-        viewLifecycleOwner.lifecycleScope.launch {
-            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
-                update()
-            }
-        }
-
         callStateFlowFactory(mSubId).collectLatestWithLifecycle(viewLifecycleOwner) {
             preference.isEnabled = (it == TelephonyManager.CALL_STATE_IDLE)
         }