Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## 3.1.1
* Bump `bluez` to `^0.9.0`.
* Bump the `pigeon` dev dependency to `^29.0.0`.
* Regenerate the Pigeon bindings with Pigeon 29. The async platform channels now use `@asyncCallback`, so the existing callback-based native implementations (Swift completion handlers, Kotlin callbacks) are kept as-is rather than migrated to native `async`/`suspend`. No public API change.

## 3.1.0
* `BleDevice.services` is now normalised to full 128-bit lower-case UUIDs on every platform, matching the keys of `BleDevice.serviceData`. Apple was the outlier: it reported 16-bit advertised service UUIDs in their short form (`180D`), so the same field had a different shape per platform and stored keys or comparisons did not transfer between them. Compare against, or store, the 128-bit form; short (`180D`) and `0x`-prefixed forms are still accepted as *input*. Entries that are not valid UUIDs are kept verbatim rather than dropped.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Autogenerated from Pigeon (v26.3.4), do not edit directly.
// Autogenerated from Pigeon (v29.0.10), do not edit directly.
// See also: https://pub.dev/packages/pigeon
@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass")

Expand Down Expand Up @@ -548,6 +548,9 @@ data class UniversalBleScanResult (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.connectable)
return result
}
override fun toString(): String {
return "UniversalBleScanResult(deviceId=$deviceId, name=$name, isPaired=$isPaired, rssi=$rssi, manufacturerDataList=$manufacturerDataList, serviceData=$serviceData, services=$services, timestamp=$timestamp, timestampMicroseconds=$timestampMicroseconds, connectable=$connectable)"
}
}

/**
Expand Down Expand Up @@ -592,6 +595,9 @@ data class UniversalDevicePickerResult (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.name)
return result
}
override fun toString(): String {
return "UniversalDevicePickerResult(deviceId=$deviceId, name=$name)"
}
}

/**
Expand Down Expand Up @@ -634,6 +640,9 @@ data class UniversalBleService (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.characteristics)
return result
}
override fun toString(): String {
return "UniversalBleService(uuid=$uuid, characteristics=$characteristics)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -676,6 +685,9 @@ data class UniversalBleCharacteristic (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.descriptors)
return result
}
override fun toString(): String {
return "UniversalBleCharacteristic(uuid=$uuid, properties=$properties, descriptors=$descriptors)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -710,6 +722,9 @@ data class UniversalBleDescriptor (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.uuid)
return result
}
override fun toString(): String {
return "UniversalBleDescriptor(uuid=$uuid)"
}
}

/**
Expand Down Expand Up @@ -767,6 +782,9 @@ data class BleConnectionParametersChange (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.status)
return result
}
override fun toString(): String {
return "BleConnectionParametersChange(deviceId=$deviceId, interval=$interval, latency=$latency, supervisionTimeout=$supervisionTimeout, status=$status)"
}
}

/**
Expand Down Expand Up @@ -855,6 +873,9 @@ data class AndroidOptions (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.legacy)
return result
}
override fun toString(): String {
return "AndroidOptions(requestLocationPermission=$requestLocationPermission, scanMode=$scanMode, reportDelayMillis=$reportDelayMillis, callbackType=$callbackType, matchMode=$matchMode, numOfMatches=$numOfMatches, legacy=$legacy)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -899,6 +920,9 @@ data class UniversalScanConfig (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.skipDuplicates)
return result
}
override fun toString(): String {
return "UniversalScanConfig(android=$android, skipDuplicates=$skipDuplicates)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -950,6 +974,9 @@ data class UniversalScanFilter (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.withServiceData)
return result
}
override fun toString(): String {
return "UniversalScanFilter(withServices=$withServices, withNamePrefix=$withNamePrefix, withManufacturerData=$withManufacturerData, withServiceData=$withServiceData)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -999,6 +1026,9 @@ data class ManufacturerDataFilter (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.payloadMask)
return result
}
override fun toString(): String {
return "ManufacturerDataFilter(companyIdentifier=$companyIdentifier, payloadPrefix=${payloadPrefix?.contentToString()}, payloadMask=${payloadMask?.contentToString()})"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1037,6 +1067,9 @@ data class UniversalManufacturerData (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.data)
return result
}
override fun toString(): String {
return "UniversalManufacturerData(companyIdentifier=$companyIdentifier, data=${data.contentToString()})"
}
}

/**
Expand Down Expand Up @@ -1107,6 +1140,9 @@ data class AppleConnectionOptions (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.notifyOnNotification)
return result
}
override fun toString(): String {
return "AppleConnectionOptions(notifyOnConnection=$notifyOnConnection, notifyOnDisconnection=$notifyOnDisconnection, notifyOnNotification=$notifyOnNotification)"
}
}

/**
Expand Down Expand Up @@ -1172,6 +1208,9 @@ data class AppleAccessoryPickerItem (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.supportsBluetoothPairing)
return result
}
override fun toString(): String {
return "AppleAccessoryPickerItem(displayName=$displayName, imageAsset=$imageAsset, serviceUuid=$serviceUuid, nameSubstring=$nameSubstring, requiresImmediateRange=$requiresImmediateRange, supportsBluetoothPairing=$supportsBluetoothPairing)"
}
}

/**
Expand Down Expand Up @@ -1212,6 +1251,9 @@ data class AppleAccessorySetupOptions (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.items)
return result
}
override fun toString(): String {
return "AppleAccessorySetupOptions(items=$items)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1255,6 +1297,9 @@ data class AndroidConnectionOptions (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.closeGattOnDetach)
return result
}
override fun toString(): String {
return "AndroidConnectionOptions(closeGattOnDetach=$closeGattOnDetach)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1293,6 +1338,9 @@ data class ConnectionPlatformConfig (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.android)
return result
}
override fun toString(): String {
return "ConnectionPlatformConfig(apple=$apple, android=$android)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1335,6 +1383,9 @@ data class AndroidDiscoverServicesOptions (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.clearGattCache)
return result
}
override fun toString(): String {
return "AndroidDiscoverServicesOptions(clearGattCache=$clearGattCache)"
}
}

/**
Expand Down Expand Up @@ -1374,6 +1425,9 @@ data class DiscoverServicesPlatformConfig (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.android)
return result
}
override fun toString(): String {
return "DiscoverServicesPlatformConfig(android=$android)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1420,6 +1474,9 @@ data class PeripheralAndroidOptions (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.addServicesInScanResponse)
return result
}
override fun toString(): String {
return "PeripheralAndroidOptions(addManufacturerDataInScanResponse=$addManufacturerDataInScanResponse, addServicesInScanResponse=$addServicesInScanResponse)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1454,6 +1511,9 @@ data class PeripheralPlatformConfig (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.android)
return result
}
override fun toString(): String {
return "PeripheralPlatformConfig(android=$android)"
}
}

/**
Expand Down Expand Up @@ -1500,6 +1560,9 @@ data class PeripheralService (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.characteristics)
return result
}
override fun toString(): String {
return "PeripheralService(uuid=$uuid, primary=$primary, characteristics=$characteristics)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1550,6 +1613,9 @@ data class PeripheralCharacteristic (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.value)
return result
}
override fun toString(): String {
return "PeripheralCharacteristic(uuid=$uuid, properties=$properties, permissions=$permissions, descriptors=$descriptors, value=${value?.contentToString()})"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1592,6 +1658,9 @@ data class PeripheralDescriptor (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.permissions)
return result
}
override fun toString(): String {
return "PeripheralDescriptor(uuid=$uuid, value=${value?.contentToString()}, permissions=$permissions)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1634,6 +1703,9 @@ data class PeripheralReadRequestResult (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.status)
return result
}
override fun toString(): String {
return "PeripheralReadRequestResult(value=${value.contentToString()}, offset=$offset, status=$status)"
}
}

/** Generated class from Pigeon that represents data sent in messages. */
Expand Down Expand Up @@ -1676,6 +1748,9 @@ data class PeripheralWriteRequestResult (
result = 31 * result + UniversalBlePigeonUtils.deepHash(this.status)
return result
}
override fun toString(): String {
return "PeripheralWriteRequestResult(value=${value?.contentToString()}, offset=$offset, status=$status)"
}
}
private open class UniversalBlePigeonCodec : StandardMessageCodec() {
override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? {
Expand Down Expand Up @@ -2054,6 +2129,11 @@ private open class UniversalBlePigeonCodec : StandardMessageCodec() {
/**
* APIs (Flutter -> Native / Native -> Flutter)
* ------------------------------------------------------------
*
* Async methods use [asyncCallback] instead of the Pigeon >= 28 default
* (`async` / `suspend`): the native implementations are callback-based
* (Swift completion handlers, Kotlin callbacks), and [asyncCallback] keeps
* those signatures rather than forcing a rewrite to native async/await.
* Flutter -> Native (central)
*
* Generated interface from Pigeon that represents a handler of messages from Flutter.
Expand Down
Loading
Loading