ci-tooling-release-e-sun-android-20260901-232102
e-SUN Android App
Native Kotlin + Jetpack Compose app (API 35) that provides a light-therapy style full-screen white display based on Kelvin presets.
First Increment Scope
- 3 editable temperature presets (default 3000K / 4500K / 6000K)
- 3 editable timer presets (default 5 / 10 / 30 min)
- Kelvin-to-RGB approximation for screen color
- Full-screen Shine mode with:
- Keep-screen-on
- Temporary in-app brightness override
- Controls shown on touch and auto-hidden after 5s
- Timer end returns to main screen
- Brightness persistence (default 50% on first launch)
- Placeholder ad section (
AD HERE) - Unit test coverage for Kelvin conversion output range
BuildTool.sh
The project intentionally runs builds through ./BuildTool.sh so local development and CI use the same build path.
Common commands
./BuildTool.sh --setup-only
./BuildTool.sh --no-commit --apk-only
./BuildTool.sh --no-commit --with-aab
Behavior
--setup-only: prepares the local Android SDK/tooling and exits.--apk-only: builds the debug APK.--with-aab: also builds the release AAB.--no-commit: skips the post-build git commit step.- Local builds increment
versionCodeandversionName. - CI can provide
CI_VERSION_CODEto force the build version code andCI_ARTIFACT_TIMESTAMPto control the release AAB filename. - Artifacts are copied into
dist/. - Gitea Actions uses this same script instead of duplicating build logic in YAML.
Upload Key (Release Signing)
For this first increment, release uses default debug signing unless custom signing is added. Recommended future setup:
- Generate upload key:
keytool -genkeypair -v -keystore upload-keystore.jks -alias upload -keyalg RSA -keysize 2048 -validity 10000 - Store credentials in local, untracked file (e.g.
keystore.properties). - Reference it from
app/build.gradle.ktssigningConfigs. - Extend
BuildTool.shto validate presence before release builds.
Logging
App logs key interactions and state updates through tags:
ESunMainViewModelESunShine
This keeps debugging actionable without excessive noise.
Description