diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java index 7565a599..5fea1506 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java @@ -165,11 +165,12 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv } private void setUpPlayPauseFab() { - updatePlayPauseDrawableState(false); - playPauseFab.setImageDrawable(playerFabPlayPauseDrawable); final int fabColor = Color.WHITE; TintHelper.setTintAuto(playPauseFab, fabColor, true); - // because of our custom drawable we have to set the tint manually + + updatePlayPauseDrawableState(false); + // Note: set the drawable AFTER TintHelper.setTintAuto() is called + playPauseFab.setImageDrawable(playerFabPlayPauseDrawable); playPauseFab.getDrawable().mutate().setColorFilter(MaterialValueHelper.getPrimaryTextColor(getContext(), ColorUtil.isColorLight(fabColor)), PorterDuff.Mode.SRC_IN); playPauseFab.setOnClickListener(new PlayPauseButtonOnClickHandler()); playPauseFab.post(new Runnable() { diff --git a/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java b/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java index a6a3cd9e..ce85e138 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java +++ b/app/src/main/java/com/kabouzeid/gramophone/views/PlayPauseDrawable.java @@ -105,7 +105,7 @@ public class PlayPauseDrawable extends Drawable { rightPauseBar.lineTo(2 * barWidth + barDist, 0); rightPauseBar.close(); - canvas.save(); + final int saveCount = canvas.save(); // Translate the play button a tiny bit to the right so it looks more centered. canvas.translate(lerp(0, pauseBarHeight / 8f, progress), 0); @@ -123,7 +123,7 @@ public class PlayPauseDrawable extends Drawable { canvas.drawPath(leftPauseBar, paint); canvas.drawPath(rightPauseBar, paint); - canvas.restore(); + canvas.restoreToCount(saveCount); } @NonNull