summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorJimmy Chen <jimmycmchen@google.com>2019-12-11 18:34:53 +0800
committerJimmy Chen <jimmycmchen@google.com>2019-12-11 10:42:01 +0000
commit1d6528adbb905c2d8d5f62640333a0f2c46f0aeb (patch)
treefd0728a5d7ca7d065901b8b975e51b46fe0274ec /service
parent7d1155d3fe6ef2149717084abb21f053bedfc0ad (diff)
p2p: revise group client DHCP handling flow
The provision success event might be received before new dhcp result event, and no route information could be used. Move routing table update to new dhcp result event. Bug: 146037993 Test: atest FrameworksWifiTests Change-Id: I7c980d95ad33475054f63a5dffe681b9e9121bea
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java b/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java
index 8f3bb98be..634e3e7b8 100644
--- a/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java
+++ b/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java
@@ -2720,12 +2720,12 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
break;
case IPC_DHCP_RESULTS:
mDhcpResults = (DhcpResults) message.obj;
- break;
- case IPC_PROVISIONING_SUCCESS:
- if (mVerboseLoggingEnabled) logd("mDhcpResults: " + mDhcpResults);
- if (mDhcpResults != null) {
- setWifiP2pInfoOnGroupFormation(mDhcpResults.serverAddress);
+ if (mDhcpResults == null) {
+ break;
}
+
+ if (mVerboseLoggingEnabled) logd("mDhcpResults: " + mDhcpResults);
+ setWifiP2pInfoOnGroupFormation(mDhcpResults.serverAddress);
sendP2pConnectionChangedBroadcast();
try {
final String ifname = mGroup.getInterface();
@@ -2737,6 +2737,8 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
loge("Failed to add iface to local network " + e);
}
break;
+ case IPC_PROVISIONING_SUCCESS:
+ break;
case IPC_PROVISIONING_FAILURE:
loge("IP provisioning failed");
mWifiNative.p2pGroupRemove(mGroup.getInterface());