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);