Fix crash when call getMobileTemplate

There are 2 versions of getMobileTemplate.

The previous Change I7865823d6af2c812afa35d047bd79b60ae4b0fb7 change
from the correct version to the wrong version.

Change back to fix the issue.

Fix: 290381395
Test: manual - on Mobile Settings page
Test: unit test
Change-Id: Icb3147558176d53dc77e7bd39ab54a5dad13c12b
Merged-In: I6227f973ec38e5b0520f54a41ac2ede2929a1bcc
This commit is contained in:
Chaohui Wang
2023-07-10 14:16:26 +08:00
parent f111f3ebaf
commit 9132535e5e
2 changed files with 5 additions and 2 deletions

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
@@ -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

@@ -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)