blob: 41a66d2298ddfec29e04d79c653dd32b26c9eba0 [file] [log] [blame]
package org.robolectric.shadows;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ViewAnimator;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
@Implements(ViewAnimator.class)
public class ShadowViewAnimator extends ShadowViewGroup {
private int currentChild = 0;
@Implementation
protected int getDisplayedChild() {
return currentChild;
}
@Implementation
protected void setDisplayedChild(int whichChild) {
currentChild = whichChild;
for (int i = ((ViewGroup) realView).getChildCount() - 1; i >= 0; i--) {
View child = ((ViewGroup) realView).getChildAt(i);
child.setVisibility(i == whichChild ? View.VISIBLE : View.GONE);
}
}
@Implementation
protected View getCurrentView() {
return ((ViewGroup) realView).getChildAt(getDisplayedChild());
}
@Implementation
protected void showNext() {
setDisplayedChild((getDisplayedChild() + 1) % ((ViewGroup) realView).getChildCount());
}
@Implementation
protected void showPrevious() {
setDisplayedChild(getDisplayedChild() == 0 ? ((ViewGroup) realView).getChildCount() - 1 : getDisplayedChild() - 1);
}
}