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

Commit 7c4d52c5 authored by insight.lee's avatar insight.lee
Browse files

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

1. When Settings > More and change disallow configuring VPN policy
   and resume Settings, update VPN preference state.

2. When Settings > More > VPN and change disallow configuring VPN policy
   and resume VPN Settings, update its state.

Test: manual

Signed-off-by : Sungmin Lee <insight.lee@lge.com>

Change-Id: I4f3c85733ca6ba05cba46e2f4854f54a42b10c21
parent c98ca3da
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);
        }