Temporarily disable shared element transitions (#1621)
This commit is contained in:
1 parent
84c3fee5da
commit
42ed51094e
3 files changed
+95
-13
No files matched your search
@@ -26,7 +26,6 @@ import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.animation.SharedTransitionLayout
|
||||
import androidx.compose.animation.SharedTransitionScope
|
||||
import androidx.compose.animation.core.animateDpAsState
|
||||
import androidx.compose.foundation.Image
|
||||
@@ -138,6 +137,7 @@ import com.hippo.ehviewer.ui.tools.DialogState
|
||||
import com.hippo.ehviewer.ui.tools.LabeledCheckbox
|
||||
import com.hippo.ehviewer.ui.tools.LocalDialogState
|
||||
import com.hippo.ehviewer.ui.tools.LocalWindowSizeClass
|
||||
import com.hippo.ehviewer.ui.tools.NoopSharedTransitionScope
|
||||
import com.hippo.ehviewer.updater.AppUpdater
|
||||
import com.hippo.ehviewer.util.AppConfig
|
||||
import com.hippo.ehviewer.util.addTextToClipboard
|
||||
@@ -463,16 +463,17 @@ class MainActivity : EhActivity() {
|
||||
drawerState = sideSheetState,
|
||||
gesturesEnabled = sheet != null && drawerEnabled,
|
||||
) {
|
||||
SharedTransitionLayout {
|
||||
CompositionLocalProvider(LocalSharedTransitionScope provides this) {
|
||||
DestinationsNavHost(
|
||||
navGraph = NavGraphs.root,
|
||||
start = if (Settings.needSignIn) SignInScreenDestination else StartDestination,
|
||||
defaultTransitions = rememberEhNavAnim(),
|
||||
navController = navController,
|
||||
)
|
||||
}
|
||||
// https://issuetracker.google.com/336140982
|
||||
// SharedTransitionLayout {
|
||||
CompositionLocalProvider(LocalSharedTransitionScope provides NoopSharedTransitionScope) {
|
||||
DestinationsNavHost(
|
||||
navGraph = NavGraphs.root,
|
||||
start = if (Settings.needSignIn) SignInScreenDestination else StartDestination,
|
||||
defaultTransitions = rememberEhNavAnim(),
|
||||
navController = navController,
|
||||
)
|
||||
}
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ import com.hippo.ehviewer.client.data.GalleryInfo
|
||||
import com.hippo.ehviewer.ktbuilder.imageRequest
|
||||
import com.hippo.ehviewer.ui.tools.SETNodeGenerator
|
||||
import com.hippo.ehviewer.ui.tools.TransitionsVisibilityScope
|
||||
import com.hippo.ehviewer.ui.tools.sharedBounds
|
||||
import com.hippo.ehviewer.ui.tools.shouldCrop
|
||||
|
||||
@Composable
|
||||
@@ -40,7 +39,9 @@ fun EhAsyncThumb(
|
||||
) = AsyncImage(
|
||||
model = requestOf(model),
|
||||
contentDescription = null,
|
||||
modifier = modifier.sharedBounds(key = "${model.gid}").clip(ShapeDefaults.Medium),
|
||||
modifier = modifier
|
||||
// .sharedBounds(key = "${model.gid}")
|
||||
.clip(ShapeDefaults.Medium),
|
||||
onSuccess = onSuccess?.let { callback ->
|
||||
{ callback(it.result.image) }
|
||||
},
|
||||
@@ -57,7 +58,9 @@ fun EhAsyncCropThumb(
|
||||
AsyncImage(
|
||||
model = requestOf(key),
|
||||
contentDescription = null,
|
||||
modifier = modifier.sharedBounds(key = "${key.gid}").clip(ShapeDefaults.Medium),
|
||||
modifier = modifier
|
||||
// .sharedBounds(key = "${key.gid}")
|
||||
.clip(ShapeDefaults.Medium),
|
||||
onSuccess = {
|
||||
if (it.result.image.shouldCrop) {
|
||||
contentScale = ContentScale.Crop
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.hippo.ehviewer.ui.tools
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibilityScope
|
||||
import androidx.compose.animation.BoundsTransform
|
||||
import androidx.compose.animation.EnterTransition
|
||||
import androidx.compose.animation.ExitTransition
|
||||
import androidx.compose.animation.SharedTransitionScope
|
||||
@@ -11,6 +12,12 @@ import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.Stable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Path
|
||||
import androidx.compose.ui.graphics.Shape
|
||||
import androidx.compose.ui.layout.LayoutCoordinates
|
||||
import androidx.compose.ui.layout.Placeable
|
||||
import androidx.compose.ui.unit.Density
|
||||
import androidx.compose.ui.unit.LayoutDirection
|
||||
import arrow.atomic.AtomicInt
|
||||
|
||||
val NoopTransitionsVisibilityScope = TransitionsVisibilityScope(emptySet())
|
||||
@@ -80,3 +87,74 @@ class SETNodeGenerator {
|
||||
other.opposites.add(this)
|
||||
}
|
||||
}
|
||||
|
||||
object NoopSharedTransitionScope : SharedTransitionScope {
|
||||
override val isTransitionActive: Boolean
|
||||
get() = TODO("Not yet implemented")
|
||||
override val Placeable.PlacementScope.lookaheadScopeCoordinates: LayoutCoordinates
|
||||
get() = TODO("Not yet implemented")
|
||||
|
||||
override fun OverlayClip(clipShape: Shape): SharedTransitionScope.OverlayClip {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
@Composable
|
||||
override fun rememberSharedContentState(key: Any): SharedTransitionScope.SharedContentState {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun Modifier.renderInSharedTransitionScopeOverlay(
|
||||
renderInOverlay: () -> Boolean,
|
||||
zIndexInOverlay: Float,
|
||||
clipInOverlayDuringTransition: (LayoutDirection, Density) -> Path?,
|
||||
): Modifier {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun Modifier.sharedBounds(
|
||||
sharedContentState: SharedTransitionScope.SharedContentState,
|
||||
animatedVisibilityScope: AnimatedVisibilityScope,
|
||||
enter: EnterTransition,
|
||||
exit: ExitTransition,
|
||||
boundsTransform: BoundsTransform,
|
||||
resizeMode: SharedTransitionScope.ResizeMode,
|
||||
placeHolderSize: SharedTransitionScope.PlaceHolderSize,
|
||||
renderInOverlayDuringTransition: Boolean,
|
||||
zIndexInOverlay: Float,
|
||||
clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip,
|
||||
): Modifier {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun Modifier.sharedElement(
|
||||
state: SharedTransitionScope.SharedContentState,
|
||||
animatedVisibilityScope: AnimatedVisibilityScope,
|
||||
boundsTransform: BoundsTransform,
|
||||
placeHolderSize: SharedTransitionScope.PlaceHolderSize,
|
||||
renderInOverlayDuringTransition: Boolean,
|
||||
zIndexInOverlay: Float,
|
||||
clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip,
|
||||
): Modifier {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun Modifier.sharedElementWithCallerManagedVisibility(
|
||||
sharedContentState: SharedTransitionScope.SharedContentState,
|
||||
visible: Boolean,
|
||||
boundsTransform: BoundsTransform,
|
||||
placeHolderSize: SharedTransitionScope.PlaceHolderSize,
|
||||
renderInOverlayDuringTransition: Boolean,
|
||||
zIndexInOverlay: Float,
|
||||
clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip,
|
||||
): Modifier {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun Modifier.skipToLookaheadSize(): Modifier {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun LayoutCoordinates.toLookaheadCoordinates(): LayoutCoordinates {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user