summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-04-23 07:05:33 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-04-23 07:05:33 +0000
commit806bc3571d4249b9e451681e754bed48d343ebc8 (patch)
tree56b7bc4c8df9bc8fa219184f431f61733a65b5bf
parent933f1d8ef6247f36ca60f168868dc177eab41c30 (diff)
parentf5fad3e2f251f99f62f5f54a4550ce7668194160 (diff)
downloadethernet-806bc3571d4249b9e451681e754bed48d343ebc8.tar.gz
Snap for 6421724 from f5fad3e2f251f99f62f5f54a4550ce7668194160 to mainline-release
Change-Id: I4d2fb7795d92a1374a92e81a9e55e7ae2bed8ef8
-rw-r--r--java/com/android/server/ethernet/EthernetTracker.java23
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) {