diff options
author | alk3pInjection <webmaster@raspii.tech> | 2022-08-05 20:43:06 +0800 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2022-08-05 20:43:06 +0800 |
commit | a26f3e396f8ad721ad5df21703e53a38bb5203ce (patch) | |
tree | 81974ee8caf056bff16478a8a44dfdece73c0c2c | |
parent | a830a3ea5ccdf7d99b0daea882fd81b278421f7c (diff) | |
parent | 29031f624fb2ec76efe8aafd706544726bc45dda (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
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); |