summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoralk3pInjection <webmaster@raspii.tech>2022-08-05 20:43:06 +0800
committeralk3pInjection <webmaster@raspii.tech>2022-08-05 20:43:06 +0800
commita26f3e396f8ad721ad5df21703e53a38bb5203ce (patch)
tree81974ee8caf056bff16478a8a44dfdece73c0c2c /src
parenta830a3ea5ccdf7d99b0daea882fd81b278421f7c (diff)
parent29031f624fb2ec76efe8aafd706544726bc45dda (diff)
Merge tag 'LA.QSSI.12.0.r1-08300-qssi.0' into sugisawa-mr1HEADsugisawa-mr1
"LA.QSSI.12.0.r1-08300-qssi.0" Change-Id: Ie07fd42f1c418e603a0ade41e600befe8c66f207
Diffstat (limited to 'src')
-rw-r--r--src/com/android/bluetooth/apm/CallAudioIntf.java22
-rw-r--r--src/com/android/bluetooth/btservice/AdapterService.java1
-rw-r--r--src/com/android/bluetooth/btservice/BondStateMachine.java3
-rw-r--r--src/com/android/bluetooth/btservice/PhonePolicy.java7
4 files changed, 31 insertions, 2 deletions
diff --git a/src/com/android/bluetooth/apm/CallAudioIntf.java b/src/com/android/bluetooth/apm/CallAudioIntf.java
index caa6c9660..6904e2c28 100644
--- a/src/com/android/bluetooth/apm/CallAudioIntf.java
+++ b/src/com/android/bluetooth/apm/CallAudioIntf.java
@@ -118,6 +118,28 @@ public class CallAudioIntf {
return false;
}
+ public boolean autoConnect(BluetoothDevice device) {
+ if(CallAudio == null)
+ return false;
+
+ Class[] arg = new Class[1];
+ arg[0] = BluetoothDevice.class;
+
+ try {
+ Method autoConnect = CallAudio.getDeclaredMethod("autoConnect", arg);
+ Boolean ret = (Boolean)autoConnect.invoke(mCallAudio, device);
+ return ret;
+ } catch(IllegalAccessException e) {
+ Log.i(TAG, "Exception" + e);
+ } catch(NoSuchMethodException e) {
+ Log.i(TAG, "Exception" + e);
+ } catch(InvocationTargetException e) {
+ Log.i(TAG, "Exception" + e);
+ }
+
+ return false;
+ }
+
public boolean disconnect(BluetoothDevice device) {
if(CallAudio == null)
return false;
diff --git a/src/com/android/bluetooth/btservice/AdapterService.java b/src/com/android/bluetooth/btservice/AdapterService.java
index 451f4f415..ac43b9b65 100644
--- a/src/com/android/bluetooth/btservice/AdapterService.java
+++ b/src/com/android/bluetooth/btservice/AdapterService.java
@@ -1944,6 +1944,7 @@ public class AdapterService extends Service {
service, attributionSource, "AdapterService setDiscoverableTimeout")) {
return false;
}
+ enforceBluetoothPrivilegedPermission(service);
return service.mAdapterProperties.setDiscoverableTimeout(timeout);
}
diff --git a/src/com/android/bluetooth/btservice/BondStateMachine.java b/src/com/android/bluetooth/btservice/BondStateMachine.java
index 927040222..f10d32571 100644
--- a/src/com/android/bluetooth/btservice/BondStateMachine.java
+++ b/src/com/android/bluetooth/btservice/BondStateMachine.java
@@ -563,7 +563,8 @@ final class BondStateMachine extends StateMachine {
}
}
- if (newState == BluetoothDevice.BOND_BONDED ) {
+ if ((newState == BluetoothDevice.BOND_BONDED )
+ ||(newState == BluetoothDevice.BOND_NONE)){
mAdapterProperties.updateSdpProgress(device, true /* SDP Completed */);
}
Intent intent = new Intent(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
diff --git a/src/com/android/bluetooth/btservice/PhonePolicy.java b/src/com/android/bluetooth/btservice/PhonePolicy.java
index 73d40ed4a..c3ee05e1e 100644
--- a/src/com/android/bluetooth/btservice/PhonePolicy.java
+++ b/src/com/android/bluetooth/btservice/PhonePolicy.java
@@ -733,7 +733,12 @@ class PhonePolicy {
int headsetConnectionPolicy = hsService.getConnectionPolicy(device);
if (headsetConnectionPolicy == BluetoothProfile.CONNECTION_POLICY_ALLOWED) {
debugLog("autoConnectHeadset: Connecting HFP with " + device);
- hsService.connect(device);
+ if(ApmConstIntf.getLeAudioEnabled()) {
+ CallAudioIntf mCallAudio = CallAudioIntf.get();
+ mCallAudio.autoConnect(device);
+ } else {
+ hsService.connect(device);
+ }
} else {
debugLog("autoConnectHeadset: skipped auto-connect HFP with device " + device
+ " headsetConnectionPolicy " + headsetConnectionPolicy);