summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorwescande <wescande@google.com>2021-07-27 11:11:13 +0200
committerWilliam Escande <wescande@google.com>2021-09-07 13:20:48 +0000
commita3b5801cfb254ee1ea9b53156d3b7ff40caf8dd3 (patch)
tree408d00b57033cd94a22efbe4d8f9a76f8e2bdb4a /src
parent335424cfd102e4f9c0eeaaa4d6b0f8192af31ebb (diff)
downloadplatform_packages_apps_Bluetooth-a3b5801cfb254ee1ea9b53156d3b7ff40caf8dd3.tar.gz
platform_packages_apps_Bluetooth-a3b5801cfb254ee1ea9b53156d3b7ff40caf8dd3.tar.bz2
platform_packages_apps_Bluetooth-a3b5801cfb254ee1ea9b53156d3b7ff40caf8dd3.zip
Add more information for bond and acl state change
Report hci error to java. Report transport type to java. Add both information to log Test: Manual Bug: 193685554 Fix: 193685554 Tag: #feature Merged-In: If2bc8bc903c68b966ab49ccdeba80b55683e663d Change-Id: If2bc8bc903c68b966ab49ccdeba80b55683e663d
Diffstat (limited to 'src')
-rw-r--r--src/com/android/bluetooth/btservice/BondStateMachine.java4
-rw-r--r--src/com/android/bluetooth/btservice/JniCallbacks.java10
-rw-r--r--src/com/android/bluetooth/btservice/RemoteDevices.java14
3 files changed, 16 insertions, 12 deletions
diff --git a/src/com/android/bluetooth/btservice/BondStateMachine.java b/src/com/android/bluetooth/btservice/BondStateMachine.java
index ce599a086..30d2d0a4b 100644
--- a/src/com/android/bluetooth/btservice/BondStateMachine.java
+++ b/src/com/android/bluetooth/btservice/BondStateMachine.java
@@ -426,7 +426,7 @@ final class BondStateMachine extends StateMachine {
+ state2str(newState));
}
- void bondStateChangeCallback(int status, byte[] address, int newState) {
+ void bondStateChangeCallback(int status, byte[] address, int newState, int hciReason) {
BluetoothDevice device = mRemoteDevices.getDevice(address);
if (device == null) {
@@ -437,7 +437,7 @@ final class BondStateMachine extends StateMachine {
}
infoLog("bondStateChangeCallback: Status: " + status + " Address: " + device + " newState: "
- + newState);
+ + newState + " hciReason: " + hciReason);
Message msg = obtainMessage(BONDING_STATE_CHANGE);
msg.obj = device;
diff --git a/src/com/android/bluetooth/btservice/JniCallbacks.java b/src/com/android/bluetooth/btservice/JniCallbacks.java
index 231751ee2..f00353ad9 100644
--- a/src/com/android/bluetooth/btservice/JniCallbacks.java
+++ b/src/com/android/bluetooth/btservice/JniCallbacks.java
@@ -63,12 +63,14 @@ final class JniCallbacks {
mBondStateMachine.pinRequestCallback(address, name, cod, min16Digits);
}
- void bondStateChangeCallback(int status, byte[] address, int newState) {
- mBondStateMachine.bondStateChangeCallback(status, address, newState);
+ void bondStateChangeCallback(int status, byte[] address, int newState, int hciReason) {
+ mBondStateMachine.bondStateChangeCallback(status, address, newState, hciReason);
}
- void aclStateChangeCallback(int status, byte[] address, int newState, int hciReason) {
- mRemoteDevices.aclStateChangeCallback(status, address, newState, hciReason);
+ void aclStateChangeCallback(int status, byte[] address, int newState,
+ int transportLinkType, int hciReason) {
+ mRemoteDevices.aclStateChangeCallback(status, address, newState,
+ transportLinkType, hciReason);
}
void stateChangeCallback(int status) {
diff --git a/src/com/android/bluetooth/btservice/RemoteDevices.java b/src/com/android/bluetooth/btservice/RemoteDevices.java
index 3029ada67..2157fbc86 100644
--- a/src/com/android/bluetooth/btservice/RemoteDevices.java
+++ b/src/com/android/bluetooth/btservice/RemoteDevices.java
@@ -608,7 +608,8 @@ final class RemoteDevices {
}
}
- void aclStateChangeCallback(int status, byte[] address, int newState, int hciReason) {
+ void aclStateChangeCallback(int status, byte[] address, int newState,
+ int transportLinkType, int hciReason) {
BluetoothDevice device = getDevice(address);
if (device == null) {
@@ -649,7 +650,9 @@ final class RemoteDevices {
}
debugLog(
"aclStateChangeCallback: Adapter State: " + BluetoothAdapter.nameForState(state)
- + " Disconnected: " + device);
+ + " Disconnected: " + device
+ + " transportLinkType: " + transportLinkType
+ + " hciReason: " + hciReason);
}
int connectionState = newState == AbstractionLayer.BT_ACL_STATE_CONNECTED
@@ -663,10 +666,9 @@ final class RemoteDevices {
sAdapterService.obfuscateAddress(device), classOfDevice, metricId);
if (intent != null) {
- intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
- intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT
- | Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
- intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
+ intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device)
+ .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT)
+ .addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
sAdapterService.sendBroadcast(intent, sAdapterService.BLUETOOTH_PERM);
synchronized (sAdapterService.getBluetoothConnectionCallbacks()) {