summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2021-10-15 07:56:18 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-10-15 07:56:18 +0000
commit41e10b86d8406ad131b451268c78f88b229fd3ba (patch)
tree976740b9cb8a0c1f4b5632159dd1c33b31954b81
parentf2ab01c09eb817a0ce1dca9d8d1dabf831ec91d9 (diff)
parent423e648a822c17586b1a3b60fac9f653b8801d64 (diff)
Merge "Move set member pair handle from settingLib to setting"
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java28
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java22
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/bluetooth/CsipDeviceManager.java17
3 files changed, 17 insertions, 50 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
index 875030949fe8..cf57ebf6fadb 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
@@ -127,9 +127,6 @@ public class BluetoothEventManager {
addHandler(BluetoothDevice.ACTION_ACL_CONNECTED, new AclStateChangedHandler());
addHandler(BluetoothDevice.ACTION_ACL_DISCONNECTED, new AclStateChangedHandler());
- addHandler(BluetoothCsipSetCoordinator.ACTION_CSIS_SET_MEMBER_AVAILABLE,
- new SetMemberAvailableHandler());
-
registerAdapterIntentReceiver();
}
@@ -515,29 +512,4 @@ public class BluetoothEventManager {
dispatchAudioModeChanged();
}
}
-
- private class SetMemberAvailableHandler implements Handler {
- @Override
- public void onReceive(Context context, Intent intent, BluetoothDevice device) {
- final String action = intent.getAction();
- if (device == null) {
- Log.e(TAG, "SetMemberAvailableHandler: device is null");
- return;
- }
-
- if (action == null) {
- Log.e(TAG, "SetMemberAvailableHandler: action is null");
- return;
- }
-
- final int groupId = intent.getIntExtra(BluetoothCsipSetCoordinator.EXTRA_CSIS_GROUP_ID,
- BluetoothCsipSetCoordinator.GROUP_ID_INVALID);
- if (groupId == BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
- Log.e(TAG, "SetMemberAvailableHandler: Invalid group id");
- return;
- }
-
- mDeviceManager.onSetMemberAppear(device, groupId);
- }
- }
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
index 1f75ae329f4a..b429fe6d4939 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
@@ -340,22 +340,24 @@ public class CachedBluetoothDeviceManager {
/**
* Called when we found a set member of a group. The function will check the {@code groupId} if
- * it exists and if there is a ongoing pair, the device would be ignored.
+ * it exists and the bond state of the device is BOND_NOE, and if there isn't any ongoing pair
+ * , and then return {@code true} to pair the device automatically.
*
* @param device The found device
* @param groupId The group id of the found device
+ *
+ * @return {@code true}, if the device should pair automatically; Otherwise, return
+ * {@code false}.
*/
- public synchronized void onSetMemberAppear(BluetoothDevice device, int groupId) {
- Log.d(TAG, "onSetMemberAppear, groupId: " + groupId + " device: " + device.toString());
-
- if (mOngoingSetMemberPair != null) {
- Log.d(TAG, "Ongoing set memberPairing in process, drop it!");
- return;
+ public synchronized boolean shouldPairByCsip(BluetoothDevice device, int groupId) {
+ if (mOngoingSetMemberPair != null || device.getBondState() != BluetoothDevice.BOND_NONE
+ || !mCsipDeviceManager.isExistedGroupId(groupId)) {
+ return false;
}
- if (mCsipDeviceManager.onSetMemberAppear(device, groupId)) {
- mOngoingSetMemberPair = device;
- }
+ Log.d(TAG, "Bond " + device.getName() + " by CSIP");
+ mOngoingSetMemberPair = device;
+ return true;
}
/**
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CsipDeviceManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CsipDeviceManager.java
index 347e14b91656..1d29966838d3 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CsipDeviceManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CsipDeviceManager.java
@@ -240,22 +240,15 @@ public class CsipDeviceManager {
}
/**
- * Called when we found a set member of a group. The function will check bond state, and
- * the {@code groupId} if it exists, and then create the bond.
+ * Check if the {@code groupId} is existed.
*
- * @param device The found device
- * @param groupId The group id of the found device
+ * @param groupId The group id
*
- * @return {@code true}, if the we create bond with the device. Otherwise, return
- * {@code false}.
+ * @return {@code true}, if we could find a device with this {@code groupId}; Otherwise,
+ * return {@code false}.
*/
- public boolean onSetMemberAppear(BluetoothDevice device, int groupId) {
- if (device.getBondState() != BluetoothDevice.BOND_NONE) {
- return false;
- }
-
+ public boolean isExistedGroupId(int groupId) {
if (getCachedDevice(groupId) != null) {
- device.createBond(BluetoothDevice.TRANSPORT_LE);
return true;
}