Merge pull request #385 from google/gbg/android-enable-dle
request MTU change after connection
diff --git a/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capClient.kt b/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capClient.kt
index 228a741..4cf07d3 100644
--- a/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capClient.kt
+++ b/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capClient.kt
@@ -28,8 +28,8 @@
class L2capClient(
private val viewModel: AppViewModel,
- val bluetoothAdapter: BluetoothAdapter,
- val context: Context
+ private val bluetoothAdapter: BluetoothAdapter,
+ private val context: Context
) {
@SuppressLint("MissingPermission")
fun run() {
@@ -80,6 +80,10 @@
BluetoothDevice.PHY_OPTION_NO_PREFERRED
)
gatt.readPhy()
+
+ // Request an MTU update, even though we don't use GATT, because Android
+ // won't request a larger link layer maximum data length otherwise.
+ gatt.requestMtu(517)
}
}
},
diff --git a/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Model.kt b/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Model.kt
index 35ee8da..ed92abf 100644
--- a/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Model.kt
+++ b/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Model.kt
@@ -23,7 +23,7 @@
import androidx.lifecycle.ViewModel
import java.util.UUID
-val DEFAULT_RFCOMM_UUID = UUID.fromString("E6D55659-C8B4-4B85-96BB-B1143AF6D3AE")
+val DEFAULT_RFCOMM_UUID: UUID = UUID.fromString("E6D55659-C8B4-4B85-96BB-B1143AF6D3AE")
const val DEFAULT_PEER_BLUETOOTH_ADDRESS = "AA:BB:CC:DD:EE:FF"
const val DEFAULT_SENDER_PACKET_COUNT = 100
const val DEFAULT_SENDER_PACKET_SIZE = 1024
@@ -31,11 +31,11 @@
class AppViewModel : ViewModel() {
private var preferences: SharedPreferences? = null
var peerBluetoothAddress by mutableStateOf(DEFAULT_PEER_BLUETOOTH_ADDRESS)
- var l2capPsm by mutableStateOf(0)
+ var l2capPsm by mutableIntStateOf(0)
var use2mPhy by mutableStateOf(true)
- var mtu by mutableStateOf(0)
- var rxPhy by mutableStateOf(0)
- var txPhy by mutableStateOf(0)
+ var mtu by mutableIntStateOf(0)
+ var rxPhy by mutableIntStateOf(0)
+ var txPhy by mutableIntStateOf(0)
var senderPacketCountSlider by mutableFloatStateOf(0.0F)
var senderPacketSizeSlider by mutableFloatStateOf(0.0F)
var senderPacketCount by mutableIntStateOf(DEFAULT_SENDER_PACKET_COUNT)
@@ -79,18 +79,18 @@
}
fun updateSenderPacketCountSlider() {
- if (senderPacketCount <= 10) {
- senderPacketCountSlider = 0.0F
+ senderPacketCountSlider = if (senderPacketCount <= 10) {
+ 0.0F
} else if (senderPacketCount <= 50) {
- senderPacketCountSlider = 0.2F
+ 0.2F
} else if (senderPacketCount <= 100) {
- senderPacketCountSlider = 0.4F
+ 0.4F
} else if (senderPacketCount <= 500) {
- senderPacketCountSlider = 0.6F
+ 0.6F
} else if (senderPacketCount <= 1000) {
- senderPacketCountSlider = 0.8F
+ 0.8F
} else {
- senderPacketCountSlider = 1.0F
+ 1.0F
}
with(preferences!!.edit()) {
@@ -100,18 +100,18 @@
}
fun updateSenderPacketCount() {
- if (senderPacketCountSlider < 0.1F) {
- senderPacketCount = 10
+ senderPacketCount = if (senderPacketCountSlider < 0.1F) {
+ 10
} else if (senderPacketCountSlider < 0.3F) {
- senderPacketCount = 50
+ 50
} else if (senderPacketCountSlider < 0.5F) {
- senderPacketCount = 100
+ 100
} else if (senderPacketCountSlider < 0.7F) {
- senderPacketCount = 500
+ 500
} else if (senderPacketCountSlider < 0.9F) {
- senderPacketCount = 1000
+ 1000
} else {
- senderPacketCount = 10000
+ 10000
}
with(preferences!!.edit()) {
@@ -121,18 +121,18 @@
}
fun updateSenderPacketSizeSlider() {
- if (senderPacketSize <= 16) {
- senderPacketSizeSlider = 0.0F
+ senderPacketSizeSlider = if (senderPacketSize <= 16) {
+ 0.0F
} else if (senderPacketSize <= 256) {
- senderPacketSizeSlider = 0.02F
+ 0.02F
} else if (senderPacketSize <= 512) {
- senderPacketSizeSlider = 0.4F
+ 0.4F
} else if (senderPacketSize <= 1024) {
- senderPacketSizeSlider = 0.6F
+ 0.6F
} else if (senderPacketSize <= 2048) {
- senderPacketSizeSlider = 0.8F
+ 0.8F
} else {
- senderPacketSizeSlider = 1.0F
+ 1.0F
}
with(preferences!!.edit()) {
@@ -142,18 +142,18 @@
}
fun updateSenderPacketSize() {
- if (senderPacketSizeSlider < 0.1F) {
- senderPacketSize = 16
+ senderPacketSize = if (senderPacketSizeSlider < 0.1F) {
+ 16
} else if (senderPacketSizeSlider < 0.3F) {
- senderPacketSize = 256
+ 256
} else if (senderPacketSizeSlider < 0.5F) {
- senderPacketSize = 512
+ 512
} else if (senderPacketSizeSlider < 0.7F) {
- senderPacketSize = 1024
+ 1024
} else if (senderPacketSizeSlider < 0.9F) {
- senderPacketSize = 2048
+ 2048
} else {
- senderPacketSize = 4096
+ 4096
}
with(preferences!!.edit()) {