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.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.compose.material3.LocalContentColor
|
||||
import androidx.compose.material3.LocalTextStyle
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
|
@ -13,12 +12,10 @@ import androidx.compose.runtime.mutableStateOf
|
|||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.platform.AbstractComposeView
|
||||
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.ui.reader.model.ChapterTransition
|
||||
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.theme.YokaiTheme
|
||||
|
||||
|
@ -27,17 +24,14 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
|||
|
||||
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 {
|
||||
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(
|
||||
theme = theme,
|
||||
manga = manga,
|
||||
transition = transition,
|
||||
currChapterDownloaded = transition.from.pageLoader?.isLocal == true,
|
||||
|
@ -58,10 +52,11 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
|||
@Composable
|
||||
override fun Content() {
|
||||
data?.let {
|
||||
val contentColor = ThemeUtil.readerContentColor(it.theme, MaterialTheme.colorScheme.onBackground)
|
||||
YokaiTheme {
|
||||
CompositionLocalProvider (
|
||||
LocalTextStyle provides MaterialTheme.typography.bodySmall,
|
||||
LocalContentColor provides MaterialTheme.colorScheme.onBackground,
|
||||
LocalContentColor provides contentColor,
|
||||
) {
|
||||
ChapterTransition(
|
||||
manga = it.manga,
|
||||
|
@ -75,6 +70,7 @@ class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: At
|
|||
}
|
||||
|
||||
private data class Data(
|
||||
val theme: Int,
|
||||
val manga: Manga,
|
||||
val transition: ChapterTransition,
|
||||
val currChapterDownloaded: Boolean,
|
||||
|
|
|
@ -14,14 +14,11 @@ import androidx.compose.material3.CircularProgressIndicator
|
|||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||
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.ReaderChapter
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderButton
|
||||
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.getResourceColor
|
||||
import eu.kanade.tachiyomi.util.view.setText
|
||||
import eu.kanade.tachiyomi.widget.ViewPagerAdapter
|
||||
import kotlinx.coroutines.Job
|
||||
|
@ -67,17 +64,11 @@ class PagerTransitionHolder(
|
|||
setPadding(sidePadding, 0, sidePadding, 0)
|
||||
|
||||
val transitionView = ReaderTransitionView(context)
|
||||
transitionView.setTextColors(
|
||||
ThemeUtil.readerContentColor(
|
||||
viewer.config.readerTheme,
|
||||
context.getResourceColor(R.attr.colorOnBackground),
|
||||
)
|
||||
)
|
||||
|
||||
addView(transitionView)
|
||||
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) }
|
||||
|
||||
|
|
|
@ -12,13 +12,10 @@ import androidx.compose.ui.platform.ComposeView
|
|||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||
import androidx.core.view.isNotEmpty
|
||||
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.ReaderChapter
|
||||
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.getResourceColor
|
||||
import eu.kanade.tachiyomi.util.view.setText
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.MainScope
|
||||
|
@ -72,13 +69,7 @@ class WebtoonTransitionHolder(
|
|||
* Binds the given [transition] with this view holder, subscribing to its state.
|
||||
*/
|
||||
fun bind(transition: ChapterTransition) {
|
||||
transitionView.setTextColors(
|
||||
ThemeUtil.readerContentColor(
|
||||
viewer.config.readerTheme,
|
||||
context.getResourceColor(R.attr.colorOnBackground),
|
||||
)
|
||||
)
|
||||
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) }
|
||||
}
|
||||
|
|
|
@ -2,9 +2,10 @@ package eu.kanade.tachiyomi.util.system
|
|||
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Color
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
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.ui.reader.settings.ReaderBackgroundColor
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import android.graphics.Color as AColor
|
||||
|
||||
object ThemeUtil {
|
||||
|
||||
|
@ -47,20 +49,21 @@ object ThemeUtil {
|
|||
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)) {
|
||||
ReaderBackgroundColor.GRAY -> Color.rgb(32, 33, 37)
|
||||
ReaderBackgroundColor.BLACK -> Color.BLACK
|
||||
ReaderBackgroundColor.WHITE -> Color.WHITE
|
||||
ReaderBackgroundColor.GRAY -> AColor.rgb(32, 33, 37)
|
||||
ReaderBackgroundColor.BLACK -> AColor.BLACK
|
||||
ReaderBackgroundColor.WHITE -> AColor.WHITE
|
||||
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)) {
|
||||
ReaderBackgroundColor.GRAY -> Color.WHITE
|
||||
ReaderBackgroundColor.BLACK -> Color.WHITE
|
||||
ReaderBackgroundColor.WHITE -> Color.BLACK
|
||||
ReaderBackgroundColor.GRAY -> Color.White
|
||||
ReaderBackgroundColor.BLACK -> Color.White
|
||||
ReaderBackgroundColor.WHITE -> Color.Black
|
||||
else -> default
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +81,7 @@ fun AppCompatActivity.getThemeWithExtras(theme: Resources.Theme, preferences: Pr
|
|||
if (oldTheme != null && useAmoled) {
|
||||
val array = oldTheme.obtainStyledAttributes(intArrayOf(R.attr.background))
|
||||
val bg = array.getColor(0, 0)
|
||||
if (bg == Color.BLACK) {
|
||||
if (bg == AColor.BLACK) {
|
||||
return oldTheme
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue