diff options
author | Irfan Sheriff <isheriff@android.com> | 2012-12-03 11:59:53 -0800 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2012-12-03 11:59:53 -0800 |
commit | cdd03f5487d3d0a088651c90fc5122b5fc3f62b3 (patch) | |
tree | 37209ab76cf739f31b1876b6c87e11864f63258e /wifi | |
parent | 05c8f17f05ca83573f7670191e6dec91497dc742 (diff) | |
parent | 9348005545403037ab1b93aea6f52055516377bf (diff) | |
download | frameworks_base-cdd03f5487d3d0a088651c90fc5122b5fc3f62b3.zip frameworks_base-cdd03f5487d3d0a088651c90fc5122b5fc3f62b3.tar.gz frameworks_base-cdd03f5487d3d0a088651c90fc5122b5fc3f62b3.tar.bz2 |
Merge "Try go-negotiation when invocation request is deferred."
Diffstat (limited to 'wifi')
-rw-r--r-- | wifi/java/android/net/wifi/p2p/WifiP2pService.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java index d95d624..0305777 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java @@ -1364,7 +1364,18 @@ public class WifiP2pService extends IWifiP2pManager.Stub { removeClientFromList(netId, mSavedPeerConfig.deviceAddress, true); } - // invocation is failed or deferred. Try another way to connect. + // invocation is failed. Try another way to connect. + mSavedPeerConfig.netId = WifiP2pGroup.PERSISTENT_NET_ID; + if (connect(mSavedPeerConfig, NO_REINVOCATION) == CONNECT_FAILURE) { + handleGroupCreationFailure(); + transitionTo(mInactiveState); + } + } else if (status == P2pStatus.INFORMATION_IS_CURRENTLY_UNAVAILABLE) { + + // Devices setting persistent_reconnect to 0 in wpa_supplicant + // always defer the invocation request and return + // "information is currently unable" error. + // So, try another way to connect for interoperability. mSavedPeerConfig.netId = WifiP2pGroup.PERSISTENT_NET_ID; if (connect(mSavedPeerConfig, NO_REINVOCATION) == CONNECT_FAILURE) { handleGroupCreationFailure(); |