From f5645a8382f7cebc488a2cb97773d29b92e6e102 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Thu, 12 Aug 2021 21:11:04 -0400 Subject: [PATCH] Revert "Use correct color for reader loading indicator (#5685)" This reverts commit de698fc2334030faeddc787ac3b224f4bc32d316. --- .../tachiyomi/ui/reader/ReaderActivity.kt | 19 ++---------- .../ui/reader/viewer/pager/PagerConfig.kt | 11 +------ .../ui/reader/viewer/pager/PagerPageHolder.kt | 13 ++++---- .../ui/reader/viewer/webtoon/WebtoonConfig.kt | 6 ---- .../viewer/webtoon/WebtoonPageHolder.kt | 4 +-- .../util/system/ContextExtensions.kt | 30 ------------------- app/src/main/res/layout/reader_activity.xml | 9 ++++++ 7 files changed, 19 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 86200af1c..b742da7cf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -17,7 +17,6 @@ import android.graphics.Paint import android.graphics.PorterDuff import android.os.Build import android.os.Bundle -import android.view.Gravity import android.view.KeyEvent import android.view.Menu import android.view.MotionEvent @@ -25,7 +24,6 @@ import android.view.View.LAYER_TYPE_HARDWARE import android.view.WindowManager import android.view.animation.Animation import android.view.animation.AnimationUtils -import android.widget.FrameLayout import android.widget.RelativeLayout import android.widget.SeekBar import android.widget.Toast @@ -36,7 +34,6 @@ import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat import androidx.core.view.isInvisible import androidx.core.view.isVisible -import androidx.core.view.updateLayoutParams import androidx.lifecycle.lifecycleScope import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -71,7 +68,6 @@ import eu.kanade.tachiyomi.ui.reader.setting.ReaderBottomButton import eu.kanade.tachiyomi.ui.reader.setting.ReaderSettingsSheet import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType import eu.kanade.tachiyomi.ui.reader.viewer.BaseViewer -import eu.kanade.tachiyomi.ui.reader.viewer.ReaderProgressIndicator import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerViewer import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer @@ -80,7 +76,6 @@ import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.util.storage.getUriCompat import eu.kanade.tachiyomi.util.system.GLUtil -import eu.kanade.tachiyomi.util.system.createReaderThemeContext import eu.kanade.tachiyomi.util.system.hasDisplayCutout import eu.kanade.tachiyomi.util.system.isLTR import eu.kanade.tachiyomi.util.system.isNightMode @@ -111,7 +106,6 @@ import timber.log.Timber import uy.kohesive.injekt.injectLazy import java.io.File import kotlin.math.abs - /** * Activity containing the reader of Tachiyomi. This activity is mostly a container of the * viewers, to which calls from the presenter or UI events are delegated. @@ -186,8 +180,6 @@ class ReaderActivity : BaseRxActivity() private val windowInsetsController by lazy { WindowInsetsControllerCompat(window, binding.root) } - private var loadingIndicator: ReaderProgressIndicator? = null - var isScrollingThroughPages = false private set @@ -1118,13 +1110,8 @@ class ReaderActivity : BaseRxActivity() binding.aboveChapter.setTooltip(R.string.action_previous_chapter) binding.belowChapter.setTooltip(R.string.action_next_chapter) - val loadingIndicatorContext = createReaderThemeContext(preferences.readerTheme().get()) - loadingIndicator = ReaderProgressIndicator(loadingIndicatorContext).apply { - updateLayoutParams { - gravity = Gravity.CENTER - } - } - binding.readerContainer.addView(loadingIndicator) + binding.pleaseWait.isVisible = true + binding.pleaseWait.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in_long)) } private fun showReadingModeToast(mode: Int) { @@ -1143,7 +1130,7 @@ class ReaderActivity : BaseRxActivity() * hides or disables the reader prev/next buttons if there's a prev or next chapter */ fun setChapters(viewerChapters: ViewerChapters) { - binding.readerContainer.removeView(loadingIndicator) + binding.pleaseWait.isVisible = false // SY --> if (indexChapterToShift != null && indexPageToShift != null) { viewerChapters.currChapter.pages?.find { it.index == indexPageToShift && it.chapter.chapter.id == indexChapterToShift }?.let { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt index 0980fccf3..3ad4a6b76 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt @@ -25,9 +25,6 @@ class PagerConfig( preferences: PreferencesHelper = Injekt.get() ) : ViewerConfig(preferences, scope) { - var theme = preferences.readerTheme().get() - private set - var automaticBackground = false private set @@ -67,13 +64,7 @@ class PagerConfig( init { preferences.readerTheme() - .register( - { - theme = it - automaticBackground = it == 3 - }, - { imagePropertyChangedListener?.invoke() } - ) + .register({ automaticBackground = it == 3 }, { imagePropertyChangedListener?.invoke() }) preferences.imageScaleType() .register({ imageScaleType = it }, { imagePropertyChangedListener?.invoke() }) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt index cff51e042..4c402aa5f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt @@ -32,7 +32,6 @@ import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig.ZoomType import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.util.lang.launchUI import eu.kanade.tachiyomi.util.system.ImageUtil -import eu.kanade.tachiyomi.util.system.createReaderThemeContext import eu.kanade.tachiyomi.util.system.dpToPx import eu.kanade.tachiyomi.widget.ViewPagerAdapter import kotlinx.coroutines.CoroutineScope @@ -67,7 +66,11 @@ class PagerPageHolder( /** * Loading progress bar to indicate the current progress. */ - private val progressIndicator: ReaderProgressIndicator + private val progressIndicator = ReaderProgressIndicator(context).apply { + updateLayoutParams { + gravity = Gravity.CENTER + } + } /** * Image view that supports subsampling on zoom. @@ -142,12 +145,6 @@ class PagerPageHolder( // SY <-- init { - val indicatorContext = context.createReaderThemeContext(viewer.config.theme) - progressIndicator = ReaderProgressIndicator(indicatorContext).apply { - updateLayoutParams { - gravity = Gravity.CENTER - } - } addView(progressIndicator) scope = CoroutineScope(Job() + Dispatchers.Default) observeStatus() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt index 2d2431c00..4ed25f9c1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt @@ -28,9 +28,6 @@ class WebtoonConfig( var sidePadding = 0 private set - var theme = preferences.readerTheme().get() - private set - // SY --> var usePageTransitions = false @@ -66,9 +63,6 @@ class WebtoonConfig( preferences.dualPageInvertWebtoon() .register({ dualPageInvert = it }, { imagePropertyChangedListener?.invoke() }) - preferences.readerTheme() - .register({ theme = it }, { imagePropertyChangedListener?.invoke() }) - // SY --> preferences.webtoonEnableZoomOut() .register({ enableZoomOut = it }, { zoomPropertyChangedListener?.invoke(it) }) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt index ad543b72b..75a0a4938 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt @@ -27,7 +27,6 @@ import eu.kanade.tachiyomi.ui.reader.model.ReaderPage import eu.kanade.tachiyomi.ui.reader.viewer.ReaderProgressIndicator import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.util.system.ImageUtil -import eu.kanade.tachiyomi.util.system.createReaderThemeContext import eu.kanade.tachiyomi.util.system.dpToPx import rx.Observable import rx.Subscription @@ -346,8 +345,7 @@ class WebtoonPageHolder( progressContainer = FrameLayout(context) frame.addView(progressContainer, MATCH_PARENT, parentHeight) - val indicatorContext = context.createReaderThemeContext(viewer.config.theme) - val progress = ReaderProgressIndicator(indicatorContext).apply { + val progress = ReaderProgressIndicator(context).apply { updateLayoutParams { gravity = Gravity.CENTER_HORIZONTAL updateMargins(top = parentHeight / 4) diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt index a26ffab6d..95cb979f2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt @@ -25,13 +25,11 @@ import android.widget.Toast import androidx.annotation.AttrRes import androidx.annotation.ColorInt import androidx.annotation.StringRes -import androidx.appcompat.view.ContextThemeWrapper import androidx.browser.customtabs.CustomTabColorSchemeParams import androidx.browser.customtabs.CustomTabsIntent import androidx.core.app.NotificationCompat import androidx.core.content.ContextCompat import androidx.core.content.getSystemService -import androidx.core.content.res.ResourcesCompat import androidx.core.graphics.alpha import androidx.core.graphics.blue import androidx.core.graphics.green @@ -286,31 +284,3 @@ fun Context.isTablet(): Boolean { fun Context.isNightMode(): Boolean { return resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES } - -/** - * Creates night mode Context depending on reader theme/background - * - * Context wrapping method obtained from AppCompatDelegateImpl - * https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatDelegateImpl.java;l=348;drc=e28752c96fc3fb4d3354781469a1af3dbded4898 - */ -fun Context.createReaderThemeContext(readerThemeSelected: Int): Context { - val isDarkBackground = when (readerThemeSelected) { - 1, 2 -> true // Black, Gray - 3 -> isNightMode() // Automatic bg uses activity background by default - else -> false // White - } - val expected = if (isDarkBackground) Configuration.UI_MODE_NIGHT_YES else Configuration.UI_MODE_NIGHT_NO - if (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK != expected) { - val overrideConf = Configuration() - overrideConf.setTo(resources.configuration) - overrideConf.uiMode = (overrideConf.uiMode and Configuration.UI_MODE_NIGHT_MASK.inv()) or expected - - val wrappedContext = ContextThemeWrapper(this, R.style.Theme_AppCompat_Empty) - wrappedContext.applyOverrideConfiguration(overrideConf) - if (theme != null) { - ResourcesCompat.ThemeCompat.rebase(wrappedContext.theme) - } - return wrappedContext - } - return this -} diff --git a/app/src/main/res/layout/reader_activity.xml b/app/src/main/res/layout/reader_activity.xml index a1fe48c32..f809da933 100755 --- a/app/src/main/res/layout/reader_activity.xml +++ b/app/src/main/res/layout/reader_activity.xml @@ -16,6 +16,15 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> + +