mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-04-02 19:29:02 +00:00
add A16QPR3 constructor for ATT
i really need to clean this up
This commit is contained in:
@@ -2419,7 +2419,7 @@ class AirPodsService : Service(), SharedPreferences.OnSharedPreferenceChangeList
|
|||||||
|
|
||||||
BluetoothConnectionManager.setCurrentConnection(socket, device)
|
BluetoothConnectionManager.setCurrentConnection(socket, device)
|
||||||
|
|
||||||
attManager = ATTManager(device)
|
attManager = ATTManager(adapter, device)
|
||||||
attManager!!.connect()
|
attManager!!.connect()
|
||||||
|
|
||||||
// Create AirPodsInstance from stored config if available
|
// Create AirPodsInstance from stored config if available
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
package me.kavishdevar.librepods.utils
|
package me.kavishdevar.librepods.utils
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.bluetooth.BluetoothAdapter
|
||||||
import android.bluetooth.BluetoothDevice
|
import android.bluetooth.BluetoothDevice
|
||||||
import android.bluetooth.BluetoothSocket
|
import android.bluetooth.BluetoothSocket
|
||||||
import android.os.ParcelUuid
|
import android.os.ParcelUuid
|
||||||
@@ -49,7 +50,7 @@ enum class ATTCCCDHandles(val value: Int) {
|
|||||||
HEARING_AID(ATTHandles.HEARING_AID.value + 1),
|
HEARING_AID(ATTHandles.HEARING_AID.value + 1),
|
||||||
}
|
}
|
||||||
|
|
||||||
class ATTManager(private val device: BluetoothDevice) {
|
class ATTManager(private val adapter: BluetoothAdapter, private val device: BluetoothDevice) {
|
||||||
companion object {
|
companion object {
|
||||||
private const val TAG = "ATTManager"
|
private const val TAG = "ATTManager"
|
||||||
|
|
||||||
@@ -72,7 +73,7 @@ class ATTManager(private val device: BluetoothDevice) {
|
|||||||
HiddenApiBypass.addHiddenApiExemptions("Landroid/bluetooth/BluetoothSocket;")
|
HiddenApiBypass.addHiddenApiExemptions("Landroid/bluetooth/BluetoothSocket;")
|
||||||
val uuid = ParcelUuid.fromString("00000000-0000-0000-0000-000000000000")
|
val uuid = ParcelUuid.fromString("00000000-0000-0000-0000-000000000000")
|
||||||
|
|
||||||
socket = createBluetoothSocket(device, uuid)
|
socket = createBluetoothSocket(adapter, device, uuid)
|
||||||
socket!!.connect()
|
socket!!.connect()
|
||||||
input = socket!!.inputStream
|
input = socket!!.inputStream
|
||||||
output = socket!!.outputStream
|
output = socket!!.outputStream
|
||||||
@@ -195,9 +196,10 @@ class ATTManager(private val device: BluetoothDevice) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createBluetoothSocket(device: BluetoothDevice, uuid: ParcelUuid): BluetoothSocket {
|
private fun createBluetoothSocket(adapter: BluetoothAdapter, device: BluetoothDevice, uuid: ParcelUuid): BluetoothSocket {
|
||||||
val type = 3 // L2CAP
|
val type = 3 // L2CAP
|
||||||
val constructorSpecs = listOf(
|
val constructorSpecs = listOf(
|
||||||
|
arrayOf(adapter, device, type, true, 31, uuid),
|
||||||
arrayOf(device, type, true, true, 31, uuid),
|
arrayOf(device, type, true, true, 31, uuid),
|
||||||
arrayOf(device, type, 1, true, true, 31, uuid),
|
arrayOf(device, type, 1, true, true, 31, uuid),
|
||||||
arrayOf(type, 1, true, true, device, 31, uuid),
|
arrayOf(type, 1, true, true, device, 31, uuid),
|
||||||
|
|||||||
Reference in New Issue
Block a user