Merge "Use DataUsageLib in DataUsagePreferenceController"
This commit is contained in:
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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();
|
||||||
|
@@ -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 }
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user