# TASK-001: Bootstrap the Android project Status: complete Owner: Codex Reviewer: Claude ## Outcome Create an Android Studio project that builds a minimal UBGitea Compose application and establishes deterministic local checks. ## Scope - Included: Gradle wrapper, one Android application module, Compose theme, placeholder home screen, unit-test baseline, lint, CI-ready commands. - Excluded: OAuth implementation, Gitea API calls, final branding assets. ## Writable paths - Root build and configuration files - `app/` - `.github/` if CI is selected - Documentation updates needed to record chosen versions ## Acceptance criteria - [x] Android Studio can import the project without manual source edits. - [x] Debug APK builds successfully. - [x] Unit tests and Android lint run successfully. - [x] The launcher displays `UBGitea` and a placeholder state. - [x] No secret or client secret is present. - [x] Final application ID and minimum SDK are recorded in an ADR. ## Required checks ```text ./gradlew assembleDebug ./gradlew testDebugUnitTest ./gradlew lintDebug ``` ## Evidence Recorded on 2026-08-25 using JDK 17 and Android SDK 36: - `./gradlew assembleDebug` — passed; generated `app/build/outputs/apk/debug/app-debug.apk`. - `./gradlew testDebugUnitTest` — passed; 1 test, 0 failures, 0 errors. - `./gradlew lintDebug` — passed; report generated at `app/build/reports/lint-results-debug.html`. - APK metadata inspection — package `com.ubisam.ubgitea`, minimum SDK 28, target SDK 36, application label `UBGitea`, launchable `MainActivity`. - Sensitive-pattern repository scan excluding generated and Git metadata — no assigned secret, token, password, or private-key value found. - Static formatting/check task — not configured for this bootstrap. - Manual device launch — not performed because no emulator or device was available; packaged resources and APK metadata were inspected instead. - Product decisions are recorded in `docs/decisions/001-android-application-baseline.md` and summarized in `docs/product.md`. - Independent read-only review — no P0-P3 findings; reviewer reran build, unit test, and lint together successfully. - Residual review notes — no device/emulator launch was available; lint completed with 0 errors and 11 non-blocking warnings (dependency updates, final icon, and future data-extraction policy). Final branding is excluded from TASK-001, and backup/data-extraction policy must be revisited before authentication or local persistence is introduced.