Merge "Show "0 B used" when no data usage this cycle" into main
diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
index d133955..6ee6909 100644
--- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
@@ -107,7 +107,7 @@
private fun getDataUsageSummary(): String? {
val repository = createNetworkCycleDataRepository() ?: return null
- repository.loadFirstCycle()?.takeIf { it.usage > 0 }?.let { usageData ->
+ repository.loadFirstCycle()?.let { usageData ->
return mContext.getString(
R.string.data_usage_template,
usageData.formatUsage(mContext),
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 069145d..6cd9151 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
@@ -22,7 +22,6 @@
import android.provider.Settings
import android.telephony.SubscriptionManager
import android.util.DataUnit
-import androidx.lifecycle.Lifecycle
import androidx.lifecycle.testing.TestLifecycleOwner
import androidx.preference.Preference
import androidx.preference.PreferenceManager
@@ -78,13 +77,11 @@
fun setUp() {
mockSession = ExtendedMockito.mockitoSession()
.initMocks(this)
- .mockStatic(SubscriptionManager::class.java)
.spyStatic(DataUsageUtils::class.java)
.spyStatic(DataUsageLib::class.java)
.strictness(Strictness.LENIENT)
.startMocking()
- whenever(SubscriptionManager.isValidSubscriptionId(SUB_ID)).thenReturn(true)
ExtendedMockito.doReturn(true).`when` { DataUsageUtils.hasMobileData(context) }
ExtendedMockito.doReturn(networkTemplate).`when` {
DataUsageLib.getMobileTemplate(context, SUB_ID)
@@ -109,9 +106,10 @@
@Test
fun getAvailabilityStatus_invalidSubId_returnUnsearchable() {
- controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+ val availabilityStatus =
+ controller.getAvailabilityStatus(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
- assertThat(controller.availabilityStatus).isEqualTo(AVAILABLE_UNSEARCHABLE)
+ assertThat(availabilityStatus).isEqualTo(AVAILABLE_UNSEARCHABLE)
}
@Test
@@ -120,7 +118,7 @@
repository.stub {
on { loadFirstCycle() } doReturn usageData
}
- controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+ controller.onViewCreated(TestLifecycleOwner())
waitUntil { preference.summary != null }
controller.handlePreferenceTreeClick(preference)
@@ -136,21 +134,22 @@
fun updateState_invalidSubId_disabled() = runBlocking {
controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
- controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+ controller.onViewCreated(TestLifecycleOwner())
waitUntil { !preference.isEnabled }
}
@Test
- fun updateState_noUsageData_shouldDisablePreference() = runBlocking {
+ fun updateState_noUsageData_shouldEnablePreference() = runBlocking {
val usageData = NetworkUsageData(START_TIME, END_TIME, 0L)
repository.stub {
on { loadFirstCycle() } doReturn usageData
}
- controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+ controller.onViewCreated(TestLifecycleOwner())
- waitUntil { !preference.isEnabled }
+ waitUntil { preference.isEnabled }
+ waitUntil { preference.summary?.contains("0 B used") == true }
}
@Test
@@ -160,9 +159,9 @@
on { loadFirstCycle() } doReturn usageData
}
- controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+ controller.onViewCreated(TestLifecycleOwner())
- waitUntil { preference.summary?.contains("1.00 MB") == true }
+ waitUntil { preference.summary?.contains("1.00 MB used") == true }
}
private companion object {