diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
index 1d9333037..a7a07e34d 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
@@ -539,11 +539,12 @@ class LibraryUpdateService(
private suspend fun syncFollows() {
val count = AtomicInteger(0)
val mangaDex = MdUtil.getEnabledMangaDex(preferences, sourceManager) ?: return
+ val syncFollowStatusInts = preferences.mangadexSyncToLibraryIndexes().get().map { it.toInt() }
val size: Int
mangaDex.fetchAllFollows(true)
.filter { (_, metadata) ->
- metadata.follow_status == FollowStatus.RE_READING.int || metadata.follow_status == FollowStatus.READING.int
+ syncFollowStatusInts.contains(metadata.follow_status)
}
.also { size = it.size }
.forEach { (networkManga, metadata) ->
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
index 9aca70e0d..4da161d37 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
@@ -323,6 +323,8 @@ object PreferenceKeys {
const val mangadexSimilarOnlyOverWifi = "pref_simular_only_over_wifi_key"
+ const val mangadexSyncToLibraryIndexes = "pref_mangadex_sync_to_library_indexes"
+
const val preferredMangaDexId = "preferred_mangaDex_id"
const val dataSaver = "data_saver"
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
index 17c9d53f5..85a4c858d 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
@@ -433,6 +433,8 @@ class PreferencesHelper(val context: Context) {
fun mangadexSimilarOnlyOverWifi() = flowPrefs.getBoolean(Keys.mangadexSimilarOnlyOverWifi, true)
+ fun mangadexSyncToLibraryIndexes() = flowPrefs.getStringSet(Keys.mangadexSyncToLibraryIndexes, emptySet())
+
fun mangadexSimilarUpdateInterval() = flowPrefs.getInt(Keys.mangadexSimilarUpdateInterval, 2)
fun dataSaver() = flowPrefs.getBoolean(Keys.dataSaver, false)
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt
index 8bc27285a..837f15532 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt
@@ -1,6 +1,8 @@
package eu.kanade.tachiyomi.ui.setting
import androidx.preference.PreferenceScreen
+import com.afollestad.materialdialogs.MaterialDialog
+import com.afollestad.materialdialogs.list.listItemsMultiChoice
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.library.LibraryUpdateService
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
@@ -76,10 +78,22 @@ class SettingsMangaDexController :
summaryRes = R.string.mangadex_sync_follows_to_library_summary
onClick {
- LibraryUpdateService.start(
- context,
- target = LibraryUpdateService.Target.SYNC_FOLLOWS
- )
+ MaterialDialog(context)
+ .title(R.string.mangadex_sync_follows_to_library)
+ .message(R.string.mangadex_sync_follows_to_library_message)
+ .listItemsMultiChoice(
+ items = context.resources.getStringArray(R.array.md_follows_options).toList().let { it.subList(1, it.size) },
+ initialSelection = intArrayOf(0, 5)
+ ) { _, indices, _ ->
+ preferences.mangadexSyncToLibraryIndexes().set(indices.map { (it + 1).toString() }.toSet())
+ LibraryUpdateService.start(
+ context,
+ target = LibraryUpdateService.Target.SYNC_FOLLOWS
+ )
+ }
+ .positiveButton(android.R.string.ok)
+ .negativeButton(android.R.string.cancel)
+ .show()
}
}
diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml
index 8ef278479..15de0a8e7 100644
--- a/app/src/main/res/values/strings_sy.xml
+++ b/app/src/main/res/values/strings_sy.xml
@@ -577,7 +577,8 @@
Unfollowed
MangaDex settings
Sync Mangadex manga to your library
- Pulls reading/rereading manga from MangaDex into your library if they are not already added.
+ Pulls manga from MangaDex into your library if they are not already added.
+ Select the status of manga to be pulled from Mangadex
Use low quality thumbnails
Use latest uploaded cover
When enabled, it uses the latest uploaded manga cover under the /covers url instead of using the cover on MangaDex\'s manga page