Fix flicker of "App data usage"

Use placeholder to hold the place.

Fix: 323466366
Test: manual - on Mobile Settings
Test: unit test
Change-Id: I3c4d9ff6538a79500318869f01f4b88b55bd9475
(cherry picked from commit 74fe516e09e22428b60bfb61484ab1512e1d2328)
Merged-In: I3c4d9ff6538a79500318869f01f4b88b55bd9475
diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
index 240843d..6d326e0 100644
--- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
@@ -33,6 +33,7 @@
 import com.android.settings.datausage.lib.DataUsageLib
 import com.android.settings.datausage.lib.NetworkCycleDataRepository
 import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.AllTimeRange
+import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
@@ -63,6 +64,7 @@
     }
 
     override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        preference.summary = mContext.getPlaceholder()
         viewLifecycleOwner.lifecycleScope.launch {
             viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                 update()
@@ -113,7 +115,6 @@
         }
 
         val allTimeUsage = repository.queryUsage(AllTimeRange)
-        if (allTimeUsage.usage > 0) return allTimeUsage.getDataUsedString(mContext) to true
-        return null to false
+        return allTimeUsage.getDataUsedString(mContext) to (allTimeUsage.usage > 0)
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt
index 5f80855..7124b6a 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt
@@ -120,7 +120,7 @@
             on { loadFirstCycle() } doReturn usageData
         }
         controller.onViewCreated(TestLifecycleOwner())
-        waitUntil { preference.summary != null }
+        waitUntil { !preference.summary.isNullOrBlank() }
 
         controller.handlePreferenceTreeClick(preference)