summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorMike J. Chen <mjchen@google.com>2011-06-14 09:53:23 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-06-14 09:53:23 -0700
commit8068cb8e2186b28267999f0e4e9b40d17cc64a3d (patch)
tree6ee7cabe9acc927c4cad701e312650da1ebbf601 /core/java
parent9a67f2618444e0373dcbac0f3cc36e900105f18c (diff)
parentc96a667162fab44a250503caccb770109a9cb69a (diff)
downloadframeworks_base-8068cb8e2186b28267999f0e4e9b40d17cc64a3d.zip
frameworks_base-8068cb8e2186b28267999f0e4e9b40d17cc64a3d.tar.gz
frameworks_base-8068cb8e2186b28267999f0e4e9b40d17cc64a3d.tar.bz2
Merge "Handle always present wired ethernet interfaces at boot."
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/net/EthernetDataTracker.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/core/java/android/net/EthernetDataTracker.java b/core/java/android/net/EthernetDataTracker.java
index 55850c9..6f92247 100644
--- a/core/java/android/net/EthernetDataTracker.java
+++ b/core/java/android/net/EthernetDataTracker.java
@@ -63,6 +63,7 @@ public class EthernetDataTracker implements NetworkStateTracker {
private Context mContext;
private static EthernetDataTracker sInstance;
+ private static String sIfaceMatch = "";
private static String mIface = "";
private static class InterfaceObserver extends INetworkManagementEventObserver.Stub {
@@ -96,7 +97,7 @@ public class EthernetDataTracker implements NetworkStateTracker {
}
private void interfaceAdded(String iface) {
- if (!iface.matches("eth\\d"))
+ if (!iface.matches(sIfaceMatch))
return;
Log.d(TAG, "Adding " + iface);
@@ -187,6 +188,22 @@ public class EthernetDataTracker implements NetworkStateTracker {
} catch (RemoteException e) {
Log.e(TAG, "Could not register InterfaceObserver " + e);
}
+
+ // connect to an ethernet interface that already exists
+ sIfaceMatch = context.getResources().getString(
+ com.android.internal.R.string.config_ethernet_iface_regex);
+ try {
+ final String[] ifaces = service.listInterfaces();
+ for (String iface : ifaces) {
+ if (iface.matches(sIfaceMatch)) {
+ mIface = iface;
+ reconnect();
+ break;
+ }
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Could not get list of interfaces " + e);
+ }
}
/**