diff --git a/app/src/main/java/mihon/core/migration/migrations/Migrations.kt b/app/src/main/java/mihon/core/migration/migrations/Migrations.kt index 5d7022b4c..9dac12086 100644 --- a/app/src/main/java/mihon/core/migration/migrations/Migrations.kt +++ b/app/src/main/java/mihon/core/migration/migrations/Migrations.kt @@ -51,4 +51,5 @@ val migrations: List // KMK <-- TrustExtensionRepositoryMigration(), CategoryPreferencesCleanupMigration(), + RemoveDuplicateReaderPreferenceMigration(), ) diff --git a/app/src/main/java/mihon/core/migration/migrations/RemoveDuplicateReaderPreferenceMigration.kt b/app/src/main/java/mihon/core/migration/migrations/RemoveDuplicateReaderPreferenceMigration.kt new file mode 100644 index 000000000..9f0a8724f --- /dev/null +++ b/app/src/main/java/mihon/core/migration/migrations/RemoveDuplicateReaderPreferenceMigration.kt @@ -0,0 +1,26 @@ +package mihon.core.migration.migrations + +import android.content.SharedPreferences +import androidx.core.content.edit +import mihon.core.migration.Migration +import mihon.core.migration.MigrationContext +import tachiyomi.core.common.util.lang.withIOContext + +class RemoveDuplicateReaderPreferenceMigration : Migration { + override val version: Float = 75f + + override suspend fun invoke(migrationContext: MigrationContext): Boolean = withIOContext { + val prefs = migrationContext.get() ?: return@withIOContext false + + if (prefs.getBoolean("mark_read_dupe", false)) { + val readPrefSet = prefs.getStringSet("mark_duplicate_read_chapter_read", emptySet())?.toMutableSet() + readPrefSet?.add("existing") + prefs.edit { + putStringSet("mark_duplicate_read_chapter_read", readPrefSet) + remove("mark_read_dupe") + } + } + + return@withIOContext true + } +}