diff options
author | Mike J. Chen <mjchen@google.com> | 2011-06-14 09:53:23 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-06-14 09:53:23 -0700 |
commit | 8068cb8e2186b28267999f0e4e9b40d17cc64a3d (patch) | |
tree | 6ee7cabe9acc927c4cad701e312650da1ebbf601 /core/java | |
parent | 9a67f2618444e0373dcbac0f3cc36e900105f18c (diff) | |
parent | c96a667162fab44a250503caccb770109a9cb69a (diff) | |
download | frameworks_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.java | 19 |
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); + } } /** |