Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 861bf935 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make metered wifi controller resilient to null config" into pi-dev

parents e6455580 0ba2b2bd
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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]);
+8 −0
Original line number Diff line number Diff line
@@ -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));
    }
}