Sync Follows sync status choice
This commit is contained in:
parent
d255ee805b
commit
a989426d95
@ -539,11 +539,12 @@ class LibraryUpdateService(
|
|||||||
private suspend fun syncFollows() {
|
private suspend fun syncFollows() {
|
||||||
val count = AtomicInteger(0)
|
val count = AtomicInteger(0)
|
||||||
val mangaDex = MdUtil.getEnabledMangaDex(preferences, sourceManager) ?: return
|
val mangaDex = MdUtil.getEnabledMangaDex(preferences, sourceManager) ?: return
|
||||||
|
val syncFollowStatusInts = preferences.mangadexSyncToLibraryIndexes().get().map { it.toInt() }
|
||||||
|
|
||||||
val size: Int
|
val size: Int
|
||||||
mangaDex.fetchAllFollows(true)
|
mangaDex.fetchAllFollows(true)
|
||||||
.filter { (_, metadata) ->
|
.filter { (_, metadata) ->
|
||||||
metadata.follow_status == FollowStatus.RE_READING.int || metadata.follow_status == FollowStatus.READING.int
|
syncFollowStatusInts.contains(metadata.follow_status)
|
||||||
}
|
}
|
||||||
.also { size = it.size }
|
.also { size = it.size }
|
||||||
.forEach { (networkManga, metadata) ->
|
.forEach { (networkManga, metadata) ->
|
||||||
|
@ -323,6 +323,8 @@ object PreferenceKeys {
|
|||||||
|
|
||||||
const val mangadexSimilarOnlyOverWifi = "pref_simular_only_over_wifi_key"
|
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 preferredMangaDexId = "preferred_mangaDex_id"
|
||||||
|
|
||||||
const val dataSaver = "data_saver"
|
const val dataSaver = "data_saver"
|
||||||
|
@ -433,6 +433,8 @@ class PreferencesHelper(val context: Context) {
|
|||||||
|
|
||||||
fun mangadexSimilarOnlyOverWifi() = flowPrefs.getBoolean(Keys.mangadexSimilarOnlyOverWifi, true)
|
fun mangadexSimilarOnlyOverWifi() = flowPrefs.getBoolean(Keys.mangadexSimilarOnlyOverWifi, true)
|
||||||
|
|
||||||
|
fun mangadexSyncToLibraryIndexes() = flowPrefs.getStringSet(Keys.mangadexSyncToLibraryIndexes, emptySet())
|
||||||
|
|
||||||
fun mangadexSimilarUpdateInterval() = flowPrefs.getInt(Keys.mangadexSimilarUpdateInterval, 2)
|
fun mangadexSimilarUpdateInterval() = flowPrefs.getInt(Keys.mangadexSimilarUpdateInterval, 2)
|
||||||
|
|
||||||
fun dataSaver() = flowPrefs.getBoolean(Keys.dataSaver, false)
|
fun dataSaver() = flowPrefs.getBoolean(Keys.dataSaver, false)
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package eu.kanade.tachiyomi.ui.setting
|
package eu.kanade.tachiyomi.ui.setting
|
||||||
|
|
||||||
import androidx.preference.PreferenceScreen
|
import androidx.preference.PreferenceScreen
|
||||||
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
|
import com.afollestad.materialdialogs.list.listItemsMultiChoice
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.library.LibraryUpdateService
|
import eu.kanade.tachiyomi.data.library.LibraryUpdateService
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
@ -76,10 +78,22 @@ class SettingsMangaDexController :
|
|||||||
summaryRes = R.string.mangadex_sync_follows_to_library_summary
|
summaryRes = R.string.mangadex_sync_follows_to_library_summary
|
||||||
|
|
||||||
onClick {
|
onClick {
|
||||||
LibraryUpdateService.start(
|
MaterialDialog(context)
|
||||||
context,
|
.title(R.string.mangadex_sync_follows_to_library)
|
||||||
target = LibraryUpdateService.Target.SYNC_FOLLOWS
|
.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()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -577,7 +577,8 @@
|
|||||||
<string name="md_follows_unfollowed">Unfollowed</string>
|
<string name="md_follows_unfollowed">Unfollowed</string>
|
||||||
<string name="mangadex_specific_settings">MangaDex settings</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">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_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">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>
|
<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