diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt index fba3fbe70..8846c6f29 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt @@ -409,6 +409,9 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) { val isReaderBarTransparent: Boolean get() = prefs.getBoolean(KEY_READER_BAR_TRANSPARENT, true) + val isReaderChapterToastEnabled: Boolean + get() = prefs.getBoolean(KEY_READER_CHAPTER_TOAST, true) + val isReaderKeepScreenOn: Boolean get() = prefs.getBoolean(KEY_READER_SCREEN_ON, true) @@ -747,6 +750,7 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) { const val KEY_SYNC_SETTINGS = "sync_settings" const val KEY_READER_BAR = "reader_bar" const val KEY_READER_BAR_TRANSPARENT = "reader_bar_transparent" + const val KEY_READER_CHAPTER_TOAST = "reader_chapter_toast" const val KEY_READER_BACKGROUND = "reader_background" const val KEY_READER_SCREEN_ON = "reader_screen_on" const val KEY_SHORTCUTS = "dynamic_shortcuts" diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt index 5b51d143b..040f25118 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt @@ -488,7 +488,11 @@ class ReaderActivity : uiState.incognito -> getString(R.string.incognito_mode) else -> chapterTitle } - if (chapterTitle != previous?.getChapterTitle(resources) && chapterTitle.isNotEmpty()) { + if ( + viewModel.isChapterToastEnabled.value && + chapterTitle != previous?.getChapterTitle(resources) && + chapterTitle.isNotEmpty() + ) { viewBinding.toastView.showTemporary(chapterTitle, TOAST_DURATION) } if (uiState.isSliderAvailable()) { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt index e951521d2..a9229f62a 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt @@ -142,6 +142,12 @@ class ReaderViewModel @Inject constructor( valueProducer = { isReaderBarTransparent }, ) + val isChapterToastEnabled = settings.observeAsStateFlow( + scope = viewModelScope + Dispatchers.Default, + key = AppSettings.KEY_READER_CHAPTER_TOAST, + valueProducer = { isReaderChapterToastEnabled }, + ) + val isKeepScreenOnEnabled = settings.observeAsStateFlow( scope = viewModelScope + Dispatchers.Default, key = AppSettings.KEY_READER_SCREEN_ON, diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fcda5536e..448406bce 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -803,6 +803,8 @@ Enable all manga sources All available manga sources will be enabled permanently All sources are enabled + Show chapter toast + Show a toast message with the chapter name when it changes Transparent reader information bar The backup will be restored in the background Restoring backup diff --git a/app/src/main/res/xml/pref_reader.xml b/app/src/main/res/xml/pref_reader.xml index 3045b3d0a..4a926ebc8 100644 --- a/app/src/main/res/xml/pref_reader.xml +++ b/app/src/main/res/xml/pref_reader.xml @@ -144,6 +144,12 @@ android:key="reader_bar_transparent" android:title="@string/reader_info_bar_transparent" /> + +