Skip to content

C1.5: Build the Android companion BLE and durable-sync foundation #39

Description

@Tinnci

Goal

Create a real minimal Android companion that associates, connects and runs the shared protocol durably.

Scope

Modern Gradle/Kotlin project, Companion Device Manager association, appropriate CompanionDeviceService/presence lifecycle, permissions, GATT client, protocol transport, durable queue/cursors, minimal status/config/diagnostic UI and Kotlin golden vectors.

Non-goals

Large UI, fixed periodic scanning, broad notification mirror, cloud account framework or simulated-only companion.

Dependencies

Depends on #31 and #32.

Acceptance criteria

  • Clean Android build and JVM tests succeed with the pinned local toolchain.
  • Kotlin agrees with all C++ golden vectors.
  • Association, reconnect and process restart state machines are explicit.
  • Permissions and background behavior follow supported Android APIs.
  • Durable state is persisted before ACK ownership is reported.

Automated evidence

JVM unit tests cover codec, queue, lifecycle state, duplicate and reconnect. Instrumentation tests run where an Android target permits.

Hardware evidence

A real Android device must pair, reconnect, survive process/background scenarios and exchange durable state before closure.

Closure condition

Keep open until both automated evidence and available real-device evidence are attached.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:androidAndroid companion applicationarea:connectivityConnectivity protocol, sync, policy and firmware linksarea:securityPairing, authorization and secret handling

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions