Skip to content
Closed
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
26 changes: 25 additions & 1 deletion .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,33 @@ jobs:
cmake --build build/windows-tests
ctest --test-dir build/windows-tests --output-on-failure

pana:
pigeon:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable

- name: Install dependencies
run: flutter pub get

# Keeps the committed Pigeon outputs in lockstep with the pinned
# `pigeon` version. Without this, the constraint and the generated
# Kotlin/Swift/C++/Dart can drift (see the Pigeon 29 migration).
- name: Regenerate Pigeon outputs
run: |
dart run pigeon --input pigeon/universal_ble.dart
dart format lib/src/universal_ble.g.dart

- name: Fail if generated code is out of date
run: git diff --exit-code

pana:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 3.1.1
* Bump `bluez` to `^0.9.0`.
* Bump the `pigeon` dev dependency to `^29.0.0`.
* Regenerate the platform channels with Pigeon `^29.0.0` (up from 26.3.4). The generated Kotlin and Swift channels are now coroutine/`async` based, so the Android module depends on `kotlinx-coroutines-android` and the native central/peripheral plugins were adapted to the new interfaces. No change to the public Dart API.

## 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
4 changes: 4 additions & 0 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@ android {
}

dependencies {
// Required by the Pigeon-generated code (Dispatchers.Main) and the suspend
// bridges in the plugin implementation.
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1'
testImplementation 'org.jetbrains.kotlin:kotlin-test'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.1'
testImplementation 'org.mockito:mockito-core:5.12.0'
}

Expand Down
Loading
Loading