diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-29 03:28:41 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-29 03:28:41 +0000 |
commit | 32dfa2af9bc383755e3b2a2cd03a6ab105d5f132 (patch) | |
tree | 0852a7a548ca80741e5cf849b54955622a435e89 | |
parent | 14f817dcf46ccd13011d0b02fa3f8576cb767c8f (diff) | |
parent | c8126ae52f2d9df6fa11ea2e6871e37081a75289 (diff) | |
download | Iwlan-32dfa2af9bc383755e3b2a2cd03a6ab105d5f132.tar.gz |
Snap for 10037196 from c8126ae52f2d9df6fa11ea2e6871e37081a75289 to udc-qpr1-release
Change-Id: Ie8e6604c0d5b39f68848c129c0ced5dc83a426b4
-rw-r--r-- | src/com/google/android/iwlan/IwlanDataService.java | 3 | ||||
-rw-r--r-- | test/com/google/android/iwlan/IwlanDataServiceTest.java | 28 |
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 = |