From 91f757b50ce20261df2ac454e825bcf75541192e Mon Sep 17 00:00:00 2001 From: bohu Date: Mon, 11 Dec 2017 11:54:40 -0800 Subject: Check wifi feature before starting wifi service Otherwise, Wifi service could crash SystemServer; for example, on emulator system image where wifi feature is missing, starting wifi will cause boot failure. BUG: 70378659 Change-Id: I82546c2c63fb6736e8216a7942fba2d3c9affb13 --- services/java/com/android/server/SystemServer.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'services/java/com/android/server/SystemServer.java') diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 4c994b94e71b..7aa628af4621 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1088,14 +1088,17 @@ public final class SystemServer { } traceEnd(); - // Wifi Service must be started first for wifi-related services. - traceBeginAndSlog("StartWifi"); - mSystemServiceManager.startService(WIFI_SERVICE_CLASS); - traceEnd(); - traceBeginAndSlog("StartWifiScanning"); - mSystemServiceManager.startService( - "com.android.server.wifi.scanner.WifiScanningService"); - traceEnd(); + if (context.getPackageManager().hasSystemFeature( + PackageManager.FEATURE_WIFI)) { + // Wifi Service must be started first for wifi-related services. + traceBeginAndSlog("StartWifi"); + mSystemServiceManager.startService(WIFI_SERVICE_CLASS); + traceEnd(); + traceBeginAndSlog("StartWifiScanning"); + mSystemServiceManager.startService( + "com.android.server.wifi.scanner.WifiScanningService"); + traceEnd(); + } if (!disableRtt) { traceBeginAndSlog("StartWifiRtt"); -- cgit v1.2.3