Skip to content

Wear OS manual qa checklist

this checklist is run before declaring a Wear OS milestone complete. it covers emulator validation plus one real watch where possible.

build and static checks

  • [ ] flutter analyze is green.
  • [ ] flutter test is green.
  • [ ] flutter build linux is green.
  • [ ] flutter clean then flutter build apk --flavor wear -t lib/main_wear.dart produces a release APK.
  • [ ] the wear APK installs on a Wear OS emulator (API 30+) and on a physical watch if one is available.

home and navigation

  • [ ] the watch home screen lists easy mode, meditations, insights, and settings (recitation is reached through easy mode or a meditation).
  • [ ] rotary crown / bezel scrolling works on lists.
  • [ ] tapping an entry opens the correct screen.
  • [ ] the system back gesture returns to the home screen.

ambient / aod

  • [ ] AOD is only active when the watch's Always-on display setting is on.
  • [ ] with AOD on, the app stays visible and dims in ambient mode.
  • [ ] an OngoingActivity chip appears on the watch face (on supported watch faces) and tapping it returns to the app.
  • [ ] the app is auto-resumed on wake from ambient mode.

sync

  • [ ] the watch settings screen shows the paired-phone connection status.
  • [ ] manual sync now starts a Data Layer sync and updates the last-sync time.
  • [ ] a meditation toggled for sync to watch appears on the watch list after a sync.
  • [ ] a session started on the watch reaches the phone's history after the next sync or app open.
  • [ ] a session started on the phone reaches the watch's insights after the next sync or app open.
  • [ ] user-imported sounds missing on the watch fall back to built-in sounds with a one-line notice.

health relay

  • [ ] a completed watch session appears in Health Connect on the paired phone (when permissions were previously granted).
  • [ ] health records are not written directly from the watch.

do not disturb

  • [ ] with silence phone enabled and no watch dnd grant, starting a session puts the paired phone in do not disturb and stopping it restores the previous filter.
  • [ ] the phone still restores dnd when the watch is disconnected before the session ends (on reconnect, or at the session's expiry).
  • [ ] after adb shell cmd notification allow_dnd com.wesorick.john.knowthatyouarebreathing, a watch session puts the watch itself in do not disturb.
  • [ ] the settings silence watch row reports which device is silenced and its info screen explains the adb grant.

player and recitation

  • [ ] easy mode has a three-way timer/recitation/breathing toggle and starts each mode.
  • [ ] timer, meditation player, breathing, and recitation all start and stop correctly.
  • [ ] breathing meditations from the saved list start and play the selected exercise.
  • [ ] the watch player uses the selected VisualizerStyle (dot, tree, wave, or circle) for both breathing and meditation segments.
  • [ ] labels and transport controls are readable over the visualizer, using dark text shadows behind the label and icon glyphs instead of a large covering pill.
  • [ ] bells and soundscapes play on the watch (or fall back with a notice).
  • [ ] the screen behavior setting is respected.
  • [ ] incomplete timer and recitation sessions prompt to save or discard.
  • [ ] hardware stem/rotary input works when enabled in recitation input settings (including OnePlus/Android 14).
  • [ ] the single debounce setting applies to both screen taps and hardware input.
  • [ ] the wear meditation list shows a breathing icon for breathing meditations and a layered icon for mixed-mode meditations.
  • [ ] the breathing player shows the current phase (inhale, exhale, hold) and a breathing-driven visual ring.
  • [ ] the splash screen is dark when the app launches.

about / version

  • [ ] the watch settings screen shows the app icon, name, and version.
  • [ ] the phone/desktop settings screen shows the app icon, name, version, and build number.
  • [ ] the version shown matches the value in pubspec.yaml.

battery and reliability

  • [ ] a 30-minute session does not crash or drain the watch battery unusually.
  • [ ] repeated sync, player, and recitation use does not leave stale state.
  • [ ] notifications scheduled on the phone still mirror to the watch.

known deferred items

these features are intentionally not part of this QA pass:

  • audio source / remote audio (deferred with stage 10.9).
  • watch-local notification scheduling (deferred; phone mirroring is used).