am 34852095: Merge "Don\'t enable Ethernet on the emulator." into lmp-preview-dev
* commit '34852095d9148945edc39c2df9513c41998eb55b':
Don't enable Ethernet on the emulator.
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 3522fbf..3102cce 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -349,6 +349,7 @@
boolean disableSystemUI = SystemProperties.getBoolean("config.disable_systemui", false);
boolean disableNonCoreServices = SystemProperties.getBoolean("config.disable_noncore", false);
boolean disableNetwork = SystemProperties.getBoolean("config.disable_network", false);
+ boolean isEmulator = SystemProperties.get("ro.kernel.qemu").equals("1");
try {
Slog.i(TAG, "Telephony Registry");
@@ -461,7 +462,7 @@
// Skip Bluetooth if we have an emulator kernel
// TODO: Use a more reliable check to see if this product should
// support Bluetooth - see bug 988521
- if (SystemProperties.get("ro.kernel.qemu").equals("1")) {
+ if (isEmulator) {
Slog.i(TAG, "No Bluetooh Service (emulator)");
} else if (mFactoryTestMode == FactoryTest.FACTORY_TEST_LOW_LEVEL) {
Slog.i(TAG, "No Bluetooth Service (factory test)");
@@ -662,10 +663,17 @@
reportWtf("starting Wi-Fi Scanning Service", e);
}
- try {
- mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);
- } catch (Throwable e) {
- reportWtf("starting Ethernet Service", e);
+ if (!isEmulator) {
+ try {
+ mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);
+ } catch (Throwable e) {
+ reportWtf("starting Ethernet Service", e);
+ }
+ } else {
+ // Don't start the Ethernet service on the emulator because
+ // it interferes with qemu's SLIRP emulation, which uses
+ // IPv4 over eth0. http://b/15341003 .
+ Slog.i(TAG, "Not starting Ethernet service (emulator)");
}
try {