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 285805ab3b..e98f07b192 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -104,6 +104,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" 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 9e370d10f0..3156dadf8c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -232,6 +232,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) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt index acfe18a014..62bda725eb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt @@ -685,11 +685,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 + "Tachiyomi" - ) + 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) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt index 53fc096d04..446d9b5cf1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt @@ -54,6 +54,12 @@ class SettingsDownloadController : SettingsController() { titleRes = R.string.only_download_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 + } preferenceCategory { titleRes = R.string.remove_after_read