package eu.kanade.tachiyomi.ui.reader.setting import eu.kanade.tachiyomi.core.preference.PreferenceStore import eu.kanade.tachiyomi.core.preference.getEnum import eu.kanade.tachiyomi.data.preference.PreferenceValues import eu.kanade.tachiyomi.util.system.isReleaseBuildType class ReaderPreferences( private val preferenceStore: PreferenceStore, ) { // region General fun pageTransitions() = preferenceStore.getBoolean("pref_enable_transitions_key", true) fun doubleTapAnimSpeed() = preferenceStore.getInt("pref_double_tap_anim_speed", 500) fun showPageNumber() = preferenceStore.getBoolean("pref_show_page_number_key", true) fun showReadingMode() = preferenceStore.getBoolean("pref_show_reading_mode", true) fun trueColor() = preferenceStore.getBoolean("pref_true_color_key", false) fun fullscreen() = preferenceStore.getBoolean("fullscreen", true) fun cutoutShort() = preferenceStore.getBoolean("cutout_short", true) fun keepScreenOn() = preferenceStore.getBoolean("pref_keep_screen_on_key", true) fun defaultReadingMode() = preferenceStore.getInt("pref_default_reading_mode_key", ReadingModeType.RIGHT_TO_LEFT.flagValue) fun defaultOrientationType() = preferenceStore.getInt("pref_default_orientation_type_key", OrientationType.FREE.flagValue) // TODO: Enable in release build when the feature is stable fun longStripSplitWebtoon() = preferenceStore.getBoolean("pref_long_strip_split_webtoon", !isReleaseBuildType) fun imageScaleType() = preferenceStore.getInt("pref_image_scale_type_key", 1) fun zoomStart() = preferenceStore.getInt("pref_zoom_start_key", 1) fun readerTheme() = preferenceStore.getInt("pref_reader_theme_key", 1) fun alwaysShowChapterTransition() = preferenceStore.getBoolean("always_show_chapter_transition", true) fun cropBorders() = preferenceStore.getBoolean("crop_borders", false) fun navigateToPan() = preferenceStore.getBoolean("navigate_pan", true) fun landscapeZoom() = preferenceStore.getBoolean("landscape_zoom", true) fun cropBordersWebtoon() = preferenceStore.getBoolean("crop_borders_webtoon", false) fun webtoonSidePadding() = preferenceStore.getInt("webtoon_side_padding", 0) fun readerHideThreshold() = preferenceStore.getEnum("reader_hide_threshold", PreferenceValues.ReaderHideThreshold.LOW) fun folderPerManga() = preferenceStore.getBoolean("create_folder_per_manga", false) fun skipRead() = preferenceStore.getBoolean("skip_read", false) fun skipFiltered() = preferenceStore.getBoolean("skip_filtered", true) // endregion // region Split two page spread fun dualPageSplitPaged() = preferenceStore.getBoolean("pref_dual_page_split", false) fun dualPageInvertPaged() = preferenceStore.getBoolean("pref_dual_page_invert", false) fun dualPageSplitWebtoon() = preferenceStore.getBoolean("pref_dual_page_split_webtoon", false) fun dualPageInvertWebtoon() = preferenceStore.getBoolean("pref_dual_page_invert_webtoon", false) // endregion // region Color filter fun customBrightness() = preferenceStore.getBoolean("pref_custom_brightness_key", false) fun customBrightnessValue() = preferenceStore.getInt("custom_brightness_value", 0) fun colorFilter() = preferenceStore.getBoolean("pref_color_filter_key", false) fun colorFilterValue() = preferenceStore.getInt("color_filter_value", 0) fun colorFilterMode() = preferenceStore.getInt("color_filter_mode", 0) fun grayscale() = preferenceStore.getBoolean("pref_grayscale", false) fun invertedColors() = preferenceStore.getBoolean("pref_inverted_colors", false) // endregion // region Controls fun readWithLongTap() = preferenceStore.getBoolean("reader_long_tap", true) fun readWithVolumeKeys() = preferenceStore.getBoolean("reader_volume_keys", false) fun readWithVolumeKeysInverted() = preferenceStore.getBoolean("reader_volume_keys_inverted", false) fun navigationModePager() = preferenceStore.getInt("reader_navigation_mode_pager", 0) fun navigationModeWebtoon() = preferenceStore.getInt("reader_navigation_mode_webtoon", 0) fun pagerNavInverted() = preferenceStore.getEnum("reader_tapping_inverted", PreferenceValues.TappingInvertMode.NONE) fun webtoonNavInverted() = preferenceStore.getEnum("reader_tapping_inverted_webtoon", PreferenceValues.TappingInvertMode.NONE) fun showNavigationOverlayNewUser() = preferenceStore.getBoolean("reader_navigation_overlay_new_user", true) fun showNavigationOverlayOnStart() = preferenceStore.getBoolean("reader_navigation_overlay_on_start", false) // endregion }