• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 23315022745
82%

Build:
DEFAULT BRANCH: main
Ran 19 Mar 2026 08:23PM UTC
Jobs 1
Files 71
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Mar 2026 08:17PM UTC coverage: 82.633% (+0.001%) from 82.632%
23315022745

push

github

web-flow
fix(android): initiate BLE LESC bonding before GATT writes (#318)

* fix(android): initiate BLE LESC bonding before GATT writes (#317)

The modem gates GATT writes on the \uthenticated\ flag, which is only
set after LESC Numeric Comparison pairing completes and the operator
confirms.  \BleHelper.java\ was not calling \createBond()\, so no
pairing occurred and writes were silently dropped.

Changes:

- \BleHelper.java\: add bonding step between GATT connect and MTU
  negotiation.  Register a \BroadcastReceiver\ for
  \ACTION_BOND_STATE_CHANGED\, call \device.createBond()\, and block
  until \BOND_BONDED\ (or timeout/failure).
- \ndroid_transport.rs\: bump \CONNECT_TIMEOUT_MS\ from 10 s to 30 s
  to allow time for operator Numeric Comparison confirmation.
- \le.rs\ (modem): add warning log when GATT writes are dropped due
  to unauthenticated state (previously silent).

Closes #317

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(android): remove stale bonds before LESC pairing

The modem does not persist bonds across reboots
(CONFIG_BT_NIMBLE_NVS_PERSIST=n).  If Android has a cached bond from a
previous session, \createBond()\ reuses the stale key, which causes an
\ncryption_change:key_missing\ failure.

Always remove existing bonds via reflection (\emoveBond()\) before
initiating a fresh LESC pairing.  Also changed the bonding step to run
unconditionally (not gated on \BOND_NONE\) since modem bonds are
always ephemeral.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(android): scan for all service UUIDs, not just gateway

DeviceScanner passes both GATEWAY_SERVICE_UUID and NODE_SERVICE_UUID,
but start_scan only forwarded the first UUID to BleHelper.  Call
startScan once per UUID so the Java ScanFilter set covers both
gateway and node advertisements.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(android): remove stale bond before GATT connect, not after

Stale b... (continued)

2 of 2 new or added lines in 1 file covered. (100.0%)

16525 of 19998 relevant lines covered (82.63%)

49.65 hits per line

Jobs
ID Job ID Ran Files Coverage
1 23315022745.1 19 Mar 2026 08:23PM UTC 71
82.63
GitHub Action Run
Source Files on build 23315022745
  • Tree
  • List 71
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23315022745
  • dd20ce15 on github
  • Prev Build on main (#23309406050)
  • Next Build on main (#23317020395)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc