From 460c031373c877904bd431e15ec8c2797cfd9739 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Mon, 16 Mar 2026 17:05:12 +0100 Subject: [PATCH 1/6] Bump minimum THEOplayer version to 7.6.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0b273d0..e1932a3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ androidx-junit = "1.3.0" androidx-espresso = "3.7.0" androidx-mediarouter = "1.8.1" dokka = "2.0.0" -theoplayer = { prefer="10.11.0", strictly = "[5.0, 11.0)" } +theoplayer = { prefer="10.11.0", strictly = "[7.6.0, 11.0)" } [libraries] androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" } From 86f3e27c385258ef15b2315e9cc78ebdcddb02c7 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Mon, 16 Mar 2026 17:28:20 +0100 Subject: [PATCH 2/6] Keep using `THEOplayerConfig.Builder.pipConfiguration` for now --- .../main/java/com/theoplayer/android/ui/demo/MainActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/theoplayer/android/ui/demo/MainActivity.kt b/app/src/main/java/com/theoplayer/android/ui/demo/MainActivity.kt index 14e3ad5..ed29d6b 100644 --- a/app/src/main/java/com/theoplayer/android/ui/demo/MainActivity.kt +++ b/app/src/main/java/com/theoplayer/android/ui/demo/MainActivity.kt @@ -75,7 +75,7 @@ fun MainContent() { val context = LocalContext.current val theoplayerView = remember(context) { val config = THEOplayerConfig.Builder().apply { - pip(PipConfiguration.Builder().build()) + pipConfiguration(PipConfiguration.Builder().build()) }.build() THEOplayerView(context, config).apply { // Add ads integration through Google IMA From 93f0e4c8a7ecf57ccac4b4a551001f10030effc0 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Mon, 16 Mar 2026 17:55:06 +0100 Subject: [PATCH 3/6] Add flag to install lowest supported player version --- app/build.gradle.kts | 29 +++++++++++++++++++++++++---- gradle.properties | 2 ++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1ecef39..7d6bffe 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -82,7 +82,28 @@ dependencies { releaseImplementation(project(":ui")) "mavenImplementation"("com.theoplayer.android-ui:android-ui:1.+") - implementation(libs.theoplayer) - implementation(libs.theoplayer.ads.ima) - implementation(libs.theoplayer.cast) -} \ No newline at end of file + implementation(libs.theoplayer) { + useLowestSupportedPlayerVersion() + } + implementation(libs.theoplayer.ads.ima) { + useLowestSupportedPlayerVersion() + } + implementation(libs.theoplayer.cast) { + useLowestSupportedPlayerVersion() + } +} + +val installLowestSupportedPlayerVersion: String by project.ext + +fun ExternalDependency.useLowestSupportedPlayerVersion() { + if (installLowestSupportedPlayerVersion.toBooleanStrict()) { + val lowestVersion = versionConstraint.strictVersion + .removePrefix("[") + .split(",", limit = 2) + .first() + version { + prefer(lowestVersion) + strictly(lowestVersion) + } + } +} diff --git a/gradle.properties b/gradle.properties index c396b12..0554f97 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,3 +28,5 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true # The version of the THEOplayer Open Video UI for Android. version=1.13.2 +# (For testing purposes) Install the lowest supported THEOplayer version. +installLowestSupportedPlayerVersion=false From bc0e8cba9cc17b26e82e5b2cbaf27bd92c1aa094 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Mon, 16 Mar 2026 17:55:24 +0100 Subject: [PATCH 4/6] Test lowest supported player version on CI --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63f5034..2206006 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,5 +29,7 @@ jobs: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - name: Assemble run: ./gradlew assembleRelease --configuration-cache + - name: Assemble with lowest supported player version + run: ./gradlew assembleRelease --configuration-cache -PinstallLowestSupportedPlayerVersion=true - name: Run tests run: ./gradlew test --configuration-cache From 3ffcab6b735d21fae0e88037ccc75196e8637191 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Mon, 16 Mar 2026 18:06:39 +0100 Subject: [PATCH 5/6] Update changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1a3293..0114e9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ > - 🏠 Internal > - 💅 Polish +## Unreleased + +* 🐛 Changed the minimum supported THEOplayer version to 7.6.0. ([#85](https://github.com/THEOplayer/android-ui/pull/85)) + * This was effectively already the minimum version as of Open Video UI for Android version 1.7.2, but it wasn't noticed until now. + * Future versions will be properly tested with the minimum supported THEOplayer version to avoid similar compatibility issues. + ## v1.13.2 (2026-03-03) * 🐛 Fixed `PictureInPictureButton` to only be shown when the backing `THEOplayerView` has a valid `PiPConfiguration`. ([#81](https://github.com/THEOplayer/android-ui/pull/81)) From f635e6b507aaa724ea5bdf84fdd6219ff740c335 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Tue, 17 Mar 2026 14:03:58 +0100 Subject: [PATCH 6/6] Run tests first --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2206006..b0a05ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,9 +27,9 @@ jobs: with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }} cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} + - name: Run tests + run: ./gradlew test --configuration-cache - name: Assemble run: ./gradlew assembleRelease --configuration-cache - name: Assemble with lowest supported player version run: ./gradlew assembleRelease --configuration-cache -PinstallLowestSupportedPlayerVersion=true - - name: Run tests - run: ./gradlew test --configuration-cache