UI for wps pin from device
Bug: 3119043 Bug: 3112178 Change-Id: I573146ed0c834cb88d5f42c25fe0be3ed501a321
This commit is contained in:
@@ -119,7 +119,7 @@ class AccessPoint extends Preference {
|
||||
ssid = result.SSID;
|
||||
bssid = result.BSSID;
|
||||
security = getSecurity(result);
|
||||
wpsAvailable = security != SECURITY_NONE && security != SECURITY_EAP &&
|
||||
wpsAvailable = security != SECURITY_EAP &&
|
||||
result.capabilities.contains("WPS");
|
||||
networkId = -1;
|
||||
mRssi = result.level;
|
||||
@@ -222,7 +222,11 @@ class AccessPoint extends Preference {
|
||||
}
|
||||
|
||||
if (security == SECURITY_NONE) {
|
||||
setSummary(status);
|
||||
if (wpsAvailable && mConfig == null) {
|
||||
setSummary(context.getString(R.string.wifi_open_with_wps));
|
||||
} else {
|
||||
setSummary(status);
|
||||
}
|
||||
} else {
|
||||
String format;
|
||||
if (wpsAvailable && mConfig == null) {
|
||||
|
@@ -92,7 +92,8 @@ public class WifiConfigController implements TextWatcher,
|
||||
/* These values come from "wifi_network_setup" resource array */
|
||||
public static final int MANUAL = 0;
|
||||
public static final int WPS_PBC = 1;
|
||||
public static final int WPS_PIN = 2;
|
||||
public static final int WPS_PIN_FROM_ACCESS_POINT = 2;
|
||||
public static final int WPS_PIN_FROM_DEVICE = 3;
|
||||
|
||||
/* These values come from "wifi_proxy_settings" resource array */
|
||||
public static final int PROXY_NONE = 0;
|
||||
@@ -491,14 +492,15 @@ public class WifiConfigController implements TextWatcher,
|
||||
int pos = mNetworkSetupSpinner.getSelectedItemPosition();
|
||||
|
||||
/* Show pin text input if needed */
|
||||
if (pos == WPS_PIN) {
|
||||
if (pos == WPS_PIN_FROM_ACCESS_POINT) {
|
||||
mView.findViewById(R.id.wps_fields).setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mView.findViewById(R.id.wps_fields).setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
/* show/hide manual security fields appropriately */
|
||||
if ((pos == WPS_PIN) || (pos == WPS_PBC)) {
|
||||
if ((pos == WPS_PIN_FROM_ACCESS_POINT) || (pos == WPS_PIN_FROM_DEVICE)
|
||||
|| (pos == WPS_PBC)) {
|
||||
mView.findViewById(R.id.security_fields).setVisibility(View.GONE);
|
||||
} else {
|
||||
mView.findViewById(R.id.security_fields).setVisibility(View.VISIBLE);
|
||||
|
@@ -23,6 +23,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
@@ -642,9 +643,17 @@ public class WifiSettings extends SettingsPreferenceFragment
|
||||
case WifiConfigController.WPS_PBC:
|
||||
mWifiManager.startWpsPbc(mSelectedAccessPoint.bssid);
|
||||
break;
|
||||
case WifiConfigController.WPS_PIN:
|
||||
case WifiConfigController.WPS_PIN_FROM_ACCESS_POINT:
|
||||
int apPin = configController.getWpsPin();
|
||||
mWifiManager.startWpsPin(mSelectedAccessPoint.bssid, apPin);
|
||||
mWifiManager.startWpsWithPinFromAccessPoint(mSelectedAccessPoint.bssid, apPin);
|
||||
break;
|
||||
case WifiConfigController.WPS_PIN_FROM_DEVICE:
|
||||
int pin = mWifiManager.startWpsWithPinFromDevice(mSelectedAccessPoint.bssid);
|
||||
new AlertDialog.Builder(getActivity())
|
||||
.setTitle(R.string.wifi_wps_pin_method_configuration)
|
||||
.setMessage(getResources().getString(R.string.wifi_wps_pin_output, pin))
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show();
|
||||
break;
|
||||
case WifiConfigController.MANUAL:
|
||||
final WifiConfiguration config = configController.getConfig();
|
||||
|
Reference in New Issue
Block a user