Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
Kotlin
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose)}
android { namespace = "computer.aesthetic" compileSdk = 35
defaultConfig { applicationId = "computer.aesthetic" minSdk = 24 targetSdk = 35 versionCode = 2 versionName = "1.1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" }
// Product flavors: consumer (Play Store) vs kiosk (device installations) flavorDimensions += "mode" productFlavors { create("consumer") { dimension = "mode" applicationIdSuffix = "" // computer.aesthetic versionNameSuffix = "" // Consumer-specific build config buildConfigField("String", "BASE_URL", "\"https://aesthetic.computer\"") buildConfigField("Boolean", "KIOSK_MODE", "false") } create("kiosk") { dimension = "mode" applicationIdSuffix = ".kiosk" // computer.aesthetic.kiosk versionNameSuffix = "-kiosk" // Kiosk-specific build config buildConfigField("String", "BASE_URL", "\"https://localhost:8443\"") buildConfigField("Boolean", "KIOSK_MODE", "true") } }
buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { compose = true buildConfig = true }}
dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) implementation(libs.appcompat) implementation(libs.androidx.splashscreen) // Kiosk-only: NanoHTTPD for local HTTPS server "kioskImplementation"(libs.nanohttpd) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.ui.test.junit4) debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest)}