SystemServer: Dynamically load wifi-service
Bug: 147799672 Test: Device boots up & connects to wifi networks Test: atest android.net.wifi.cts.WifiManagerTest Change-Id: I7b658cbfa91e2214bfef50510c648848813f62cc
This commit is contained in:
@@ -223,8 +223,14 @@ public final class SystemServer {
|
||||
"com.android.server.usb.UsbService$Lifecycle";
|
||||
private static final String MIDI_SERVICE_CLASS =
|
||||
"com.android.server.midi.MidiService$Lifecycle";
|
||||
private static final String WIFI_APEX_SERVICE_JAR_PATH =
|
||||
"/apex/com.android.wifi/javalib/wifi-service.jar";
|
||||
private static final String WIFI_SERVICE_CLASS =
|
||||
"com.android.server.wifi.WifiService";
|
||||
private static final String WIFI_SCANNING_SERVICE_CLASS =
|
||||
"com.android.server.wifi.scanner.WifiScanningService";
|
||||
private static final String WIFI_RTT_SERVICE_CLASS =
|
||||
"com.android.server.wifi.rtt.RttService";
|
||||
private static final String WIFI_AWARE_SERVICE_CLASS =
|
||||
"com.android.server.wifi.aware.WifiAwareService";
|
||||
private static final String WIFI_P2P_SERVICE_CLASS =
|
||||
@@ -1426,33 +1432,36 @@ public final class SystemServer {
|
||||
PackageManager.FEATURE_WIFI)) {
|
||||
// Wifi Service must be started first for wifi-related services.
|
||||
t.traceBegin("StartWifi");
|
||||
mSystemServiceManager.startService(WIFI_SERVICE_CLASS);
|
||||
mSystemServiceManager.startServiceFromJar(
|
||||
WIFI_SERVICE_CLASS, WIFI_APEX_SERVICE_JAR_PATH);
|
||||
t.traceEnd();
|
||||
t.traceBegin("StartWifiScanning");
|
||||
mSystemServiceManager.startService(
|
||||
"com.android.server.wifi.scanner.WifiScanningService");
|
||||
mSystemServiceManager.startServiceFromJar(
|
||||
WIFI_SCANNING_SERVICE_CLASS, WIFI_APEX_SERVICE_JAR_PATH);
|
||||
t.traceEnd();
|
||||
}
|
||||
|
||||
if (context.getPackageManager().hasSystemFeature(
|
||||
PackageManager.FEATURE_WIFI_RTT)) {
|
||||
t.traceBegin("StartRttService");
|
||||
mSystemServiceManager.startService(
|
||||
"com.android.server.wifi.rtt.RttService");
|
||||
mSystemServiceManager.startServiceFromJar(
|
||||
WIFI_RTT_SERVICE_CLASS, WIFI_APEX_SERVICE_JAR_PATH);
|
||||
t.traceEnd();
|
||||
}
|
||||
|
||||
if (context.getPackageManager().hasSystemFeature(
|
||||
PackageManager.FEATURE_WIFI_AWARE)) {
|
||||
t.traceBegin("StartWifiAware");
|
||||
mSystemServiceManager.startService(WIFI_AWARE_SERVICE_CLASS);
|
||||
mSystemServiceManager.startServiceFromJar(
|
||||
WIFI_AWARE_SERVICE_CLASS, WIFI_APEX_SERVICE_JAR_PATH);
|
||||
t.traceEnd();
|
||||
}
|
||||
|
||||
if (context.getPackageManager().hasSystemFeature(
|
||||
PackageManager.FEATURE_WIFI_DIRECT)) {
|
||||
t.traceBegin("StartWifiP2P");
|
||||
mSystemServiceManager.startService(WIFI_P2P_SERVICE_CLASS);
|
||||
mSystemServiceManager.startServiceFromJar(
|
||||
WIFI_P2P_SERVICE_CLASS, WIFI_APEX_SERVICE_JAR_PATH);
|
||||
t.traceEnd();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user