From 426ec0c5cd0638e06c997fc551953b2763bef65e Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Thu, 26 Mar 2026 18:10:18 +0100 Subject: [PATCH 1/3] Support THEOplayer 10.2.0 and higher --- build.gradle.kts | 4 ++-- gradle/libs.versions.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f5b1c581..44b932cb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,8 +30,8 @@ tasks.register("updateVersion") { ant.withGroovyBuilder { "replaceregexp"( "file" to versionCatalog, - "match" to """^theoplayer = ".+"$""", - "replace" to """theoplayer = "$sdkVersion"""", + "match" to """^theoplayer = \{(.*) prefer = ".+" (.*)\}$""", + "replace" to """theoplayer = {\1 prefer = "$sdkVersion" \2}""", "byline" to true ) "replaceregexp"( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b653b85f..6f98247c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ androidxComposeBom = "2025.08.01" androidxLifecycle = "2.5.1" androidxMedia = "1.7.1" kotlinxCoroutines = "1.10.2" -theoplayer = "10.12.1" +theoplayer = { strictly = "[10.2.0, 11.0.0)", prefer = "10.12.1" } theoplayerAndroidUi = "1.13.0" junit = "4.13.2" kotlinTestJunit = "2.2.10" From 2f809077bf7c6ae8b945a6921c96c17176704b0d Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Thu, 26 Mar 2026 18:23:43 +0100 Subject: [PATCH 2/3] Add latestPlayer and minPlayer flavors for demo app --- app/build.gradle.kts | 38 +++++++++++++++++++++++++++++++++++--- gradle/libs.versions.toml | 3 +++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 64c4ba6b..1d045324 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -25,6 +25,18 @@ android { } } + flavorDimensions += "player" + productFlavors { + create("latestPlayer") { + // Use the latest supported THEOplayer version + dimension = "player" + } + create("minPlayer") { + // Use the minimum supported THEOplayer version + dimension = "player" + } + } + compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 @@ -43,6 +55,9 @@ kotlin { } dependencies { + val latestPlayerImplementation = configurations.getByName("latestPlayerImplementation") + val minPlayerImplementation = configurations.getByName("minPlayerImplementation") + implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.kotlinx.coroutines.android) @@ -57,9 +72,26 @@ dependencies { implementation(libs.androidx.compose.ui.tooling.preview) debugImplementation(libs.androidx.compose.ui.tooling) - implementation(libs.theoplayer) - implementation(libs.theoplayer.integration.ima) - implementation(libs.theoplayer.integration.dai) + latestPlayerImplementation(libs.theoplayer) + latestPlayerImplementation(libs.theoplayer.integration.ima) + latestPlayerImplementation(libs.theoplayer.integration.dai) + + minPlayerImplementation(libs.theoplayer) { + version { + strictly(libs.versions.theoplayerMin.get()) + } + } + minPlayerImplementation(libs.theoplayer.integration.ima) { + version { + strictly(libs.versions.theoplayerMin.get()) + } + } + minPlayerImplementation(libs.theoplayer.integration.dai) { + version { + strictly(libs.versions.theoplayerMin.get()) + } + } + implementation(libs.theoplayer.android.ui) implementation(project(":connectors:analytics:conviva")) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6f98247c..1af37bd1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,6 +15,9 @@ androidxLifecycle = "2.5.1" androidxMedia = "1.7.1" kotlinxCoroutines = "1.10.2" theoplayer = { strictly = "[10.2.0, 11.0.0)", prefer = "10.12.1" } +# Minimum supported THEOplayer version. +# Must match the lower version bound of the "theoplayer" version above. +theoplayerMin = "10.2.0" theoplayerAndroidUi = "1.13.0" junit = "4.13.2" kotlinTestJunit = "2.2.10" From de087307bf9a92608adbba9bf588ebac6570ad3f Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Thu, 26 Mar 2026 18:25:32 +0100 Subject: [PATCH 3/3] Update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f22b10d8..9a418b26 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,8 @@ For more details about importing THEOplayer Android SDK check the [documentation Notes: * The `+` will fetch the latest released version of THEOplayer Android SDK Connector. * Android Studio will recommend replacing the `+` with the exact version of THEOplayer Android SDK Connector. -* The THEOplayer Android SDK and the THEOplayer Android SDK Connectors are stable when using the same version. - It's not recommended to use different versions for the Android SDK and the Connectors. +* THEOplayer Android SDK Connectors are compatible with a THEOplayer SDK with the same major version number. + It's not recommended to use different major versions for the Android SDK and the Connectors. ## Installation