Meditation timer: gong service, wheel picker, history + health sync, Gitea CI
Some checks failed
Build & Release APK / build (push) Failing after 46s
Some checks failed
Build & Release APK / build (push) Failing after 46s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
38
README.md
Normal file
38
README.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Meditation Timer
|
||||
|
||||
Jhana meditation timer for GrapheneOS. Start/end gong, scroll-wheel duration
|
||||
picker (presets 20/45/60/90), session history with depth rating + notes, and
|
||||
sync to the meditation dashboard at health.rehbock.xyz/meditation.html.
|
||||
|
||||
## Pipeline
|
||||
|
||||
Push to `main` on [git.rehbock.xyz](https://git.rehbock.xyz/marcus/meditation-timer)
|
||||
→ Gitea Actions builds a signed release APK → published as a Gitea release
|
||||
→ Obtainium on the phone picks up the new version.
|
||||
|
||||
## Sync
|
||||
|
||||
Sessions POST to `https://meditation.rehbock.xyz/v1/sessions` (health-api).
|
||||
The bearer token is **not** in this repo or the APK — set it once in-app
|
||||
(History → Token) or seed it via:
|
||||
|
||||
```
|
||||
adb shell am start -n com.marcus.meditationtimer/.MainActivity --es sync_token "<token>"
|
||||
```
|
||||
|
||||
Sessions shorter than 30 seconds are not recorded (gong tests).
|
||||
|
||||
## Local build
|
||||
|
||||
```
|
||||
./gradlew assembleDebug # needs ANDROID_HOME or local.properties
|
||||
```
|
||||
|
||||
Release signing (CI): secrets `KEYSTORE_B64` + `KEYSTORE_PASSWORD`; key alias
|
||||
`meditation`. Keystore master copy: `~/.android-keys/` on the desktop.
|
||||
|
||||
## Gong
|
||||
|
||||
`app/src/main/res/raw/gong.wav` is synthesized (singing-bowl partials,
|
||||
detuned fundamental pair for beating). Regenerate with the script in the
|
||||
repo history / scratchpad if the tone needs tweaking.
|
||||
Reference in New Issue
Block a user