Merge "Update VPN preference state after disallow configuring VPN policy has changed."
am: 601d339868
Change-Id: I94666d5f7812b15432b44ed50d8d396b373d3e69
This commit is contained in:
@@ -80,6 +80,7 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
|||||||
|
|
||||||
private AirplaneModeEnabler mAirplaneModeEnabler;
|
private AirplaneModeEnabler mAirplaneModeEnabler;
|
||||||
private SwitchPreference mAirplaneModePreference;
|
private SwitchPreference mAirplaneModePreference;
|
||||||
|
private RestrictedPreference mVpnPreference;
|
||||||
private NfcEnabler mNfcEnabler;
|
private NfcEnabler mNfcEnabler;
|
||||||
private NfcAdapter mNfcAdapter;
|
private NfcAdapter mNfcAdapter;
|
||||||
|
|
||||||
@@ -230,6 +231,7 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
|||||||
|
|
||||||
final Activity activity = getActivity();
|
final Activity activity = getActivity();
|
||||||
mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
|
mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
|
||||||
|
mVpnPreference = (RestrictedPreference) findPreference(KEY_VPN_SETTINGS);
|
||||||
SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
|
SwitchPreference nfc = (SwitchPreference) findPreference(KEY_TOGGLE_NFC);
|
||||||
RestrictedPreference androidBeam = (RestrictedPreference) findPreference(
|
RestrictedPreference androidBeam = (RestrictedPreference) findPreference(
|
||||||
KEY_ANDROID_BEAM_SETTINGS);
|
KEY_ANDROID_BEAM_SETTINGS);
|
||||||
@@ -260,7 +262,7 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
|||||||
|
|
||||||
// Manually set dependencies for Wifi when not toggleable.
|
// Manually set dependencies for Wifi when not toggleable.
|
||||||
if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_WIFI)) {
|
if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_WIFI)) {
|
||||||
findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
|
mVpnPreference.setDependency(KEY_TOGGLE_AIRPLANE);
|
||||||
}
|
}
|
||||||
// Disable VPN.
|
// Disable VPN.
|
||||||
// TODO: http://b/23693383
|
// TODO: http://b/23693383
|
||||||
@@ -366,6 +368,11 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
|||||||
} else {
|
} else {
|
||||||
removePreference(KEY_WFC_SETTINGS);
|
removePreference(KEY_WFC_SETTINGS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update VPN setting
|
||||||
|
if (mVpnPreference != null) {
|
||||||
|
mVpnPreference.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_VPN);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -429,11 +436,13 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
|||||||
final boolean isWimaxEnabled = !isSecondaryUser
|
final boolean isWimaxEnabled = !isSecondaryUser
|
||||||
&& context.getResources().getBoolean(
|
&& context.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_wimaxEnabled);
|
com.android.internal.R.bool.config_wimaxEnabled);
|
||||||
|
final boolean isVpnDisallowed = um.hasUserRestriction(
|
||||||
|
UserManager.DISALLOW_CONFIG_VPN);
|
||||||
if (!isWimaxEnabled) {
|
if (!isWimaxEnabled) {
|
||||||
result.add(KEY_WIMAX_SETTINGS);
|
result.add(KEY_WIMAX_SETTINGS);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isSecondaryUser) { // Disable VPN
|
if (isSecondaryUser || isVpnDisallowed) { // Disable VPN
|
||||||
result.add(KEY_VPN_SETTINGS);
|
result.add(KEY_VPN_SETTINGS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -164,6 +164,7 @@ public class VpnSettings extends RestrictedSettingsFragment implements
|
|||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
|
mUnavailable = mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN);
|
||||||
if (mUnavailable) {
|
if (mUnavailable) {
|
||||||
// Show a message to explain that VPN settings have been disabled
|
// Show a message to explain that VPN settings have been disabled
|
||||||
if (!isUiRestrictedByOnlyAdmin()) {
|
if (!isUiRestrictedByOnlyAdmin()) {
|
||||||
@@ -172,6 +173,7 @@ public class VpnSettings extends RestrictedSettingsFragment implements
|
|||||||
getPreferenceScreen().removeAll();
|
getPreferenceScreen().removeAll();
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
setEmptyView(getEmptyTextView());
|
||||||
getEmptyTextView().setText(R.string.vpn_no_vpns_added);
|
getEmptyTextView().setText(R.string.vpn_no_vpns_added);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user