mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
fix(reader): Fix build
This commit is contained in:
parent
031e30e227
commit
f9bb2b96cb
4 changed files with 21 additions and 40 deletions
|
@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.ui.reader.viewer
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import android.view.LayoutInflater
|
|
||||||
import androidx.compose.material3.LocalContentColor
|
import androidx.compose.material3.LocalContentColor
|
||||||
import androidx.compose.material3.LocalTextStyle
|
import androidx.compose.material3.LocalTextStyle
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
|
@ -13,12 +12,10 @@ import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.platform.AbstractComposeView
|
import androidx.compose.ui.platform.AbstractComposeView
|
||||||
import eu.kanade.tachiyomi.data.download.DownloadManager
|
import eu.kanade.tachiyomi.data.download.DownloadManager
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
||||||
import eu.kanade.tachiyomi.databinding.ReaderTransitionViewBinding
|
|
||||||
import eu.kanade.tachiyomi.domain.manga.models.Manga
|
import eu.kanade.tachiyomi.domain.manga.models.Manga
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
||||||
import eu.kanade.tachiyomi.util.isLocal
|
import eu.kanade.tachiyomi.util.isLocal
|
||||||
import uy.kohesive.injekt.injectLazy
|
import eu.kanade.tachiyomi.util.system.ThemeUtil
|
||||||
import yokai.presentation.reader.ChapterTransition
|
import yokai.presentation.reader.ChapterTransition
|
||||||
import yokai.presentation.theme.YokaiTheme
|
import yokai.presentation.theme.YokaiTheme
|
||||||
|
|
||||||
|
@ -27,17 +24,14 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
||||||
|
|
||||||
private var data: Data? by mutableStateOf(null)
|
private var data: Data? by mutableStateOf(null)
|
||||||
|
|
||||||
private val binding: ReaderTransitionViewBinding =
|
|
||||||
ReaderTransitionViewBinding.inflate(LayoutInflater.from(context), this, true)
|
|
||||||
private val preferences: PreferencesHelper by injectLazy()
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
layoutParams = LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
|
layoutParams = LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bind(transition: ChapterTransition, downloadManager: DownloadManager, manga: Manga?) {
|
fun bind(theme: Int, transition: ChapterTransition, downloadManager: DownloadManager, manga: Manga?) {
|
||||||
data = if (manga != null) {
|
data = if (manga != null) {
|
||||||
Data(
|
Data(
|
||||||
|
theme = theme,
|
||||||
manga = manga,
|
manga = manga,
|
||||||
transition = transition,
|
transition = transition,
|
||||||
currChapterDownloaded = transition.from.pageLoader?.isLocal == true,
|
currChapterDownloaded = transition.from.pageLoader?.isLocal == true,
|
||||||
|
@ -58,10 +52,11 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
||||||
@Composable
|
@Composable
|
||||||
override fun Content() {
|
override fun Content() {
|
||||||
data?.let {
|
data?.let {
|
||||||
|
val contentColor = ThemeUtil.readerContentColor(it.theme, MaterialTheme.colorScheme.onBackground)
|
||||||
YokaiTheme {
|
YokaiTheme {
|
||||||
CompositionLocalProvider (
|
CompositionLocalProvider (
|
||||||
LocalTextStyle provides MaterialTheme.typography.bodySmall,
|
LocalTextStyle provides MaterialTheme.typography.bodySmall,
|
||||||
LocalContentColor provides MaterialTheme.colorScheme.onBackground,
|
LocalContentColor provides contentColor,
|
||||||
) {
|
) {
|
||||||
ChapterTransition(
|
ChapterTransition(
|
||||||
manga = it.manga,
|
manga = it.manga,
|
||||||
|
@ -75,6 +70,7 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
||||||
}
|
}
|
||||||
|
|
||||||
private data class Data(
|
private data class Data(
|
||||||
|
val theme: Int,
|
||||||
val manga: Manga,
|
val manga: Manga,
|
||||||
val transition: ChapterTransition,
|
val transition: ChapterTransition,
|
||||||
val currChapterDownloaded: Boolean,
|
val currChapterDownloaded: Boolean,
|
||||||
|
|
|
@ -14,14 +14,11 @@ import androidx.compose.material3.CircularProgressIndicator
|
||||||
import androidx.compose.ui.platform.ComposeView
|
import androidx.compose.ui.platform.ComposeView
|
||||||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||||
import androidx.core.view.updatePaddingRelative
|
import androidx.core.view.updatePaddingRelative
|
||||||
import eu.kanade.tachiyomi.R
|
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderButton
|
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderButton
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderTransitionView
|
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderTransitionView
|
||||||
import eu.kanade.tachiyomi.util.system.ThemeUtil
|
|
||||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
|
||||||
import eu.kanade.tachiyomi.util.view.setText
|
import eu.kanade.tachiyomi.util.view.setText
|
||||||
import eu.kanade.tachiyomi.widget.ViewPagerAdapter
|
import eu.kanade.tachiyomi.widget.ViewPagerAdapter
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
@ -67,17 +64,11 @@ class PagerTransitionHolder(
|
||||||
setPadding(sidePadding, 0, sidePadding, 0)
|
setPadding(sidePadding, 0, sidePadding, 0)
|
||||||
|
|
||||||
val transitionView = ReaderTransitionView(context)
|
val transitionView = ReaderTransitionView(context)
|
||||||
transitionView.setTextColors(
|
|
||||||
ThemeUtil.readerContentColor(
|
|
||||||
viewer.config.readerTheme,
|
|
||||||
context.getResourceColor(R.attr.colorOnBackground),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
addView(transitionView)
|
addView(transitionView)
|
||||||
addView(pagesContainer)
|
addView(pagesContainer)
|
||||||
|
|
||||||
transitionView.bind(transition, viewer.downloadManager, viewer.activity.viewModel.manga)
|
transitionView.bind(viewer.config.readerTheme, transition, viewer.downloadManager, viewer.activity.viewModel.manga)
|
||||||
|
|
||||||
transition.to?.let { observeStatus(it) }
|
transition.to?.let { observeStatus(it) }
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,10 @@ import androidx.compose.ui.platform.ComposeView
|
||||||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||||
import androidx.core.view.isNotEmpty
|
import androidx.core.view.isNotEmpty
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import eu.kanade.tachiyomi.R
|
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderTransitionView
|
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderTransitionView
|
||||||
import eu.kanade.tachiyomi.util.system.ThemeUtil
|
|
||||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
|
||||||
import eu.kanade.tachiyomi.util.view.setText
|
import eu.kanade.tachiyomi.util.view.setText
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.MainScope
|
import kotlinx.coroutines.MainScope
|
||||||
|
@ -72,13 +69,7 @@ class WebtoonTransitionHolder(
|
||||||
* Binds the given [transition] with this view holder, subscribing to its state.
|
* Binds the given [transition] with this view holder, subscribing to its state.
|
||||||
*/
|
*/
|
||||||
fun bind(transition: ChapterTransition) {
|
fun bind(transition: ChapterTransition) {
|
||||||
transitionView.setTextColors(
|
transitionView.bind(viewer.config.readerTheme, transition, viewer.downloadManager, viewer.activity.viewModel.manga)
|
||||||
ThemeUtil.readerContentColor(
|
|
||||||
viewer.config.readerTheme,
|
|
||||||
context.getResourceColor(R.attr.colorOnBackground),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
transitionView.bind(transition, viewer.downloadManager, viewer.activity.viewModel.manga)
|
|
||||||
|
|
||||||
transition.to?.let { observeStatus(it, transition) }
|
transition.to?.let { observeStatus(it, transition) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,10 @@ package eu.kanade.tachiyomi.util.system
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.graphics.Color
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.view.WindowInsetsControllerCompat
|
import androidx.core.view.WindowInsetsControllerCompat
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
|
@ -13,6 +14,7 @@ import eu.kanade.tachiyomi.data.preference.PreferenceKeys
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||||
import eu.kanade.tachiyomi.ui.reader.settings.ReaderBackgroundColor
|
import eu.kanade.tachiyomi.ui.reader.settings.ReaderBackgroundColor
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
import android.graphics.Color as AColor
|
||||||
|
|
||||||
object ThemeUtil {
|
object ThemeUtil {
|
||||||
|
|
||||||
|
@ -47,20 +49,21 @@ object ThemeUtil {
|
||||||
return context.isInNightMode() && preferences.themeDarkAmoled().get()
|
return context.isInNightMode() && preferences.themeDarkAmoled().get()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun readerBackgroundColor(theme: Int, default: Int = Color.WHITE): Int {
|
fun readerBackgroundColor(theme: Int, default: Int = AColor.WHITE): Int {
|
||||||
return when (ReaderBackgroundColor.fromPreference(theme)) {
|
return when (ReaderBackgroundColor.fromPreference(theme)) {
|
||||||
ReaderBackgroundColor.GRAY -> Color.rgb(32, 33, 37)
|
ReaderBackgroundColor.GRAY -> AColor.rgb(32, 33, 37)
|
||||||
ReaderBackgroundColor.BLACK -> Color.BLACK
|
ReaderBackgroundColor.BLACK -> AColor.BLACK
|
||||||
ReaderBackgroundColor.WHITE -> Color.WHITE
|
ReaderBackgroundColor.WHITE -> AColor.WHITE
|
||||||
else -> default
|
else -> default
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun readerContentColor(theme: Int, default: Int = Color.BLACK): Int {
|
@Composable
|
||||||
|
fun readerContentColor(theme: Int, default: Color = Color.Black): Color {
|
||||||
return when (ReaderBackgroundColor.fromPreference(theme)) {
|
return when (ReaderBackgroundColor.fromPreference(theme)) {
|
||||||
ReaderBackgroundColor.GRAY -> Color.WHITE
|
ReaderBackgroundColor.GRAY -> Color.White
|
||||||
ReaderBackgroundColor.BLACK -> Color.WHITE
|
ReaderBackgroundColor.BLACK -> Color.White
|
||||||
ReaderBackgroundColor.WHITE -> Color.BLACK
|
ReaderBackgroundColor.WHITE -> Color.Black
|
||||||
else -> default
|
else -> default
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,7 +81,7 @@ fun AppCompatActivity.getThemeWithExtras(theme: Resources.Theme, preferences: Pr
|
||||||
if (oldTheme != null && useAmoled) {
|
if (oldTheme != null && useAmoled) {
|
||||||
val array = oldTheme.obtainStyledAttributes(intArrayOf(R.attr.background))
|
val array = oldTheme.obtainStyledAttributes(intArrayOf(R.attr.background))
|
||||||
val bg = array.getColor(0, 0)
|
val bg = array.getColor(0, 0)
|
||||||
if (bg == Color.BLACK) {
|
if (bg == AColor.BLACK) {
|
||||||
return oldTheme
|
return oldTheme
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue