Merge "Make metered wifi controller resilient to null config" into pi-dev
am: 861bf93502
Change-Id: I58a91c9761867fba26dab51f24454b4619eb094c
This commit is contained in:
@@ -63,7 +63,9 @@ public class WifiMeteredPreferenceController extends BasePreferenceController im
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (mWifiConfiguration != null) {
|
||||
mWifiConfiguration.meteredOverride = Integer.parseInt((String) newValue);
|
||||
}
|
||||
mWifiManager.updateNetwork(mWifiConfiguration);
|
||||
// Stage the backup of the SettingsProvider package which backs this up
|
||||
BackupManager.dataChanged("com.android.providers.settings");
|
||||
@@ -73,9 +75,12 @@ public class WifiMeteredPreferenceController extends BasePreferenceController im
|
||||
|
||||
@VisibleForTesting
|
||||
int getMeteredOverride() {
|
||||
if (mWifiConfiguration != null) {
|
||||
// Wrap the meteredOverride since robolectric cannot recognize it
|
||||
return mWifiConfiguration.meteredOverride;
|
||||
}
|
||||
return WifiConfiguration.METERED_OVERRIDE_NONE;
|
||||
}
|
||||
|
||||
private void updateSummary(DropDownPreference preference, int meteredOverride) {
|
||||
preference.setSummary(preference.getEntries()[meteredOverride]);
|
||||
|
@@ -83,4 +83,12 @@ public class WifiMeteredPreferenceControllerTest {
|
||||
|
||||
assertThat(mDropDownPreference.getEntry()).isEqualTo("Detect automatically");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testController_resilientToNullConfig() {
|
||||
mPreferenceController = spy(new WifiMeteredPreferenceController(mContext, null));
|
||||
|
||||
mPreferenceController.getMeteredOverride();
|
||||
mPreferenceController.onPreferenceChange(mDropDownPreference, new Integer(1));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user