mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Avoid unnecessary transition setup in reader if not transitioning
This commit is contained in:
		@@ -891,15 +891,20 @@ class MangaController :
 | 
			
		||||
 | 
			
		||||
    private fun openChapter(chapter: Chapter, sharedElement: View? = null) {
 | 
			
		||||
        val activity = activity ?: return
 | 
			
		||||
        val intent = ReaderActivity.newIntent(activity, presenter.manga, chapter)
 | 
			
		||||
        activity.apply {
 | 
			
		||||
            val intent = ReaderActivity.newIntent(activity, presenter.manga, chapter)
 | 
			
		||||
            if (sharedElement != null && Build.VERSION.SDK_INT != Build.VERSION_CODES.O) {
 | 
			
		||||
                val activityOptions = ActivityOptions.makeSceneTransitionAnimation(
 | 
			
		||||
                    activity,
 | 
			
		||||
                    sharedElement,
 | 
			
		||||
                    ReaderActivity.SHARED_ELEMENT_NAME
 | 
			
		||||
                )
 | 
			
		||||
                startActivity(intent, activityOptions.toBundle())
 | 
			
		||||
                startActivity(
 | 
			
		||||
                    intent.apply {
 | 
			
		||||
                        putExtra(ReaderActivity.EXTRA_IS_TRANSITION, true)
 | 
			
		||||
                    },
 | 
			
		||||
                    activityOptions.toBundle(),
 | 
			
		||||
                )
 | 
			
		||||
            } else {
 | 
			
		||||
                startActivity(intent)
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -43,6 +43,7 @@ import com.google.android.material.slider.Slider
 | 
			
		||||
import com.google.android.material.transition.platform.MaterialContainerTransform
 | 
			
		||||
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
 | 
			
		||||
import dev.chrisbanes.insetter.applyInsetter
 | 
			
		||||
import eu.kanade.tachiyomi.BuildConfig
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.models.Chapter
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.models.Manga
 | 
			
		||||
@@ -110,6 +111,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
 | 
			
		||||
        private const val ENABLED_BUTTON_IMAGE_ALPHA = 255
 | 
			
		||||
        private const val DISABLED_BUTTON_IMAGE_ALPHA = 64
 | 
			
		||||
 | 
			
		||||
        const val EXTRA_IS_TRANSITION = "${BuildConfig.APPLICATION_ID}.READER_IS_TRANSITION"
 | 
			
		||||
        const val SHARED_ELEMENT_NAME = "reader_shared_element_root"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -158,15 +160,17 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
 | 
			
		||||
        applyAppTheme(preferences)
 | 
			
		||||
 | 
			
		||||
        // Setup shared element transitions
 | 
			
		||||
        window.requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS)
 | 
			
		||||
        findViewById<View>(android.R.id.content)?.let { contentView ->
 | 
			
		||||
            contentView.transitionName = SHARED_ELEMENT_NAME
 | 
			
		||||
            setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
 | 
			
		||||
            window.sharedElementEnterTransition = buildContainerTransform(true)
 | 
			
		||||
            window.sharedElementReturnTransition = buildContainerTransform(false)
 | 
			
		||||
        if (intent.extras?.getBoolean(EXTRA_IS_TRANSITION) == true) {
 | 
			
		||||
            window.requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS)
 | 
			
		||||
            findViewById<View>(android.R.id.content)?.let { contentView ->
 | 
			
		||||
                contentView.transitionName = SHARED_ELEMENT_NAME
 | 
			
		||||
                setEnterSharedElementCallback(MaterialContainerTransformSharedElementCallback())
 | 
			
		||||
                window.sharedElementEnterTransition = buildContainerTransform(true)
 | 
			
		||||
                window.sharedElementReturnTransition = buildContainerTransform(false)
 | 
			
		||||
 | 
			
		||||
            // Postpone custom transition until manga ready
 | 
			
		||||
            postponeEnterTransition()
 | 
			
		||||
                // Postpone custom transition until manga ready
 | 
			
		||||
                postponeEnterTransition()
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.onCreate(savedInstanceState)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user