diff --git a/service-t/src/com/android/server/ethernet/EthernetTracker.java b/service-t/src/com/android/server/ethernet/EthernetTracker.java
index f19f443..53a899e 100644
--- a/service-t/src/com/android/server/ethernet/EthernetTracker.java
+++ b/service-t/src/com/android/server/ethernet/EthernetTracker.java
@@ -1017,7 +1017,7 @@
         final String mIpConfig;
         final int mTransport;
 
-        private static List<Integer> parseCapabilities(String capabilitiesString) {
+        private static List<Integer> parseCapabilities(@Nullable String capabilitiesString) {
             if (TextUtils.isEmpty(capabilitiesString)) {
                 return Collections.emptyList();
             }
@@ -1039,7 +1039,7 @@
             return Collections.unmodifiableList(capabilities);
         }
 
-        private static int parseTransportType(String transportString) {
+        private static int parseTransportType(@Nullable String transportString) {
             if (TextUtils.isEmpty(transportString)) {
                 return TRANSPORT_ETHERNET;
             }
@@ -1071,9 +1071,9 @@
             Objects.requireNonNull(configString, "EthernetConfigParser requires non-null config");
             final String[] tokens = configString.split(";", /* limit of tokens */ 4);
             mIface = tokens[0];
-            mCaps = tokens.length > 1 ? parseCapabilities(tokens[1]) : Collections.emptyList();
+            mCaps = parseCapabilities(tokens.length > 1 ? tokens[1] : null);
             mIpConfig = tokens.length > 2 && !TextUtils.isEmpty(tokens[2]) ? tokens[2] : null;
-            mTransport = tokens.length > 3 ? parseTransportType(tokens[3]) : TRANSPORT_ETHERNET;
+            mTransport = parseTransportType(tokens.length > 3 ? tokens[3] : null);
         }
     }
 }
