From 775f742646aa5870acca21b530b48a137d84ef62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Menu?= Date: Wed, 18 Sep 2024 16:27:03 +0200 Subject: [PATCH] Promote the Preferences API to stable (#568) --- .../adapter/exoplayer/audio/ExoPlayerDefaults.kt | 3 --- .../exoplayer/audio/ExoPlayerPreferences.kt | 2 -- .../audio/ExoPlayerPreferencesEditor.kt | 2 -- .../audio/ExoPlayerPreferencesSerializer.kt | 2 -- .../adapter/exoplayer/audio/ExoPlayerSettings.kt | 2 -- .../exoplayer/audio/ExoPlayerSettingsResolver.kt | 2 +- .../adapter/pdfium/navigator/PdfiumDefaults.kt | 2 -- .../pdfium/navigator/PdfiumPreferences.kt | 2 -- .../pdfium/navigator/PdfiumPreferencesEditor.kt | 2 -- .../pdfium/navigator/PdfiumPreferencesFilters.kt | 3 --- .../navigator/PdfiumPreferencesSerializer.kt | 2 -- .../adapter/pdfium/navigator/PdfiumSettings.kt | 2 -- .../pdfium/navigator/PdfiumSettingsResolver.kt | 2 -- .../pspdfkit/navigator/PsPdfKitDefaults.kt | 2 -- .../pspdfkit/navigator/PsPdfKitPreferences.kt | 2 -- .../navigator/PsPdfKitPreferencesEditor.kt | 2 -- .../navigator/PsPdfKitPreferencesFilters.kt | 3 --- .../navigator/PsPdfKitPreferencesSerializer.kt | 2 -- .../pspdfkit/navigator/PsPdfKitSettings.kt | 2 -- .../navigator/PsPdfKitSettingsResolver.kt | 2 -- .../readium/r2/navigator/epub/EpubDefaults.kt | 3 +-- .../r2/navigator/epub/EpubNavigatorFactory.kt | 2 +- .../readium/r2/navigator/epub/EpubPreferences.kt | 4 ++-- .../r2/navigator/epub/EpubPreferencesEditor.kt | 6 +++++- .../r2/navigator/epub/EpubPreferencesFilters.kt | 4 ++-- .../navigator/epub/EpubPreferencesSerializer.kt | 2 -- .../readium/r2/navigator/epub/EpubSettings.kt | 3 +-- .../r2/navigator/epub/EpubSettingsResolver.kt | 2 +- .../org/readium/r2/navigator/epub/css/Layout.kt | 2 -- .../r2/navigator/preferences/Configurable.kt | 7 ------- .../r2/navigator/preferences/MappedPreference.kt | 16 ---------------- .../r2/navigator/preferences/Preference.kt | 8 -------- .../navigator/preferences/PreferenceDelegate.kt | 3 --- .../readium/r2/navigator/preferences/Types.kt | 9 --------- .../media/tts/android/AndroidTtsDefaults.kt | 2 -- .../media/tts/android/AndroidTtsPreferences.kt | 2 +- .../tts/android/AndroidTtsPreferencesEditor.kt | 2 +- .../tts/android/AndroidTtsPreferencesFilters.kt | 4 ++-- .../android/AndroidTtsPreferencesSerializer.kt | 2 -- .../media/tts/android/AndroidTtsSettings.kt | 2 +- .../tts/android/AndroidTtsSettingsResolver.kt | 2 +- .../src/main/java/org/readium/r2/shared/OptIn.kt | 5 +++-- 42 files changed, 23 insertions(+), 112 deletions(-) diff --git a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerDefaults.kt b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerDefaults.kt index 81bba2f128..61e5117a55 100644 --- a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerDefaults.kt +++ b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerDefaults.kt @@ -6,8 +6,6 @@ package org.readium.adapter.exoplayer.audio -import org.readium.r2.shared.ExperimentalReadiumApi - /** * Default values for the ExoPlayer engine. * @@ -16,7 +14,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi * * @see ExoPlayerPreferences */ -@ExperimentalReadiumApi public data class ExoPlayerDefaults( val pitch: Double? = null, val speed: Double? = null diff --git a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferences.kt b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferences.kt index cac4a12758..d0fd62da6b 100644 --- a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferences.kt +++ b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferences.kt @@ -7,7 +7,6 @@ package org.readium.adapter.exoplayer.audio import org.readium.r2.navigator.preferences.Configurable -import org.readium.r2.shared.ExperimentalReadiumApi /** * Preferences for the the ExoPlayer engine. @@ -15,7 +14,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi * @param pitch Playback pitch rate. * @param speed Playback speed rate. */ -@ExperimentalReadiumApi @kotlinx.serialization.Serializable public data class ExoPlayerPreferences( val pitch: Double? = null, diff --git a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesEditor.kt b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesEditor.kt index f040953744..7a546b5302 100644 --- a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesEditor.kt +++ b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesEditor.kt @@ -13,7 +13,6 @@ import org.readium.r2.navigator.preferences.DoubleIncrement import org.readium.r2.navigator.preferences.PreferencesEditor import org.readium.r2.navigator.preferences.RangePreference import org.readium.r2.navigator.preferences.RangePreferenceDelegate -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.InternalReadiumApi import org.readium.r2.shared.publication.Metadata @@ -24,7 +23,6 @@ import org.readium.r2.shared.publication.Metadata * existing preferences. It includes rules for adjusting preferences, such as the supported values * or ranges. */ -@ExperimentalReadiumApi public class ExoPlayerPreferencesEditor( initialPreferences: ExoPlayerPreferences, @Suppress("UNUSED_PARAMETER") publicationMetadata: Metadata, diff --git a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesSerializer.kt b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesSerializer.kt index 4dae0d4aed..08ae7d4864 100644 --- a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesSerializer.kt +++ b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerPreferencesSerializer.kt @@ -8,12 +8,10 @@ package org.readium.adapter.exoplayer.audio import kotlinx.serialization.json.Json import org.readium.r2.navigator.preferences.PreferencesSerializer -import org.readium.r2.shared.ExperimentalReadiumApi /** * JSON serializer of [ExoPlayerPreferences]. */ -@ExperimentalReadiumApi public class ExoPlayerPreferencesSerializer : PreferencesSerializer { override fun serialize(preferences: ExoPlayerPreferences): String = diff --git a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettings.kt b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettings.kt index 67b2e013f3..3965e62dc2 100644 --- a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettings.kt +++ b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettings.kt @@ -7,14 +7,12 @@ package org.readium.adapter.exoplayer.audio import org.readium.r2.navigator.preferences.Configurable -import org.readium.r2.shared.ExperimentalReadiumApi /** * Settings values of the ExoPlayer engine. * * @see ExoPlayerPreferences */ -@ExperimentalReadiumApi public data class ExoPlayerSettings( val pitch: Double, val speed: Double diff --git a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettingsResolver.kt b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettingsResolver.kt index 8a7719394a..a97f592cdb 100644 --- a/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettingsResolver.kt +++ b/readium/adapters/exoplayer/audio/src/main/java/org/readium/adapter/exoplayer/audio/ExoPlayerSettingsResolver.kt @@ -8,7 +8,7 @@ package org.readium.adapter.exoplayer.audio import org.readium.r2.shared.ExperimentalReadiumApi -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) internal class ExoPlayerSettingsResolver( private val defaults: ExoPlayerDefaults ) : ExoPlayerEngine.SettingsResolver { diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumDefaults.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumDefaults.kt index 024509cf3b..105e97ca5a 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumDefaults.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumDefaults.kt @@ -7,7 +7,6 @@ package org.readium.adapter.pdfium.navigator import org.readium.r2.navigator.preferences.ReadingProgression -import org.readium.r2.shared.ExperimentalReadiumApi /** * Default values for the PDF navigator with the PDFium adapter. @@ -16,7 +15,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi * * @see PdfiumPreferences */ -@ExperimentalReadiumApi public data class PdfiumDefaults( val pageSpacing: Double? = null, val readingProgression: ReadingProgression? = null diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferences.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferences.kt index 076ab3c43d..642b09aac3 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferences.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferences.kt @@ -11,7 +11,6 @@ import org.readium.r2.navigator.preferences.Axis import org.readium.r2.navigator.preferences.Configurable import org.readium.r2.navigator.preferences.Fit import org.readium.r2.navigator.preferences.ReadingProgression -import org.readium.r2.shared.ExperimentalReadiumApi /** * Preferences for the PDF navigator with the PDFium adapter. @@ -21,7 +20,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi * @param readingProgression Direction of the horizontal progression across pages. * @param scrollAxis Indicates the axis along which pages should be laid out in scroll mode. */ -@ExperimentalReadiumApi @Serializable public data class PdfiumPreferences( val fit: Fit? = null, diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesEditor.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesEditor.kt index f2ce7f52f3..ce9658227b 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesEditor.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesEditor.kt @@ -10,7 +10,6 @@ package org.readium.adapter.pdfium.navigator import org.readium.r2.navigator.extensions.format import org.readium.r2.navigator.preferences.* -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.InternalReadiumApi import org.readium.r2.shared.publication.Metadata @@ -21,7 +20,6 @@ import org.readium.r2.shared.publication.Metadata * existing preferences. It includes rules for adjusting preferences, such as the supported values * or ranges. */ -@ExperimentalReadiumApi public class PdfiumPreferencesEditor internal constructor( initialPreferences: PdfiumPreferences, publicationMetadata: Metadata, diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesFilters.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesFilters.kt index e1898d4967..465da46cb3 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesFilters.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesFilters.kt @@ -7,12 +7,10 @@ package org.readium.adapter.pdfium.navigator import org.readium.r2.navigator.preferences.PreferencesFilter -import org.readium.r2.shared.ExperimentalReadiumApi /** * Suggested filter to keep only shared [PdfiumPreferences]. */ -@ExperimentalReadiumApi public object PdfiumSharedPreferencesFilter : PreferencesFilter { override fun filter(preferences: PdfiumPreferences): PdfiumPreferences = @@ -24,7 +22,6 @@ public object PdfiumSharedPreferencesFilter : PreferencesFilter { override fun filter(preferences: PdfiumPreferences): PdfiumPreferences = diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesSerializer.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesSerializer.kt index f944732e17..105eecbb8b 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesSerializer.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumPreferencesSerializer.kt @@ -8,12 +8,10 @@ package org.readium.adapter.pdfium.navigator import kotlinx.serialization.json.Json import org.readium.r2.navigator.preferences.PreferencesSerializer -import org.readium.r2.shared.ExperimentalReadiumApi /** * JSON serializer of [PdfiumPreferences]. */ -@ExperimentalReadiumApi public class PdfiumPreferencesSerializer : PreferencesSerializer { override fun serialize(preferences: PdfiumPreferences): String = diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettings.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettings.kt index 0c8a56af5d..e562cb749d 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettings.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettings.kt @@ -7,14 +7,12 @@ package org.readium.adapter.pdfium.navigator import org.readium.r2.navigator.preferences.* -import org.readium.r2.shared.ExperimentalReadiumApi /** * Settings values of the PDF navigator with the PDFium adapter. * * @see PdfiumPreferences */ -@ExperimentalReadiumApi public data class PdfiumSettings( val fit: Fit, val pageSpacing: Double, diff --git a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettingsResolver.kt b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettingsResolver.kt index 366f21289f..7dc3892b4b 100644 --- a/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettingsResolver.kt +++ b/readium/adapters/pdfium/navigator/src/main/java/org/readium/adapter/pdfium/navigator/PdfiumSettingsResolver.kt @@ -9,11 +9,9 @@ package org.readium.adapter.pdfium.navigator import org.readium.r2.navigator.preferences.Axis import org.readium.r2.navigator.preferences.Fit import org.readium.r2.navigator.preferences.ReadingProgression -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.publication.Metadata import org.readium.r2.shared.publication.ReadingProgression as PublicationReadingProgression -@ExperimentalReadiumApi internal class PdfiumSettingsResolver( private val metadata: Metadata, private val defaults: PdfiumDefaults diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitDefaults.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitDefaults.kt index 2f1cc0730c..e61c884494 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitDefaults.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitDefaults.kt @@ -8,7 +8,6 @@ package org.readium.adapter.pspdfkit.navigator import org.readium.r2.navigator.preferences.ReadingProgression import org.readium.r2.navigator.preferences.Spread -import org.readium.r2.shared.ExperimentalReadiumApi /** * Default values for the PDF navigator with the PSPDFKit adapter. @@ -17,7 +16,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi * * @see PsPdfKitPreferences */ -@ExperimentalReadiumApi public data class PsPdfKitDefaults( val offsetFirstPage: Boolean? = null, val pageSpacing: Double? = null, diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferences.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferences.kt index bf7b19440a..4a51701ec1 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferences.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferences.kt @@ -8,7 +8,6 @@ package org.readium.adapter.pspdfkit.navigator import kotlinx.serialization.Serializable import org.readium.r2.navigator.preferences.* -import org.readium.r2.shared.ExperimentalReadiumApi /** * Preferences for the PDF navigator with the PSPDFKit adapter. @@ -21,7 +20,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi * @param scrollAxis Indicates the axis along which pages should be laid out in scroll mode. * @param spread Indicates if the publication should be rendered with a synthetic spread (dual-page). */ -@ExperimentalReadiumApi @Serializable public data class PsPdfKitPreferences( val fit: Fit? = null, diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesEditor.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesEditor.kt index 443098ab4d..22852cee6e 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesEditor.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesEditor.kt @@ -21,7 +21,6 @@ import org.readium.r2.navigator.preferences.RangePreference import org.readium.r2.navigator.preferences.RangePreferenceDelegate import org.readium.r2.navigator.preferences.ReadingProgression import org.readium.r2.navigator.preferences.Spread -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.InternalReadiumApi import org.readium.r2.shared.publication.Metadata @@ -32,7 +31,6 @@ import org.readium.r2.shared.publication.Metadata * existing preferences. It includes rules for adjusting preferences, such as the supported values * or ranges. */ -@ExperimentalReadiumApi public class PsPdfKitPreferencesEditor internal constructor( initialPreferences: PsPdfKitPreferences, publicationMetadata: Metadata, diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesFilters.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesFilters.kt index 368b3e23b9..4650806bfa 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesFilters.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesFilters.kt @@ -7,12 +7,10 @@ package org.readium.adapter.pspdfkit.navigator import org.readium.r2.navigator.preferences.PreferencesFilter -import org.readium.r2.shared.ExperimentalReadiumApi /** * Suggested filter to keep only shared [PsPdfKitPreferences]. */ -@ExperimentalReadiumApi public object PsPdfKitSharedPreferencesFilter : PreferencesFilter { override fun filter(preferences: PsPdfKitPreferences): PsPdfKitPreferences = @@ -26,7 +24,6 @@ public object PsPdfKitSharedPreferencesFilter : PreferencesFilter { override fun filter(preferences: PsPdfKitPreferences): PsPdfKitPreferences = diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesSerializer.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesSerializer.kt index 7348fc655f..b19d0e6ec3 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesSerializer.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitPreferencesSerializer.kt @@ -8,12 +8,10 @@ package org.readium.adapter.pspdfkit.navigator import kotlinx.serialization.json.Json import org.readium.r2.navigator.preferences.PreferencesSerializer -import org.readium.r2.shared.ExperimentalReadiumApi /** * JSON serializer of [PsPdfKitPreferences]. */ -@ExperimentalReadiumApi public class PsPdfKitPreferencesSerializer : PreferencesSerializer { override fun serialize(preferences: PsPdfKitPreferences): String = diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettings.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettings.kt index e43867feab..68895d9cc3 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettings.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettings.kt @@ -7,14 +7,12 @@ package org.readium.adapter.pspdfkit.navigator import org.readium.r2.navigator.preferences.* -import org.readium.r2.shared.ExperimentalReadiumApi /** * Settings values of the PDF navigator with the PSPDFKit adapter. * * @see PsPdfKitPreferences */ -@ExperimentalReadiumApi public data class PsPdfKitSettings( val fit: Fit, val offsetFirstPage: Boolean, diff --git a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettingsResolver.kt b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettingsResolver.kt index cfa7e01102..c889301e3a 100644 --- a/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettingsResolver.kt +++ b/readium/adapters/pspdfkit/navigator/src/main/java/org/readium/adapter/pspdfkit/navigator/PsPdfKitSettingsResolver.kt @@ -10,11 +10,9 @@ import org.readium.r2.navigator.preferences.Axis import org.readium.r2.navigator.preferences.Fit import org.readium.r2.navigator.preferences.ReadingProgression import org.readium.r2.navigator.preferences.Spread -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.publication.Metadata import org.readium.r2.shared.publication.ReadingProgression as PublicationReadingProgression -@ExperimentalReadiumApi internal class PsPdfKitSettingsResolver( private val metadata: Metadata, private val defaults: PsPdfKitDefaults diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubDefaults.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubDefaults.kt index 705e4a67d2..25433d7ef7 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubDefaults.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubDefaults.kt @@ -17,8 +17,7 @@ import org.readium.r2.shared.util.Language * * @see EpubPreferences */ -@ExperimentalReadiumApi -public data class EpubDefaults( +public data class EpubDefaults @ExperimentalReadiumApi constructor( val columnCount: ColumnCount? = null, val fontSize: Double? = null, val fontWeight: Double? = null, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubNavigatorFactory.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubNavigatorFactory.kt index 9037f24040..1ec714d02b 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubNavigatorFactory.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubNavigatorFactory.kt @@ -23,7 +23,7 @@ import org.readium.r2.shared.publication.presentation.presentation * @param publication EPUB publication to render in the navigator. * @param configuration Configuration of the factory to create. */ -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) public class EpubNavigatorFactory( private val publication: Publication, private val configuration: Configuration = Configuration() diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferences.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferences.kt index 7eaf181bd0..d9e5fa496c 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferences.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferences.kt @@ -47,9 +47,8 @@ import org.readium.r2.shared.util.Language * no preference is given. * @param wordSpacing Space between words. */ -@ExperimentalReadiumApi @Serializable -public data class EpubPreferences( +public data class EpubPreferences @ExperimentalReadiumApi constructor( val backgroundColor: Color? = null, val columnCount: ColumnCount? = null, val fontFamily: FontFamily? = null, @@ -88,6 +87,7 @@ public data class EpubPreferences( require(wordSpacing == null || wordSpacing >= 0) } + @OptIn(ExperimentalReadiumApi::class) override operator fun plus(other: EpubPreferences): EpubPreferences = EpubPreferences( backgroundColor = other.backgroundColor ?: backgroundColor, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesEditor.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesEditor.kt index 08b10c7d19..166383149e 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesEditor.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesEditor.kt @@ -24,7 +24,7 @@ import org.readium.r2.shared.util.Language * existing preferences. It includes rules for adjusting preferences, such as the supported values * or ranges. */ -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) public class EpubPreferencesEditor internal constructor( initialPreferences: EpubPreferences, publicationMetadata: Metadata, @@ -50,6 +50,7 @@ public class EpubPreferencesEditor internal constructor( /** * Reset all preferences. */ + @OptIn(ExperimentalReadiumApi::class) override fun clear() { updateValues { EpubPreferences() } } @@ -81,6 +82,7 @@ public class EpubPreferencesEditor internal constructor( * - the publication is reflowable * - [scroll] is off */ + @ExperimentalReadiumApi public val columnCount: EnumPreference = EnumPreferenceDelegate( getValue = { preferences.columnCount }, @@ -246,6 +248,7 @@ public class EpubPreferencesEditor internal constructor( * * Only effective with reflowable publications. */ + @ExperimentalReadiumApi public val pageMargins: RangePreference = RangePreferenceDelegate( getValue = { preferences.pageMargins }, @@ -425,6 +428,7 @@ public class EpubPreferencesEditor internal constructor( * - the publication is reflowable * - [publisherStyles] is off */ + @ExperimentalReadiumApi public val typeScale: RangePreference = RangePreferenceDelegate( getValue = { preferences.typeScale }, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesFilters.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesFilters.kt index 795f405f4b..96e0cbb97f 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesFilters.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesFilters.kt @@ -12,9 +12,9 @@ import org.readium.r2.shared.ExperimentalReadiumApi /** * Suggested filter to keep only shared [EpubPreferences]. */ -@ExperimentalReadiumApi public object EpubSharedPreferencesFilter : PreferencesFilter { + @OptIn(ExperimentalReadiumApi::class) override fun filter(preferences: EpubPreferences): EpubPreferences = preferences.copy( readingProgression = null, @@ -27,9 +27,9 @@ public object EpubSharedPreferencesFilter : PreferencesFilter { /** * Suggested filter to keep only publication-specific [EpubPreferences]. */ -@ExperimentalReadiumApi public object EpubPublicationPreferencesFilter : PreferencesFilter { + @OptIn(ExperimentalReadiumApi::class) override fun filter(preferences: EpubPreferences): EpubPreferences = EpubPreferences( readingProgression = preferences.readingProgression, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesSerializer.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesSerializer.kt index bd187265fd..6b55c5063b 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesSerializer.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubPreferencesSerializer.kt @@ -8,12 +8,10 @@ package org.readium.r2.navigator.epub import kotlinx.serialization.json.Json import org.readium.r2.navigator.preferences.PreferencesSerializer -import org.readium.r2.shared.ExperimentalReadiumApi /** * JSON serializer of [EpubPreferences]. */ -@ExperimentalReadiumApi public class EpubPreferencesSerializer : PreferencesSerializer { override fun serialize(preferences: EpubPreferences): String = diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettings.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettings.kt index 202cba0818..a4f012e9c9 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettings.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettings.kt @@ -35,8 +35,7 @@ import org.readium.r2.shared.util.Language * * @see EpubPreferences */ -@ExperimentalReadiumApi -public data class EpubSettings( +public data class EpubSettings @ExperimentalReadiumApi constructor( val backgroundColor: Color?, val columnCount: ColumnCount, val fontFamily: FontFamily?, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettingsResolver.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettingsResolver.kt index d276ce982c..14e08a69f7 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettingsResolver.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/EpubSettingsResolver.kt @@ -14,7 +14,7 @@ import org.readium.r2.shared.publication.Metadata import org.readium.r2.shared.publication.ReadingProgression as PublicationReadingProgression import org.readium.r2.shared.util.Language -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) internal class EpubSettingsResolver( private val metadata: Metadata, private val defaults: EpubDefaults diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/css/Layout.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/css/Layout.kt index 420be17e12..075189077f 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/epub/css/Layout.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/epub/css/Layout.kt @@ -9,7 +9,6 @@ package org.readium.r2.navigator.epub.css import org.readium.r2.navigator.epub.EpubSettings import org.readium.r2.navigator.epub.extensions.isCjk import org.readium.r2.navigator.preferences.ReadingProgression -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.util.Language /** @@ -17,7 +16,6 @@ import org.readium.r2.shared.util.Language * * See https://github.com/readium/readium-css/tree/master/css/dist */ -@ExperimentalReadiumApi internal data class Layout( val language: Language? = null, val stylesheets: Stylesheets = Stylesheets.Default, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Configurable.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Configurable.kt index 6006b1a372..96671b032f 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Configurable.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Configurable.kt @@ -9,12 +9,10 @@ package org.readium.r2.navigator.preferences import kotlinx.coroutines.flow.StateFlow import org.readium.r2.navigator.preferences.Configurable.Preferences import org.readium.r2.navigator.preferences.Configurable.Settings -import org.readium.r2.shared.ExperimentalReadiumApi /** * A [Configurable] is a component with a set of configurable [Settings]. */ -@ExperimentalReadiumApi public interface Configurable> { /** @@ -52,7 +50,6 @@ public interface Configurable> { /** * JSON serializer of [P]. */ -@ExperimentalReadiumApi public interface PreferencesSerializer

> { /** @@ -71,7 +68,6 @@ public interface PreferencesSerializer

> { * * This can be used as a helper for a user preferences screen. */ -@ExperimentalReadiumApi public interface PreferencesEditor

> { /** @@ -88,17 +84,14 @@ public interface PreferencesEditor

> { /** * A filter to keep only some preferences and filter out some others. */ -@ExperimentalReadiumApi public fun interface PreferencesFilter

> { public fun filter(preferences: P): P } -@ExperimentalReadiumApi public operator fun

> PreferencesFilter

.plus(other: PreferencesFilter

): PreferencesFilter

= CombinedPreferencesFilter(this, other) -@ExperimentalReadiumApi private class CombinedPreferencesFilter

>( private val inner: PreferencesFilter

, private val outer: PreferencesFilter

diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/MappedPreference.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/MappedPreference.kt index 412e57bdc9..164e9f1fbc 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/MappedPreference.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/MappedPreference.kt @@ -1,26 +1,21 @@ package org.readium.r2.navigator.preferences -import org.readium.r2.shared.ExperimentalReadiumApi - /** * Creates a new [Preference] object wrapping the receiver and converting its value [from] and [to] * the target type [V]. */ -@ExperimentalReadiumApi public fun Preference.map(from: (T) -> V, to: (V) -> T): Preference = MappedPreference(this, from, to) /** * Creates a new [EnumPreference] object wrapping the receiver with the provided [supportedValues]. */ -@ExperimentalReadiumApi public fun Preference.withSupportedValues(vararg supportedValues: T): EnumPreference = withSupportedValues(supportedValues.toList()) /** * Creates a new [EnumPreference] object wrapping the receiver with the provided [supportedValues]. */ -@ExperimentalReadiumApi public fun Preference.withSupportedValues(supportedValues: List): EnumPreference = PreferenceWithSupportedValues(this, supportedValues) @@ -28,7 +23,6 @@ public fun Preference.withSupportedValues(supportedValues: List): Enum * Creates a new [EnumPreference] object wrapping the receiver and converting its value and * [supportedValues], [from] and [to] the target type [V]. */ -@ExperimentalReadiumApi public fun EnumPreference.map( from: (T) -> V, to: (V) -> T, @@ -39,14 +33,12 @@ public fun EnumPreference.map( /** * Creates a new [EnumPreference] object wrapping the receiver with the provided [supportedValues]. */ -@ExperimentalReadiumApi public fun EnumPreference.withSupportedValues(vararg supportedValues: T): EnumPreference = withSupportedValues(supportedValues.toList()) /** * Creates a new [EnumPreference] object wrapping the receiver with the provided [supportedValues]. */ -@ExperimentalReadiumApi public fun EnumPreference.withSupportedValues(supportedValues: List): EnumPreference = map(from = { it }, to = { it }, supportedValues = { supportedValues }) @@ -54,7 +46,6 @@ public fun EnumPreference.withSupportedValues(supportedValues: List): * Creates a new [EnumPreference] object wrapping the receiver and transforming its supported * values with [transform]. */ -@ExperimentalReadiumApi public fun EnumPreference.mapSupportedValues(transform: (List) -> List): EnumPreference = map(from = { it }, to = { it }, supportedValues = transform) @@ -64,7 +55,6 @@ public fun EnumPreference.mapSupportedValues(transform: (List) -> List * * The value formatter, or [increment] and [decrement] strategy of the receiver can be overwritten. */ -@ExperimentalReadiumApi public fun , V : Comparable> RangePreference.map( from: (T) -> V, to: (V) -> T, @@ -87,7 +77,6 @@ public fun , V : Comparable> RangePreference.map( * Creates a new [RangePreference] object wrapping the receiver and transforming its * [supportedRange], or overwriting its [formatValue] or [increment] and [decrement] strategy. */ -@ExperimentalReadiumApi public fun > RangePreference.map( supportedRange: (ClosedRange) -> ClosedRange = { it }, formatValue: ((T) -> String)? = null, @@ -109,7 +98,6 @@ public fun > RangePreference.map( * [range]. A new [progressionStrategy] can be provided to customize the implementation of increment * and decrement. */ -@ExperimentalReadiumApi public fun > RangePreference.withSupportedRange( range: ClosedRange = supportedRange, progressionStrategy: ProgressionStrategy @@ -126,7 +114,6 @@ public fun > RangePreference.withSupportedRange( } ) -@ExperimentalReadiumApi private open class MappedPreference( protected open val original: Preference, protected val from: (T) -> V, @@ -144,13 +131,11 @@ private open class MappedPreference( } } -@ExperimentalReadiumApi private class PreferenceWithSupportedValues( override val original: Preference, override val supportedValues: List ) : MappedPreference(original, from = { it }, to = { it }), EnumPreference -@ExperimentalReadiumApi private class MappedEnumPreference( override val original: EnumPreference, from: (T) -> V, @@ -167,7 +152,6 @@ private class MappedEnumPreference( } } -@ExperimentalReadiumApi private class MappedRangePreference, V : Comparable>( override val original: RangePreference, from: (T) -> V, diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Preference.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Preference.kt index fd74422f10..70019db3f5 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Preference.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Preference.kt @@ -6,13 +6,10 @@ package org.readium.r2.navigator.preferences -import org.readium.r2.shared.ExperimentalReadiumApi - /** * A handle to edit the value of a specific preference which is able to predict * which value the [Configurable] will effectively use. */ -@ExperimentalReadiumApi public interface Preference { /** @@ -41,7 +38,6 @@ public interface Preference { /** * Unset the preference. */ -@ExperimentalReadiumApi public fun Preference.clear() { set(null) } @@ -50,7 +46,6 @@ public fun Preference.clear() { * Toggle the preference value. A default value is taken as the initial one if * the preference is currently unset. */ -@OptIn(ExperimentalReadiumApi::class) public fun Preference.toggle() { set(!(value ?: effectiveValue)) } @@ -58,14 +53,12 @@ public fun Preference.toggle() { /** * Returns a new preference with its boolean value flipped. */ -@OptIn(ExperimentalReadiumApi::class) public fun Preference.flipped(): Preference = map(from = { !it }, to = { !it }) /** * A [Preference] which accepts a closed set of values. */ -@ExperimentalReadiumApi public interface EnumPreference : Preference { /** * List of valid values for this preference. @@ -76,7 +69,6 @@ public interface EnumPreference : Preference { /** * A [Preference] whose values must be in a [ClosedRange] of [T]. */ -@ExperimentalReadiumApi public interface RangePreference> : Preference { public val supportedRange: ClosedRange diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/PreferenceDelegate.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/PreferenceDelegate.kt index 15543e2a00..84c5d52d0d 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/PreferenceDelegate.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/PreferenceDelegate.kt @@ -4,11 +4,8 @@ * available in the top-level LICENSE file of the project. */ -@file:OptIn(ExperimentalReadiumApi::class) - package org.readium.r2.navigator.preferences -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.InternalReadiumApi @InternalReadiumApi diff --git a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Types.kt b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Types.kt index f2f4856c67..9dbf1a3a58 100644 --- a/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Types.kt +++ b/readium/navigator/src/main/java/org/readium/r2/navigator/preferences/Types.kt @@ -27,7 +27,6 @@ import org.readium.r2.shared.ExperimentalReadiumApi @ColorInt private val sepiaBackgroundColor: Int = AndroidColor.parseColor("#faf4e8") -@ExperimentalReadiumApi @Serializable public enum class Theme( @ColorInt public val contentColor: Int, @@ -43,7 +42,6 @@ public enum class Theme( SEPIA(contentColor = sepiaContentColor, backgroundColor = sepiaBackgroundColor); } -@ExperimentalReadiumApi @Serializable public enum class TextAlign { /** Align the text in the center of the page. */ @@ -84,7 +82,6 @@ public enum class ColumnCount { TWO; } -@ExperimentalReadiumApi @Serializable public enum class ImageFilter { @SerialName("darken") @@ -100,7 +97,6 @@ public enum class ImageFilter { * For a list of vetted font families, see https://readium.org/readium-css/docs/CSS10-libre_fonts. */ @JvmInline -@ExperimentalReadiumApi @Serializable public value class FontFamily(public val name: String) { @@ -123,7 +119,6 @@ public value class FontFamily(public val name: String) { /** * Packed color int. */ -@ExperimentalReadiumApi @Serializable @JvmInline public value class Color(@ColorInt public val int: Int) @@ -131,7 +126,6 @@ public value class Color(@ColorInt public val int: Int) /** * Layout axis. */ -@ExperimentalReadiumApi @Serializable public enum class Axis(public val value: String) { @SerialName("horizontal") @@ -144,7 +138,6 @@ public enum class Axis(public val value: String) { /** * Synthetic spread policy. */ -@ExperimentalReadiumApi @Serializable public enum class Spread(public val value: String) { @SerialName("auto") @@ -160,7 +153,6 @@ public enum class Spread(public val value: String) { /** * Direction of the reading progression across resources. */ -@ExperimentalReadiumApi @Serializable public enum class ReadingProgression(public val value: String) { @SerialName("ltr") @@ -173,7 +165,6 @@ public enum class ReadingProgression(public val value: String) { /** * Method for constraining a resource inside the viewport. */ -@ExperimentalReadiumApi @Serializable public enum class Fit(public val value: String) { @SerialName("cover") diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsDefaults.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsDefaults.kt index 79d9b9afd4..3ccdfcaf33 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsDefaults.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsDefaults.kt @@ -6,7 +6,6 @@ package org.readium.navigator.media.tts.android -import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.util.Language /** @@ -17,7 +16,6 @@ import org.readium.r2.shared.util.Language * * @see AndroidTtsPreferences */ -@ExperimentalReadiumApi public data class AndroidTtsDefaults( val language: Language? = null, val pitch: Double? = null, diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferences.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferences.kt index 4cfa0dc0c8..0470c005f8 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferences.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferences.kt @@ -19,7 +19,7 @@ import org.readium.r2.shared.util.Language * @param speed Playback speed rate. * @param voices Map of preferred voices for specific languages. */ -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) @Serializable public data class AndroidTtsPreferences( override val language: Language? = null, diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesEditor.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesEditor.kt index 286b2d02e1..c6a078021a 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesEditor.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesEditor.kt @@ -22,7 +22,7 @@ import org.readium.r2.shared.util.Language * existing preferences. It includes rules for adjusting preferences, such as the supported values * or ranges. */ -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) public class AndroidTtsPreferencesEditor( initialPreferences: AndroidTtsPreferences, publicationMetadata: Metadata, diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesFilters.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesFilters.kt index 4c5523d1c7..9ce8158130 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesFilters.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesFilters.kt @@ -12,9 +12,9 @@ import org.readium.r2.shared.ExperimentalReadiumApi /** * Suggested filter to keep only shared [AndroidTtsPreferences]. */ -@ExperimentalReadiumApi public object AndroidTtsSharedPreferencesFilter : PreferencesFilter { + @OptIn(ExperimentalReadiumApi::class) override fun filter(preferences: AndroidTtsPreferences): AndroidTtsPreferences = preferences.copy( language = null @@ -24,9 +24,9 @@ public object AndroidTtsSharedPreferencesFilter : PreferencesFilter { + @OptIn(ExperimentalReadiumApi::class) override fun filter(preferences: AndroidTtsPreferences): AndroidTtsPreferences = AndroidTtsPreferences( language = preferences.language diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesSerializer.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesSerializer.kt index 65f6f3676d..fa16be5146 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesSerializer.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsPreferencesSerializer.kt @@ -8,12 +8,10 @@ package org.readium.navigator.media.tts.android import kotlinx.serialization.json.Json import org.readium.r2.navigator.preferences.PreferencesSerializer -import org.readium.r2.shared.ExperimentalReadiumApi /** * JSON serializer of [AndroidTtsPreferences]. */ -@ExperimentalReadiumApi public class AndroidTtsPreferencesSerializer : PreferencesSerializer { override fun serialize(preferences: AndroidTtsPreferences): String = diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettings.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettings.kt index b302f63120..b6e7ac8b66 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettings.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettings.kt @@ -15,7 +15,7 @@ import org.readium.r2.shared.util.Language * * @see AndroidTtsPreferences */ -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) public data class AndroidTtsSettings( override val language: Language, override val overrideContentLanguage: Boolean, diff --git a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettingsResolver.kt b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettingsResolver.kt index a51476b61e..4f20f0af45 100644 --- a/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettingsResolver.kt +++ b/readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/android/AndroidTtsSettingsResolver.kt @@ -11,7 +11,7 @@ import org.readium.r2.shared.ExperimentalReadiumApi import org.readium.r2.shared.publication.Metadata import org.readium.r2.shared.util.Language -@ExperimentalReadiumApi +@OptIn(ExperimentalReadiumApi::class) internal class AndroidTtsSettingsResolver( private val metadata: Metadata, private val defaults: AndroidTtsDefaults diff --git a/readium/shared/src/main/java/org/readium/r2/shared/OptIn.kt b/readium/shared/src/main/java/org/readium/r2/shared/OptIn.kt index ae95dc85cb..f9add4b220 100644 --- a/readium/shared/src/main/java/org/readium/r2/shared/OptIn.kt +++ b/readium/shared/src/main/java/org/readium/r2/shared/OptIn.kt @@ -30,9 +30,10 @@ public annotation class InternalReadiumApi @Retention(AnnotationRetention.BINARY) @Target( AnnotationTarget.CLASS, + AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, - AnnotationTarget.TYPEALIAS, - AnnotationTarget.PROPERTY + AnnotationTarget.PROPERTY, + AnnotationTarget.TYPEALIAS ) public annotation class ExperimentalReadiumApi