Tolriq
04/07/2024, 3:16 PMupdateTransition
API. ?
The only thing I can find would be https://github.com/androidx/androidx/commit/fa28aa1ca5fd8b0d2b82802fc346a1b1ad3b8ddb @jossiwolf
I now have random bugs with Crossfade
that reach a state where it no more transition between the states despite everything looking OK.Tolriq
04/07/2024, 3:20 PMlogError("AAAA") {"Precross: $isBuffering"}
Crossfade(targetState = isBuffering, label = "") { isBuffering ->
logError("AAAA") {"cross: $isBuffering"}
if (isBuffering) {
CircularProgressIndicator(
modifier = Modifier
.size(48.dp)
.padding(4.dp)
.align(Alignment.Center),
strokeCap = StrokeCap.Round,
strokeWidth = 2.dp,
color = buttonColor.copy(alpha = 0.45f),
)
}
}
The log :
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@413: Precross: true
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@370: cross: false
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@370: cross: true
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@413: Precross: false
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@370: cross: false
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@370: cross: true
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@413: Precross: false
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@370: cross: false
CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@370: cross: true
But the buffering animation is still shown despite the state being false, and the Crossfade properly being called.Tolriq
04/07/2024, 3:25 PM17:22:26.267 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:26.269 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:31.839 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:31.846 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:35.572 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:35.576 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:36.412 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:36.413 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:40.044 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:40.045 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:40.363 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:40.364 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:40.615 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:40.624 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:40.886 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:40.887 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:41.381 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: true
17:22:41.383 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:41.387 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: true
17:22:41.795 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:41.797 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: true
17:22:41.797 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:41.987 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:41.989 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: true
17:22:41.991 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:46.917 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:46.923 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:47.067 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:47.069 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:48.584 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:48.585 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:48.798 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: true
17:22:48.799 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:48.801 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: true
17:22:49.183 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:49.185 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:49.187 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: true
17:22:49.495 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: false
17:22:49.496 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: false
17:22:49.497 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$2$4.invoke@368: cross: true
Seems it's not supposed to call with both states.Tolriq
04/07/2024, 3:37 PMDoris Liu
04/07/2024, 5:01 PMTolriq
04/07/2024, 5:11 PMDoris Liu
04/07/2024, 5:24 PMeven if the state is always falseI'm seeing
17:22:41.381 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@411: Precross: true
in the second log that lasts for one frame, twice. With that target change, I'm expecting to see both states start to be composed.Tolriq
04/07/2024, 5:40 PMDoris Liu
04/07/2024, 5:55 PMfalse
-> true
, the animation is already started, going to false
in the next frame interrupts the animation with a new target value, which will take a couple of frames to reach. I'd expect this same behavior for releases prior to alpha06.Tolriq
04/07/2024, 5:59 PMTolriq
04/07/2024, 5:59 PMTolriq
04/07/2024, 6:00 PM19:58:29.755 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@393: Precross: true
19:58:29.756 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: false
19:58:29.758 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: true
19:58:29.767 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@393: Precross: true
19:58:29.783 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: false
19:58:29.784 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: true
19:58:30.854 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@393: Precross: true
19:58:30.860 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: true
19:58:30.977 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@393: Precross: false
19:58:30.978 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: true
19:58:30.996 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: false
19:58:36.794 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5.invoke@393: Precross: false
19:58:36.796 CompactPlayerKt$CompactPlayer$4$1$1$1$1$2$5$1$4.invoke@356: cross: false
Tolriq
04/07/2024, 6:01 PMDoris Liu
04/07/2024, 6:05 PMTolriq
04/07/2024, 6:06 PMTolriq
04/07/2024, 6:08 PMDoris Liu
04/07/2024, 6:09 PMTolriq
04/07/2024, 6:11 PMDoris Liu
04/07/2024, 6:14 PMTolriq
04/08/2024, 1:26 PManimateItem
when going home then back to the app the items are fade out. The strange part is that the code I use is
animateItem(
placementSpec = spring(
stiffness = Spring.StiffnessMediumLow,
visibilityThreshold = IntOffset.VisibilityThreshold,
),
fadeInSpec = null,
fadeOutSpec = null,
)
So there should not be any fade animations.Doris Liu
04/08/2024, 5:20 PManimateItem
uses Animatable
instead of Transition
. Could you file a bug please?Tolriq
04/08/2024, 5:31 PMTolriq
04/10/2024, 11:25 AMAndrey Kulikov
04/11/2024, 11:38 AMTolriq
04/11/2024, 11:40 AMTolriq
04/15/2024, 6:41 AMAndrey Kulikov
04/16/2024, 11:22 AMTolriq
04/16/2024, 11:23 AMTolriq
04/16/2024, 11:24 AMAndrey Kulikov
04/16/2024, 11:27 AMTolriq
04/16/2024, 11:30 AMTolriq
04/16/2024, 11:30 AMAndrey Kulikov
04/16/2024, 11:33 AMTolriq
04/16/2024, 11:46 AMTolriq
04/16/2024, 12:03 PMTolriq
04/16/2024, 12:03 PMTolriq
04/16/2024, 12:05 PMTolriq
04/16/2024, 12:05 PMAndrey Kulikov
04/16/2024, 12:09 PMTolriq
04/18/2024, 10:57 AMAndrey Kulikov
04/18/2024, 11:13 AMTolriq
04/18/2024, 11:14 AMTolriq
04/19/2024, 6:26 PMAndrey Kulikov
04/22/2024, 11:13 AMTolriq
04/22/2024, 11:14 AMAndrey Kulikov
04/22/2024, 11:15 AMTolriq
04/22/2024, 11:16 AMTolriq
04/25/2024, 8:12 AMconfigurations.all {
resolutionStrategy {
force("androidx.core:core:1.13.0")
}
}
Does not seem to work. Is there something I'm missing for the forced resolution?Andrey Kulikov
04/25/2024, 10:35 AMTolriq
04/25/2024, 11:16 AMTolriq
04/25/2024, 11:17 AMTolriq
05/15/2024, 7:40 AMTolriq
05/15/2024, 7:51 AMTolriq
05/15/2024, 7:57 AMAndrey Kulikov
05/15/2024, 11:03 AMTolriq
05/15/2024, 11:05 AMAndrey Kulikov
05/15/2024, 11:08 AMTolriq
05/15/2024, 11:09 AMTolriq
05/18/2024, 4:07 PMTolriq
05/25/2024, 7:07 AMAndrey Kulikov
05/26/2024, 7:14 PMTolriq
05/27/2024, 5:29 AMAndrey Kulikov
05/28/2024, 11:09 AMTolriq
05/31/2024, 3:57 PMTolriq
05/31/2024, 7:27 PMAndrey Kulikov
05/31/2024, 8:56 PMAndrey Kulikov
05/31/2024, 8:57 PMTolriq
05/31/2024, 9:12 PMAndrey Kulikov
06/03/2024, 12:29 PMTolriq
06/03/2024, 1:10 PMTolriq
06/07/2024, 2:46 PMAndrey Kulikov
06/07/2024, 2:50 PMTolriq
06/07/2024, 2:55 PMTolriq
06/17/2024, 5:17 PMAndrey Kulikov
06/17/2024, 5:42 PMAndrey Kulikov
06/17/2024, 5:43 PMTolriq
06/17/2024, 6:04 PMTolriq
06/17/2024, 6:04 PMAndrey Kulikov
06/17/2024, 6:04 PMTolriq
06/17/2024, 6:06 PMTolriq
06/21/2024, 5:26 AMTolriq
06/23/2024, 1:30 PMAndrey Kulikov
06/24/2024, 12:24 PMTolriq
06/24/2024, 12:27 PMTolriq
06/24/2024, 7:44 PMAndrey Kulikov
06/24/2024, 8:17 PMTolriq
06/25/2024, 6:28 AMTolriq
07/01/2024, 10:58 AM