fix(ios): stability around canceling an animation

This commit is contained in:
Nathan Walker
2022-11-23 19:33:18 -08:00
parent a5e3e223dd
commit b8d537250f

View File

@ -222,16 +222,20 @@ export class Animation extends AnimationBase {
return;
}
let i = 0;
const length = this._mergedPropertyAnimations.length;
for (; i < length; i++) {
if (this._mergedPropertyAnimations) {
for (let i = 0; i < this._mergedPropertyAnimations.length; i++) {
const propertyAnimation = this._mergedPropertyAnimations[i];
if (propertyAnimation) {
if (propertyAnimation.target?.nativeViewProtected?.layer) {
propertyAnimation.target.nativeViewProtected.layer.removeAllAnimations();
}
if (propertyAnimation._propertyResetCallback) {
propertyAnimation._propertyResetCallback(propertyAnimation._originalValue, this._valueSource);
}
}
}
}
}
public _resolveAnimationCurve(curve: string | CubicBezierAnimationCurve | CAMediaTimingFunction): CAMediaTimingFunction | string {
return _resolveAnimationCurve(curve);
@ -462,7 +466,6 @@ export class Animation extends AnimationBase {
animationDelegate.nextAnimation = callback;
}
}
}
private static _createGroupAnimation(args: AnimationInfo, animation: PropertyAnimation) {