Panchadika is an Android SMS application with carrier auto-detection, conversation management, and modern Material Design 3 UI. It is written in Kotlin with Jetpack Compose.
- Language: Kotlin 1.9.25
- UI: Jetpack Compose (Material Design 3)
- Architecture: Clean Architecture + MVVM
- DI: Dagger Hilt 2.51.1
- Navigation: Jetpack Navigation Compose
- Async: Kotlin Coroutines + Flow
- Image Loading: Coil
- Build System: Gradle 8.9 with Kotlin DSL
- Min SDK: 26 (Android 8.0)
- Target SDK: 34 / Compile SDK: 35
app/src/main/java/com/panchadika/data/- Repositories and data sources (SMS, Contacts, Carrier)domain/- Business logic, use cases, modelspresentation/- Jetpack Compose UI, ViewModelsdi/- Hilt dependency injection modules
This is an Android app — it cannot run in the browser. It builds to an APK.
- Android SDK:
~/android-sdk - Platform: android-35
- Build Tools: 35.0.1
- JDK: OpenJDK 17 at
/nix/store/6m2zgvl7y9mrsdckqx4mgxghpmasszbi-openjdk-17.0.6+10
bash build_apk.shOr directly:
export ANDROID_HOME=~/android-sdk
export JAVA_HOME=/nix/store/6m2zgvl7y9mrsdckqx4mgxghpmasszbi-openjdk-17.0.6+10
export PATH=$JAVA_HOME/bin:$PATH:~/android-sdk/cmdline-tools/latest/bin:~/android-sdk/platform-tools
./gradlew assembleDebugAfter a successful build:
- Debug APK:
app/build/outputs/apk/debug/app-debug.apk
- Build APK - Runs
bash build_apk.shto compile the debug APK (console output)
A custom chat bubble icon was added using the app's teal green (#44FC94) + dark (#0C140C) color scheme.
- Adaptive icon foreground:
app/src/main/res/drawable/ic_launcher_foreground.xml(vector: dark chat bubble with two teal pill lines) - Adaptive icon background:
@color/primary(#44FC94) - Legacy mipmap PNGs: Generated at mdpi (48), hdpi (72), xhdpi (96), xxhdpi (144), xxxhdpi (192) — both square and round variants
- Play Store icon source:
attached_assets/play_store_icon.png(512x512) - Source image:
attached_assets/generated_images/app_icon_source.png
gradle.propertiessetsorg.gradle.java.hometo OpenJDK 17 for Android compatibility- GraalVM 19 (system default) is NOT compatible with Android build tools due to jlink issues
- Android SDK is stored in
android-sdk/(gitignored, auto-downloaded bybuild_apk.shif missing) local.propertiesis gitignored and auto-generated bybuild_apk.shwith the correct SDK path- Only minor deprecation warnings in code (no functional impact)