Compare commits

...

9 Commits

Author SHA1 Message Date
2d649cdff9 chore(build): increment app versionCode to 1000035 2026-07-18 20:49:48 +02:00
33c83bd30f chore(build): increment app-tv versionCode to 2000022 2026-07-18 20:44:08 +02:00
37bf64f5f8 fix(player): adjust subtitle bottom padding when controls visible
Increase TV controls-visible subtitle bottom padding fraction from 0.22 to 0.31 and update PlayerScreen to reapply player and subtitle padding on recomposition.
2026-07-18 18:43:38 +00:00
e6da94970a fix(build): downgrade targetSdk from 37 to 36 for app and app-tv 2026-07-18 20:31:45 +02:00
28b647e209 build(deps): upgrade gradle, agp, kotlin, compose and sdk to 37
- Bump compileSdk/targetSdk from 36 to 37 across all modules
- Upgrade gradle wrapper to 9.6.1
- Upgrade agp to 9.3.0, kotlin to 2.4.10, ksp to 2.3.10
- Upgrade composeBom to 2026.06.01 and compose libs
- Upgrade hilt to 2.60.1, room to 2.8.4, media3 to 1.10.1
- Upgrade okhttp to 5.4.0, coil to 3.5.0, datastore to 1.2.1
- Upgrade lifecycle to 2.11.0, activity-compose to 1.13.0
- Upgrade firebase crashlytics to 20.1.0, gms services to 4.5.0
2026-07-18 15:11:38 +00:00
b6ebe3d427 fix(app-tv): correct foundation dependency to androidx.compose.foundation 2026-07-18 14:17:31 +00:00
76d75221cd feat(core): add media3-cast and media3-session dependencies 2026-07-18 14:17:28 +00:00
6b9724c640 chore(build): add media3-cast and media3-session catalog entries, remove unused foundation 2026-07-18 14:17:25 +00:00
c40df41603 chore(build): increment app-tv versionCode to 2000021 2026-07-16 17:51:19 +02:00
11 changed files with 46 additions and 41 deletions

View File

@@ -13,7 +13,7 @@ plugins {
android {
namespace = "hu.bbara.purefin.tv"
compileSdk = 36
compileSdk = 37
defaultConfig {
applicationId = "hu.bbara.purefin.tv"
@@ -59,7 +59,7 @@ dependencies {
implementation(project(":core-ui"))
implementation(libs.androidx.compose.animation)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.foundation)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.androidx.lifecycle.viewmodel.compose)

View File

@@ -80,7 +80,7 @@ import java.time.format.DateTimeFormatter
import java.util.Locale
private const val TV_CONTROLS_AUTO_HIDE_MS = 5_000L
private const val CONTROLS_VISIBLE_SUBTITLE_BOTTOM_PADDING_FRACTION = 0.22f
private const val CONTROLS_VISIBLE_SUBTITLE_BOTTOM_PADDING_FRACTION = 0.31f
internal const val TV_HIDDEN_STOP_FEEDBACK_MS = 1_200L
internal const val TvPlayerHiddenStopFeedbackTag = "tv_player_hidden_stop_feedback"

View File

@@ -11,7 +11,7 @@ plugins {
android {
namespace = "hu.bbara.purefin"
compileSdk = 36
compileSdk = 37
defaultConfig {
applicationId = "hu.bbara.purefin"

View File

@@ -150,6 +150,10 @@ fun PlayerScreen(
subtitleView?.setBottomPaddingFraction(subtitleBottomPaddingFraction)
}
},
update = {
it.player = viewModel.player
it.subtitleView?.setBottomPaddingFraction(subtitleBottomPaddingFraction)
},
onRelease = { playerView ->
playerView.player = null
},

View File

@@ -6,7 +6,7 @@ plugins {
android {
namespace = "hu.bbara.purefin.model"
compileSdk = 36
compileSdk = 37
defaultConfig {
minSdk = 29

View File

@@ -8,7 +8,7 @@ plugins {
android {
namespace = "hu.bbara.purefin.core.ui"
compileSdk = 36
compileSdk = 37
defaultConfig {
minSdk = 29

View File

@@ -10,7 +10,7 @@ plugins {
android {
namespace = "hu.bbara.purefin.core.download"
compileSdk = 36
compileSdk = 37
defaultConfig {
minSdk = 29
@@ -39,6 +39,8 @@ dependencies {
implementation(libs.medi3.exoplayer)
implementation(libs.medi3.exoplayer.hls)
implementation(libs.media3.datasource.okhttp)
implementation(libs.media3.exoplayer.cast)
implementation(libs.media3.exoplayer.session)
implementation(libs.datastore)
implementation(libs.okhttp)
implementation(libs.timber)

View File

@@ -10,7 +10,7 @@ plugins {
android {
namespace = "hu.bbara.purefin.data"
compileSdk = 36
compileSdk = 37
defaultConfig {
minSdk = 29

View File

@@ -28,6 +28,6 @@ android.dependency.useConstraints=true
android.r8.strictFullModeForKeepRules=false
android.builtInKotlin=false
android.newDsl=false
purefinReleaseVersionCode=1000034
purefinReleaseVersionCode=1000035
purefinDebugVersionCode=1000003
purefinTvVersionCode=2000020
purefinTvVersionCode=2000022

View File

@@ -1,35 +1,34 @@
[versions]
agp = "9.2.1"
coreKtx = "1.15.0"
agp = "9.3.0"
coreKtx = "1.19.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
lifecycleRuntimeKtx = "2.8.7"
activityCompose = "1.9.3"
kotlin = "2.2.10"
composeBom = "2025.02.00"
jellyfin-core = "1.8.8"
hilt = "2.57.2"
hiltNavigationCompose = "1.2.0"
ksp = "2.3.2"
datastore = "1.1.1"
kotlinxSerializationJson = "1.7.3"
kotlinxCoroutines = "1.9.0"
okhttp = "4.12.0"
foundation = "1.10.1"
tvMaterial = "1.0.1"
coil = "3.3.0"
media3 = "1.9.0"
junitVersion = "1.3.0"
espressoCore = "3.7.0"
lifecycleRuntimeKtx = "2.11.0"
activityCompose = "1.13.0"
kotlin = "2.4.10"
composeBom = "2026.06.01"
jellyfin-core = "1.8.11"
hilt = "2.60.1"
hiltNavigationCompose = "1.4.0"
ksp = "2.3.10"
datastore = "1.2.1"
kotlinxSerializationJson = "1.11.0"
kotlinxCoroutines = "1.11.0"
okhttp = "5.4.0"
foundation = "1.11.4"
tvMaterial = "1.1.0"
coil = "3.5.0"
media3 = "1.10.1"
media3FfmpegDecoder = "1.9.0+1"
nav3Core = "1.0.0"
room = "2.7.0"
slf4j = "2.0.17"
nav3Core = "1.1.4"
room = "2.8.4"
slf4j = "2.0.18"
timber = "5.0.1"
firebaseCrashlytics = "20.0.5"
googleGmsGoogleServices = "4.4.4"
firebaseCrashlytics = "20.1.0"
googleGmsGoogleServices = "4.5.0"
googleFirebaseCrashlytics = "3.0.7"
foundationVersion = "1.11.2"
animation = "1.11.2"
animation = "1.11.4"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
@@ -66,6 +65,8 @@ coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref
coil-network-okhttp = { group = "io.coil-kt.coil3", name = "coil-network-okhttp", version.ref = "coil" }
medi3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "media3"}
medi3-exoplayer-hls = { group = "androidx.media3", name = "media3-exoplayer-hls", version.ref = "media3"}
media3-exoplayer-cast = { group = "androidx.media3", name = "media3-cast", version.ref = "media3"}
media3-exoplayer-session = { group = "androidx.media3", name = "media3-session", version.ref = "media3"}
medi3-ui = { group = "androidx.media3", name = "media3-ui", version.ref = "media3"}
medi3-ui-compose = { group = "androidx.media3", name = "media3-ui-compose-material3", version.ref = "media3"}
medi3-ffmpeg-decoder = { group = "org.jellyfin.media3", name = "media3-ffmpeg-decoder", version.ref = "media3FfmpegDecoder"}
@@ -78,10 +79,8 @@ androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref =
slf4j-api = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" }
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
firebase-crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics", version.ref = "firebaseCrashlytics" }
androidx-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundationVersion" }
androidx-compose-animation = { group = "androidx.compose.animation", name = "animation", version.ref = "animation" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
android-library = { id = "com.android.library", version.ref = "agp" }

View File

@@ -1,8 +1,8 @@
#Thu Jan 15 19:48:32 CET 2026
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
distributionSha256Sum=9c0f7faeeb306cb14e4279a3e084ca6b596894089a0638e68a07c945a32c9e14
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME