feat(reader): Add setting to toggle chapter toast

devel
google-labs-jules[bot] 6 months ago committed by Koitharu
parent ebc17b645b
commit aa2f2c17fc

@ -409,6 +409,9 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
val isReaderBarTransparent: Boolean val isReaderBarTransparent: Boolean
get() = prefs.getBoolean(KEY_READER_BAR_TRANSPARENT, true) get() = prefs.getBoolean(KEY_READER_BAR_TRANSPARENT, true)
val isReaderChapterToastEnabled: Boolean
get() = prefs.getBoolean(KEY_READER_CHAPTER_TOAST, true)
val isReaderKeepScreenOn: Boolean val isReaderKeepScreenOn: Boolean
get() = prefs.getBoolean(KEY_READER_SCREEN_ON, true) 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_SYNC_SETTINGS = "sync_settings"
const val KEY_READER_BAR = "reader_bar" const val KEY_READER_BAR = "reader_bar"
const val KEY_READER_BAR_TRANSPARENT = "reader_bar_transparent" 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_BACKGROUND = "reader_background"
const val KEY_READER_SCREEN_ON = "reader_screen_on" const val KEY_READER_SCREEN_ON = "reader_screen_on"
const val KEY_SHORTCUTS = "dynamic_shortcuts" const val KEY_SHORTCUTS = "dynamic_shortcuts"

@ -488,7 +488,11 @@ class ReaderActivity :
uiState.incognito -> getString(R.string.incognito_mode) uiState.incognito -> getString(R.string.incognito_mode)
else -> chapterTitle 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) viewBinding.toastView.showTemporary(chapterTitle, TOAST_DURATION)
} }
if (uiState.isSliderAvailable()) { if (uiState.isSliderAvailable()) {

@ -142,6 +142,12 @@ class ReaderViewModel @Inject constructor(
valueProducer = { isReaderBarTransparent }, valueProducer = { isReaderBarTransparent },
) )
val isChapterToastEnabled = settings.observeAsStateFlow(
scope = viewModelScope + Dispatchers.Default,
key = AppSettings.KEY_READER_CHAPTER_TOAST,
valueProducer = { isReaderChapterToastEnabled },
)
val isKeepScreenOnEnabled = settings.observeAsStateFlow( val isKeepScreenOnEnabled = settings.observeAsStateFlow(
scope = viewModelScope + Dispatchers.Default, scope = viewModelScope + Dispatchers.Default,
key = AppSettings.KEY_READER_SCREEN_ON, key = AppSettings.KEY_READER_SCREEN_ON,

@ -803,6 +803,8 @@
<string name="enable_all_sources">Enable all manga sources</string> <string name="enable_all_sources">Enable all manga sources</string>
<string name="enable_all_sources_summary">All available manga sources will be enabled permanently</string> <string name="enable_all_sources_summary">All available manga sources will be enabled permanently</string>
<string name="all_sources_enabled">All sources are enabled</string> <string name="all_sources_enabled">All sources are enabled</string>
<string name="reader_chapter_toast">Show chapter toast</string>
<string name="reader_chapter_toast_summary">Show a toast message with the chapter name when it changes</string>
<string name="reader_info_bar_transparent">Transparent reader information bar</string> <string name="reader_info_bar_transparent">Transparent reader information bar</string>
<string name="backup_restored_background">The backup will be restored in the background</string> <string name="backup_restored_background">The backup will be restored in the background</string>
<string name="restoring_backup">Restoring backup</string> <string name="restoring_backup">Restoring backup</string>

@ -144,6 +144,12 @@
android:key="reader_bar_transparent" android:key="reader_bar_transparent"
android:title="@string/reader_info_bar_transparent" /> android:title="@string/reader_info_bar_transparent" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="reader_chapter_toast"
android:summary="@string/reader_chapter_toast_summary"
android:title="@string/reader_chapter_toast" />
<ListPreference <ListPreference
android:entries="@array/reader_backgrounds" android:entries="@array/reader_backgrounds"
android:key="reader_background" android:key="reader_background"

Loading…
Cancel
Save