diff --git a/service-t/src/com/android/server/ethernet/EthernetTracker.java b/service-t/src/com/android/server/ethernet/EthernetTracker.java index 48e86d8e7e..01b8de7e1c 100644 --- a/service-t/src/com/android/server/ethernet/EthernetTracker.java +++ b/service-t/src/com/android/server/ethernet/EthernetTracker.java @@ -48,6 +48,7 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.IndentingPrintWriter; +import com.android.modules.utils.build.SdkLevel; import com.android.net.module.util.NetdUtils; import com.android.net.module.util.PermissionUtils; import com.android.net.module.util.SharedLog; @@ -237,7 +238,18 @@ public class EthernetTracker { mDeps = deps; // Interface match regex. - mIfaceMatch = mDeps.getInterfaceRegexFromResource(mContext); + String ifaceMatchRegex = mDeps.getInterfaceRegexFromResource(mContext); + // "*" is a magic string to indicate "pick the default". + if (ifaceMatchRegex.equals("*")) { + if (SdkLevel.isAtLeastU()) { + // On U+, include both usb%d and eth%d interfaces. + ifaceMatchRegex = "(usb|eth)\\d+"; + } else { + // On T, include only eth%d interfaces. + ifaceMatchRegex = "eth\\d+"; + } + } + mIfaceMatch = ifaceMatchRegex; // Read default Ethernet interface configuration from resources final String[] interfaceConfigs = mDeps.getInterfaceConfigFromResource(context); diff --git a/service/ServiceConnectivityResources/res/values/config.xml b/service/ServiceConnectivityResources/res/values/config.xml index f30abc6b0b..045d707f34 100644 --- a/service/ServiceConnectivityResources/res/values/config.xml +++ b/service/ServiceConnectivityResources/res/values/config.xml @@ -194,8 +194,11 @@ --> - - eth\\d + + *