asana app for wearos (uses a personal token)
- Kotlin 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
A failed first fetch with an empty cache used to render as a stuck "0"; now it shows a dash and logs the failure. Opening the app also requests a tile + complication refresh so surfaces recover promptly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019TwNkdxsn9WTeoL4Qtkczq |
||
| app | ||
| gradle/wrapper | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| README.md | ||
| settings.gradle.kts | ||
asana-watchapp
A standalone Asana client for Wear OS. Talks to the Asana REST API directly from the watch using a personal access token — no phone companion app.
Features
- My Tasks list sorted by due date, with inline complete-checkboxes
- Task detail: notes, due date, projects, complete/undo, comments (read + add)
- Quick task creation (into My Tasks, or into a specific project)
- Browse projects and their open tasks
- Workspace switcher for multi-workspace accounts
Building
Requires JDK 17 and an Android SDK (path in local.properties).
./gradlew :app:assembleRelease
adb install -r app/build/outputs/apk/release/app-release.apk
Install the release build for daily use — the debug build skips R8 and
baseline profiles and is visibly janky on watch hardware. The release build
is signed with the debug key so adb install -r upgrades keep app data.
Signing in
Generate a personal access token at asana.com → Settings → Apps → Developer apps, then either:
- tap Enter token on the watch and use the remote-input keyboard, or
- sideload it over adb (Wear OS ignores
adb shell input textin remote input fields):
adb shell am force-stop net.deprekated.asanawear
adb shell am start -n net.deprekated.asanawear/.MainActivity --es token 'YOUR_PAT'
The token is stored in app-private storage on the watch only.