- Statistikfliken: Kondition & aktiviteter-kort för vald period — KPI
(antal/distans/tid/kcal), km per vecka-staplar och per typ-lista
- README: aktiviteter/kcal-mätare/mål-avsnitt
- Version 0.11.0 — hela aktivitetsplanen (etapp 1–6) därmed kodkomplett
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- StepsSync: läser dagens + gårdagens stegsumma (StepsRecord.COUNT_TOTAL)
och upsertar till gym-API:t; synkas automatiskt (max var 10:e min) när
hemskärmen visas
- Inställningar → Stegsynk: status, aktivera-flöde (HC-permission),
Play-länk om Health Connect saknas, manuell synk
- Kcal-mätarens telefonrad visar nu riktiga steg + kcal (serverns
beräkning med dubbelräkningsskydd); stegmål får riktig data
- connect-client 1.1.0-alpha07 (nyare kräver AGP 8.9/compileSdk 36 —
toolchain-bump tas separat); HC-manifest (READ_STEPS, rationale-intents)
- Version 0.10.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- Målkort på Hem: alla mål med progress-bars (aktuellt/mål), tryck →
målskärmen med sätt/uppdatera/ta bort (metrik × period × värde)
- Metriker: aktiva kalorier, gympass, aktiviteter, distans km, steg
(stegdata kommer i etapp 5); perioder: dag/vecka/månad
- GymApi: goalsWithProgress (lokala periodstarter som instants) + setGoal
- Version 0.9.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
1. Start väntar på GPS-fix: klockan startar vid första fixen eller via
'Starta ändå'-knappen (fasen SEARCHING_GPS → ACTIVE); tid utan fix
räknas inte längre
2. Offline-sparning: aktiviteter (spårade + manuellt loggade) köas i Room
(pending_activity, migration v5) och synkas av samma FIFO-kö som passen
(OpKind.ADD_ACTIVITY); 'väntar på synk'-sektion i aktivitetslistan
3. Teknisk logg (TrackLog): ringbuffert med GPS-fixar (accepterade/förkastade
+ noggrannhet), fasbyten och sparningar — expanderbar på spårskärmen med
'Dela loggen'-knapp för enkel fältfelsökning
Version 0.8.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- TrackingService: foreground-service (location) med GPS-rutt, distans
(brusfiltrerad), höjdmeter (glidande medel + tröskel), tid och live-kcal
(ActivityKcal — Kotlin-port av serverns beräkning med tempokurvor)
- Spårningsskärm: osmdroid/OSM-livekarta med rutt-polyline för
distansaktiviteter; stor timer för tidsbaserade (rörelsespårning av,
RPE-slider i sammanfattningen); statistikrad tid/distans/fart/höjd/kcal/GPS
- Sammanfattning vid stopp: spara som source=tracked med encoded polyline,
aktivitetsgissning på tempo+höjd
- Starta aktivitet-knapp (GPS/timer per typ) + pågår-kort på hemskärmen
- osmdroid 6.1.20; permissions för plats/foreground-service/notiser; v0.7.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- GymApi: activityTypes/activities/add/update/delete + dailySummary
- Aktivitetsskärm (Hem → Aktiviteter ❤️): logga med typväljare grupperad per
kategori, datum/tid-pickers, varaktighet, distans+höjdmeter för
distansbaserade, RPE-slider (talk test) för tidsbaserade; historik med
tempo och kcal; rätta/ta bort
- Kcal-mätaren använder serverns dailySummary (gym + aktiviteter + BMR) med
fallback till lokal beräkning mot äldre server
- Version 0.6.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- Profile/myProfile med heightCm/birthYear/sex (fallback mot äldre server),
updateProfile-mutation i GymApi
- Kroppsdata sparas lokalt och synkas: serverns värden vinner, lokala pushas
upp om servern är tom (migrerar vågens lokala data)
- Mifflin–St Jeor-BMR (data/Bmr.kt)
- Hemskärm: Dagens kalorier-kort — aktivt loggat (dagens pass), telefonen
(platshållare för etapp 5) och passivt (BMR-andel av dygnet, tickar per
minut). Uppmaning om kroppsdata saknas.
- Version 0.5.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
Första testets uteblivna sammansättning berodde på att kroppsdatan inte var
ifylld — varningen var för diskret. Nu röd/tydlig med hänvisning till
Profil → Kroppsdata. Doc-noten rättad så orsaken inte påstås vara ramtiming
(merge-logiken finns kvar som robusthet).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- Statistikfliken: periodväljare (vecka/månad/halvår/år), KPI-kort med
delta mot förra perioden, volymtrend, kroppskarta fram/bak med värme
per muskelgrupp (Canvas), höjdpunkter och PB per övning/rep-antal
- Tyst återinloggning: uppgifter sparas AES/GCM-krypterat via Android
Keystore; när refresh avvisas provas nytt login innan utloggning —
'utloggad utan att appen märker det' försvinner. Manuell utloggning
rensar uppgifterna; toggle i inställningarna (på som standard)
- Inställningar: viktsteg för steppers (1,25/2,5/5 kg), API-url,
auto-återinloggning
- Version 0.3.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP
- Kotlin + Jetpack Compose + Material 3, minSdk 31 (Android 12)
- GraphQL-klient (OkHttp) med login/refresh/validate/logout som webben
- Tokenlagring i DataStore, auto-refresh av JWT
- Signering via gitignorerad signing/ lokalt och Actions-secrets i CI
- VS Code build-task -> build/FitnessDroid.apk
- Gitea Actions: bygger APK på Pi5 (arm64, aapt2-override) och publicerar
rullande latest-release
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP