diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/android/net/ip/IpClient.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/android/net/ip/IpClient.java b/src/android/net/ip/IpClient.java index 3fb5001..79ceee7 100644 --- a/src/android/net/ip/IpClient.java +++ b/src/android/net/ip/IpClient.java @@ -794,6 +794,11 @@ public class IpClient extends StateMachine { + " in provisioning configuration", e); } } + + if (req.mLayer2Info != null) { + mL2Key = req.mLayer2Info.mL2Key; + mGroupHint = req.mLayer2Info.mGroupHint; + } sendMessage(CMD_START, new android.net.shared.ProvisioningConfiguration(req)); } @@ -904,7 +909,7 @@ public class IpClient extends StateMachine { } /** - * Update the network bssid, L2Key and GroupHint layer2 information. + * Update the network bssid, L2Key and GroupHint on L2 roaming happened. */ public void updateLayer2Information(@NonNull Layer2InformationParcelable info) { sendMessage(CMD_UPDATE_L2INFORMATION, info); @@ -1534,10 +1539,10 @@ public class IpClient extends StateMachine { mL2Key = info.l2Key; mGroupHint = info.groupHint; - // This means IpClient is still in the StoppedState, WiFi is trying to associate - // to the AP, just update L2Key and GroupHint at this stage, because these members - // will be used when starting DhcpClient. - if (info.bssid == null || mCurrentBssid == null) return; + if (info.bssid == null || mCurrentBssid == null) { + Log.wtf(mTag, "bssid in the parcelable or current tracked bssid should be non-null"); + return; + } // If the BSSID has not changed, there is nothing to do. if (info.bssid.equals(mCurrentBssid)) return; @@ -1613,10 +1618,6 @@ public class IpClient extends StateMachine { break; } - case CMD_UPDATE_L2INFORMATION: - handleUpdateL2Information((Layer2InformationParcelable) msg.obj); - break; - case CMD_SET_MULTICAST_FILTER: mMulticastFiltering = (boolean) msg.obj; break; |