Sync Follows sync status choice
This commit is contained in:
parent
d255ee805b
commit
a989426d95
@ -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) ->
|
||||
|
@ -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"
|
||||
|
@ -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)
|
||||
|
@ -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,11 +78,23 @@ class SettingsMangaDexController :
|
||||
summaryRes = R.string.mangadex_sync_follows_to_library_summary
|
||||
|
||||
onClick {
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
preference {
|
||||
|
@ -577,7 +577,8 @@
|
||||
<string name="md_follows_unfollowed">Unfollowed</string>
|
||||
<string name="mangadex_specific_settings">MangaDex settings</string>
|
||||
<string name="mangadex_sync_follows_to_library">Sync Mangadex manga to your library</string>
|
||||
<string name="mangadex_sync_follows_to_library_summary">Pulls reading/rereading manga from MangaDex into your library if they are not already added.</string>
|
||||
<string name="mangadex_sync_follows_to_library_summary">Pulls manga from MangaDex into your library if they are not already added.</string>
|
||||
<string name="mangadex_sync_follows_to_library_message">Select the status of manga to be pulled from Mangadex</string>
|
||||
<string name="mangadex_low_quality_covers">Use low quality thumbnails</string>
|
||||
<string name="mangadex_use_latest_cover">Use latest uploaded cover</string>
|
||||
<string name="mangadex_use_latest_cover_summary">When enabled, it uses the latest uploaded manga cover under the /covers url instead of using the cover on MangaDex\'s manga page</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user