Setting: Creates folders according to manga title (#4861)

* cherry-picking my changes

* Update SettingsDownloadController.kt

* Update SettingsDownloadController.kt

* Update ReaderPresenter.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 9278407b85)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
This commit is contained in:
OncePunchedMan
2021-04-27 23:38:56 +02:00
committed by Jobobby04
parent 1fdf2225d9
commit d09bcafe7d
5 changed files with 19 additions and 3 deletions
@@ -111,6 +111,8 @@ object PreferenceKeys {
const val downloadOnlyOverWifi = "pref_download_only_over_wifi_key"
const val folderPerManga = "create_folder_per_manga"
const val numberOfBackups = "backup_slots"
const val backupInterval = "backup_interval"
@@ -205,6 +205,8 @@ class PreferencesHelper(val context: Context) {
fun downloadOnlyOverWifi() = prefs.getBoolean(Keys.downloadOnlyOverWifi, true)
fun folderPerManga() = prefs.getBoolean(Keys.folderPerManga, false)
fun numberOfBackups() = flowPrefs.getInt(Keys.numberOfBackups, 1)
fun backupInterval() = flowPrefs.getInt(Keys.backupInterval, 0)
@@ -669,11 +669,14 @@ class ReaderPresenter(
notifier.onClear()
// Pictures directory.
val destDir = File(
Environment.getExternalStorageDirectory().absolutePath +
val baseDir = Environment.getExternalStorageDirectory().absolutePath +
File.separator + Environment.DIRECTORY_PICTURES +
File.separator + context.getString(R.string.app_name)
)
val destDir = if (preferences.folderPerManga()) {
File(baseDir + File.separator + manga.title)
} else {
File(baseDir)
}
// Copy file in background.
Observable.fromCallable { saveImage(page, destDir, manga) }
@@ -28,6 +28,7 @@ import eu.kanade.tachiyomi.util.preference.preference
import eu.kanade.tachiyomi.util.preference.preferenceCategory
import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.preference.summaryRes
import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.widget.materialdialogs.QuadStateCheckBox
import eu.kanade.tachiyomi.widget.materialdialogs.listItemsQuadStateMultiChoice
@@ -67,6 +68,12 @@ class SettingsDownloadController : SettingsController() {
titleRes = R.string.pref_download_only_over_wifi
defaultValue = true
}
switchPreference {
key = Keys.folderPerManga
titleRes = R.string.pref_create_folder_per_manga
summaryRes = R.string.pref_create_folder_per_manga_summary
defaultValue = false
}
// SY -->
switchPreference {