Loading packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +15 −3 Original line number Diff line number Diff line Loading @@ -343,7 +343,12 @@ public class WifiStatusTracker { } @Nullable private WifiInfo getMainOrUnderlyingWifiInfo(NetworkCapabilities networkCapabilities) { private WifiInfo getMainOrUnderlyingWifiInfo( @Nullable NetworkCapabilities networkCapabilities) { if (networkCapabilities == null) { return null; } WifiInfo mainWifiInfo = getMainWifiInfo(networkCapabilities); if (mainWifiInfo != null) { return mainWifiInfo; Loading Loading @@ -376,7 +381,10 @@ public class WifiStatusTracker { } @Nullable private WifiInfo getMainWifiInfo(NetworkCapabilities networkCapabilities) { private WifiInfo getMainWifiInfo(@Nullable NetworkCapabilities networkCapabilities) { if (networkCapabilities == null) { return null; } boolean canHaveWifiInfo = networkCapabilities.hasTransport(TRANSPORT_WIFI) || networkCapabilities.hasTransport(TRANSPORT_CELLULAR); if (!canHaveWifiInfo) { Loading @@ -402,7 +410,11 @@ public class WifiStatusTracker { getMainOrUnderlyingWifiInfo(networkCapabilities)); } private boolean connectionIsWifi(NetworkCapabilities networkCapabilities, WifiInfo wifiInfo) { private boolean connectionIsWifi( @Nullable NetworkCapabilities networkCapabilities, WifiInfo wifiInfo) { if (networkCapabilities == null) { return false; } return wifiInfo != null || networkCapabilities.hasTransport(TRANSPORT_WIFI); } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiStatusTrackerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -305,4 +305,16 @@ public class WifiStatusTrackerTest { assertThat(mWifiStatusTracker.isDefaultNetwork).isTrue(); } /** Regression test for b/280169520. */ @Test public void networkCallbackNullCapabilities_noCrash() { Network primaryNetwork = Mockito.mock(Network.class); // WHEN the network capabilities are null mNetworkCallbackCaptor.getValue().onCapabilitiesChanged( primaryNetwork, /* networkCapabilities= */ null); // THEN there's no crash (no assert needed) } } Loading
packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +15 −3 Original line number Diff line number Diff line Loading @@ -343,7 +343,12 @@ public class WifiStatusTracker { } @Nullable private WifiInfo getMainOrUnderlyingWifiInfo(NetworkCapabilities networkCapabilities) { private WifiInfo getMainOrUnderlyingWifiInfo( @Nullable NetworkCapabilities networkCapabilities) { if (networkCapabilities == null) { return null; } WifiInfo mainWifiInfo = getMainWifiInfo(networkCapabilities); if (mainWifiInfo != null) { return mainWifiInfo; Loading Loading @@ -376,7 +381,10 @@ public class WifiStatusTracker { } @Nullable private WifiInfo getMainWifiInfo(NetworkCapabilities networkCapabilities) { private WifiInfo getMainWifiInfo(@Nullable NetworkCapabilities networkCapabilities) { if (networkCapabilities == null) { return null; } boolean canHaveWifiInfo = networkCapabilities.hasTransport(TRANSPORT_WIFI) || networkCapabilities.hasTransport(TRANSPORT_CELLULAR); if (!canHaveWifiInfo) { Loading @@ -402,7 +410,11 @@ public class WifiStatusTracker { getMainOrUnderlyingWifiInfo(networkCapabilities)); } private boolean connectionIsWifi(NetworkCapabilities networkCapabilities, WifiInfo wifiInfo) { private boolean connectionIsWifi( @Nullable NetworkCapabilities networkCapabilities, WifiInfo wifiInfo) { if (networkCapabilities == null) { return false; } return wifiInfo != null || networkCapabilities.hasTransport(TRANSPORT_WIFI); } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/WifiStatusTrackerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -305,4 +305,16 @@ public class WifiStatusTrackerTest { assertThat(mWifiStatusTracker.isDefaultNetwork).isTrue(); } /** Regression test for b/280169520. */ @Test public void networkCallbackNullCapabilities_noCrash() { Network primaryNetwork = Mockito.mock(Network.class); // WHEN the network capabilities are null mNetworkCallbackCaptor.getValue().onCapabilitiesChanged( primaryNetwork, /* networkCapabilities= */ null); // THEN there's no crash (no assert needed) } }