From b0fa3be5202e0527ee2cc5ab7dc5b721f8cbfefc Mon Sep 17 00:00:00 2001 From: Damontecres <154766448+damontecres@users.noreply.github.com> Date: Sat, 20 Sep 2025 17:06:40 -0400 Subject: [PATCH] Add dependencies --- app/build.gradle.kts | 29 +++++++++++++++++++- gradle/libs.versions.toml | 56 ++++++++++++++++++++++++++++++++------- 2 files changed, 75 insertions(+), 10 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4d29252e..60b0c51c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,6 +2,8 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.plugin.serialization) + alias(libs.plugins.protobuf) } android { @@ -51,8 +53,33 @@ dependencies { implementation(libs.androidx.tv.material) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) + implementation(libs.androidx.datastore) + implementation(libs.protobuf.kotlin.lite) + + implementation(libs.androidx.media3.exoplayer) + implementation(libs.androidx.media3.datasource.okhttp) + implementation(libs.androidx.media3.exoplayer.hls) + implementation(libs.androidx.media3.ui) + + implementation(libs.coil.core) + implementation(libs.coil.compose) + implementation(libs.coil.network.cachecontrol) + implementation(libs.coil.network.okhttp) + implementation(libs.coil.gif) + implementation(libs.coil.svg) + + implementation(libs.jellyfin.sdk) + + implementation(libs.androidx.navigation3.ui) + implementation(libs.androidx.navigation3.runtime) + implementation(libs.androidx.lifecycle.viewmodel.navigation3) + implementation(libs.androidx.material3.adaptive.navigation3) + implementation(libs.kotlinx.serialization.core) + implementation(libs.kotlinx.serialization.json) + + 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) -}g \ No newline at end of file +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3d9eccbc..437886a3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,24 @@ [versions] agp = "8.13.0" -kotlin = "2.0.21" -coreKtx = "1.10.1" -appcompat = "1.6.1" -composeBom = "2024.09.00" -tvFoundation = "1.0.0-alpha07" -tvMaterial = "1.0.0-alpha07" -lifecycleRuntimeKtx = "2.6.1" -activityCompose = "1.8.0" +kotlin = "2.2.20" +coreKtx = "1.17.0" +appcompat = "1.7.1" +composeBom = "2025.09.00" +tvFoundation = "1.0.0-alpha12" +tvMaterial = "1.0.1" +lifecycleRuntimeKtx = "2.9.4" +activityCompose = "1.11.0" +androidx-media3 = "1.8.0" +coil = "3.3.0" +jellyfin-sdk = "1.6.8" +nav3Core = "1.0.0-alpha09" +lifecycleViewmodelNav3 = "1.0.0-alpha04" +material3AdaptiveNav3 = "1.0.0-SNAPSHOT" +protobuf = "0.9.5" +datastore = "1.1.7" +kotlinx-coroutines-android = "1.10.2" +kotlinx-serialization = "1.9.0" +protobuf-javalite = "4.32.1" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -23,9 +34,36 @@ androidx-tv-foundation = { group = "androidx.tv", name = "tv-foundation", versio androidx-tv-material = { group = "androidx.tv", name = "tv-material", version.ref = "tvMaterial" } androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } +androidx-datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" } +protobuf-kotlin-lite = { module = "com.google.protobuf:protobuf-kotlin-lite", version.ref = "protobuf-javalite" } +kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines-android" } +kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } + +androidx-media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "androidx-media3" } +androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx-media3" } +androidx-media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "androidx-media3" } +androidx-media3-session = { module = "androidx.media3:media3-session", version.ref = "androidx-media3" } +androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "androidx-media3" } + +coil-core = { module = "io.coil-kt.coil3:coil-core", version.ref = "coil" } +coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } +coil-network-cachecontrol = { module = "io.coil-kt.coil3:coil-network-cache-control", version.ref = "coil" } +coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" } +coil-gif = { module = "io.coil-kt.coil3:coil-gif", version.ref = "coil" } +coil-svg = { module = "io.coil-kt.coil3:coil-svg", version.ref = "coil" } + +jellyfin-sdk = { module = "org.jellyfin.sdk:jellyfin-core", version.ref = "jellyfin-sdk" } + +androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "nav3Core" } +androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "nav3Core" } +androidx-lifecycle-viewmodel-navigation3 = { module = "androidx.lifecycle:lifecycle-viewmodel-navigation3", version.ref = "lifecycleViewmodelNav3" } +androidx-material3-adaptive-navigation3 = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation3", version.ref = "material3AdaptiveNav3" } + [plugins] android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } - +kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +protobuf = { id = "com.google.protobuf", version.ref = "protobuf" }