Skip to content

Commit

Permalink
Fix more memory leaks in cupertino page transition (#147907)
Browse files Browse the repository at this point in the history
  • Loading branch information
ValentinVignal committed May 8, 2024
1 parent aa9cf00 commit ab8b2f7
Showing 1 changed file with 22 additions and 26 deletions.
48 changes: 22 additions & 26 deletions packages/flutter/lib/src/cupertino/route.dart
Expand Up @@ -457,32 +457,28 @@ class _CupertinoPageTransitionState extends State<CupertinoPageTransition> {
}

void _setupAnimation() {
_primaryPositionAnimation =
(widget.linearTransition
? widget.primaryRouteAnimation
: _primaryPositionCurve = CurvedAnimation(
parent: widget.primaryRouteAnimation,
curve: Curves.fastEaseInToSlowEaseOut,
reverseCurve: Curves.fastEaseInToSlowEaseOut.flipped,
)
).drive(_kRightMiddleTween);
_secondaryPositionAnimation =
(widget.linearTransition
? widget.secondaryRouteAnimation
: _secondaryPositionCurve = CurvedAnimation(
parent: widget.secondaryRouteAnimation,
curve: Curves.linearToEaseOut,
reverseCurve: Curves.easeInToLinear,
)
).drive(_kMiddleLeftTween);
_primaryShadowAnimation =
(widget.linearTransition
? widget.primaryRouteAnimation
: _secondaryPositionCurve = CurvedAnimation(
parent: widget.primaryRouteAnimation,
curve: Curves.linearToEaseOut,
)
).drive(_CupertinoEdgeShadowDecoration.kTween);
if (!widget.linearTransition) {
_primaryPositionCurve = CurvedAnimation(
parent: widget.primaryRouteAnimation,
curve: Curves.fastEaseInToSlowEaseOut,
reverseCurve: Curves.fastEaseInToSlowEaseOut.flipped,
);
_secondaryPositionCurve = CurvedAnimation(
parent: widget.secondaryRouteAnimation,
curve: Curves.linearToEaseOut,
reverseCurve: Curves.easeInToLinear,
);
_primaryShadowCurve = CurvedAnimation(
parent: widget.primaryRouteAnimation,
curve: Curves.linearToEaseOut,
);
}
_primaryPositionAnimation = (_primaryPositionCurve ?? widget.primaryRouteAnimation)
.drive(_kRightMiddleTween);
_secondaryPositionAnimation = (_secondaryPositionCurve ?? widget.secondaryRouteAnimation)
.drive(_kMiddleLeftTween);
_primaryShadowAnimation = (_primaryShadowCurve ?? widget.primaryRouteAnimation)
.drive(_CupertinoEdgeShadowDecoration.kTween);
}

@override
Expand Down

0 comments on commit ab8b2f7

Please sign in to comment.