diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-11-15 19:34:19 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-11-15 19:34:19 +0000 |
commit | ef4ebcd689e287c80729a9bf32340426c22a91c5 (patch) | |
tree | 1401f8eb68af1888e480d26865d9b36019ae7964 | |
parent | 43aa1d88d09fa3e4e574d49bee8d7620243dc86d (diff) | |
parent | 07a4becb45f7b15a0a5f48cf54bf79e71ac8c491 (diff) | |
download | Bluetooth-ef4ebcd689e287c80729a9bf32340426c22a91c5.tar.gz |
Merge "LeAudio: Remove redundant CSIP dependency"
-rw-r--r-- | src/com/android/bluetooth/le_audio/LeAudioService.java | 102 |
1 files changed, 1 insertions, 101 deletions
diff --git a/src/com/android/bluetooth/le_audio/LeAudioService.java b/src/com/android/bluetooth/le_audio/LeAudioService.java index 60f31f71e..77bc5595c 100644 --- a/src/com/android/bluetooth/le_audio/LeAudioService.java +++ b/src/com/android/bluetooth/le_audio/LeAudioService.java @@ -23,16 +23,12 @@ import static android.bluetooth.IBluetoothLeAudio.LE_AUDIO_GROUP_ID_INVALID; import android.annotation.RequiresPermission; import android.annotation.SuppressLint; import android.bluetooth.BluetoothDevice; -import android.bluetooth.BluetoothCsipSetCoordinator; import android.bluetooth.BluetoothLeAudio; import android.bluetooth.BluetoothProfile; import android.bluetooth.BluetoothUuid; -import android.bluetooth.BluetoothVolumeControl; -import android.bluetooth.IBluetoothCsipSetCoordinator; -import android.bluetooth.IBluetoothCsipSetCoordinatorCallback; import android.bluetooth.IBluetoothLeAudio; -import android.content.AttributionSource; import android.bluetooth.IBluetoothVolumeControl; +import android.content.AttributionSource; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -52,7 +48,6 @@ import com.android.bluetooth.btservice.AdapterService; import com.android.bluetooth.btservice.ProfileService; import com.android.bluetooth.btservice.ServiceFactory; import com.android.bluetooth.btservice.storage.DatabaseManager; -import com.android.bluetooth.csip.CsipSetCoordinatorService; import com.android.bluetooth.mcp.McpService; import com.android.bluetooth.vc.VolumeControlService; import com.android.internal.annotations.VisibleForTesting; @@ -117,7 +112,6 @@ public class LeAudioService extends ProfileService { private final Map<BluetoothDevice, LeAudioStateMachine> mStateMachines = new HashMap<>(); private final Map<BluetoothDevice, Integer> mDeviceGroupIdMap = new ConcurrentHashMap<>(); - private final Map<BluetoothDevice, Integer> mSetMemberAvailable = new ConcurrentHashMap<>(); private int mActiveDeviceGroupId = LE_AUDIO_GROUP_ID_INVALID; private final int mContextSupportingInputAudio = BluetoothLeAudio.CONTEXT_TYPE_COMMUNICATION | @@ -138,50 +132,6 @@ public class LeAudioService extends ProfileService { private BroadcastReceiver mBondStateChangedReceiver; private BroadcastReceiver mConnectionStateChangedReceiver; - class MyCsipSetCoordinatorCallbacks extends IBluetoothCsipSetCoordinatorCallback.Stub { - @Override - public void onCsisSetMemberAvailable(BluetoothDevice device, int groupId) { - synchronized (LeAudioService.this) { - LeAudioService.this.setMemberAvailable(device, groupId); - } - } - }; - - private volatile MyCsipSetCoordinatorCallbacks mCsipSetCoordinatorCallback = - new MyCsipSetCoordinatorCallbacks(); - private volatile IBluetoothCsipSetCoordinator mCsipSetCoordinatorProxy; - private final ServiceConnection mCsipSetCoordinatorProxyConnection = new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName className, IBinder service) { - if (DBG) { - Log.d(TAG, "CsisClientProxy connected"); - } - synchronized (LeAudioService.this) { - mCsipSetCoordinatorProxy = IBluetoothCsipSetCoordinator.Stub.asInterface(service); - CsipSetCoordinatorService mCsipSetCoordinatorService = - CsipSetCoordinatorService.getCsipSetCoordinatorService(); - if (mCsipSetCoordinatorService == null) { - Log.e(TAG, "CsisClientService is null on LeAudioService starts"); - return; - } - mCsipSetCoordinatorService.registerCsisMemberObserver( - LeAudioService.this.getMainExecutor(), - BluetoothUuid.CAP, - mCsipSetCoordinatorCallback); - } - } - - @Override - public void onServiceDisconnected(ComponentName className) { - if (DBG) { - Log.d(TAG, "CsisClientProxy disconnected"); - } - synchronized (LeAudioService.this) { - mCsipSetCoordinatorProxy = null; - } - } - }; - private volatile IBluetoothVolumeControl mVolumeControlProxy; VolumeControlService mVolumeControlService = null; private final ServiceConnection mVolumeControlProxyConnection = new ServiceConnection() { @@ -246,7 +196,6 @@ public class LeAudioService extends ProfileService { mStateMachinesThread.start(); mDeviceGroupIdMap.clear(); - mSetMemberAvailable.clear(); mGroupDescriptors.clear(); // Setup broadcast receivers @@ -259,8 +208,6 @@ public class LeAudioService extends ProfileService { mConnectionStateChangedReceiver = new ConnectionStateChangedReceiver(); registerReceiver(mConnectionStateChangedReceiver, filter); - /* Bind Csis Service */ - bindCsisClientService(); /* Bind Volume control service */ bindVolumeControlService(); @@ -318,7 +265,6 @@ public class LeAudioService extends ProfileService { } mDeviceGroupIdMap.clear(); - mSetMemberAvailable.clear(); mGroupDescriptors.clear(); if (mStateMachinesThread != null) { @@ -330,7 +276,6 @@ public class LeAudioService extends ProfileService { mAdapterService = null; mAudioManager = null; - unbindCsisClientService(); unbindVolumeControlService(); return true; } @@ -383,30 +328,6 @@ public class LeAudioService extends ProfileService { } } - private void bindCsisClientService() { - synchronized (mCsipSetCoordinatorProxyConnection) { - Intent intent = new Intent(IBluetoothCsipSetCoordinator.class.getName()); - ComponentName comp = intent.resolveSystemService(getPackageManager(), 0); - intent.setComponent(comp); - if (comp == null || !bindService(intent, mCsipSetCoordinatorProxyConnection, 0)) { - Log.wtf(TAG, "Could not bind to IBluetoothCsisClient Service with " + - intent); - } - } - } - private void unbindCsisClientService() { - synchronized (mCsipSetCoordinatorProxyConnection) { - if (mCsipSetCoordinatorProxy != null) { - if (DBG) { - Log.d(TAG, "Unbinding CsisClientProxyConnection"); - } - mCsipSetCoordinatorProxy = null; - // Synchronization should make sure unbind can be successful - unbindService(mCsipSetCoordinatorProxyConnection); - } - } - } - public boolean connect(BluetoothDevice device) { if (DBG) { Log.d(TAG, "connect(): " + device); @@ -1092,11 +1013,6 @@ public class LeAudioService extends ProfileService { return; } - /* Remove bonded set member from outstanding list */ - if (mSetMemberAvailable.containsKey(device)) { - mSetMemberAvailable.remove(device); - } - int groupId = getGroupId(device); if (groupId != LE_AUDIO_GROUP_ID_INVALID) { /* In case device is still in the group, let's remove it */ @@ -1234,22 +1150,6 @@ public class LeAudioService extends ProfileService { } } - synchronized void setMemberAvailable(BluetoothDevice device, int groupId) { - if (device == null) { - Log.e(TAG, "unexpected invocation. device=" + device); - return; - } - - if (mSetMemberAvailable.containsKey(device)) { - if (DBG) { - Log.d(TAG, "Device " + device + " is already notified- drop it"); - } - return; - } - - mSetMemberAvailable.put(device, groupId); - } - /** * Check whether can connect to a peer device. * The check considers a number of factors during the evaluation. |