Commit graph event-tracker/android
Author SHA1 Message Date
4d55b8bfb0
Drop FORGEJO_TOKEN requirement for update checking — repo is public
Forgejo's releases API and asset downloads both work unauthenticated
for a public repo. check_latest_release() no longer raises if
FORGEJO_TOKEN is blank; it only attaches the Authorization header when
one is actually set (e.g. if this repo ever goes private again).
2026-08-22 13:35:12 +00:00
d7e5569dda
Add GPL-3.0 LICENSE, port update checker from android-app-template
LICENSE: verbatim copy of android-app-template's (official SPDX text,
not retyped) — GPL-3.0 as previously decided.

Update checker: check_latest_release()/download_and_install()/
MessagePopup ported from the template, wired to a new "Check for
Updates" button next to Settings. Requires certifi added to
p4a-recipes/kivy's python_depends (HTTPS on Android needs an explicit
CA bundle) and INTERNET/REQUEST_INSTALL_PACKAGES added to
buildozer.spec. FORGEJO_TOKEN at the top of main.py ships blank —
update checking is inert until it's set to a repo-scoped read-only
token. download_and_install() is the standard p4a pattern but not yet
verified on real hardware, same caveat as the template it came from.

Dropped the previously-agreed config.json split (event list vs. data
path) — decided it's not needed after all.
2026-08-22 13:31:03 +00:00
d276f8842f
Restore filetype dep, fix Settings label wrapping to 1px column
python_depends was emptied too aggressively in an earlier fix (dodging
the requests/charset-normalizer Android-wheel bug) and took filetype
with it — kivy/core/image imports it directly, causing a startup crash.
Restored just filetype (pure Python, no dependency chain, safe).

Settings popup's info label set text_size=(self.width, None) at
__init__ time, before layout ever runs — self was the Popup at its
default ~100px pre-layout width, not its real on-screen size, so the
label rendered as a 1-character-wide column. Now binds text_size to
the label's own width so it updates once real layout happens.
2026-08-22 12:07:30 +00:00
5e7cb1ced9
Android build now works end-to-end: JDK pin, p4a venv fix, kivy recipe
- build.sh: pin JAVA_HOME to java-17-openjdk for the build only (Gradle
  8.14.3 can't parse this machine's default java-26 class files).
- build.sh: delete p4a's internal pymodules venv before every run — it
  re-runs `python -m venv` without --clear on each build and corrupts
  its own pip (confirmed two dist-info dirs coexisting).
- CLAUDE.md / android/README.md: document all three build-tooling fixes
  from this session (kivy python_depends, p4a venv corruption, JDK pin)
  so a future session/rebuild doesn't have to re-diagnose them.

Confirmed: full BUILD SUCCESSFUL Gradle run, APK produced at
android/bin/eventtracker-0.1-arm64-v8a-debug.apk.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 08:32:29 +00:00
cd9f9456e9
Initial commit: EventTracker desktop app + Android companion
Desktop: GTK3 + matplotlib app tracking arbitrary events (button ->
timestamp -> CSV), with per-event stats, trend charts, settings
(rename/add events, relocate data file), and a reset-with-backup flow.
Portable desktop launcher via a .desktop.in template + install script,
no machine-specific paths baked in.

Android: minimal Kivy v1 companion reading/writing the same CSV format,
plus buildozer build tooling isolated in a venv and a local p4a recipe
override for kivy (see CLAUDE.md for why).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 07:52:54 +00:00