Added an option to change the notch mode
Option is enabled (not greyed out) in Reader settings only when a mobile supports notch. Default option is to NOT use the notch area on horizontal view. Also added polish translation to already fixed polish translation file.
This commit is contained in:
parent
5f862f0ed8
commit
bcec01c48b
6 changed files with 49 additions and 11 deletions
|
@ -19,6 +19,8 @@ object PreferenceKeys {
|
||||||
|
|
||||||
const val fullscreen = "fullscreen"
|
const val fullscreen = "fullscreen"
|
||||||
|
|
||||||
|
const val isDefaultNotchMode = "pref_notch_mode"
|
||||||
|
|
||||||
const val keepScreenOn = "pref_keep_screen_on_key"
|
const val keepScreenOn = "pref_keep_screen_on_key"
|
||||||
|
|
||||||
const val customBrightness = "pref_custom_brightness_key"
|
const val customBrightness = "pref_custom_brightness_key"
|
||||||
|
|
|
@ -72,6 +72,8 @@ class PreferencesHelper(val context: Context) {
|
||||||
|
|
||||||
fun fullscreen() = rxPrefs.getBoolean(Keys.fullscreen, true)
|
fun fullscreen() = rxPrefs.getBoolean(Keys.fullscreen, true)
|
||||||
|
|
||||||
|
fun notchDefaultCutoutMode() = rxPrefs.getBoolean(Keys.isDefaultNotchMode, false)
|
||||||
|
|
||||||
fun keepScreenOn() = rxPrefs.getBoolean(Keys.keepScreenOn, true)
|
fun keepScreenOn() = rxPrefs.getBoolean(Keys.keepScreenOn, true)
|
||||||
|
|
||||||
fun customBrightness() = rxPrefs.getBoolean(Keys.customBrightness, false)
|
fun customBrightness() = rxPrefs.getBoolean(Keys.customBrightness, false)
|
||||||
|
|
|
@ -11,12 +11,7 @@ import android.graphics.Bitmap
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.KeyEvent
|
import android.view.*
|
||||||
import android.view.Menu
|
|
||||||
import android.view.MenuItem
|
|
||||||
import android.view.MotionEvent
|
|
||||||
import android.view.View
|
|
||||||
import android.view.WindowManager
|
|
||||||
import android.view.animation.Animation
|
import android.view.animation.Animation
|
||||||
import android.view.animation.AnimationUtils
|
import android.view.animation.AnimationUtils
|
||||||
import android.widget.SeekBar
|
import android.widget.SeekBar
|
||||||
|
@ -34,9 +29,7 @@ import eu.kanade.tachiyomi.data.preference.getOrDefault
|
||||||
import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity
|
import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity
|
||||||
import eu.kanade.tachiyomi.ui.main.BiometricActivity
|
import eu.kanade.tachiyomi.ui.main.BiometricActivity
|
||||||
import eu.kanade.tachiyomi.ui.main.MainActivity
|
import eu.kanade.tachiyomi.ui.main.MainActivity
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.AddToLibraryFirst
|
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.*
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.Error
|
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.Success
|
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters
|
import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters
|
||||||
|
@ -45,11 +38,11 @@ import eu.kanade.tachiyomi.ui.reader.viewer.pager.L2RPagerViewer
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.VerticalPagerViewer
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.VerticalPagerViewer
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
|
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
|
||||||
import eu.kanade.tachiyomi.util.system.launchUI
|
|
||||||
import eu.kanade.tachiyomi.util.lang.plusAssign
|
import eu.kanade.tachiyomi.util.lang.plusAssign
|
||||||
import eu.kanade.tachiyomi.util.storage.getUriCompat
|
import eu.kanade.tachiyomi.util.storage.getUriCompat
|
||||||
import eu.kanade.tachiyomi.util.system.GLUtil
|
import eu.kanade.tachiyomi.util.system.GLUtil
|
||||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
import eu.kanade.tachiyomi.util.system.getResourceColor
|
||||||
|
import eu.kanade.tachiyomi.util.system.launchUI
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
import eu.kanade.tachiyomi.util.view.gone
|
import eu.kanade.tachiyomi.util.view.gone
|
||||||
import eu.kanade.tachiyomi.util.view.visible
|
import eu.kanade.tachiyomi.util.view.visible
|
||||||
|
@ -67,7 +60,7 @@ import rx.subscriptions.CompositeSubscription
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.Date
|
import java.util.*
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
|
||||||
|
@ -692,6 +685,10 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>(),
|
||||||
|
|
||||||
subscriptions += preferences.colorFilterMode().asObservable()
|
subscriptions += preferences.colorFilterMode().asObservable()
|
||||||
.subscribe { setColorFilter(preferences.colorFilter().getOrDefault()) }
|
.subscribe { setColorFilter(preferences.colorFilter().getOrDefault()) }
|
||||||
|
|
||||||
|
subscriptions += preferences.notchDefaultCutoutMode().asObservable()
|
||||||
|
.subscribe { setNotchCutoutMode(preferences.notchDefaultCutoutMode().getOrDefault()) }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -804,6 +801,26 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets notch cutout mode to "DEFAULT" mode if true and "NEVER" mode if false.
|
||||||
|
* In "NEVER" mode the space next to the notch won't be used and filled with a black background.
|
||||||
|
*/
|
||||||
|
private fun setNotchCutoutMode(isDefault: Boolean) {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||||
|
if (!isDefault) {
|
||||||
|
val currentOrientation = resources.configuration.orientation
|
||||||
|
|
||||||
|
if(currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
|
||||||
|
val params = window.attributes
|
||||||
|
params.layoutInDisplayCutoutMode =
|
||||||
|
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the brightness of the screen. Range is [-75, 100].
|
* Sets the brightness of the screen. Range is [-75, 100].
|
||||||
* From -75 to -1 a semi-transparent black view is overlaid with the minimum brightness.
|
* From -75 to -1 a semi-transparent black view is overlaid with the minimum brightness.
|
||||||
|
|
|
@ -87,6 +87,19 @@ class SettingsReaderController : SettingsController() {
|
||||||
defaultValue = false
|
defaultValue = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||||
|
val cutout = activity?.window?.decorView?.rootWindowInsets?.displayCutout
|
||||||
|
|
||||||
|
switchPreference {
|
||||||
|
key = Keys.isDefaultNotchMode
|
||||||
|
titleRes = R.string.pref_notch_display
|
||||||
|
summaryRes = R.string.pref_notch_display_summary
|
||||||
|
defaultValue = false
|
||||||
|
isEnabled = cutout != null // display option only when a mobile has a notch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
preferenceCategory {
|
preferenceCategory {
|
||||||
titleRes = R.string.pager_viewer
|
titleRes = R.string.pager_viewer
|
||||||
|
|
||||||
|
|
|
@ -215,6 +215,8 @@
|
||||||
<string name="pref_double_tap_anim_speed">Szybkość podwójnego stuknięcia</string>
|
<string name="pref_double_tap_anim_speed">Szybkość podwójnego stuknięcia</string>
|
||||||
<string name="pref_show_page_number">Pokazuj numer strony</string>
|
<string name="pref_show_page_number">Pokazuj numer strony</string>
|
||||||
<string name="pref_true_color">Kolor 32 bitowy</string>
|
<string name="pref_true_color">Kolor 32 bitowy</string>
|
||||||
|
<string name="pref_notch_display">Użyj przestrzeni sąsiadującej z notchem</string>
|
||||||
|
<string name="pref_notch_display_summary">Działa tylko w widoku horyzontalnym, tak by notch nachodził na wyświetlaną stronę</string>
|
||||||
<string name="pref_crop_borders">Przycinaj krawędzie</string>
|
<string name="pref_crop_borders">Przycinaj krawędzie</string>
|
||||||
<string name="pref_custom_brightness">Niestandardowa jasność</string>
|
<string name="pref_custom_brightness">Niestandardowa jasność</string>
|
||||||
<string name="pref_custom_color_filter">Niestandardowy filtr kolorów</string>
|
<string name="pref_custom_color_filter">Niestandardowy filtr kolorów</string>
|
||||||
|
|
|
@ -216,6 +216,8 @@
|
||||||
<string name="pref_double_tap_anim_speed">Double tap animation speed</string>
|
<string name="pref_double_tap_anim_speed">Double tap animation speed</string>
|
||||||
<string name="pref_show_page_number">Show page number</string>
|
<string name="pref_show_page_number">Show page number</string>
|
||||||
<string name="pref_true_color">32-bit color</string>
|
<string name="pref_true_color">32-bit color</string>
|
||||||
|
<string name="pref_notch_display">Use space next to the notch</string>
|
||||||
|
<string name="pref_notch_display_summary">Works only for the landscape view for the notch to overlap the displayed page</string>
|
||||||
<string name="pref_crop_borders">Crop borders</string>
|
<string name="pref_crop_borders">Crop borders</string>
|
||||||
<string name="pref_custom_brightness">Use custom brightness</string>
|
<string name="pref_custom_brightness">Use custom brightness</string>
|
||||||
<string name="pref_custom_color_filter">Use custom color filter</string>
|
<string name="pref_custom_color_filter">Use custom color filter</string>
|
||||||
|
|
Reference in a new issue