summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/SystemServer.java
diff options
context:
space:
mode:
authorbohu <bohu@google.com>2017-12-11 11:54:40 -0800
committerbohu <bohu@google.com>2017-12-12 23:01:44 -0800
commit91f757b50ce20261df2ac454e825bcf75541192e (patch)
tree4efd35dcff288068a54ea0452f0b54ca7c714bc6 /services/java/com/android/server/SystemServer.java
parent02775c7852273db2122b7daef8c0efc3178f17c1 (diff)
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
Diffstat (limited to 'services/java/com/android/server/SystemServer.java')
-rw-r--r--services/java/com/android/server/SystemServer.java19
1 files changed, 11 insertions, 8 deletions
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");