feat(android): add native Android client

Kotlin + Jetpack Compose client for a self-hosted instance: manual
server setup and health check, auth with Keystore-backed tokens, album
and photo browsing with SSE live updates, upload queue in WorkManager
with HEIC-to-JPEG conversion, and Room/Coil offline cache. Add an
android Makefile target and revise project.md §17.
This commit is contained in:
iu
2026-10-12 12:14:54 +03:00
parent e4975aafb5
commit aa2f7552bc
63 changed files with 4575 additions and 2 deletions
+8 -1
View File
@@ -1,4 +1,7 @@
.PHONY: build build-release frontend backend run migrate reconcile reconcile-delete tidy test testdata clean
.PHONY: build build-release frontend backend android run migrate reconcile reconcile-delete tidy test testdata clean
# Android SDK location. Override when the SDK lives elsewhere.
ANDROID_SDK ?= $(HOME)/Android/sdk
# Release version stamped into the binary (-X main.version). Override with VERSION=...
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
@@ -25,6 +28,10 @@ backend:
build: frontend backend
# Android client (independent of the server build). Requires the Android SDK.
android:
cd android && ANDROID_HOME=$(ANDROID_SDK) ./gradlew :app:assembleDebug
# Release build: full static, stripped and (if available) UPX-compressed binary
# with the version embedded. Produces bin/galo and a copy at bin/galo-$(VERSION).
build-release: frontend