summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorGlen Kuhne <kuh@google.com>2017-07-17 16:41:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-07-17 16:41:36 +0000
commit8b4aaec7a360d1889ea80cc7158b6bd35eeccc6b (patch)
tree8a5880b958578e1a85a5f14b13ab14fd72922bc3 /service
parentc9f254bcdf9a1f2b535626a85b416de56a615610 (diff)
parentfc2a6d71179e969bde3011e1a0601757c081af40 (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.java3
-rw-r--r--service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java23
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);
}