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)