Merge "[DO NOT MERGE] Bluetooth support for Headless User"

This commit is contained in:
Ram Periathiruvadi
2019-03-12 16:36:19 +00:00
committed by Android (Google) Code Review

View File

@@ -18,15 +18,26 @@ package com.android.server;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.os.SystemProperties;
class BluetoothService extends SystemService {
private static final String HEADLESS_SYSTEM_USER = "android.car.systemuser.headless";
private BluetoothManagerService mBluetoothManagerService;
private boolean mInitialized = false;
public BluetoothService(Context context) {
super(context);
mBluetoothManagerService = new BluetoothManagerService(context);
}
private void initialize() {
if (!mInitialized) {
mBluetoothManagerService.handleOnBootPhase();
mInitialized = true;
}
}
@Override
public void onStart() {
}
@@ -36,13 +47,15 @@ class BluetoothService extends SystemService {
if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
publishBinderService(BluetoothAdapter.BLUETOOTH_MANAGER_SERVICE,
mBluetoothManagerService);
} else if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
mBluetoothManagerService.handleOnBootPhase();
} else if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY &&
!SystemProperties.getBoolean(HEADLESS_SYSTEM_USER, false)) {
initialize();
}
}
@Override
public void onSwitchUser(int userHandle) {
initialize();
mBluetoothManagerService.handleOnSwitchUser(userHandle);
}