diff --git a/README.md b/README.md index 79ff889317..0f3255e4f0 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ | Readium | Android min SDK | Android compile SDK | Kotlin compiler (✻) | Gradle (✻) | |-----------|-----------------|---------------------|---------------------|------------| -| `develop` | 21 | 35 | 2.0.21 | 8.10.2 | +| `develop` | 21 | 35 | 2.0.21 | 8.11 | | 3.0.0 | 21 | 34 | 1.9.24 | 8.6.0 | | 2.3.0 | 21 | 33 | 1.7.10 | 6.9.3 | diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 25abc462f3..725d83d2e6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,8 +22,6 @@ androidx-datastore = "1.1.1" androidx-fragment-ktx = "1.8.5" androidx-legacy = "1.0.0" androidx-lifecycle = "2.8.7" -androidx-media = "1.7.0" -androidx-media2 = "1.3.0" androidx-media3 = "1.4.1" androidx-navigation = "2.8.4" androidx-paging = "3.3.4" @@ -36,7 +34,6 @@ assertj = "3.26.3" dokka = "1.9.20" -google-exoplayer = "2.19.1" google-material = "1.12.0" joda-time = "2.13.0" @@ -50,7 +47,7 @@ kotlinx-serialization-json = "1.7.3" # Make sure to align with the Kotlin version. # See https://github.com/google/ksp/releases -ksp = "2.0.21-1.0.25" +ksp = "2.0.21-1.0.28" ktlint = "12.1.1" @@ -90,9 +87,6 @@ androidx-datastore-preferences = { group = "androidx.datastore", name = "datasto androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "androidx-fragment-ktx" } androidx-legacy-ui = { group = "androidx.legacy", name = "legacy-support-core-ui", version.ref = "androidx-legacy" } androidx-lifecycle-common = { group = "androidx.lifecycle", name = "lifecycle-common-java8", version.ref = "androidx-lifecycle" } -androidx-media = { group = "androidx.media", name = "media", version.ref = "androidx-media" } -androidx-media2-session = { group = "androidx.media2", name = "media2-session", version.ref = "androidx-media2" } -androidx-media2-player = { group = "androidx.media2", name = "media2-player", version.ref = "androidx-media2" } androidx-media3-common = { group = "androidx.media3", name = "media3-common", version.ref = "androidx-media3" } androidx-media3-session = { group = "androidx.media3", name = "media3-session", version.ref = "androidx-media3" } androidx-media3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "androidx-media3" } @@ -109,11 +103,6 @@ androidx-webkit = { group = "androidx.webkit", name = "webkit", version.ref = "a assertj = { group = "org.assertj", name = "assertj-core", version.ref = "assertj" } desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" } -google-exoplayer-core = { group = "com.google.android.exoplayer", name = "exoplayer-core", version.ref = "google-exoplayer" } -google-exoplayer-extension-media2 = { group = "com.google.android.exoplayer", name = "extension-media2", version.ref = "google-exoplayer" } -google-exoplayer-mediasession = { group = "com.google.android.exoplayer", name = "extension-mediasession", version.ref = "google-exoplayer" } -google-exoplayer-ui = { group = "com.google.android.exoplayer", name = "exoplayer-ui", version.ref = "google-exoplayer" } -google-exoplayer-workmanager = { group = "com.google.android.exoplayer", name = "extension-workmanager", version.ref = "google-exoplayer" } google-material = { group = "com.google.android.material", name = "material", version.ref = "google-material" } joda-time = { group = "joda-time", name = "joda-time", version.ref = "joda-time" } @@ -152,7 +141,5 @@ compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = " [bundles] compose = ["androidx-compose-activity", "androidx-compose-animation", "androidx-compose-foundation", "androidx-compose-material", "androidx-compose-material3", "androidx-compose-material-icons", "androidx-compose-runtime", "androidx-compose-ui", "androidx-compose-ui-tooling"] -exoplayer = ["google-exoplayer-core", "google-exoplayer-ui", "google-exoplayer-mediasession", "google-exoplayer-workmanager", "google-exoplayer-extension-media2"] -media2 = ["androidx-media2-session", "androidx-media2-player", "google-exoplayer-core", "google-exoplayer-extension-media2"] media3 = ["androidx-media3-session", "androidx-media3-common", "androidx-media3-exoplayer"] room = ["androidx-room-runtime", "androidx-room-ktx"] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1e2fbf0d45..e48eca5755 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/readium/navigator/build.gradle.kts b/readium/navigator/build.gradle.kts index 013535d3d1..e3d0795204 100644 --- a/readium/navigator/build.gradle.kts +++ b/readium/navigator/build.gradle.kts @@ -35,13 +35,9 @@ dependencies { implementation(libs.androidx.legacy.ui) implementation(libs.androidx.lifecycle.common) implementation(libs.androidx.recyclerview) - implementation(libs.androidx.media) implementation(libs.bundles.media3) implementation(libs.androidx.webkit) - implementation(libs.bundles.media2) - // ExoPlayer is used by the Audio Navigator. - api(libs.bundles.exoplayer) implementation(libs.timber) implementation(libs.kotlinx.coroutines.android) implementation(libs.kotlinx.serialization.json) diff --git a/test-app/src/main/java/org/readium/r2/testapp/utils/extensions/Flow.kt b/test-app/src/main/java/org/readium/r2/testapp/utils/extensions/Flow.kt index aa0a63c727..e00660a602 100644 --- a/test-app/src/main/java/org/readium/r2/testapp/utils/extensions/Flow.kt +++ b/test-app/src/main/java/org/readium/r2/testapp/utils/extensions/Flow.kt @@ -10,7 +10,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.collectAsState import androidx.compose.runtime.remember -import androidx.compose.ui.platform.LocalLifecycleOwner +import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.flowWithLifecycle import kotlin.time.Duration import kotlinx.coroutines.CoroutineScope