NuvioStreaming/app/build.gradle.kts
CrissZollo c82d94c71e Implement theme selection system with 6 color themes
Add settings screen for users to choose between Crimson, Ocean, Violet,
Emerald, Amber, and Rose themes. Each theme customizes accent colors
(focus states, buttons) and includes subtle background tinting for a
cohesive visual experience. Theme selection persists via DataStore.
2026-02-02 20:50:43 +01:00

113 lines
No EOL
3.2 KiB
Text

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.hilt)
alias(libs.plugins.ksp)
}
android {
namespace = "com.nuvio.tv"
compileSdk = 36
defaultConfig {
applicationId = "com.nuvio.tv"
minSdk = 26
targetSdk = 36
versionCode = 1
versionName = "1.0"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11)
}
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.ui.graphics)
implementation(libs.androidx.compose.ui.tooling.preview)
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.foundation:foundation")
implementation("androidx.compose.material:material-icons-extended")
implementation(libs.androidx.tv.foundation)
implementation(libs.androidx.tv.material)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
// Hilt
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
implementation(libs.hilt.navigation.compose)
// Networking
implementation(libs.retrofit)
implementation(libs.retrofit.moshi)
implementation(libs.okhttp)
implementation(libs.okhttp.logging)
implementation(libs.moshi)
ksp(libs.moshi.codegen)
// Coroutines
implementation(libs.coroutines.core)
implementation(libs.coroutines.android)
// Image Loading
implementation(libs.coil.compose)
implementation(libs.coil.svg)
// Navigation
implementation(libs.navigation.compose)
// DataStore
implementation(libs.datastore.preferences)
// ViewModel
implementation(libs.lifecycle.viewmodel.compose)
// Media3 ExoPlayer
implementation(libs.media3.exoplayer)
implementation(libs.media3.exoplayer.hls)
implementation(libs.media3.exoplayer.dash)
implementation(libs.media3.ui)
implementation(libs.media3.session)
implementation(libs.media3.common)
// Media3 FFmpeg Decoder Extension (locally built AAR)
implementation(files("libs/media3-decoder-ffmpeg.aar"))
// Local Plugin System
implementation(libs.quickjs.kt)
implementation(libs.jsoup)
implementation(libs.gson)
// Bundle real crypto-js (JS) for QuickJS plugins
implementation("org.webjars.npm:crypto-js:4.2.0")
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
debugImplementation(libs.androidx.compose.ui.tooling)
debugImplementation(libs.androidx.compose.ui.test.manifest)
}