From f9ff2c9ae5595a20d77b10a41386932de1fc2da2 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Wed, 21 May 2014 16:32:11 -0700 Subject: [PATCH] Make the EthernetManager available. Change-Id: I7a60e977d7a40a5d0367168f2f6633ccae591ac4 --- core/java/android/app/ContextImpl.java | 9 +++++++++ core/java/android/content/Context.java | 15 +++++++++++++++ .../java/com/android/server/SystemServer.java | 8 ++++++++ 3 files changed, 32 insertions(+) diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index b247580b06a5d..74a10378b96e7 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -73,6 +73,8 @@ import android.media.MediaRouter; import android.media.session.MediaSessionManager; import android.net.ConnectivityManager; import android.net.IConnectivityManager; +import android.net.EthernetManager; +import android.net.IEthernetManager; import android.net.INetworkPolicyManager; import android.net.NetworkPolicyManager; import android.net.NetworkScoreManager; @@ -599,6 +601,13 @@ class ContextImpl extends Context { return new WifiScanner(ctx.getOuterContext(), service); }}); + registerService(ETHERNET_SERVICE, new ServiceFetcher() { + public Object createService(ContextImpl ctx) { + IBinder b = ServiceManager.getService(ETHERNET_SERVICE); + IEthernetManager service = IEthernetManager.Stub.asInterface(b); + return new EthernetManager(ctx.getOuterContext(), service); + }}); + registerService(WINDOW_SERVICE, new ServiceFetcher() { Display mDefaultDisplay; public Object getService(ContextImpl ctx) { diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index c11b04c7c2825..bfdc189e68e6f 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -2069,6 +2069,9 @@ public abstract class Context { *
{@link #WIFI_P2P_SERVICE} ("wifip2p") *
A {@link android.net.wifi.p2p.WifiP2pManager WifiP2pManager} for management of * Wi-Fi Direct connectivity. + *
{@link #ETHERNET_SERVICE} ("ethernet") + *
A {@link android.net.ethernet.EthernetManager EthernetManager} for + * management of Ethernet connectivity. *
{@link #INPUT_METHOD_SERVICE} ("input_method") *
An {@link android.view.inputmethod.InputMethodManager InputMethodManager} * for management of input methods. @@ -2380,6 +2383,18 @@ public abstract class Context { */ public static final String WIFI_SCANNING_SERVICE = "wifiscanner"; + /** + * Use with {@link #getSystemService} to retrieve a {@link + * android.net.ethernet.EthernetManager} for handling management of + * Ethernet access. + * + * @see #getSystemService + * @see android.net.ethernet.EthernetManager + * + * @hide + */ + public static final String ETHERNET_SERVICE = "ethernet"; + /** * Use with {@link #getSystemService} to retrieve a {@link * android.net.nsd.NsdManager} for handling management of network service diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 55ae9c6f737cd..de46b1629ce75 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -130,6 +130,8 @@ public final class SystemServer { "com.android.server.wifi.p2p.WifiP2pService"; private static final String HDMI_CEC_SERVICE_CLASS = "com.android.server.hdmi.HdmiCecService"; + private static final String ETHERNET_SERVICE_CLASS = + "com.android.server.ethernet.EthernetService"; private final int mFactoryTestMode; private Timer mProfilerSnapshotTimer; @@ -659,6 +661,12 @@ public final class SystemServer { reportWtf("starting Wi-Fi Scanning Service", e); } + try { + mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS); + } catch (Throwable e) { + reportWtf("starting Ethernet Service", e); + } + try { Slog.i(TAG, "Connectivity Service"); connectivity = new ConnectivityService(