From 77fd6aa117169aacae0244652c152b11da5bab02 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Tue, 4 Jul 2023 19:08:46 +0800 Subject: [PATCH] Use DataUsageLib in DataUsagePreferenceController DataUsagePreferenceController use DataUsageLib before, and DataUsageLib and com.android.settingslib.net.DataUsageUtils has same functionality. com.android.settingslib.net.DataUsageUtils will be clean up, so use DataUsageLib again. Bug: 286082055 Test: m Settings Change-Id: I6227f973ec38e5b0520f54a41ac2ede2929a1bcc --- .../android/settings/datausage/DataUsageUtils.java | 2 +- .../telephony/DataUsagePreferenceController.kt | 5 +++-- .../network/telephony/MobileNetworkSettings.java | 9 --------- .../telephony/DataUsagePreferenceControllerTest.kt | 12 +++++++----- 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/com/android/settings/datausage/DataUsageUtils.java b/src/com/android/settings/datausage/DataUsageUtils.java index cce7ca1fa8f..0c6f4c8c6ae 100644 --- a/src/com/android/settings/datausage/DataUsageUtils.java +++ b/src/com/android/settings/datausage/DataUsageUtils.java @@ -46,7 +46,7 @@ import java.util.Optional; /** * Utility methods for data usage classes. */ -public final class DataUsageUtils extends com.android.settingslib.net.DataUsageUtils { +public final class DataUsageUtils { static final boolean TEST_RADIOS = false; static final String TEST_RADIOS_PROP = "test.radios"; private static final boolean LOGD = false; diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt index 14adf6f1918..34433c45988 100644 --- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt +++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt @@ -30,6 +30,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceScreen import com.android.settings.R import com.android.settings.datausage.DataUsageUtils +import com.android.settings.datausage.lib.DataUsageLib import com.android.settingslib.net.DataUsageController import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -63,7 +64,7 @@ class DataUsagePreferenceController(context: Context, key: String) : preference = screen.findPreference(preferenceKey)!! } - fun whenViewCreated(viewLifecycleOwner: LifecycleOwner) { + override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) { viewLifecycleOwner.lifecycleScope.launch { viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { update() @@ -96,7 +97,7 @@ class DataUsagePreferenceController(context: Context, key: String) : private fun getNetworkTemplate(): NetworkTemplate? = when { SubscriptionManager.isValidSubscriptionId(mSubId) -> { - DataUsageUtils.getMobileTemplate(mContext, mSubId) + DataUsageLib.getMobileTemplate(mContext, mSubId) } else -> null diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java index 5b57ede430a..1d862f3385f 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java +++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java @@ -31,10 +31,7 @@ import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -import android.view.View; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -330,12 +327,6 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings impleme onRestoreInstance(icicle); } - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - use(DataUsagePreferenceController.class).whenViewCreated(getViewLifecycleOwner()); - } - @Override public void onResume() { super.onResume(); 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 a9d343fa0b5..342ebeb03c2 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 @@ -32,6 +32,7 @@ import com.android.dx.mockito.inline.extended.ExtendedMockito import com.android.settings.core.BasePreferenceController.AVAILABLE import com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE import com.android.settings.datausage.DataUsageUtils +import com.android.settings.datausage.lib.DataUsageLib import com.android.settingslib.net.DataUsageController import com.android.settingslib.net.DataUsageController.DataUsageInfo import com.android.settingslib.spa.testutils.waitUntil @@ -80,13 +81,14 @@ class DataUsagePreferenceControllerTest { .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` { DataUsageUtils.getMobileTemplate(context, SUB_ID) } + .`when` { DataUsageLib.getMobileTemplate(context, SUB_ID) } preference.key = TEST_KEY whenever(preferenceScreen.findPreference(TEST_KEY)).thenReturn(preference) @@ -122,7 +124,7 @@ class DataUsagePreferenceControllerTest { } whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo) doNothing().`when`(context).startActivity(any()) - controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) + controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) waitUntil { preference.summary != null } controller.handlePreferenceTreeClick(preference) @@ -138,7 +140,7 @@ class DataUsagePreferenceControllerTest { fun updateState_invalidSubId_disabled() = runTest { controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID) - controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) + controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) waitUntil { !preference.isEnabled } } @@ -148,7 +150,7 @@ class DataUsagePreferenceControllerTest { val usageInfo = DataUsageInfo() whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo) - controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) + controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) waitUntil { !preference.isEnabled } } @@ -160,7 +162,7 @@ class DataUsagePreferenceControllerTest { } whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo) - controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) + controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) waitUntil { preference.summary?.contains("1.00 MB") == true } }