Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +17 −2 Original line number Diff line number Diff line Loading @@ -364,11 +364,11 @@ public class NetworkControllerImpl extends BroadcastReceiver if (network.equals(mLastNetwork) && validated == lastValidated) { // Should not rely on getTransportTypes() returning the same order of transport // types. So sort the array before comparing. int[] newTypes = networkCapabilities.getTransportTypes(); int[] newTypes = getProcessedTransportTypes(networkCapabilities); Arrays.sort(newTypes); int[] lastTypes = (mLastNetworkCapabilities != null) ? mLastNetworkCapabilities.getTransportTypes() : null; ? getProcessedTransportTypes(mLastNetworkCapabilities) : null; if (lastTypes != null) Arrays.sort(lastTypes); if (Arrays.equals(newTypes, lastTypes)) { Loading Loading @@ -533,6 +533,21 @@ public class NetworkControllerImpl extends BroadcastReceiver return mPhone.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE; } private int[] getProcessedTransportTypes(NetworkCapabilities networkCapabilities) { int[] transportTypes = networkCapabilities.getTransportTypes(); for (int i = 0; i < transportTypes.length; i++) { // For VCN over WiFi, the transportType is set to be TRANSPORT_CELLULAR in the // NetworkCapabilities, but we need to convert it into TRANSPORT_WIFI in order to // distinguish it from VCN over Cellular. if (transportTypes[i] == NetworkCapabilities.TRANSPORT_CELLULAR && Utils.tryGetWifiInfoForVcn(networkCapabilities) != null) { transportTypes[i] = NetworkCapabilities.TRANSPORT_WIFI; break; } } return transportTypes; } private MobileSignalController getDataController() { int dataSubId = mSubDefaults.getActiveDataSubId(); return getControllerWithSubId(dataSubId); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +17 −2 Original line number Diff line number Diff line Loading @@ -364,11 +364,11 @@ public class NetworkControllerImpl extends BroadcastReceiver if (network.equals(mLastNetwork) && validated == lastValidated) { // Should not rely on getTransportTypes() returning the same order of transport // types. So sort the array before comparing. int[] newTypes = networkCapabilities.getTransportTypes(); int[] newTypes = getProcessedTransportTypes(networkCapabilities); Arrays.sort(newTypes); int[] lastTypes = (mLastNetworkCapabilities != null) ? mLastNetworkCapabilities.getTransportTypes() : null; ? getProcessedTransportTypes(mLastNetworkCapabilities) : null; if (lastTypes != null) Arrays.sort(lastTypes); if (Arrays.equals(newTypes, lastTypes)) { Loading Loading @@ -533,6 +533,21 @@ public class NetworkControllerImpl extends BroadcastReceiver return mPhone.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE; } private int[] getProcessedTransportTypes(NetworkCapabilities networkCapabilities) { int[] transportTypes = networkCapabilities.getTransportTypes(); for (int i = 0; i < transportTypes.length; i++) { // For VCN over WiFi, the transportType is set to be TRANSPORT_CELLULAR in the // NetworkCapabilities, but we need to convert it into TRANSPORT_WIFI in order to // distinguish it from VCN over Cellular. if (transportTypes[i] == NetworkCapabilities.TRANSPORT_CELLULAR && Utils.tryGetWifiInfoForVcn(networkCapabilities) != null) { transportTypes[i] = NetworkCapabilities.TRANSPORT_WIFI; break; } } return transportTypes; } private MobileSignalController getDataController() { int dataSubId = mSubDefaults.getActiveDataSubId(); return getControllerWithSubId(dataSubId); Loading