Merge "Use DataUsageLib in DataUsagePreferenceController"

This commit is contained in:
Chaohui Wang
2023-07-05 15:24:45 +00:00
committed by Android (Google) Code Review
4 changed files with 11 additions and 17 deletions

View File

@@ -46,7 +46,7 @@ import java.util.Optional;
/** /**
* Utility methods for data usage classes. * 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 boolean TEST_RADIOS = false;
static final String TEST_RADIOS_PROP = "test.radios"; static final String TEST_RADIOS_PROP = "test.radios";
private static final boolean LOGD = false; private static final boolean LOGD = false;

View File

@@ -30,6 +30,7 @@ import androidx.preference.Preference
import androidx.preference.PreferenceScreen import androidx.preference.PreferenceScreen
import com.android.settings.R import com.android.settings.R
import com.android.settings.datausage.DataUsageUtils 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
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -63,7 +64,7 @@ class DataUsagePreferenceController(context: Context, key: String) :
preference = screen.findPreference(preferenceKey)!! preference = screen.findPreference(preferenceKey)!!
} }
fun whenViewCreated(viewLifecycleOwner: LifecycleOwner) { override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
viewLifecycleOwner.lifecycleScope.launch { viewLifecycleOwner.lifecycleScope.launch {
viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
update() update()
@@ -96,7 +97,7 @@ class DataUsagePreferenceController(context: Context, key: String) :
private fun getNetworkTemplate(): NetworkTemplate? = when { private fun getNetworkTemplate(): NetworkTemplate? = when {
SubscriptionManager.isValidSubscriptionId(mSubId) -> { SubscriptionManager.isValidSubscriptionId(mSubId) -> {
DataUsageUtils.getMobileTemplate(mContext, mSubId) DataUsageLib.getMobileTemplate(mContext, mSubId)
} }
else -> null else -> null

View File

@@ -31,10 +31,7 @@ import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -330,12 +327,6 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings impleme
onRestoreInstance(icicle); onRestoreInstance(icicle);
} }
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
use(DataUsagePreferenceController.class).whenViewCreated(getViewLifecycleOwner());
}
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();

View File

@@ -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
import com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE import com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE
import com.android.settings.datausage.DataUsageUtils 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
import com.android.settingslib.net.DataUsageController.DataUsageInfo import com.android.settingslib.net.DataUsageController.DataUsageInfo
import com.android.settingslib.spa.testutils.waitUntil import com.android.settingslib.spa.testutils.waitUntil
@@ -80,13 +81,14 @@ class DataUsagePreferenceControllerTest {
.initMocks(this) .initMocks(this)
.mockStatic(SubscriptionManager::class.java) .mockStatic(SubscriptionManager::class.java)
.spyStatic(DataUsageUtils::class.java) .spyStatic(DataUsageUtils::class.java)
.spyStatic(DataUsageLib::class.java)
.strictness(Strictness.LENIENT) .strictness(Strictness.LENIENT)
.startMocking() .startMocking()
whenever(SubscriptionManager.isValidSubscriptionId(SUB_ID)).thenReturn(true) whenever(SubscriptionManager.isValidSubscriptionId(SUB_ID)).thenReturn(true)
ExtendedMockito.doReturn(true).`when` { DataUsageUtils.hasMobileData(context) } ExtendedMockito.doReturn(true).`when` { DataUsageUtils.hasMobileData(context) }
ExtendedMockito.doReturn(networkTemplate) ExtendedMockito.doReturn(networkTemplate)
.`when` { DataUsageUtils.getMobileTemplate(context, SUB_ID) } .`when` { DataUsageLib.getMobileTemplate(context, SUB_ID) }
preference.key = TEST_KEY preference.key = TEST_KEY
whenever(preferenceScreen.findPreference<Preference>(TEST_KEY)).thenReturn(preference) whenever(preferenceScreen.findPreference<Preference>(TEST_KEY)).thenReturn(preference)
@@ -122,7 +124,7 @@ class DataUsagePreferenceControllerTest {
} }
whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo) whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo)
doNothing().`when`(context).startActivity(any()) doNothing().`when`(context).startActivity(any())
controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
waitUntil { preference.summary != null } waitUntil { preference.summary != null }
controller.handlePreferenceTreeClick(preference) controller.handlePreferenceTreeClick(preference)
@@ -138,7 +140,7 @@ class DataUsagePreferenceControllerTest {
fun updateState_invalidSubId_disabled() = runTest { fun updateState_invalidSubId_disabled() = runTest {
controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID) controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
waitUntil { !preference.isEnabled } waitUntil { !preference.isEnabled }
} }
@@ -148,7 +150,7 @@ class DataUsagePreferenceControllerTest {
val usageInfo = DataUsageInfo() val usageInfo = DataUsageInfo()
whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo) whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo)
controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED)) controller.onViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
waitUntil { !preference.isEnabled } waitUntil { !preference.isEnabled }
} }
@@ -160,7 +162,7 @@ class DataUsagePreferenceControllerTest {
} }
whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo) 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 } waitUntil { preference.summary?.contains("1.00 MB") == true }
} }