Enable Carrier-Config cache for Settings
- Since the "Mobile-Data Details Settings" (NETWORK_OPERATOR_SETTINGS) will query Carrier-Config around 70 times during launching, use the Carrier-Config cache to reduce 69 times to speed up the launching time. - It takes about 3ms to query a Carrier-Config each time. - Create a singleton class to share the Carrier-Config for all sub-settings. Bug: 204135235 Test: manual test atest -c ApnPreferenceControllerTest \ AutoSelectPreferenceControllerTest \ BackupCallingPreferenceControllerTest \ CarrierConfigCacheTest \ CarrierPreferenceControllerTest \ CarrierSettingsVersionPreferenceControllerTest \ DataServiceSetupPreferenceControllerTest \ Enable2gPreferenceControllerTest \ EnabledNetworkModePreferenceControllerTest \ Enhanced4gBasePreferenceControllerTest \ MobileNetworkUtilsTest \ NetworkProviderBackupCallingGroupTest \ NrAdvancedCallingPreferenceControllerTest \ PreferredNetworkModePreferenceControllerTest \ TelephonyTogglePreferenceControllerTest \ WifiPickerTrackerHelperTest make RunSettingsRoboTests \ ROBOTEST_FILTER=ContactDiscoveryPreferenceControllerTest make RunSettingsRoboTests \ ROBOTEST_FILTER=VideoCallingPreferenceControllerTest Change-Id: I26f9ac115a754910b5d59e820703f1a0e701bb7f
This commit is contained in:
@@ -37,6 +37,7 @@ import androidx.lifecycle.Lifecycle;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.settings.network.CarrierConfigCache;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.wifitrackerlib.MergedCarrierEntry;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
@@ -60,7 +61,7 @@ public class WifiPickerTrackerHelperTest {
|
||||
@Mock
|
||||
public WifiManager mWifiManager;
|
||||
@Mock
|
||||
public CarrierConfigManager mCarrierConfigManager;
|
||||
public CarrierConfigCache mCarrierConfigCache;
|
||||
@Mock
|
||||
public WifiPickerTracker mWifiPickerTracker;
|
||||
@Mock
|
||||
@@ -77,10 +78,9 @@ public class WifiPickerTrackerHelperTest {
|
||||
public void setUp() {
|
||||
final Context context = spy(ApplicationProvider.getApplicationContext());
|
||||
when(context.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
|
||||
when(context.getSystemService(CarrierConfigManager.class))
|
||||
.thenReturn(mCarrierConfigManager);
|
||||
mCarrierConfig = new PersistableBundle();
|
||||
doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
|
||||
when(mCarrierConfigCache.getConfigForSubId(SUB_ID)).thenReturn(mCarrierConfig);
|
||||
CarrierConfigCache.setTestInstance(context, mCarrierConfigCache);
|
||||
|
||||
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
when(mFeatureFactory.wifiTrackerLibProvider
|
||||
@@ -108,7 +108,7 @@ public class WifiPickerTrackerHelperTest {
|
||||
|
||||
@Test
|
||||
public void isCarrierNetworkProvisionEnabled_getNullConfig_returnFalse() {
|
||||
doReturn(null).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
|
||||
when(mCarrierConfigCache.getConfigForSubId(SUB_ID)).thenReturn(null);
|
||||
|
||||
assertThat(mWifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(SUB_ID)).isFalse();
|
||||
}
|
||||
|
Reference in New Issue
Block a user