Browse Source

Bump dependencies

arkon 1 year ago
parent
commit
ac306547a0
55 changed files with 109 additions and 111 deletions
  1. 1 1
      app/src/main/java/eu/kanade/domain/base/ExtensionInstallerPreference.kt
  2. 2 2
      app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
  3. 2 2
      app/src/main/java/eu/kanade/presentation/browse/components/BrowseIcons.kt
  4. 1 1
      app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchToolbar.kt
  5. 2 2
      app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
  6. 2 2
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
  7. 2 2
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
  8. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
  9. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
  10. 1 1
      app/src/main/java/eu/kanade/presentation/more/settings/widget/AppThemePreferenceWidget.kt
  11. 1 1
      app/src/main/java/eu/kanade/presentation/more/stats/StatsScreenState.kt
  12. 3 3
      app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
  13. 1 1
      app/src/main/java/eu/kanade/tachiyomi/AppInfo.kt
  14. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/saver/ImageSaver.kt
  15. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt
  16. 3 3
      app/src/main/java/eu/kanade/tachiyomi/extension/model/LoadResult.kt
  17. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreenModel.kt
  18. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreenModel.kt
  19. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreenModel.kt
  20. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceScreenModel.kt
  21. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreenModel.kt
  22. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
  23. 3 3
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
  24. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt
  25. 3 3
      app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt
  26. 3 3
      app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt
  27. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
  28. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
  29. 5 5
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
  30. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
  31. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
  32. 3 3
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
  33. 4 4
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderChapter.kt
  34. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/OrientationType.kt
  35. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingModeType.kt
  36. 5 5
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerNavigation.kt
  37. 3 3
      app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
  38. 1 1
      app/src/main/java/eu/kanade/tachiyomi/util/system/GLUtil.kt
  39. 2 2
      core-metadata/src/main/java/tachiyomi/core/metadata/comicinfo/ComicInfo.kt
  40. 2 2
      core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
  41. 1 3
      data/src/main/java/tachiyomi/data/DatabaseAdapter.kt
  42. 1 1
      domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
  43. 1 1
      domain/src/main/java/tachiyomi/domain/category/interactor/DeleteCategory.kt
  44. 1 1
      domain/src/main/java/tachiyomi/domain/category/interactor/RenameCategory.kt
  45. 2 2
      domain/src/main/java/tachiyomi/domain/category/interactor/ReorderCategory.kt
  46. 1 1
      domain/src/main/java/tachiyomi/domain/category/interactor/UpdateCategory.kt
  47. 4 4
      domain/src/main/java/tachiyomi/domain/library/model/LibraryDisplayMode.kt
  48. 10 10
      domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
  49. 3 3
      domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
  50. 3 3
      domain/src/main/java/tachiyomi/domain/source/model/Pin.kt
  51. 1 1
      gradle/compose.versions.toml
  52. 1 1
      gradle/kotlinx.versions.toml
  53. 2 2
      gradle/libs.versions.toml
  54. 1 1
      presentation-core/src/main/java/tachiyomi/presentation/core/components/VerticalFastScroller.kt
  55. 2 2
      presentation-widget/src/main/java/tachiyomi/presentation/widget/components/UpdatesWidget.kt

+ 1 - 1
app/src/main/java/eu/kanade/domain/base/ExtensionInstallerPreference.kt

@@ -18,7 +18,7 @@ class ExtensionInstallerPreference(
 
     override fun key() = "extension_installer"
 
-    val entries get() = ExtensionInstaller.values().run {
+    val entries get() = ExtensionInstaller.entries.run {
         if (context.hasMiuiPackageInstaller) {
             filter { it != ExtensionInstaller.PACKAGEINSTALLER }
         } else {

+ 2 - 2
app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt

@@ -73,8 +73,8 @@ class SetReadStatus(
         await(manga.id, read)
 
     sealed class Result {
-        object Success : Result()
-        object NoChapters : Result()
+        data object Success : Result()
+        data object NoChapters : Result()
         data class InternalError(val error: Throwable) : Result()
     }
 }

+ 2 - 2
app/src/main/java/eu/kanade/presentation/browse/components/BrowseIcons.kt

@@ -142,7 +142,7 @@ private fun Extension.getIcon(density: Int = DisplayMetrics.DENSITY_DEFAULT): St
 }
 
 sealed class Result<out T> {
-    object Loading : Result<Nothing>()
-    object Error : Result<Nothing>()
+    data object Loading : Result<Nothing>()
+    data object Error : Result<Nothing>()
     data class Success<out T>(val value: T) : Result<T>()
 }

+ 1 - 1
app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchToolbar.kt

@@ -56,7 +56,7 @@ fun GlobalSearchToolbar(
                 navigateUp = navigateUp,
                 scrollBehavior = scrollBehavior,
             )
-            if (progress in 1 until total) {
+            if (progress in 1..<total) {
                 LinearProgressIndicator(
                     progress = progress / total.toFloat(),
                     modifier = Modifier

+ 2 - 2
app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt

@@ -88,7 +88,7 @@ fun MangaBottomActionMenu(
             var resetJob: Job? = remember { null }
             val onLongClickItem: (Int) -> Unit = { toConfirmIndex ->
                 haptic.performHapticFeedback(HapticFeedbackType.LongPress)
-                (0 until 7).forEach { i -> confirm[i] = i == toConfirmIndex }
+                (0..<7).forEach { i -> confirm[i] = i == toConfirmIndex }
                 resetJob?.cancel()
                 resetJob = scope.launch {
                     delay(1.seconds)
@@ -241,7 +241,7 @@ fun LibraryBottomActionMenu(
             var resetJob: Job? = remember { null }
             val onLongClickItem: (Int) -> Unit = { toConfirmIndex ->
                 haptic.performHapticFeedback(HapticFeedbackType.LongPress)
-                (0 until 5).forEach { i -> confirm[i] = i == toConfirmIndex }
+                (0..<5).forEach { i -> confirm[i] = i == toConfirmIndex }
                 resetJob?.cancel()
                 resetJob = scope.launch {
                     delay(1.seconds)

+ 2 - 2
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt

@@ -136,7 +136,7 @@ object SettingsAppearanceScreen : SearchableSettings {
                 Preference.PreferenceItem.ListPreference(
                     pref = uiPreferences.tabletUiMode(),
                     title = stringResource(R.string.pref_tablet_ui_mode),
-                    entries = TabletUiMode.values().associateWith { stringResource(it.titleResId) },
+                    entries = TabletUiMode.entries.associateWith { stringResource(it.titleResId) },
                     onValueChanged = {
                         context.toast(R.string.requires_app_restart)
                         true
@@ -180,7 +180,7 @@ object SettingsAppearanceScreen : SearchableSettings {
         var eventType = parser.eventType
         while (eventType != XmlPullParser.END_DOCUMENT) {
             if (eventType == XmlPullParser.START_TAG && parser.name == "locale") {
-                for (i in 0 until parser.attributeCount) {
+                for (i in 0..<parser.attributeCount) {
                     if (parser.getAttributeName(i) == "name") {
                         val langTag = parser.getAttributeValue(i)
                         val displayName = LocaleHelper.getDisplayName(langTag)

+ 2 - 2
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt

@@ -33,7 +33,7 @@ object SettingsReaderScreen : SearchableSettings {
             Preference.PreferenceItem.ListPreference(
                 pref = readerPref.defaultReadingMode(),
                 title = stringResource(R.string.pref_viewer_type),
-                entries = ReadingModeType.values().drop(1)
+                entries = ReadingModeType.entries.drop(1)
                     .associate { it.flagValue to stringResource(it.stringRes) },
             ),
             Preference.PreferenceItem.ListPreference(
@@ -84,7 +84,7 @@ object SettingsReaderScreen : SearchableSettings {
                 Preference.PreferenceItem.ListPreference(
                     pref = readerPreferences.defaultOrientationType(),
                     title = stringResource(R.string.pref_rotation_type),
-                    entries = OrientationType.values().drop(1)
+                    entries = OrientationType.entries.drop(1)
                         .associate { it.flagValue to stringResource(it.stringRes) },
                 ),
                 Preference.PreferenceItem.ListPreference(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

@@ -70,7 +70,7 @@ object SettingsSecurityScreen : SearchableSettings {
             Preference.PreferenceItem.ListPreference(
                 pref = securityPreferences.secureScreen(),
                 title = stringResource(R.string.secure_screen),
-                entries = SecurityPreferences.SecureScreenMode.values()
+                entries = SecurityPreferences.SecureScreenMode.entries
                     .associateWith { stringResource(it.titleResId) },
             ),
             Preference.PreferenceItem.InfoPreference(stringResource(R.string.secure_screen_summary)),

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt

@@ -270,7 +270,7 @@ private class ClearDatabaseScreenModel : StateScreenModel<ClearDatabaseScreenMod
     }
 
     sealed class State {
-        object Loading : State()
+        data object Loading : State()
         data class Ready(
             val items: List<SourceWithCount>,
             val selection: List<Long> = emptyList(),

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/settings/widget/AppThemePreferenceWidget.kt

@@ -75,7 +75,7 @@ private fun AppThemesList(
     onItemClick: (AppTheme) -> Unit,
 ) {
     val appThemes = remember {
-        AppTheme.values()
+        AppTheme.entries
             .filterNot { it.titleResId == null || (it == AppTheme.MONET && !DeviceUtil.isDynamicColorAvailable) }
     }
     LazyRow(

+ 1 - 1
app/src/main/java/eu/kanade/presentation/more/stats/StatsScreenState.kt

@@ -5,7 +5,7 @@ import eu.kanade.presentation.more.stats.data.StatsData
 
 sealed class StatsScreenState {
     @Immutable
-    object Loading : StatsScreenState()
+    data object Loading : StatsScreenState()
 
     @Immutable
     data class Success(

+ 3 - 3
app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt

@@ -24,9 +24,9 @@ import tachiyomi.presentation.core.components.SettingsChipRow
 import tachiyomi.presentation.core.components.SliderItem
 import java.text.NumberFormat
 
-private val readingModeOptions = ReadingModeType.values().map { it.stringRes to it }
-private val orientationTypeOptions = OrientationType.values().map { it.stringRes to it }
-private val tappingInvertModeOptions = ReaderPreferences.TappingInvertMode.values().map { it.titleResId to it }
+private val readingModeOptions = ReadingModeType.entries.map { it.stringRes to it }
+private val orientationTypeOptions = OrientationType.entries.map { it.stringRes to it }
+private val tappingInvertModeOptions = ReaderPreferences.TappingInvertMode.entries.map { it.titleResId to it }
 
 @Composable
 internal fun ColumnScope.ReadingModePage(screenModel: ReaderSettingsScreenModel) {

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/AppInfo.kt

@@ -29,5 +29,5 @@ object AppInfo {
      *
      * @since extension-lib 1.5
      */
-    fun getSupportedImageMimeTypes(): List<String> = ImageUtil.ImageType.values().map { it.mime }
+    fun getSupportedImageMimeTypes(): List<String> = ImageUtil.ImageType.entries.map { it.mime }
 }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/saver/ImageSaver.kt

@@ -161,7 +161,7 @@ sealed class Location {
         }
     }
 
-    object Cache : Location()
+    data object Cache : Location()
 
     fun directory(context: Context): File {
         return when (this) {

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt

@@ -66,7 +66,7 @@ class BangumiInterceptor(val bangumi: Bangumi) : Interceptor {
 
     private fun addToken(token: String, oidFormBody: FormBody): FormBody {
         val newFormBody = FormBody.Builder()
-        for (i in 0 until oidFormBody.size) {
+        for (i in 0..<oidFormBody.size) {
             newFormBody.add(oidFormBody.name(i), oidFormBody.value(i))
         }
         newFormBody.add("access_token", token)

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/extension/model/LoadResult.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.extension.model
 
 sealed class LoadResult {
-    class Success(val extension: Extension.Installed) : LoadResult()
-    class Untrusted(val extension: Extension.Untrusted) : LoadResult()
-    object Error : LoadResult()
+    data class Success(val extension: Extension.Installed) : LoadResult()
+    data class Untrusted(val extension: Extension.Untrusted) : LoadResult()
+    data object Error : LoadResult()
 }

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreenModel.kt

@@ -55,13 +55,13 @@ class ExtensionFilterScreenModel(
 }
 
 sealed class ExtensionFilterEvent {
-    object FailedFetchingLanguages : ExtensionFilterEvent()
+    data object FailedFetchingLanguages : ExtensionFilterEvent()
 }
 
 sealed class ExtensionFilterState {
 
     @Immutable
-    object Loading : ExtensionFilterState()
+    data object Loading : ExtensionFilterState()
 
     @Immutable
     data class Success(

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreenModel.kt

@@ -163,7 +163,7 @@ class ExtensionDetailsScreenModel(
 }
 
 sealed class ExtensionDetailsEvent {
-    object Uninstalled : ExtensionDetailsEvent()
+    data object Uninstalled : ExtensionDetailsEvent()
 }
 
 @Immutable

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreenModel.kt

@@ -54,7 +54,7 @@ class MigrationMangaScreenModel(
 }
 
 sealed class MigrationMangaEvent {
-    object FailedFetchingFavorites : MigrationMangaEvent()
+    data object FailedFetchingFavorites : MigrationMangaEvent()
 }
 
 @Immutable

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceScreenModel.kt

@@ -77,7 +77,7 @@ class MigrateSourceScreenModel(
     }
 
     sealed class Event {
-        object FailedFetchingSourcesWithCount : Event()
+        data object FailedFetchingSourcesWithCount : Event()
     }
 }
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreenModel.kt

@@ -60,7 +60,7 @@ class SourcesFilterScreenModel(
 
 sealed class SourcesFilterState {
 
-    object Loading : SourcesFilterState()
+    data object Loading : SourcesFilterState()
 
     data class Error(
         val throwable: Throwable,

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt

@@ -94,7 +94,7 @@ class SourcesScreenModel(
     }
 
     sealed class Event {
-        object FailedFetchingSources : Event()
+        data object FailedFetchingSources : Event()
     }
 
     data class Dialog(val source: Source)

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt

@@ -350,8 +350,8 @@ class BrowseSourceScreenModel(
     }
 
     sealed class Listing(open val query: String?, open val filters: FilterList) {
-        object Popular : Listing(query = GetRemoteManga.QUERY_POPULAR, filters = FilterList())
-        object Latest : Listing(query = GetRemoteManga.QUERY_LATEST, filters = FilterList())
+        data object Popular : Listing(query = GetRemoteManga.QUERY_POPULAR, filters = FilterList())
+        data object Latest : Listing(query = GetRemoteManga.QUERY_LATEST, filters = FilterList())
         data class Search(override val query: String?, override val filters: FilterList) : Listing(query = query, filters = filters)
 
         companion object {
@@ -366,7 +366,7 @@ class BrowseSourceScreenModel(
     }
 
     sealed class Dialog {
-        object Filter : Dialog()
+        data object Filter : Dialog()
         data class RemoveManga(val manga: Manga) : Dialog()
         data class AddDuplicateManga(val manga: Manga, val duplicate: Manga) : Dialog()
         data class ChangeMangaCategory(

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt

@@ -177,7 +177,7 @@ enum class SourceFilter {
 }
 
 sealed class SearchItemResult {
-    object Loading : SearchItemResult()
+    data object Loading : SearchItemResult()
 
     data class Error(
         val throwable: Throwable,

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt

@@ -108,20 +108,20 @@ class CategoryScreenModel(
 }
 
 sealed class CategoryDialog {
-    object Create : CategoryDialog()
+    data object Create : CategoryDialog()
     data class Rename(val category: Category) : CategoryDialog()
     data class Delete(val category: Category) : CategoryDialog()
 }
 
 sealed class CategoryEvent {
     sealed class LocalizedMessage(@StringRes val stringRes: Int) : CategoryEvent()
-    object InternalError : LocalizedMessage(R.string.internal_error)
+    data object InternalError : LocalizedMessage(R.string.internal_error)
 }
 
 sealed class CategoryScreenState {
 
     @Immutable
-    object Loading : CategoryScreenState()
+    data object Loading : CategoryScreenState()
 
     @Immutable
     data class Success(

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt

@@ -114,14 +114,14 @@ class HistoryScreenModel(
     }
 
     sealed class Dialog {
-        object DeleteAll : Dialog()
+        data object DeleteAll : Dialog()
         data class Delete(val history: HistoryWithRelations) : Dialog()
     }
 
     sealed class Event {
         data class OpenChapter(val chapter: Chapter?) : Event()
-        object InternalError : Event()
-        object HistoryCleared : Event()
+        data object InternalError : Event()
+        data object HistoryCleared : Event()
     }
 }
 

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt

@@ -293,8 +293,8 @@ object HomeScreen : Screen() {
 
     sealed class Tab {
         data class Library(val mangaIdToOpen: Long? = null) : Tab()
-        object Updates : Tab()
-        object History : Tab()
+        data object Updates : Tab()
+        data object History : Tab()
         data class Browse(val toExtensions: Boolean = false) : Tab()
         data class More(val toDownloads: Boolean) : Tab()
     }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt

@@ -658,7 +658,7 @@ class LibraryScreenModel(
     }
 
     sealed class Dialog {
-        object SettingsSheet : Dialog()
+        data object SettingsSheet : Dialog()
         data class ChangeCategory(val manga: List<Manga>, val initialSelection: List<CheckboxState<Category>>) : Dialog()
         data class DeleteManga(val manga: List<Manga>) : Dialog()
     }

+ 5 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt

@@ -854,10 +854,10 @@ class MangaInfoScreenModel(
                         // Try to select the items in-between when possible
                         val range: IntRange
                         if (selectedIndex < selectedPositions[0]) {
-                            range = selectedIndex + 1 until selectedPositions[0]
+                            range = selectedIndex + 1..<selectedPositions[0]
                             selectedPositions[0] = selectedIndex
                         } else if (selectedIndex > selectedPositions[1]) {
-                            range = (selectedPositions[1] + 1) until selectedIndex
+                            range = (selectedPositions[1] + 1)..<selectedIndex
                             selectedPositions[1] = selectedIndex
                         } else {
                             // Just select itself
@@ -946,9 +946,9 @@ class MangaInfoScreenModel(
         data class ChangeCategory(val manga: Manga, val initialSelection: List<CheckboxState<Category>>) : Dialog()
         data class DeleteChapters(val chapters: List<Chapter>) : Dialog()
         data class DuplicateManga(val manga: Manga, val duplicate: Manga) : Dialog()
-        object SettingsSheet : Dialog()
-        object TrackSheet : Dialog()
-        object FullCover : Dialog()
+        data object SettingsSheet : Dialog()
+        data object TrackSheet : Dialog()
+        data object FullCover : Dialog()
     }
 
     fun dismissDialog() {

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt

@@ -109,7 +109,7 @@ private class MoreScreenModel(
 }
 
 sealed class DownloadQueueState {
-    object Stopped : DownloadQueueState()
+    data object Stopped : DownloadQueueState()
     data class Paused(val pending: Int) : DownloadQueueState()
     data class Downloading(val pending: Int) : DownloadQueueState()
 }

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt

@@ -485,7 +485,7 @@ class ReaderActivity : BaseActivity() {
 
             setOnClickListener {
                 popupMenu(
-                    items = ReadingModeType.values().map { it.flagValue to it.stringRes },
+                    items = ReadingModeType.entries.map { it.flagValue to it.stringRes },
                     selectedItemId = viewModel.getMangaReadingMode(resolveDefault = false),
                 ) {
                     val newReadingMode = ReadingModeType.fromPreference(itemId)
@@ -538,7 +538,7 @@ class ReaderActivity : BaseActivity() {
 
             setOnClickListener {
                 popupMenu(
-                    items = OrientationType.values().map { it.flagValue to it.stringRes },
+                    items = OrientationType.entries.map { it.flagValue to it.stringRes },
                     selectedItemId = viewModel.manga?.orientationType?.toInt()
                         ?: readerPreferences.defaultOrientationType().get(),
                 ) {

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt

@@ -861,13 +861,13 @@ class ReaderViewModel(
     }
 
     sealed class Dialog {
-        object Loading : Dialog()
-        object Settings : Dialog()
+        data object Loading : Dialog()
+        data object Settings : Dialog()
         data class PageActions(val page: ReaderPage) : Dialog()
     }
 
     sealed class Event {
-        object ReloadViewerChapters : Event()
+        data object ReloadViewerChapters : Event()
         data class SetOrientation(val orientation: Int) : Event()
         data class SetCoverResult(val result: SetAsCoverResult) : Event()
 

+ 4 - 4
app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderChapter.kt

@@ -40,9 +40,9 @@ data class ReaderChapter(val chapter: Chapter) {
     }
 
     sealed class State {
-        object Wait : State()
-        object Loading : State()
-        class Error(val error: Throwable) : State()
-        class Loaded(val pages: List<ReaderPage>) : State()
+        data object Wait : State()
+        data object Loading : State()
+        data class Error(val error: Throwable) : State()
+        data class Loaded(val pages: List<ReaderPage>) : State()
     }
 }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/OrientationType.kt

@@ -18,6 +18,6 @@ enum class OrientationType(val prefValue: Int, val flag: Int, @StringRes val str
     companion object {
         const val MASK = 0x00000038
 
-        fun fromPreference(preference: Int?): OrientationType = values().find { it.flagValue == preference } ?: DEFAULT
+        fun fromPreference(preference: Int?): OrientationType = entries.find { it.flagValue == preference } ?: DEFAULT
     }
 }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingModeType.kt

@@ -22,7 +22,7 @@ enum class ReadingModeType(val prefValue: Int, @StringRes val stringRes: Int, @D
     companion object {
         const val MASK = 0x00000007
 
-        fun fromPreference(preference: Int?): ReadingModeType = values().find { it.flagValue == preference } ?: DEFAULT
+        fun fromPreference(preference: Int?): ReadingModeType = entries.find { it.flagValue == preference } ?: DEFAULT
 
         fun isPagerType(preference: Int): Boolean {
             val mode = fromPreference(preference)

+ 5 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerNavigation.kt

@@ -10,11 +10,11 @@ import eu.kanade.tachiyomi.util.lang.invert
 abstract class ViewerNavigation {
 
     sealed class NavigationRegion(@StringRes val nameRes: Int, val colorRes: Int) {
-        object MENU : NavigationRegion(R.string.action_menu, R.color.navigation_menu)
-        object PREV : NavigationRegion(R.string.nav_zone_prev, R.color.navigation_prev)
-        object NEXT : NavigationRegion(R.string.nav_zone_next, R.color.navigation_next)
-        object LEFT : NavigationRegion(R.string.nav_zone_left, R.color.navigation_left)
-        object RIGHT : NavigationRegion(R.string.nav_zone_right, R.color.navigation_right)
+        data object MENU : NavigationRegion(R.string.action_menu, R.color.navigation_menu)
+        data object PREV : NavigationRegion(R.string.nav_zone_prev, R.color.navigation_prev)
+        data object NEXT : NavigationRegion(R.string.nav_zone_next, R.color.navigation_next)
+        data object LEFT : NavigationRegion(R.string.nav_zone_left, R.color.navigation_left)
+        data object RIGHT : NavigationRegion(R.string.nav_zone_right, R.color.navigation_right)
     }
 
     data class Region(

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt

@@ -295,10 +295,10 @@ class UpdatesScreenModel(
                         // Try to select the items in-between when possible
                         val range: IntRange
                         if (selectedIndex < selectedPositions[0]) {
-                            range = selectedIndex + 1 until selectedPositions[0]
+                            range = selectedIndex + 1..<selectedPositions[0]
                             selectedPositions[0] = selectedIndex
                         } else if (selectedIndex > selectedPositions[1]) {
-                            range = (selectedPositions[1] + 1) until selectedIndex
+                            range = (selectedPositions[1] + 1)..<selectedIndex
                             selectedPositions[1] = selectedIndex
                         } else {
                             // Just select itself
@@ -371,7 +371,7 @@ class UpdatesScreenModel(
     }
 
     sealed class Event {
-        object InternalError : Event()
+        data object InternalError : Event()
         data class LibraryUpdateTriggered(val started: Boolean) : Event()
     }
 }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/util/system/GLUtil.kt

@@ -27,7 +27,7 @@ object GLUtil {
         var maximumTextureSize = 0
 
         // Iterate through all the configurations to located the maximum texture size
-        for (i in 0 until totalConfigurations[0]) {
+        for (i in 0..<totalConfigurations[0]) {
             // Only need to check for width since opengl textures are always squared
             egl.eglGetConfigAttrib(display, configurationsList[i], EGL10.EGL_MAX_PBUFFER_WIDTH, textureSize)
 

+ 2 - 2
core-metadata/src/main/java/tachiyomi/core/metadata/comicinfo/ComicInfo.kt

@@ -150,12 +150,12 @@ enum class ComicInfoPublishingStatus(
 
     companion object {
         fun toComicInfoValue(value: Long): String {
-            return values().firstOrNull { it.sMangaModelValue == value.toInt() }?.comicInfoValue
+            return entries.firstOrNull { it.sMangaModelValue == value.toInt() }?.comicInfoValue
                 ?: UNKNOWN.comicInfoValue
         }
 
         fun toSMangaValue(value: String?): Int {
-            return values().firstOrNull { it.comicInfoValue == value }?.sMangaModelValue
+            return entries.firstOrNull { it.comicInfoValue == value }?.sMangaModelValue
                 ?: UNKNOWN.sMangaModelValue
         }
     }

+ 2 - 2
core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt

@@ -330,7 +330,7 @@ object ImageUtil {
             }
 
             return buildList {
-                val range = 0 until partCount
+                val range = 0..<partCount
                 for (index in range) {
                     // Only continue if the list is empty or there is image remaining
                     if (isNotEmpty() && imageHeight <= last().bottomOffset) break
@@ -440,7 +440,7 @@ object ImageUtil {
             var blackStreak = false
             var whiteStreak = false
             val notOffset = x == left || x == right
-            inner@ for ((index, y) in (0 until image.height step image.height / 25).withIndex()) {
+            inner@ for ((index, y) in (0..<image.height step image.height / 25).withIndex()) {
                 val pixel = image[x, y]
                 val pixelOff = image[x + (if (x < image.width / 2) -offsetX else offsetX), y]
                 if (pixel.isWhite()) {

+ 1 - 3
data/src/main/java/tachiyomi/data/DatabaseAdapter.kt

@@ -21,10 +21,8 @@ val listOfStringsAdapter = object : ColumnAdapter<List<String>, String> {
 }
 
 val updateStrategyAdapter = object : ColumnAdapter<UpdateStrategy, Long> {
-    private val enumValues by lazy { UpdateStrategy.values() }
-
     override fun decode(databaseValue: Long): UpdateStrategy =
-        enumValues.getOrElse(databaseValue.toInt()) { UpdateStrategy.ALWAYS_UPDATE }
+        UpdateStrategy.entries.getOrElse(databaseValue.toInt()) { UpdateStrategy.ALWAYS_UPDATE }
 
     override fun encode(value: UpdateStrategy): Long = value.ordinal.toLong()
 }

+ 1 - 1
domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt

@@ -38,7 +38,7 @@ class CreateCategoryWithName(
     }
 
     sealed class Result {
-        object Success : Result()
+        data object Success : Result()
         data class InternalError(val error: Throwable) : Result()
     }
 }

+ 1 - 1
domain/src/main/java/tachiyomi/domain/category/interactor/DeleteCategory.kt

@@ -36,7 +36,7 @@ class DeleteCategory(
     }
 
     sealed class Result {
-        object Success : Result()
+        data object Success : Result()
         data class InternalError(val error: Throwable) : Result()
     }
 }

+ 1 - 1
domain/src/main/java/tachiyomi/domain/category/interactor/RenameCategory.kt

@@ -29,7 +29,7 @@ class RenameCategory(
     suspend fun await(category: Category, name: String) = await(category.id, name)
 
     sealed class Result {
-        object Success : Result()
+        data object Success : Result()
         data class InternalError(val error: Throwable) : Result()
     }
 }

+ 2 - 2
domain/src/main/java/tachiyomi/domain/category/interactor/ReorderCategory.kt

@@ -58,8 +58,8 @@ class ReorderCategory(
     }
 
     sealed class Result {
-        object Success : Result()
-        object Unchanged : Result()
+        data object Success : Result()
+        data object Unchanged : Result()
         data class InternalError(val error: Throwable) : Result()
     }
 

+ 1 - 1
domain/src/main/java/tachiyomi/domain/category/interactor/UpdateCategory.kt

@@ -18,7 +18,7 @@ class UpdateCategory(
     }
 
     sealed class Result {
-        object Success : Result()
+        data object Success : Result()
         data class Error(val error: Exception) : Result()
     }
 }

+ 4 - 4
domain/src/main/java/tachiyomi/domain/library/model/LibraryDisplayMode.kt

@@ -2,10 +2,10 @@ package tachiyomi.domain.library.model
 
 sealed class LibraryDisplayMode {
 
-    object CompactGrid : LibraryDisplayMode()
-    object ComfortableGrid : LibraryDisplayMode()
-    object List : LibraryDisplayMode()
-    object CoverOnlyGrid : LibraryDisplayMode()
+    data object CompactGrid : LibraryDisplayMode()
+    data object ComfortableGrid : LibraryDisplayMode()
+    data object List : LibraryDisplayMode()
+    data object CoverOnlyGrid : LibraryDisplayMode()
 
     object Serializer {
         fun deserialize(serialized: String): LibraryDisplayMode {

+ 10 - 10
domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt

@@ -22,14 +22,14 @@ data class LibrarySort(
 
         override val mask: Long = 0b00111100L
 
-        object Alphabetical : Type(0b00000000)
-        object LastRead : Type(0b00000100)
-        object LastUpdate : Type(0b00001000)
-        object UnreadCount : Type(0b00001100)
-        object TotalChapters : Type(0b00010000)
-        object LatestChapter : Type(0b00010100)
-        object ChapterFetchDate : Type(0b00011000)
-        object DateAdded : Type(0b00011100)
+        data object Alphabetical : Type(0b00000000)
+        data object LastRead : Type(0b00000100)
+        data object LastUpdate : Type(0b00001000)
+        data object UnreadCount : Type(0b00001100)
+        data object TotalChapters : Type(0b00010000)
+        data object LatestChapter : Type(0b00010100)
+        data object ChapterFetchDate : Type(0b00011000)
+        data object DateAdded : Type(0b00011100)
 
         companion object {
             fun valueOf(flag: Long): Type {
@@ -44,8 +44,8 @@ data class LibrarySort(
 
         override val mask: Long = 0b01000000L
 
-        object Ascending : Direction(0b01000000)
-        object Descending : Direction(0b00000000)
+        data object Ascending : Direction(0b01000000)
+        data object Descending : Direction(0b00000000)
 
         companion object {
             fun valueOf(flag: Long): Direction {

+ 3 - 3
domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt

@@ -72,8 +72,8 @@ class GetApplicationRelease(
     )
 
     sealed class Result {
-        class NewUpdate(val release: Release) : Result()
-        object NoNewUpdate : Result()
-        object ThirdPartyInstallation : Result()
+        data class NewUpdate(val release: Release) : Result()
+        data object NoNewUpdate : Result()
+        data object ThirdPartyInstallation : Result()
     }
 }

+ 3 - 3
domain/src/main/java/tachiyomi/domain/source/model/Pin.kt

@@ -1,9 +1,9 @@
 package tachiyomi.domain.source.model
 
 sealed class Pin(val code: Int) {
-    object Unpinned : Pin(0b00)
-    object Pinned : Pin(0b01)
-    object Actual : Pin(0b10)
+    data object Unpinned : Pin(0b00)
+    data object Pinned : Pin(0b01)
+    data object Actual : Pin(0b10)
 }
 
 inline fun Pins(builder: Pins.PinsBuilder.() -> Unit = {}): Pins {

+ 1 - 1
gradle/compose.versions.toml

@@ -1,5 +1,5 @@
 [versions]
-compiler = "1.4.8"
+compiler = "1.5.0"
 compose-bom = "2023.07.00-alpha01"
 accompanist = "0.31.5-beta"
 

+ 1 - 1
gradle/kotlinx.versions.toml

@@ -1,5 +1,5 @@
 [versions]
-kotlin_version = "1.8.22"
+kotlin_version = "1.9.0"
 serialization_version = "1.5.1"
 xml_serialization_version = "0.86.1"
 

+ 2 - 2
gradle/libs.versions.toml

@@ -1,5 +1,5 @@
 [versions]
-aboutlib_version = "10.8.2"
+aboutlib_version = "10.8.3"
 okhttp_version = "5.0.0-alpha.11"
 shizuku_version = "12.2.0"
 sqlite = "2.3.1"
@@ -30,7 +30,7 @@ jsoup = "org.jsoup:jsoup:1.16.1"
 
 disklrucache = "com.jakewharton:disklrucache:2.0.2"
 unifile = "com.github.tachiyomiorg:unifile:17bec43"
-junrar = "com.github.junrar:junrar:7.5.4"
+junrar = "com.github.junrar:junrar:7.5.5"
 
 sqlite-framework = { module = "androidx.sqlite:sqlite-framework", version.ref = "sqlite" }
 sqlite-ktx = { module = "androidx.sqlite:sqlite-ktx", version.ref = "sqlite" }

+ 1 - 1
presentation-core/src/main/java/tachiyomi/presentation/core/components/VerticalFastScroller.kt

@@ -209,7 +209,7 @@ private fun rememberColumnWidthSums(
                 gridWidth,
                 horizontalArrangement.spacing.roundToPx(),
             ).toMutableList().apply {
-                for (i in 1 until size) {
+                for (i in 1..<size) {
                     this[i] += this[i - 1]
                 }
             }

+ 2 - 2
presentation-widget/src/main/java/tachiyomi/presentation/widget/components/UpdatesWidget.kt

@@ -36,8 +36,8 @@ fun UpdatesWidget(data: List<Pair<Long, Bitmap?>>?) {
         } else if (data.isEmpty()) {
             Text(text = stringResource(R.string.information_no_recent))
         } else {
-            (0 until rowCount).forEach { i ->
-                val coverRow = (0 until columnCount).mapNotNull { j ->
+            (0..<rowCount).forEach { i ->
+                val coverRow = (0..<columnCount).mapNotNull { j ->
                     data.getOrNull(j + (i * columnCount))
                 }
                 if (coverRow.isNotEmpty()) {