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

Commit eff76998 authored by Myles Watson's avatar Myles Watson
Browse files

HeadsetClient: Return from stop() if not started

Bug: 73827720
Test: runtest bluetooth \
        -c com.android.bluetooth.btservice.ProfileServiceTest

Change-Id: I1956ba55f48a7dda99a04e556c37cbb4833ba1fd
parent 754d4799
Loading
Loading
Loading
Loading
+9 −17
Original line number Original line Diff line number Diff line
@@ -86,12 +86,8 @@ public class HeadsetClientService extends ProfileService {
        mStateMachineMap.clear();
        mStateMachineMap.clear();


        IntentFilter filter = new IntentFilter(AudioManager.VOLUME_CHANGED_ACTION);
        IntentFilter filter = new IntentFilter(AudioManager.VOLUME_CHANGED_ACTION);
        try {
        registerReceiver(mBroadcastReceiver, filter);
        registerReceiver(mBroadcastReceiver, filter);
        } catch (Exception e) {

            Log.w(TAG, "Unable to register broadcat receiver", e);
        }
        setHeadsetClientService(this);
        mNativeInterface = new NativeInterface();
        mNativeInterface = new NativeInterface();


        // Start the HfpClientConnectionService to create connection with telecom when HFP
        // Start the HfpClientConnectionService to create connection with telecom when HFP
@@ -103,16 +99,19 @@ public class HeadsetClientService extends ProfileService {
        mSmThread = new HandlerThread("HeadsetClient.SM");
        mSmThread = new HandlerThread("HeadsetClient.SM");
        mSmThread.start();
        mSmThread.start();


        setHeadsetClientService(this);
        return true;
        return true;
    }
    }


    @Override
    @Override
    protected synchronized boolean stop() {
    protected synchronized boolean stop() {
        try {
        if (sHeadsetClientService == null) {
            unregisterReceiver(mBroadcastReceiver);
            Log.w(TAG, "stop() called without start()");
        } catch (Exception e) {
            return false;
            Log.w(TAG, "Unable to unregister broadcast receiver", e);
        }
        }
        setHeadsetClientService(null);

        unregisterReceiver(mBroadcastReceiver);


        for (Iterator<Map.Entry<BluetoothDevice, HeadsetClientStateMachine>> it =
        for (Iterator<Map.Entry<BluetoothDevice, HeadsetClientStateMachine>> it =
                mStateMachineMap.entrySet().iterator(); it.hasNext(); ) {
                mStateMachineMap.entrySet().iterator(); it.hasNext(); ) {
@@ -137,13 +136,6 @@ public class HeadsetClientService extends ProfileService {
        return true;
        return true;
    }
    }


    @Override
    protected void cleanup() {
        HeadsetClientStateMachine.cleanup();
        // TODO(b/72948646): should be moved to stop()
        setHeadsetClientService(null);
    }

    private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
    private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        @Override
        public void onReceive(Context context, Intent intent) {
        public void onReceive(Context context, Intent intent) {
+0 −3
Original line number Original line Diff line number Diff line
@@ -758,9 +758,6 @@ public class HeadsetClientStateMachine extends StateMachine {
        quitNow();
        quitNow();
    }
    }


    public static void cleanup() {
    }

    static int hfToAmVol(int hfVol) {
    static int hfToAmVol(int hfVol) {
        int amRange = sMaxAmVcVol - sMinAmVcVol;
        int amRange = sMaxAmVcVol - sMinAmVcVol;
        int hfRange = MAX_HFP_SCO_VOICE_CALL_VOLUME - MIN_HFP_SCO_VOICE_CALL_VOLUME;
        int hfRange = MAX_HFP_SCO_VOICE_CALL_VOLUME - MIN_HFP_SCO_VOICE_CALL_VOLUME;