package com.linfaxin.transitionplayer.control;
import android.animation.Animator;
import android.animation.ValueAnimator;
import android.transitions.everywhere.Transition;
import com.linfaxin.transitionplayer.AnimatorUtils;
import java.util.ArrayList;
/**
* Created by linfaxin on 2015/8/8.
* Email: linlinfaxin@163.com
*/
public abstract class ModifyAnimatorsPlayControl implements PlayControl{
@Override
public void onPreRunAnimator(Transition transition, ArrayList<ValueAnimator> animators) {
ArrayList<ValueAnimator> newAnimators = new ArrayList<>();
for(int i=0, size=animators.size(); i<size; i++){
Animator animator = onModifyAnimator(transition, animators.get(i));
newAnimators.addAll(AnimatorUtils.collectValueAnimators(animator));
}
animators.clear();
animators.addAll(newAnimators);
newAnimators.clear();
}
protected abstract Animator onModifyAnimator(Transition transition, ValueAnimator animator);
}