A Wear OS watch face for Galaxy Watch Ultra displaying real-time data from Claude AI, Minecraft, and Rust game servers — with battery, date, and time.
- Claude AI Usage Bars — Session (S) and Weekly (W) usage meters pulled live from the Claude API
- Minecraft Player Count — Live query to your Java server via the Server List Ping (SLP) protocol
- Rust Player Count — Live query via Steam A2S protocol with challenge-response support
- Battery — Native WFF
BATTERY_PERCENTdata source with animated green fill bar - Time Format Toggle — Switch between 12h (AM/PM) and 24h via the watch face customization screen
- Date — Month and day display
- Ambient Mode — All elements hidden in ambient for battery efficiency
Three Android modules:
| Module | Package | Target | Purpose |
|---|---|---|---|
watchface |
com.damon1974.infowatchface.face |
Watch | WFF XML watch face |
wear |
com.damon1974.infowatchface |
Watch | Complication services + Data Layer receiver |
phone |
com.damon1974.infowatchface |
Phone | Claude/MC/Rust polling + Data Layer sender |
Note:
phoneandwearshare the sameapplicationId— this is required for the Wearable Data Layer API to work.
Claude API ──┐
MC Server ──┼──► Phone App (PollWorker) ──► Data Layer ──► DataLayerListenerService
Rust Server ─┘ │
├──► SessionComplicationService
├──► WeeklyComplicationService
├──► McComplicationService
└──► RustComplicationService
│
watchface.xml (WFF)
- Android Studio
- Galaxy Watch Ultra (or Wear OS 4+ device)
- Samsung Galaxy phone paired via Galaxy Wearable app
- Claude.ai account (Pro or Team)
- Deploy the
phonemodule to your phone - Open the app and tap Login — log in to claude.ai in the WebView
- Tap Refresh Now to push data to the watch
- Deploy the
wearmodule to the watch - Deploy the
watchfacemodule to the watch - Select Info Watch Face from the watch face picker
- The S/W Claude bars and Minecraft/Rust counts auto-bind — no manual complication assignment needed
Edit these constants in the phone module to point to your servers:
| File | Constant | Default |
|---|---|---|
PollWorker.kt |
Minecraft host | mcj.thehackpig.com:25565 |
PollWorker.kt |
Rust host/port | rust.thehackpig.com:28017 |
- Claude API — HTTPS to
claude.ai/apiusing session cookie from WebView login - Minecraft — TCP Server List Ping (SLP) protocol on port 25565
- Rust — UDP Steam A2S_INFO with Valve challenge-response on query port
git pushvia WSL hangs silently — push from Windows terminal- Watch ADB reconnect: run
.\connect-watch.ps1 - After changing
applicationId, uninstall both packages before redeploying - WFF
BATTERY_PERCENTis a native integer data source (0-100), no complication needed - Samsung Wear OS only serves
SHORT_TEXTforWATCH_BATTERYsystem provider, notRANGED_VALUE
MIT
