1aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wupackage com.xtremelabs.robolectric.shadows;
2aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu
3aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wuimport android.graphics.drawable.AnimationDrawable;
4aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wuimport android.graphics.drawable.Drawable;
5aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wuimport com.xtremelabs.robolectric.internal.Implementation;
6aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wuimport com.xtremelabs.robolectric.internal.Implements;
7aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu
8aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wuimport java.util.ArrayList;
9aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wuimport java.util.List;
10aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu
11aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu@Implements(AnimationDrawable.class)
12aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wupublic class ShadowAnimationDrawable extends ShadowDrawable {
13aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu
14aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    private List<Drawable> frames = new ArrayList<Drawable>();
1552797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    private boolean isStarted;
16aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu
17aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    @Implementation
18aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    public void addFrame(Drawable frame, int duration) {
19aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu        frames.add(frame);
20aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    }
21aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu
22aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    @Implementation
23aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    public int getNumberOfFrames() {
24aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu        return frames.size();
25aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu    }
2652797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard
2752797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    @Implementation
2852797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    public void start() {
2952797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard        isStarted = true;
3052797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    }
3152797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard
3252797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    public boolean isStarted() {
3352797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard        return isStarted;
3452797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    }
3552797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard
3652797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    public List<Drawable> getFrames() {
3752797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard        return frames;
3852797ef3aa343a9e2aca26ff3fc6a7515bf61458Ryan Richard    }
39aec1d0888fe04efd0cde7514e155870b18c41286Rick Kawala & Wei Wu}
40