summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/display/WifiDisplayController.java
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2013-08-29 17:25:17 -0700
committerChong Zhang <chz@google.com>2013-08-30 10:40:35 -0700
commite38af818b10e1a4927cc3fd69d19c9125d579321 (patch)
treed5d46af0db425e2734c215cdb383274a1519dcfd /services/java/com/android/server/display/WifiDisplayController.java
parent72193e1f329ec91bfd86f977035caecb00914444 (diff)
wifi-display: add a global setting to force WPS config method
Bug: 9371882 Change-Id: I7417535f12fa5b75be471974250cfd13e45f87b2
Diffstat (limited to 'services/java/com/android/server/display/WifiDisplayController.java')
-rw-r--r--services/java/com/android/server/display/WifiDisplayController.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/services/java/com/android/server/display/WifiDisplayController.java b/services/java/com/android/server/display/WifiDisplayController.java
index 40ada4e12a9d..9a4cfb77775a 100644
--- a/services/java/com/android/server/display/WifiDisplayController.java
+++ b/services/java/com/android/server/display/WifiDisplayController.java
@@ -150,6 +150,8 @@ final class WifiDisplayController implements DumpUtils.Dump {
// Certification
private boolean mWifiDisplayCertMode;
+ private int mWifiDisplayWpsConfig = WpsInfo.INVALID;
+
private WifiP2pDevice mThisDevice;
public WifiDisplayController(Context context, Handler handler, Listener listener) {
@@ -179,6 +181,8 @@ final class WifiDisplayController implements DumpUtils.Dump {
Settings.Global.WIFI_DISPLAY_ON), false, settingsObserver);
resolver.registerContentObserver(Settings.Global.getUriFor(
Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON), false, settingsObserver);
+ resolver.registerContentObserver(Settings.Global.getUriFor(
+ Settings.Global.WIFI_DISPLAY_WPS_CONFIG), false, settingsObserver);
updateSettings();
}
@@ -189,6 +193,12 @@ final class WifiDisplayController implements DumpUtils.Dump {
mWifiDisplayCertMode = Settings.Global.getInt(resolver,
Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON, 0) != 0;
+ mWifiDisplayWpsConfig = WpsInfo.INVALID;
+ if (mWifiDisplayCertMode) {
+ mWifiDisplayWpsConfig = Settings.Global.getInt(resolver,
+ Settings.Global.WIFI_DISPLAY_WPS_CONFIG, WpsInfo.INVALID);
+ }
+
updateWfdEnableState();
}
@@ -608,7 +618,9 @@ final class WifiDisplayController implements DumpUtils.Dump {
mConnectingDevice = mDesiredDevice;
WifiP2pConfig config = new WifiP2pConfig();
WpsInfo wps = new WpsInfo();
- if (mConnectingDevice.wpsPbcSupported()) {
+ if (mWifiDisplayWpsConfig != WpsInfo.INVALID) {
+ wps.setup = mWifiDisplayWpsConfig;
+ } else if (mConnectingDevice.wpsPbcSupported()) {
wps.setup = WpsInfo.PBC;
} else if (mConnectingDevice.wpsDisplaySupported()) {
// We do keypad if peer does display