Merge "Try go-negotiation when invocation request is deferred."

This commit is contained in:
Irfan Sheriff
2012-12-03 11:59:53 -08:00
committed by Gerrit Code Review

View File

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