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

Commit 55078ade authored by Marie Janssen's avatar Marie Janssen Committed by android-build-merger
Browse files

A2DP: Only unregister receiver if we registered

am: 44ba2305

Change-Id: I95f56a03a696ed2383f25f87f479025b4a6015db
parents 417883e9 44ba2305
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -48,7 +48,9 @@ public class A2dpService extends ProfileService {
    private A2dpStateMachine mStateMachine;
    private Avrcp mAvrcp;

    private BroadcastReceiver mConnectionStateChangedReceiver = new BroadcastReceiver() {
    private BroadcastReceiver mConnectionStateChangedReceiver = null;

    private class CodecSupportReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (!BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED.equals(intent.getAction())) {
@@ -108,9 +110,12 @@ public class A2dpService extends ProfileService {
        mAvrcp = Avrcp.make(this);
        mStateMachine = A2dpStateMachine.make(this, this);
        setA2dpService(this);
        if (mConnectionStateChangedReceiver == null) {
            IntentFilter filter = new IntentFilter();
            filter.addAction(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED);
            mConnectionStateChangedReceiver = new CodecSupportReceiver();
            registerReceiver(mConnectionStateChangedReceiver, filter);
        }
        return true;
    }

@@ -125,9 +130,13 @@ public class A2dpService extends ProfileService {
    }

    protected boolean cleanup() {
        if (mConnectionStateChangedReceiver != null) {
            unregisterReceiver(mConnectionStateChangedReceiver);
            mConnectionStateChangedReceiver = null;
        }
        if (mStateMachine != null) {
            mStateMachine.cleanup();
            mStateMachine = null;
        }
        if (mAvrcp != null) {
            mAvrcp.cleanup();