diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index e969cd656f..a8e8c7d3fb 100755 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -7912,10 +7912,20 @@ public class ConnectivityService extends IConnectivityManager.Stub return SdkLevel.isAtLeastU() ? (networkHandle + ":" + iface) : ("iface:" + iface); } + private static boolean isWakeupMarkingSupported(NetworkCapabilities capabilities) { + if (capabilities.hasTransport(TRANSPORT_WIFI)) { + return true; + } + if (SdkLevel.isAtLeastU() && capabilities.hasTransport(TRANSPORT_CELLULAR)) { + return true; + } + return false; + } + private void wakeupModifyInterface(String iface, NetworkAgentInfo nai, boolean add) { // Marks are only available on WiFi interfaces. Checking for // marks on unsupported interfaces is harmless. - if (!nai.networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { + if (!isWakeupMarkingSupported(nai.networkCapabilities)) { return; }