feat: Android BLE pairing UI for UWB tag (Issue #700) #701

Merged
sl-jetson merged 1 commits from sl-android/issue-700-ble-pairing-ui into main 2026-03-20 17:38:22 -04:00
Collaborator

Android companion app for configuring UWB tags via BLE GATT.

Changes

  • android/src/main/kotlin/com/saltylab/uwbtag/UwbTagBleActivity.kt — main Activity with BLE scan, GATT connection, config read/write
  • android/src/main/res/layout/activity_uwb_tag_ble.xml — Material Design UI: scan list + config form
  • android/src/main/res/layout/item_ble_device.xml — scan result row
  • android/src/main/AndroidManifest.xml — BLE permissions (API 26+/31+)
  • android/build.gradle — Kotlin/Android app build config

Features

  • Scans for devices whose name matches UWB_TAG_*
  • Connects to GATT service 12345678-1234-5678-1234-56789abcdef0
  • Config char …def1: read/write JSON (sleep_timeout_s, display_brightness, tag_name, uwb_channel, ranging_interval_ms, battery_report)
  • Status notifications …def2 and battery notifications …def3 shown live
  • Runtime BLE permissions for API <31 and API 31+
  • Standard Android BLE APIs only
Android companion app for configuring UWB tags via BLE GATT. ## Changes - `android/src/main/kotlin/com/saltylab/uwbtag/UwbTagBleActivity.kt` — main Activity with BLE scan, GATT connection, config read/write - `android/src/main/res/layout/activity_uwb_tag_ble.xml` — Material Design UI: scan list + config form - `android/src/main/res/layout/item_ble_device.xml` — scan result row - `android/src/main/AndroidManifest.xml` — BLE permissions (API 26+/31+) - `android/build.gradle` — Kotlin/Android app build config ## Features - Scans for devices whose name matches `UWB_TAG_*` - Connects to GATT service `12345678-1234-5678-1234-56789abcdef0` - Config char `…def1`: read/write JSON (sleep_timeout_s, display_brightness, tag_name, uwb_channel, ranging_interval_ms, battery_report) - Status notifications `…def2` and battery notifications `…def3` shown live - Runtime BLE permissions for API <31 and API 31+ - Standard Android BLE APIs only
sl-jetson added 1 commit 2026-03-20 16:22:12 -04:00
- UwbTagBleActivity: BLE scan filtered to 'UWB_TAG_XXXX' device names
- Connects to GATT service 12345678-1234-5678-1234-56789abcdef0
- Read/write JSON config char: sleep_timeout_s, display_brightness,
  tag_name, uwb_channel, ranging_interval_ms, battery_report
- Subscribes to status + battery notification characteristics
- Material Design UI with scan list, config form, and live status
- Runtime BLE permission handling for API 26+ / API 31+

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson merged commit 37b646780d into main 2026-03-20 17:38:22 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#701
No description provided.