animation.setStartDelay(mSubItemsShown ? delay/2 : invertedDelay/2);
animation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float val = (float) animation.getAnimatedValue();
<BUG>viewGroup.setX((mSubItemWidth * val) - mSubItemWidth);
</BUG>
}
});
animation.start();

animation.setStartDelay(mSubItemsShown ? delay/2 : invertedDelay/2);
animation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float val = (float) animation.getAnimatedValue();
viewGroup.setX((mSubItemWidth/2 * val) - mSubItemWidth/2);
}
});
animation.start();
