diff options
author | Jimmy Chen <jimmycmchen@google.com> | 2019-12-11 18:34:53 +0800 |
---|---|---|
committer | Jimmy Chen <jimmycmchen@google.com> | 2019-12-11 10:42:01 +0000 |
commit | 1d6528adbb905c2d8d5f62640333a0f2c46f0aeb (patch) | |
tree | fd0728a5d7ca7d065901b8b975e51b46fe0274ec /service | |
parent | 7d1155d3fe6ef2149717084abb21f053bedfc0ad (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.java | 12 |
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()); |