diff options
| author | 2021-03-31 13:42:15 -0700 | |
|---|---|---|
| committer | 2021-03-31 18:37:08 -0700 | |
| commit | 302f6cf17f6b2578a4a43b024ce751643352200b (patch) | |
| tree | 6ec6b2b7885ca28438ffb70ce7556f313e6d7494 | |
| parent | fa873e1cc8dab7f7d7b105f8dc170b44e27a0dda (diff) | |
Ignore the WiFi network callbacks if they are not default
Bug: 182224965
Test: unit tests
Change-Id: I344c314c4dd4df1662e28f7b3af520a731acda3d
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java | 6 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java | 23 |
2 files changed, 19 insertions, 10 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java index 41ccb16f0374..be7e4d24cdc0 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java @@ -81,6 +81,9 @@ public class WifiStatusTracker { @Override public void onCapabilitiesChanged( Network network, NetworkCapabilities networkCapabilities) { + if (mDefaultNetwork != null && mDefaultNetwork.getNetId() != network.getNetId()) { + return; + } if (!mNetworks.contains(network.getNetId())) { // New network boolean isVcnOverWifi = @@ -115,6 +118,9 @@ public class WifiStatusTracker { @Override public void onLost(Network network) { + if (mDefaultNetwork != null && mDefaultNetwork.getNetId() != network.getNetId()) { + return; + } String log = new StringBuilder() .append(SSDF.format(System.currentTimeMillis())).append(",") .append("onLost: ") diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index ef3317288e4c..cd687aec5464 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -127,6 +127,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected int mSubId; private NetworkCapabilities mNetCapabilities; + private Network mNetwork; private ConnectivityManager.NetworkCallback mDefaultCallbackInWifiTracker; private ConnectivityManager.NetworkCallback mDefaultCallbackInNetworkController; private ConnectivityManager.NetworkCallback mNetworkCallback; @@ -171,8 +172,10 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mMockCm = mock(ConnectivityManager.class); mMockBd = mock(BroadcastDispatcher.class); mMockNsm = mock(NetworkScoreManager.class); + mNetwork = mock(Network.class); mMockSubDefaults = mock(SubscriptionDefaults.class); mNetCapabilities = new NetworkCapabilities(); + when(mNetwork.getNetId()).thenReturn(0); when(mMockTm.isDataCapable()).thenReturn(true); when(mMockTm.createForSubscriptionId(anyInt())).thenReturn(mMockTm); doAnswer(invocation -> { @@ -318,7 +321,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mNetCapabilities.setTransportInfo(info); setConnectivityCommon(networkType, validated, isConnected); mDefaultCallbackInNetworkController.onCapabilitiesChanged( - mock(Network.class), new NetworkCapabilities(mNetCapabilities)); + mNetwork, new NetworkCapabilities(mNetCapabilities)); } public void setConnectivityViaCallbackInNetworkController( @@ -328,7 +331,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { } setConnectivityCommon(networkType, validated, isConnected); mDefaultCallbackInNetworkController.onCapabilitiesChanged( - mock(Network.class), new NetworkCapabilities(mNetCapabilities)); + mNetwork, new NetworkCapabilities(mNetCapabilities)); } public void setConnectivityViaCallbackInWifiTracker( @@ -339,12 +342,12 @@ public class NetworkControllerBaseTest extends SysuiTestCase { setConnectivityCommon(networkType, validated, isConnected); if (networkType == NetworkCapabilities.TRANSPORT_WIFI) { if (isConnected) { - mNetworkCallback.onAvailable(mock(Network.class), + mNetworkCallback.onAvailable(mNetwork, new NetworkCapabilities(mNetCapabilities), new LinkProperties(), false); mNetworkCallback.onCapabilitiesChanged( - mock(Network.class), new NetworkCapabilities(mNetCapabilities)); + mNetwork, new NetworkCapabilities(mNetCapabilities)); } else { - mNetworkCallback.onLost(mock(Network.class)); + mNetworkCallback.onLost(mNetwork); } } } @@ -355,14 +358,14 @@ public class NetworkControllerBaseTest extends SysuiTestCase { setConnectivityCommon(networkType, validated, isConnected); if (networkType == NetworkCapabilities.TRANSPORT_CELLULAR) { if (isConnected) { - mNetworkCallback.onAvailable(mock(Network.class), + mNetworkCallback.onAvailable(mNetwork, new NetworkCapabilities(mNetCapabilities), new LinkProperties(), false); mNetworkCallback.onCapabilitiesChanged( - mock(Network.class), new NetworkCapabilities(mNetCapabilities)); + mNetwork, new NetworkCapabilities(mNetCapabilities)); mDefaultCallbackInWifiTracker.onCapabilitiesChanged( - mock(Network.class), new NetworkCapabilities(mNetCapabilities)); + mNetwork, new NetworkCapabilities(mNetCapabilities)); } else { - mNetworkCallback.onLost(mock(Network.class)); + mNetworkCallback.onLost(mNetwork); } } } @@ -374,7 +377,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase { } setConnectivityCommon(networkType, validated, isConnected); mDefaultCallbackInWifiTracker.onCapabilitiesChanged( - mock(Network.class), new NetworkCapabilities(mNetCapabilities)); + mNetwork, new NetworkCapabilities(mNetCapabilities)); } private void setConnectivityCommon( |