Merge "[SB Refactor] Add null checks around network capabilities." into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5be99642cb
@@ -343,7 +343,12 @@ public class WifiStatusTracker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private WifiInfo getMainOrUnderlyingWifiInfo(NetworkCapabilities networkCapabilities) {
|
private WifiInfo getMainOrUnderlyingWifiInfo(
|
||||||
|
@Nullable NetworkCapabilities networkCapabilities) {
|
||||||
|
if (networkCapabilities == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
WifiInfo mainWifiInfo = getMainWifiInfo(networkCapabilities);
|
WifiInfo mainWifiInfo = getMainWifiInfo(networkCapabilities);
|
||||||
if (mainWifiInfo != null) {
|
if (mainWifiInfo != null) {
|
||||||
return mainWifiInfo;
|
return mainWifiInfo;
|
||||||
@@ -376,7 +381,10 @@ public class WifiStatusTracker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private WifiInfo getMainWifiInfo(NetworkCapabilities networkCapabilities) {
|
private WifiInfo getMainWifiInfo(@Nullable NetworkCapabilities networkCapabilities) {
|
||||||
|
if (networkCapabilities == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
boolean canHaveWifiInfo = networkCapabilities.hasTransport(TRANSPORT_WIFI)
|
boolean canHaveWifiInfo = networkCapabilities.hasTransport(TRANSPORT_WIFI)
|
||||||
|| networkCapabilities.hasTransport(TRANSPORT_CELLULAR);
|
|| networkCapabilities.hasTransport(TRANSPORT_CELLULAR);
|
||||||
if (!canHaveWifiInfo) {
|
if (!canHaveWifiInfo) {
|
||||||
@@ -402,7 +410,11 @@ public class WifiStatusTracker {
|
|||||||
getMainOrUnderlyingWifiInfo(networkCapabilities));
|
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);
|
return wifiInfo != null || networkCapabilities.hasTransport(TRANSPORT_WIFI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -305,4 +305,16 @@ public class WifiStatusTrackerTest {
|
|||||||
|
|
||||||
assertThat(mWifiStatusTracker.isDefaultNetwork).isTrue();
|
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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user