mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-25 18:47:51 +02:00
Can now choose to automatically remove chapter after reading (or previous). Fix #42
This commit is contained in:
@ -190,6 +190,14 @@ class PreferencesHelper(private val context: Context) {
|
||||
return prefs.getBoolean(getKey(R.string.pref_download_only_over_wifi_key), true)
|
||||
}
|
||||
|
||||
fun removeAfterRead(): Boolean {
|
||||
return prefs.getBoolean(getKey(R.string.pref_remove_after_read_key), false)
|
||||
}
|
||||
|
||||
fun removeAfterReadPrevious(): Boolean {
|
||||
return prefs.getBoolean(getKey(R.string.pref_remove_after_read_previous_key), false)
|
||||
}
|
||||
|
||||
fun removeAfterMarkedAsRead(): Boolean {
|
||||
return prefs.getBoolean(getKey(R.string.pref_remove_after_marked_as_read_key), false)
|
||||
}
|
||||
|
@ -252,6 +252,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
||||
nextChapterBtn?.isVisible = presenter.hasNextChapter()
|
||||
}
|
||||
|
||||
|
||||
private fun getOrCreateViewer(manga: Manga): BaseReader {
|
||||
val mangaViewer = if (manga.viewer == 0) preferences.defaultViewer else manga.viewer
|
||||
|
||||
|
@ -85,7 +85,7 @@ class ReaderPresenter : BasePresenter<ReaderActivity>() {
|
||||
{ view, pair -> view.onAdjacentChapters(pair.first, pair.second) })
|
||||
|
||||
startable(PRELOAD_NEXT_CHAPTER, { getPreloadNextChapterObservable() },
|
||||
{ },
|
||||
{ },
|
||||
{ error -> Timber.e("Error preloading chapter") })
|
||||
|
||||
|
||||
@ -335,10 +335,32 @@ class ReaderPresenter : BasePresenter<ReaderActivity>() {
|
||||
// Save current progress of the chapter. Mark as read if the chapter is finished
|
||||
if (activePage.isLastPage) {
|
||||
chapter.read = true
|
||||
|
||||
// Check if remove after read is selected by user
|
||||
if (prefs.removeAfterRead()) {
|
||||
if (prefs.removeAfterReadPrevious() ) {
|
||||
if (previousChapter != null) {
|
||||
deleteChapter(previousChapter!!, manga)
|
||||
}
|
||||
} else {
|
||||
deleteChapter(chapter, manga)
|
||||
}
|
||||
}
|
||||
}
|
||||
db.insertChapter(chapter).asRxObservable().subscribe()
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete selected chapter
|
||||
* @param chapter chapter that is selected
|
||||
* *
|
||||
* @param manga manga that belongs to chapter
|
||||
*/
|
||||
fun deleteChapter(chapter: Chapter, manga: Manga) {
|
||||
val source = sourceManager.get(manga.source)!!
|
||||
downloadManager.deleteChapter(source, manga, chapter)
|
||||
}
|
||||
|
||||
// If the current chapter has been read, we check with this one
|
||||
// If not, we check if the previous chapter has been read
|
||||
// We know the chapter we have to check, but we don't know yet if an update is required.
|
||||
@ -417,5 +439,4 @@ class ReaderPresenter : BasePresenter<ReaderActivity>() {
|
||||
manga.viewer = viewer
|
||||
db.insertManga(manga).executeAsBlocking()
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ import java.io.File
|
||||
class SettingsDownloadsFragment : SettingsNestedFragment() {
|
||||
|
||||
val downloadDirPref by lazy { findPreference(getString(R.string.pref_download_directory_key)) }
|
||||
|
||||
companion object {
|
||||
|
||||
val DOWNLOAD_DIR_CODE = 103
|
||||
|
Reference in New Issue
Block a user