Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e02e78e authored by William Escande's avatar William Escande
Browse files

AdapterService: Add a constructor with a TestLooper parameter

Bug: 292141273
Bug: 291815510
Test: atest AdapterServiceTest
Test: atest AdapterServiceRestartTest
Test: atest AdapterServiceFactoryResetTest
Change-Id: I750fd66a78995becfdad3e02f57a92f89845f24a
parent 8679684c
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -271,6 +271,14 @@ public class AdapterService extends Service {

    private static AdapterService sAdapterService;

    // Keep a constructor for ActivityThread.handleCreateService
    AdapterService() {}

    @VisibleForTesting
    AdapterService(Looper looper) {
        mLooper = looper;
    }

    public static synchronized AdapterService getAdapterService() {
        return sAdapterService;
    }
@@ -419,6 +427,10 @@ public class AdapterService extends Service {
    private static final int MESSAGE_ON_PROFILE_SERVICE_UNBIND = 6;

    class AdapterServiceHandler extends Handler {
        AdapterServiceHandler(Looper looper) {
            super(looper);
        }

        @Override
        public void handleMessage(Message msg) {
            verboseLog("handleMessage() - Message: " + msg.what);
@@ -554,7 +566,8 @@ public class AdapterService extends Service {
        }
    }

    private final AdapterServiceHandler mHandler = new AdapterServiceHandler();
    private Looper mLooper;
    private AdapterServiceHandler mHandler;

    /**
     * Stores information about requests made to the audio framework arising from calls to {@link
@@ -598,16 +611,20 @@ public class AdapterService extends Service {
            })
    public void onCreate() {
        super.onCreate();
        if (mLooper == null) {
            mLooper = Looper.getMainLooper();
        }
        mHandler = new AdapterServiceHandler(mLooper);
        initMetricsLogger();
        debugLog("onCreate()");
        mDeviceConfigListener.start();
        mRemoteDevices = new RemoteDevices(this, Looper.getMainLooper());
        mRemoteDevices = new RemoteDevices(this, mLooper);
        mRemoteDevices.init();
        clearDiscoveringPackages();
        mBinder = new AdapterServiceBinder(this);
        mAdapter = BluetoothAdapter.getDefaultAdapter();
        mAdapterProperties = new AdapterProperties(this);
        mAdapterStateMachine = AdapterState.make(this);
        mAdapterStateMachine = new AdapterState(this, mLooper);
        mJniCallbacks = new JniCallbacks(this, mAdapterProperties);
        mBluetoothKeystoreService = new BluetoothKeystoreService(isCommonCriteriaMode());
        mBluetoothKeystoreService.start();
@@ -684,8 +701,7 @@ public class AdapterService extends Service {
        mActiveDeviceManager = new ActiveDeviceManager(this, new ServiceFactory());
        mActiveDeviceManager.start();

        mSilenceDeviceManager =
                new SilenceDeviceManager(this, new ServiceFactory(), Looper.getMainLooper());
        mSilenceDeviceManager = new SilenceDeviceManager(this, new ServiceFactory(), mLooper);
        mSilenceDeviceManager.start();

        mBtCompanionManager = new CompanionManager(this, new ServiceFactory());
+4 −9
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.bluetooth.btservice;

import android.bluetooth.BluetoothAdapter;
import android.os.Looper;
import android.os.Message;
import android.os.SystemProperties;
import android.util.Log;
@@ -92,8 +93,8 @@ final class AdapterState extends StateMachine {

    private int mPrevState = BluetoothAdapter.STATE_OFF;

    private AdapterState(AdapterService service) {
        super(TAG);
    AdapterState(AdapterService service, Looper looper) {
        super(TAG, looper);
        addState(mOnState);
        addState(mBleOnState);
        addState(mOffState);
@@ -103,6 +104,7 @@ final class AdapterState extends StateMachine {
        addState(mTurningBleOffState);
        mAdapterService = service;
        setInitialState(mOffState);
        start();
    }

    private String messageString(int message) {
@@ -123,13 +125,6 @@ final class AdapterState extends StateMachine {
        }
    }

    public static AdapterState make(AdapterService service) {
        Log.d(TAG, "make() - Creating AdapterState");
        AdapterState as = new AdapterState(service);
        as.start();
        return as;
    }

    public void doQuit() {
        quitNow();
    }