diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt index d133955a0cd..6ee69096ad7 100644 --- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt +++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt @@ -107,7 +107,7 @@ class DataUsagePreferenceController(context: Context, key: String) : 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 069145d64e2..6cd9151fa6f 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.net.NetworkTemplate 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 @@ class DataUsagePreferenceControllerTest { 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 @@ class DataUsagePreferenceControllerTest { @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 @@ class DataUsagePreferenceControllerTest { 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 @@ class DataUsagePreferenceControllerTest { 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 @@ class DataUsagePreferenceControllerTest { 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 {