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

Commit 601d3398 authored by Robin Lee's avatar Robin Lee Committed by Gerrit Code Review
Browse files

Merge "Update VPN preference state after disallow configuring VPN policy has changed."

parents c98ca3da 7c4d52c5
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde

    private AirplaneModeEnabler mAirplaneModeEnabler;
    private SwitchPreference mAirplaneModePreference;
    private RestrictedPreference mVpnPreference;
    private NfcEnabler mNfcEnabler;
    private NfcAdapter mNfcAdapter;

@@ -230,6 +231,7 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde

        final Activity activity = getActivity();
        mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
        mVpnPreference = (RestrictedPreference) findPreference(KEY_VPN_SETTINGS);
        SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
        RestrictedPreference androidBeam = (RestrictedPreference) findPreference(
                KEY_ANDROID_BEAM_SETTINGS);
@@ -260,7 +262,7 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde

        // Manually set dependencies for Wifi when not toggleable.
        if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_WIFI)) {
            findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
            mVpnPreference.setDependency(KEY_TOGGLE_AIRPLANE);
        }
        // Disable VPN.
        // TODO: http://b/23693383
@@ -366,6 +368,11 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
        } else {
            removePreference(KEY_WFC_SETTINGS);
        }

        // update VPN setting
        if (mVpnPreference != null) {
            mVpnPreference.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_VPN);
        }
    }

    @Override
@@ -429,11 +436,13 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
                final boolean isWimaxEnabled = !isSecondaryUser
                        && context.getResources().getBoolean(
                        com.android.internal.R.bool.config_wimaxEnabled);
                final boolean isVpnDisallowed = um.hasUserRestriction(
                        UserManager.DISALLOW_CONFIG_VPN);
                if (!isWimaxEnabled) {
                    result.add(KEY_WIMAX_SETTINGS);
                }

                if (isSecondaryUser) { // Disable VPN
                if (isSecondaryUser || isVpnDisallowed) { // Disable VPN
                    result.add(KEY_VPN_SETTINGS);
                }

+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ public class VpnSettings extends RestrictedSettingsFragment implements
    public void onResume() {
        super.onResume();

        mUnavailable = mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN);
        if (mUnavailable) {
            // Show a message to explain that VPN settings have been disabled
            if (!isUiRestrictedByOnlyAdmin()) {
@@ -172,6 +173,7 @@ public class VpnSettings extends RestrictedSettingsFragment implements
            getPreferenceScreen().removeAll();
            return;
        } else {
            setEmptyView(getEmptyTextView());
            getEmptyTextView().setText(R.string.vpn_no_vpns_added);
        }