summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-29 03:28:41 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-29 03:28:41 +0000
commit32dfa2af9bc383755e3b2a2cd03a6ab105d5f132 (patch)
tree0852a7a548ca80741e5cf849b54955622a435e89
parent14f817dcf46ccd13011d0b02fa3f8576cb767c8f (diff)
parentc8126ae52f2d9df6fa11ea2e6871e37081a75289 (diff)
downloadIwlan-32dfa2af9bc383755e3b2a2cd03a6ab105d5f132.tar.gz
Snap for 10037196 from c8126ae52f2d9df6fa11ea2e6871e37081a75289 to udc-qpr1-release
Change-Id: Ie8e6604c0d5b39f68848c129c0ced5dc83a426b4
-rw-r--r--src/com/google/android/iwlan/IwlanDataService.java3
-rw-r--r--test/com/google/android/iwlan/IwlanDataServiceTest.java28
2 files changed, 31 insertions, 0 deletions
diff --git a/src/com/google/android/iwlan/IwlanDataService.java b/src/com/google/android/iwlan/IwlanDataService.java
index 8759c6a..2f3ed2b 100644
--- a/src/com/google/android/iwlan/IwlanDataService.java
+++ b/src/com/google/android/iwlan/IwlanDataService.java
@@ -969,6 +969,9 @@ public class IwlanDataService extends DataService {
getTunnelManager().updateNetwork(network, linkProperties);
}
+ if (network.equals(sNetwork)) {
+ return;
+ }
for (Map.Entry<String, TunnelState> entry : mTunnelStateForApn.entrySet()) {
TunnelState tunnelState = entry.getValue();
if (tunnelState.getState() == TunnelState.TUNNEL_IN_BRINGUP) {
diff --git a/test/com/google/android/iwlan/IwlanDataServiceTest.java b/test/com/google/android/iwlan/IwlanDataServiceTest.java
index 4e53836..98fd3eb 100644
--- a/test/com/google/android/iwlan/IwlanDataServiceTest.java
+++ b/test/com/google/android/iwlan/IwlanDataServiceTest.java
@@ -408,6 +408,34 @@ public class IwlanDataServiceTest {
}
@Test
+ public void testOnLinkPropertiesChangedForBringingUpIkeSession() {
+ DataProfile dp = buildImsDataProfile();
+
+ NetworkCallback networkCallback = getNetworkMonitorCallback();
+ onSystemDefaultNetworkConnected(mMockNetwork, mLinkProperties, TRANSPORT_WIFI);
+
+ clearInvocations(mMockEpdgTunnelManager);
+
+ mSpyIwlanDataServiceProvider.setTunnelState(
+ dp,
+ mMockDataServiceCallback,
+ TunnelState.TUNNEL_IN_BRINGUP,
+ null, /* linkProperties */
+ false /* isHandover */,
+ 1 /* pduSessionId */,
+ true /* isImsOrEmergency */);
+
+ LinkProperties newLinkProperties = new LinkProperties(mLinkProperties);
+ newLinkProperties.setInterfaceName("wlan0");
+ newLinkProperties.addLinkAddress(mMockIPv6LinkAddress);
+
+ networkCallback.onLinkPropertiesChanged(mMockNetwork, newLinkProperties);
+ verify(mMockEpdgTunnelManager, times(1))
+ .updateNetwork(eq(mMockNetwork), eq(newLinkProperties));
+ verify(mMockEpdgTunnelManager, never()).closeTunnel(any(), anyBoolean(), any(), any());
+ }
+
+ @Test
public void testNetworkNotConnectedWithCellularAndCrossSimDisabled()
throws InterruptedException {
NetworkCapabilities nc =