diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-04-23 07:05:33 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-04-23 07:05:33 +0000 |
commit | 806bc3571d4249b9e451681e754bed48d343ebc8 (patch) | |
tree | 56b7bc4c8df9bc8fa219184f431f61733a65b5bf | |
parent | 933f1d8ef6247f36ca60f168868dc177eab41c30 (diff) | |
parent | f5fad3e2f251f99f62f5f54a4550ce7668194160 (diff) | |
download | ethernet-806bc3571d4249b9e451681e754bed48d343ebc8.tar.gz |
Snap for 6421724 from f5fad3e2f251f99f62f5f54a4550ce7668194160 to mainline-release
Change-Id: I4d2fb7795d92a1374a92e81a9e55e7ae2bed8ef8
-rw-r--r-- | java/com/android/server/ethernet/EthernetTracker.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/java/com/android/server/ethernet/EthernetTracker.java b/java/com/android/server/ethernet/EthernetTracker.java index 336ddef..c8c3bdf 100644 --- a/java/com/android/server/ethernet/EthernetTracker.java +++ b/java/com/android/server/ethernet/EthernetTracker.java @@ -193,9 +193,11 @@ final class EthernetTracker { } public void setIncludeTestInterfaces(boolean include) { - mIncludeTestInterfaces = include; - updateIfaceMatchRegexp(); - trackAvailableInterfaces(); + mHandler.post(() -> { + mIncludeTestInterfaces = include; + updateIfaceMatchRegexp(); + mHandler.post(() -> trackAvailableInterfaces()); + }); } public void requestTetheredInterface(ITetheredInterfaceCallback callback) { @@ -307,7 +309,7 @@ final class EthernetTracker { ipConfiguration = createDefaultIpConfiguration(); } - Log.d(TAG, "Started tracking interface " + iface); + Log.d(TAG, "Tracking interface in client mode: " + iface); mFactory.addInterface(iface, hwAddress, nc, ipConfiguration); } else { maybeUpdateServerModeInterfaceState(iface, true); @@ -349,6 +351,9 @@ final class EthernetTracker { private void maybeUpdateServerModeInterfaceState(String iface, boolean available) { if (available == mTetheredInterfaceWasAvailable || !iface.equals(mDefaultInterface)) return; + Log.d(TAG, (available ? "Tracking" : "No longer tracking") + + " interface in server mode: " + iface); + final int pendingCbs = mTetheredInterfaceRequests.beginBroadcast(); for (int i = 0; i < pendingCbs; i++) { ITetheredInterfaceCallback item = mTetheredInterfaceRequests.getBroadcastItem(i); @@ -363,13 +368,17 @@ final class EthernetTracker { } private void maybeTrackInterface(String iface) { - if (DBG) Log.i(TAG, "maybeTrackInterface " + iface); + if (!iface.matches(mIfaceMatch)) { + return; + } + // If we don't already track this interface, and if this interface matches // our regex, start tracking it. - if (!iface.matches(mIfaceMatch) || mFactory.hasInterface(iface) - || iface.equals(mDefaultInterface)) { + if (mFactory.hasInterface(iface) || iface.equals(mDefaultInterface)) { + if (DBG) Log.w(TAG, "Ignoring already-tracked interface " + iface); return; } + if (DBG) Log.i(TAG, "maybeTrackInterface: " + iface); // TODO: avoid making an interface default if it has configured NetworkCapabilities. if (mDefaultInterface == null) { |