Commit Graph
2 Commits
Author SHA1 Message Date
Benjamin Temple 58f0676c0e Pebble: Fix Pebble [Core 2 Duo / Time 2 / 2 Round] BLE pairing
Changes:
- BondingUtil: Use PebbleHardware.isBleOnly() for accurate BLE detection
- PebbleIoThread: Detect BLE-only devices using hardware revision/model
- PebblePairingActivity: Use manufacturer data for device identification,
refresh device list on pairing complete
- PebbleGATTClient: Fixed connection handling when pairing with new
  pebble watches based on open source PebbleOS

New status and pairing codes which match PebbleOS implementation.
- ConnectivityStatus: BLE connectivity state enum
- PairingErrorCode: Pairing error codes for better debugging
2026-04-12 09:36:25 -07:00
Benjamin TempleandJosé Rebelo c595e69ef2 Pebble: Unify Pebble hardware definitions into PebbleHardware class
Create PebbleHardware.java as the single source of truth for all
Pebble hardware definitions and for determining what model and features
a watch has. The goal of this commit is to better unify the pebble watch
model definitions into a single source of truth to make adding new
models easier, as well as to bring all the relevant model specific logic
about what a watch is capable of, or which watch model to use into a
single file versus being spread out among multiple files making it
easier to fail to fix logic bugs.

The PebbleHardware class now has all the definitions for the following
information in one place:
- Platform enum with capabilities (BLE-only, hasHealth, hasHRM)
- Hardware revision registry mapping hardware IDs to codenames
- BLE-only device detection methods
- Platform name lookup for watchface installation

This cleans up PebbleUtils to only contain non-hardware utilities.
(maybe should move into the pebble directory away from the utils folder
in another commit?)
2026-04-07 00:22:44 +02:00