diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7da892339b..b5295a59ed 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -293,6 +293,8 @@ dependencies { // Android Chart implementation(libs.mpandroidchart) + implementation(kotlinx.immutable) + // Tests testImplementation(libs.bundles.test) testRuntimeOnly(libs.bundles.test.runtime) diff --git a/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoViewModel.kt b/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoViewModel.kt index 352d676230..a5b701ca4d 100644 --- a/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoViewModel.kt +++ b/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoViewModel.kt @@ -4,8 +4,6 @@ import androidx.annotation.StringRes import androidx.compose.runtime.Immutable import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import dev.yokai.domain.extension.repo.ExtensionRepoRepository -import dev.yokai.domain.Result import dev.yokai.domain.extension.repo.interactor.CreateExtensionRepo import dev.yokai.domain.extension.repo.interactor.DeleteExtensionRepo import dev.yokai.domain.extension.repo.interactor.GetExtensionRepo @@ -15,12 +13,13 @@ import dev.yokai.domain.extension.repo.model.ExtensionRepo import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.extension.ExtensionManager import eu.kanade.tachiyomi.util.system.launchIO +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.update -import okhttp3.internal.toImmutableList import uy.kohesive.injekt.injectLazy class ExtensionRepoViewModel : @@ -106,7 +105,7 @@ sealed class ExtensionRepoState { @Immutable data class Success( - val repos: List, + val repos: ImmutableList, ) : ExtensionRepoState() { val isEmpty: Boolean diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt index e69d4161c6..af9a935783 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt @@ -12,7 +12,7 @@ import eu.kanade.tachiyomi.data.track.mangaupdates.dto.copyTo import eu.kanade.tachiyomi.data.track.mangaupdates.dto.toTrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.updateNewTrackInfo -import okhttp3.internal.toImmutableList +import kotlinx.collections.immutable.toImmutableList class MangaUpdates(private val context: Context, id: Int) : TrackService(id) { diff --git a/gradle/kotlinx.versions.toml b/gradle/kotlinx.versions.toml index e6117eb9cf..f6b5c427f0 100644 --- a/gradle/kotlinx.versions.toml +++ b/gradle/kotlinx.versions.toml @@ -14,6 +14,7 @@ serialization-json-okio = { module = "org.jetbrains.kotlinx:kotlinx-serializatio serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "serialization" } serialization-xml-core = { module = "io.github.pdvrieze.xmlutil:core-android", version.ref = "xml_serialization" } serialization-xml = { module = "io.github.pdvrieze.xmlutil:serialization-android", version.ref = "xml_serialization" } +immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version = "0.3.7" } [bundles] serialization = [