diff options
author | Glen Kuhne <kuh@google.com> | 2017-07-17 16:41:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-07-17 16:41:36 +0000 |
commit | 8b4aaec7a360d1889ea80cc7158b6bd35eeccc6b (patch) | |
tree | 8a5880b958578e1a85a5f14b13ab14fd72922bc3 /service | |
parent | c9f254bcdf9a1f2b535626a85b416de56a615610 (diff) | |
parent | fc2a6d71179e969bde3011e1a0601757c081af40 (diff) |
Merge changes from topic 'reinvokeP2p' into oc-dr1-dev
* changes:
Set correct P2P device address of GO
Remove double-quotation from SSID
Reload P2P group list
Fallback when invitation failed with unknown device
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java | 3 | ||||
-rw-r--r-- | service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java | 23 |
2 files changed, 17 insertions, 9 deletions
diff --git a/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java b/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java index 3e26828a7..50f2ccf20 100644 --- a/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java +++ b/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java @@ -937,7 +937,8 @@ public class SupplicantP2pIfaceHal { String ssidString = null; if (ssid != null) { try { - ssidString = NativeUtil.encodeSsid(ssid); + ssidString = NativeUtil.removeEnclosingQuotes( + NativeUtil.encodeSsid(ssid)); } catch (Exception e) { Log.e(TAG, "Could not encode SSID.", e); } diff --git a/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java b/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java index 06eae175c..d70ce416d 100644 --- a/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java +++ b/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java @@ -231,6 +231,9 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub { // the ranges defined in Tethering.java private static final String SERVER_ADDRESS = "192.168.49.1"; + // The empty device address set by wpa_supplicant. + private static final String EMPTY_DEVICE_ADDRESS = "00:00:00:00:00:00"; + /** * Error code definition. * see the Table.8 in the WiFi Direct specification for the detail. @@ -1590,7 +1593,11 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub { } mGroup = (WifiP2pGroup) message.obj; if (DBG) logd(getName() + " group started"); - + if (mGroup.isGroupOwner() + && EMPTY_DEVICE_ADDRESS.equals(mGroup.getOwner().deviceAddress)) { + // wpa_supplicant doesn't set own device address to go_dev_addr. + mGroup.getOwner().deviceAddress = mThisDevice.deviceAddress; + } // We hit this scenario when a persistent group is reinvoked if (mGroup.getNetworkId() == WifiP2pGroup.PERSISTENT_NET_ID) { mAutonomousGroup = false; @@ -1923,9 +1930,14 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub { } mGroup = (WifiP2pGroup) message.obj; if (DBG) logd(getName() + " group started"); + if (mGroup.isGroupOwner() + && EMPTY_DEVICE_ADDRESS.equals(mGroup.getOwner().deviceAddress)) { + // wpa_supplicant doesn't set own device address to go_dev_addr. + mGroup.getOwner().deviceAddress = mThisDevice.deviceAddress; + } if (mGroup.getNetworkId() == WifiP2pGroup.PERSISTENT_NET_ID) { // update cache information and set network id to mGroup. - updatePersistentNetworks(NO_RELOAD); + updatePersistentNetworks(RELOAD); String devAddr = mGroup.getOwner().deviceAddress; mGroup.setNetworkId(mGroups.getNetworkId(devAddr, mGroup.getNetworkName())); @@ -2344,12 +2356,7 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub { int netId = mGroup.getNetworkId(); if (netId >= 0) { if (DBG) logd("Remove unknown client from the list"); - if (!removeClientFromList(netId, - mSavedPeerConfig.deviceAddress, false)) { - // not found the client on the list - loge("Already removed the client, ignore"); - break; - } + removeClientFromList(netId, mSavedPeerConfig.deviceAddress, false); // try invitation. sendMessage(WifiP2pManager.CONNECT, mSavedPeerConfig); } |