diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java index e1bfb5c7a2..6b59255a30 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java @@ -150,10 +150,11 @@ public void showResults(boolean shown) { item.showResults = shown; item.calculateResults(); Drawable bg=progressBg; + long animationDuration = (long) (ANIMATION_DURATION*item.votesFraction); int startLevel=shown ? 0 : progressBg.getLevel(); int targetLevel=shown ? Math.round(10000f*item.votesFraction) : 0; ObjectAnimator animator=ObjectAnimator.ofInt(bg, "level", startLevel, targetLevel); - animator.setDuration(ANIMATION_DURATION); + animator.setDuration(animationDuration); animator.setInterpolator(new DecelerateInterpolator()); button.setBackground(bg); if(shown){ @@ -161,7 +162,7 @@ public void showResults(boolean shown) { // animate percent percent.setVisibility(View.VISIBLE); ValueAnimator percentAnimation=ValueAnimator.ofInt(0, Math.round(100f*item.votesFraction)); - percentAnimation.setDuration(ANIMATION_DURATION); + percentAnimation.setDuration(animationDuration); percentAnimation.setInterpolator(new DecelerateInterpolator()); percentAnimation.addUpdateListener(animation -> percent.setText(String.format(Locale.getDefault(), "%d%%", (int) animation.getAnimatedValue()))); percentAnimation.start();