summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdenSu <edensu@google.com>2023-05-25 17:06:41 +0000
committerEdenSu <edensu@google.com>2023-07-10 07:53:20 +0000
commit22e14b73f74af7bfa002ec84346e00ac132eea34 (patch)
tree0f73b6b248633cfb0a122b8f5473135fc5a068b3
parent85cc7c00864fc6df2044506e40b00bb1b67ff32b (diff)
downloadIwlan-22e14b73f74af7bfa002ec84346e00ac132eea34.tar.gz
Update Network to EpdgTunnelManager when SetupDataCall
Issue: After Iwlan crached/restarted, the default network updated before DP created. The EpdgTunnelManager isn't updated the default network so it blocked the IWLAN PDN setup. Solution: Udpate the network to EpdgTunnelmanager when processing SETUP_DATA_CALL request. Bug: 285069037 Test: Iwlan PDN can be restored after kill Iwlan process PtsRadioIwlanTest#IwlanRestartTest passed (cherry picked from https://android-review.googlesource.com/q/commit:8a58b44149ec5e4d761a92ca74382dde5c83a023) Merged-In: I34aeae147ccad1934d697c34da4bb35bfb96de68 Change-Id: I34aeae147ccad1934d697c34da4bb35bfb96de68 Change-Id: Ib8d6cc2d02deab1356f67277a12783e41ac67b7d
-rw-r--r--src/com/google/android/iwlan/IwlanDataService.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/com/google/android/iwlan/IwlanDataService.java b/src/com/google/android/iwlan/IwlanDataService.java
index 04b6789..9c1b549 100644
--- a/src/com/google/android/iwlan/IwlanDataService.java
+++ b/src/com/google/android/iwlan/IwlanDataService.java
@@ -975,12 +975,12 @@ public class IwlanDataService extends DataService {
// This may not result in actual closing of Ike Session since
// epdg selection may not be complete yet.
tunnelState.setState(TunnelState.TUNNEL_IN_FORCE_CLEAN_WAS_IN_BRINGUP);
- getTunnelManager()
- .closeTunnel(
- entry.getKey(),
- true /* forceClose */,
- getIwlanTunnelCallback(),
- getIwlanTunnelMetrics());
+ getTunnelManager()
+ .closeTunnel(
+ entry.getKey(),
+ true /* forceClose */,
+ getIwlanTunnelCallback(),
+ getIwlanTunnelMetrics());
}
}
}
@@ -1444,6 +1444,12 @@ public class IwlanDataService extends DataService {
return;
}
+ // Update Network & LinkProperties to EpdgTunnelManager
+ iwlanDataServiceProvider
+ .getTunnelManager()
+ .updateNetwork(sNetwork, sLinkProperties);
+ Log.d(TAG, "Update Network for SetupDataCall request");
+
tunnelState =
iwlanDataServiceProvider.mTunnelStateForApn.get(
dataProfile.getApnSetting().getApnName());
@@ -1884,9 +1890,9 @@ public class IwlanDataService extends DataService {
hasNetworkConnectedChanged = true;
}
- sNetworkConnected = networkConnected;
sDefaultDataTransport = transport;
sNetwork = network;
+ sNetworkConnected = networkConnected;
if (networkConnected) {
if (hasTransportChanged) {