Merge "Update VPN preference state after disallow configuring VPN policy has changed." am: 601d339868
am: 4395176792
Change-Id: Ie71a58c50fde7c5ecc4f80dfe5eb854428044480
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user