Change the definition of noDefaultNetwork and noValidatedNetwork

Currently SysUI only supports Cellular, WiFi or Ethernet as the default
netwok, so if none of them is the default network, SysUI will display
the no default network icon.

Bug: 187611967
Test: Manual testing
Change-Id: I60b210b17acfeaaa200e8196bba8ec2d43df9fbc
This commit is contained in:
yinxu
2021-05-25 09:57:03 -07:00
parent ea1518faf1
commit 6be5b7ccc5

View File

@@ -1023,6 +1023,11 @@ public class NetworkControllerImpl extends BroadcastReceiver
mValidatedTransports.clear();
if (mLastDefaultNetworkCapabilities != null) {
for (int transportType : mLastDefaultNetworkCapabilities.getTransportTypes()) {
if (transportType != NetworkCapabilities.TRANSPORT_CELLULAR
&& transportType != NetworkCapabilities.TRANSPORT_WIFI
&& transportType != NetworkCapabilities.TRANSPORT_ETHERNET) {
continue;
}
if (transportType == NetworkCapabilities.TRANSPORT_CELLULAR
&& Utils.tryGetWifiInfoForVcn(mLastDefaultNetworkCapabilities) != null) {
mConnectedTransports.set(NetworkCapabilities.TRANSPORT_WIFI);
@@ -1045,11 +1050,15 @@ public class NetworkControllerImpl extends BroadcastReceiver
Log.d(TAG, "updateConnectivity: mValidatedTransports=" + mValidatedTransports);
}
mInetCondition = !mValidatedTransports.isEmpty();
mInetCondition = mValidatedTransports.get(NetworkCapabilities.TRANSPORT_CELLULAR)
|| mValidatedTransports.get(NetworkCapabilities.TRANSPORT_WIFI)
|| mValidatedTransports.get(NetworkCapabilities.TRANSPORT_ETHERNET);
pushConnectivityToSignals();
if (mProviderModel) {
mNoDefaultNetwork = mConnectedTransports.isEmpty();
mNoDefaultNetwork = !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_CELLULAR)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_WIFI)
&& !mConnectedTransports.get(NetworkCapabilities.TRANSPORT_ETHERNET);
mCallbackHandler.setConnectivityStatus(mNoDefaultNetwork, !mInetCondition,
mNoNetworksAvailable);
for (int i = 0; i < mMobileSignalControllers.size(); i++) {