blob: a897004fff2aeefcf84c3db96acc887d3d5000df [file] [log] [blame]
package com.bumptech.glide.request;
import android.graphics.drawable.Drawable;
import android.view.View;
import com.bumptech.glide.request.target.Target;
public class ViewPropertyAnimation implements GlideAnimation {
public interface Animator {
public void animate(View view);
}
public static class ViewPropertyAnimationFactory implements GlideAnimationFactory {
private Animator animator;
private ViewPropertyAnimation animation;
public ViewPropertyAnimationFactory(Animator animator) {
this.animator = animator;
}
@Override
public GlideAnimation build(boolean isFromMemoryCache, boolean isFirstImage) {
if (isFromMemoryCache || !isFirstImage) {
return NoAnimation.get();
}
if (animation == null) {
animation = new ViewPropertyAnimation(animator);
}
return animation;
}
}
private Animator animator;
public ViewPropertyAnimation(Animator animator) {
this.animator = animator;
}
@Override
public boolean animate(Drawable previous, Object current, View view, Target target) {
animator.animate(view);
return false;
}
}