initial commit
This commit is contained in:
52
README.md
Normal file
52
README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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 Gradle with daemon disabled (`--no-daemon` and `org.gradle.daemon=false`).
|
||||
|
||||
### Options
|
||||
```bash
|
||||
./BuildTool.sh --setup-only
|
||||
./BuildTool.sh --debug
|
||||
./BuildTool.sh --release
|
||||
./BuildTool.sh --all
|
||||
```
|
||||
|
||||
### Behavior
|
||||
- `--setup-only`: prepares wrapper/dependencies without building release artifacts.
|
||||
- `--debug`: increments version code/name, builds debug APK, renames output to include app name and version code.
|
||||
- `--release`: increments version code/name, builds release AAB, renames output similarly.
|
||||
- `--all`: runs debug + release flow in one run.
|
||||
- After successful build tasks, script commits all changes with message from `commit-message.txt` (fallback: `No Details`) and then clears that file.
|
||||
|
||||
## 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:
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user