diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml index 84d98da47bc..bce8fb08f78 100644 --- a/res/layout/wifi_dialog.xml +++ b/res/layout/wifi_dialog.xml @@ -502,6 +502,24 @@ android:inputType="textNoSuggestions" /> + + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index e4abbca62e8..2d0e714ccc1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1624,6 +1624,8 @@ 5 GHz Band IP settings + + Share with other device users (unchanged) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index abe700eec40..a7cb18d21a2 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -35,6 +35,7 @@ import android.net.wifi.WifiEnterpriseConfig.Eap; import android.net.wifi.WifiEnterpriseConfig.Phase2; import android.net.wifi.WifiInfo; import android.os.Handler; +import android.os.UserManager; import android.security.Credentials; import android.security.KeyStore; import android.text.Editable; @@ -138,6 +139,8 @@ public class WifiConfigController implements TextWatcher, private TextView mProxyExclusionListView; private TextView mProxyPacView; + private CheckBox mSharedCheckBox; + private IpAssignment mIpAssignment = IpAssignment.UNASSIGNED; private ProxySettings mProxySettings = ProxySettings.UNASSIGNED; private ProxyInfo mHttpProxy = null; @@ -179,6 +182,7 @@ public class WifiConfigController implements TextWatcher, mIpSettingsSpinner.setOnItemSelectedListener(this); mProxySettingsSpinner = (Spinner) mView.findViewById(R.id.proxy_settings); mProxySettingsSpinner.setOnItemSelectedListener(this); + mSharedCheckBox = (CheckBox) mView.findViewById(R.id.shared); if (mAccessPoint == null) { // new network mConfigUi.setTitle(R.string.wifi_add_network); @@ -218,6 +222,10 @@ public class WifiConfigController implements TextWatcher, mIpSettingsSpinner.setSelection(DHCP); } + mSharedCheckBox.setEnabled(config.shared); + if (!config.shared) { + showAdvancedFields = true; + } if (config.getProxySettings() == ProxySettings.STATIC) { mProxySettingsSpinner.setSelection(PROXY_STATIC); @@ -308,6 +316,12 @@ public class WifiConfigController implements TextWatcher, } } + final UserManager userManager = + (UserManager) mContext.getSystemService(Context.USER_SERVICE); + if (!userManager.isSplitSystemUser()) { + mSharedCheckBox.setVisibility(View.GONE); + } + mConfigUi.setCancelButton(res.getString(R.string.wifi_cancel)); if (mConfigUi.getSubmitButton() != null) { enableSubmitIfAppropriate(); @@ -393,6 +407,8 @@ public class WifiConfigController implements TextWatcher, config.networkId = mAccessPoint.getConfig().networkId; } + config.shared = mSharedCheckBox.isChecked(); + switch (mAccessPointSecurity) { case AccessPoint.SECURITY_NONE: config.allowedKeyManagement.set(KeyMgmt.NONE);