Make Automatic Reader Theme pick background/text color based on dark mode preference (#5505)
* Make Automatic Reader Theme pick background/text color based on theme * Use extension method
This commit is contained in:
parent
37d30eb887
commit
c254aa6fcc
@ -854,6 +854,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
when (preferences.readerTheme().get()) {
|
when (preferences.readerTheme().get()) {
|
||||||
0 -> android.R.color.white
|
0 -> android.R.color.white
|
||||||
2 -> R.color.reader_background_dark
|
2 -> R.color.reader_background_dark
|
||||||
|
3 -> automaticBackgroundColor()
|
||||||
else -> android.R.color.black
|
else -> android.R.color.black
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -902,6 +903,17 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
|||||||
.launchIn(lifecycleScope)
|
.launchIn(lifecycleScope)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Picks background color for [ReaderActivity] based on light/dark theme preference
|
||||||
|
*/
|
||||||
|
private fun automaticBackgroundColor(): Int {
|
||||||
|
return if (baseContext.isNightMode()) {
|
||||||
|
R.color.reader_background_dark
|
||||||
|
} else {
|
||||||
|
android.R.color.white
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the visibility of the bottom page indicator according to [visible].
|
* Sets the visibility of the bottom page indicator according to [visible].
|
||||||
*/
|
*/
|
||||||
|
@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.R
|
|||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.databinding.ReaderTransitionViewBinding
|
import eu.kanade.tachiyomi.databinding.ReaderTransitionViewBinding
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
||||||
|
import eu.kanade.tachiyomi.util.system.isNightMode
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
@ -23,7 +24,6 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
|||||||
binding = ReaderTransitionViewBinding.inflate(LayoutInflater.from(context), this, true)
|
binding = ReaderTransitionViewBinding.inflate(LayoutInflater.from(context), this, true)
|
||||||
layoutParams = LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
|
layoutParams = LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bind(transition: ChapterTransition) {
|
fun bind(transition: ChapterTransition) {
|
||||||
when (transition) {
|
when (transition) {
|
||||||
is ChapterTransition.Prev -> bindPrevChapterTransition(transition)
|
is ChapterTransition.Prev -> bindPrevChapterTransition(transition)
|
||||||
@ -34,6 +34,7 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
|||||||
|
|
||||||
val color = when (Injekt.get<PreferencesHelper>().readerTheme().get()) {
|
val color = when (Injekt.get<PreferencesHelper>().readerTheme().get()) {
|
||||||
0 -> context.getColor(android.R.color.black)
|
0 -> context.getColor(android.R.color.black)
|
||||||
|
3 -> context.getColor(automaticTextColor())
|
||||||
else -> context.getColor(android.R.color.white)
|
else -> context.getColor(android.R.color.white)
|
||||||
}
|
}
|
||||||
listOf(binding.upperText, binding.warningText, binding.lowerText).forEach {
|
listOf(binding.upperText, binding.warningText, binding.lowerText).forEach {
|
||||||
@ -41,6 +42,17 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Picks text color for [ReaderActivity] based on light/dark theme preference
|
||||||
|
*/
|
||||||
|
private fun automaticTextColor(): Int {
|
||||||
|
return if (context.isNightMode()) {
|
||||||
|
android.R.color.white
|
||||||
|
} else {
|
||||||
|
android.R.color.black
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Binds a previous chapter transition on this view and subscribes to the page load status.
|
* Binds a previous chapter transition on this view and subscribes to the page load status.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user