[Feature Request] Option to turn off History - #3772 (#3855)

* Implementing do not save chapter history preference

* Refactor of labels

* Changing incognito mode from Readers section to More

* Fixing imports and removing unused strings

(cherry picked from commit 79ccfcd55397f3df7ce91d88e93a7c879a3360ab)
This commit is contained in:
Platiplus 2020-10-03 11:43:01 -03:00 committed by Jobobby04
parent 925e9d9516
commit e1d7713f14
5 changed files with 23 additions and 5 deletions

View File

@ -187,6 +187,8 @@ object PreferenceKeys {
const val defaultChapterDisplayByNameOrNumber = "default_chapter_display_by_name_or_number" const val defaultChapterDisplayByNameOrNumber = "default_chapter_display_by_name_or_number"
const val incognitoMode = "incognito_mode"
fun trackUsername(syncId: Int) = "pref_mangasync_username_$syncId" fun trackUsername(syncId: Int) = "pref_mangasync_username_$syncId"
fun trackPassword(syncId: Int) = "pref_mangasync_password_$syncId" fun trackPassword(syncId: Int) = "pref_mangasync_password_$syncId"

View File

@ -275,6 +275,8 @@ class PreferencesHelper(val context: Context) {
fun sortChapterByAscendingOrDescending() = prefs.getInt(Keys.defaultChapterSortByAscendingOrDescending, Manga.SORT_DESC) fun sortChapterByAscendingOrDescending() = prefs.getInt(Keys.defaultChapterSortByAscendingOrDescending, Manga.SORT_DESC)
fun incognitoMode() = prefs.getBoolean(Keys.incognitoMode, false)
fun setChapterSettingsDefault(manga: Manga) { fun setChapterSettingsDefault(manga: Manga) {
prefs.edit { prefs.edit {
putInt(Keys.defaultChapterFilterByRead, manga.readFilter) putInt(Keys.defaultChapterFilterByRead, manga.readFilter)

View File

@ -23,6 +23,7 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory
import eu.kanade.tachiyomi.util.preference.summaryRes import eu.kanade.tachiyomi.util.preference.summaryRes
import eu.kanade.tachiyomi.util.preference.switchPreference import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.preference.defaultValue
import eu.kanade.tachiyomi.util.system.getResourceColor import eu.kanade.tachiyomi.util.system.getResourceColor
import eu.kanade.tachiyomi.util.system.openInBrowser import eu.kanade.tachiyomi.util.system.openInBrowser
import exh.ui.batchadd.BatchAddController import exh.ui.batchadd.BatchAddController
@ -54,6 +55,15 @@ class MoreController :
iconTint = tintColor iconTint = tintColor
} }
switchPreference {
key = Keys.incognitoMode
summaryRes = R.string.pref_incognito_mode_summary
titleRes = R.string.pref_incognito_mode
iconRes = R.drawable.ic_glasses_black_24dp
iconTint = tintColor
defaultValue = false
}
preferenceCategory { preferenceCategory {
preference { preference {
titleRes = R.string.label_download_queue titleRes = R.string.label_download_queue

View File

@ -470,11 +470,13 @@ class ReaderPresenter(
* Saves this [chapter] last read history. * Saves this [chapter] last read history.
*/ */
private fun saveChapterHistory(chapter: ReaderChapter) { private fun saveChapterHistory(chapter: ReaderChapter) {
val history = History.create(chapter.chapter).apply { last_read = Date().time } if (!preferences.incognitoMode()) {
db.updateHistoryLastRead(history).asRxCompletable() val history = History.create(chapter.chapter).apply { last_read = Date().time }
.onErrorComplete() db.updateHistoryLastRead(history).asRxCompletable()
.subscribeOn(Schedulers.io()) .onErrorComplete()
.subscribe() .subscribeOn(Schedulers.io())
.subscribe()
}
} }
/** /**

View File

@ -319,6 +319,8 @@
<string name="webtoon_side_padding_15">15%</string> <string name="webtoon_side_padding_15">15%</string>
<string name="webtoon_side_padding_20">20%</string> <string name="webtoon_side_padding_20">20%</string>
<string name="webtoon_side_padding_25">25%</string> <string name="webtoon_side_padding_25">25%</string>
<string name="pref_incognito_mode">Incognito mode</string>
<string name="pref_incognito_mode_summary">Disables recording history in History tab</string>
<!-- Downloads section --> <!-- Downloads section -->
<string name="pref_download_directory">Download location</string> <string name="pref_download_directory">Download location</string>