OSDN Git Service

Enable Ethernet if the device has FEATURE_USB_HOST.
authorLorenzo Colitti <lorenzo@google.com>
Tue, 25 Nov 2014 12:52:12 +0000 (21:52 +0900)
committerLorenzo Colitti <lorenzo@google.com>
Thu, 5 Mar 2015 05:52:04 +0000 (14:52 +0900)
Any device that supports USB OTG is capable of running Ethernet
via a USB OTG cable and Ethernet to USB adapter.

Currently, we only start the Ethernet system service if the
device has FEATURE_ETHERNET, but this requires that every device
explicitly declare FEATURE_ETHERNET, which causes bugs like
http://b/18515146 , where the L OTA broke Ethernet on nakasi.

Therefore, start the Ethernet service on all devices that have
FEATURE_USB_HOST.

Bug: 18515146
Change-Id: I3b4e85d1ad8e1aea9baa046a27f5b4dd68c42028

services/java/com/android/server/SystemServer.java

index 334cdf6..0705fbd 100644 (file)
@@ -677,7 +677,8 @@ public final class SystemServer {
 
                 mSystemServiceManager.startService("com.android.server.wifi.RttService");
 
-                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_ETHERNET)) {
+                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_ETHERNET) ||
+                    mPackageManager.hasSystemFeature(PackageManager.FEATURE_USB_HOST)) {
                     mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);
                 }