Go to file
Hermes c84181ea18
All checks were successful
Android build / build (push) Successful in 8m23s
Android build / build (release) Successful in 16m1s
ci: route Android builds through BuildTool
2026-09-01 17:16:44 -05:00
2026-08-31 12:17:46 -05:00
2026-05-04 20:30:54 -05:00
2026-05-04 20:30:54 -05:00
2026-05-04 20:30:54 -05:00
2026-05-04 20:30:54 -05:00

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 versionCode and versionName.
  • CI can provide CI_VERSION_CODE to force the build version code and CI_ARTIFACT_TIMESTAMP to 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:

  1. Generate upload key:
    keytool -genkeypair -v -keystore upload-keystore.jks -alias upload -keyalg RSA -keysize 2048 -validity 10000
    
  2. Store credentials in local, untracked file (e.g. keystore.properties).
  3. Reference it from app/build.gradle.kts signingConfigs.
  4. Extend BuildTool.sh to validate presence before release builds.

Logging

App logs key interactions and state updates through tags:

  • ESunMainViewModel
  • ESunShine

This keeps debugging actionable without excessive noise.

Description
No description provided
Readme 100 KiB
test5 Latest
2026-08-29 12:25:03 -05:00
Languages
Kotlin 81.2%
Shell 18.8%