diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-18 23:20:33 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-18 23:20:33 +0000 |
commit | 58d56e37e059c58c37d56e0f19801f543ad7f372 (patch) | |
tree | c741e4ffc6d9ac52c61035b0a7f603d88958d381 | |
parent | 73eecb8d81d6f569f493728b85dd3d927dd4dda8 (diff) | |
parent | 8083fcf496e69161e646e4478a58f88ff2b2e580 (diff) | |
download | Iwlan-58d56e37e059c58c37d56e0f19801f543ad7f372.tar.gz |
Snap for 10515480 from 8083fcf496e69161e646e4478a58f88ff2b2e580 to udc-qpr1-release
Change-Id: I74c66ba07ea20fc8f44debe271bc19e0502caadf
-rw-r--r-- | src/com/google/android/iwlan/IwlanDataService.java | 4 | ||||
-rw-r--r-- | test/com/google/android/iwlan/IwlanDataServiceTest.java | 34 |
2 files changed, 36 insertions, 2 deletions
diff --git a/src/com/google/android/iwlan/IwlanDataService.java b/src/com/google/android/iwlan/IwlanDataService.java index b09b788..d4c7dce 100644 --- a/src/com/google/android/iwlan/IwlanDataService.java +++ b/src/com/google/android/iwlan/IwlanDataService.java @@ -1893,7 +1893,6 @@ public class IwlanDataService extends DataService { } sDefaultDataTransport = transport; - sNetwork = network; sNetworkConnected = networkConnected; if (networkConnected) { @@ -1916,7 +1915,7 @@ public class IwlanDataService extends DataService { sLinkProperties = linkProperties; for (IwlanDataServiceProvider dp : sIwlanDataServiceProviders.values()) { dp.dnsPrefetchCheck(); - dp.updateNetwork(sNetwork, linkProperties); + dp.updateNetwork(network, linkProperties); } IwlanHelper.updateCountryCodeWhenNetworkConnected(); } @@ -1929,6 +1928,7 @@ public class IwlanDataService extends DataService { dp.forceCloseTunnelsInDeactivatingState(); } } + sNetwork = network; } /** diff --git a/test/com/google/android/iwlan/IwlanDataServiceTest.java b/test/com/google/android/iwlan/IwlanDataServiceTest.java index 2f8f2c3..b7cda5b 100644 --- a/test/com/google/android/iwlan/IwlanDataServiceTest.java +++ b/test/com/google/android/iwlan/IwlanDataServiceTest.java @@ -1780,4 +1780,38 @@ public class IwlanDataServiceTest { method.setAccessible(true); return method.invoke(target, args); } + + @Test + public void testNetworkChangeDuringTunnelBringUp_closeTunnel() { + DataProfile dp = buildImsDataProfile(); + Network newNetwork1 = createMockNetwork(mLinkProperties); + onSystemDefaultNetworkConnected( + newNetwork1, mLinkProperties, TRANSPORT_WIFI, DEFAULT_SUB_INDEX); + + mSpyIwlanDataServiceProvider.setupDataCall( + AccessNetworkType.IWLAN, /* AccessNetworkType */ + dp, /* dataProfile */ + false, /* isRoaming */ + true, /* allowRoaming */ + DataService.REQUEST_REASON_NORMAL, /* DataService.REQUEST_REASON_NORMAL */ + null, /* LinkProperties */ + 1, /* pduSessionId */ + null, /* sliceInfo */ + null, /* trafficDescriptor */ + true, /* matchAllRuleAllowed */ + mMockDataServiceCallback); + mTestLooper.dispatchAll(); + + /* Check bringUpTunnel() is called. */ + verify(mMockEpdgTunnelManager, times(1)) + .bringUpTunnel( + any(TunnelSetupRequest.class), + any(IwlanTunnelCallback.class), + any(IwlanTunnelMetricsImpl.class)); + + Network newNetwork2 = createMockNetwork(mLinkProperties); + onSystemDefaultNetworkConnected( + newNetwork2, mLinkProperties, TRANSPORT_WIFI, DEFAULT_SUB_INDEX); + verify(mMockEpdgTunnelManager, times(1)).closeTunnel(any(), anyBoolean(), any(), any()); + } } |