diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlayPauseButton.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlayPauseButton.kt
index ed446a007..3dd1eb994 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlayPauseButton.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlayPauseButton.kt
@@ -19,14 +19,9 @@
package org.oxycblt.auxio.playback
import android.content.Context
-import android.graphics.drawable.Animatable2
-import android.graphics.drawable.Drawable
-import android.os.Build
import android.util.AttributeSet
-import androidx.annotation.RequiresApi
import androidx.appcompat.widget.AppCompatImageButton
import org.oxycblt.auxio.R
-import org.oxycblt.auxio.resolveAnimDrawable
/**
* Custom [AppCompatImageButton] that handles the animated play/pause icons.
@@ -38,58 +33,15 @@ class PlayPauseButton @JvmOverloads constructor(
attrs: AttributeSet? = null,
defStyleAttr: Int = -1
) : AppCompatImageButton(context, attrs, defStyleAttr) {
- private val iconPauseToPlay = R.drawable.ic_pause_to_play.resolveAnimDrawable(context)
- private val iconPlayToPause = R.drawable.ic_play_to_pause.resolveAnimDrawable(context)
-
- init {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- fixSeams()
- }
- }
-
/**
* Update the play/pause icon to reflect [isPlaying]
* @param animate Whether the icon change should be animated or not.
*/
fun setPlaying(isPlaying: Boolean, animate: Boolean) {
if (isPlaying) {
- if (animate) {
- setImageDrawable(iconPlayToPause)
- iconPlayToPause.start()
- } else {
- setImageResource(R.drawable.ic_pause_large)
- }
+ setImageResource(R.drawable.ic_pause)
} else {
- if (animate) {
- setImageDrawable(iconPauseToPlay)
- iconPauseToPlay.start()
- } else {
- setImageResource(R.drawable.ic_play_large)
- }
- }
- }
-
- /**
- * Hack that fixes an issue where a seam would display in the middle of the play button,
- * probably as a result of floating point precision errors. Thanks IEEE 754.
- */
- @RequiresApi(Build.VERSION_CODES.M)
- private fun fixSeams() {
- iconPauseToPlay.registerAnimationCallback(object : Animatable2.AnimationCallback() {
- override fun onAnimationEnd(drawable: Drawable?) {
- // ic_play_large is a unified vector, compared to the two paths on the
- // animated vector. So switch to that when the animation completes to prevent the
- // seam from displaying.
- setImageResource(R.drawable.ic_play_large)
- }
- })
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- iconPauseToPlay.clearAnimationCallbacks()
+ setImageResource(R.drawable.ic_play)
}
}
}
diff --git a/app/src/main/res/drawable/ic_pause.xml b/app/src/main/res/drawable/ic_pause.xml
index 3e9e47d43..8f12a68eb 100644
--- a/app/src/main/res/drawable/ic_pause.xml
+++ b/app/src/main/res/drawable/ic_pause.xml
@@ -2,10 +2,10 @@
-
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_pause_large.xml b/app/src/main/res/drawable/ic_pause_large.xml
deleted file mode 100644
index d52e62c9b..000000000
--- a/app/src/main/res/drawable/ic_pause_large.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_pause_to_play.xml b/app/src/main/res/drawable/ic_pause_to_play.xml
deleted file mode 100644
index 0fe1f999f..000000000
--- a/app/src/main/res/drawable/ic_pause_to_play.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_play.xml b/app/src/main/res/drawable/ic_play.xml
index d5fe7f27c..f5ef8eae9 100644
--- a/app/src/main/res/drawable/ic_play.xml
+++ b/app/src/main/res/drawable/ic_play.xml
@@ -2,10 +2,10 @@
-
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_play_large.xml b/app/src/main/res/drawable/ic_play_large.xml
deleted file mode 100644
index 7fea70bc7..000000000
--- a/app/src/main/res/drawable/ic_play_large.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_play_to_pause.xml b/app/src/main/res/drawable/ic_play_to_pause.xml
deleted file mode 100644
index 82392726a..000000000
--- a/app/src/main/res/drawable/ic_play_to_pause.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout-land/fragment_compact_playback.xml b/app/src/main/res/layout-land/fragment_compact_playback.xml
index 929eb25ea..4e25f0afc 100644
--- a/app/src/main/res/layout-land/fragment_compact_playback.xml
+++ b/app/src/main/res/layout-land/fragment_compact_playback.xml
@@ -70,7 +70,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:src="@drawable/ic_pause_large" />
+ tools:src="@drawable/ic_pause" />
+ tools:src="@drawable/ic_pause" />
+ tools:src="@drawable/ic_pause" />
+ tools:src="@drawable/ic_pause" />
+ tools:src="@drawable/ic_pause" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_playback.xml b/app/src/main/res/layout/fragment_playback.xml
index dabb6983e..d76d2198e 100644
--- a/app/src/main/res/layout/fragment_playback.xml
+++ b/app/src/main/res/layout/fragment_playback.xml
@@ -148,7 +148,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintStart_toStartOf="@+id/playback_duration_current"
- tools:src="@drawable/ic_pause_large" />
+ tools:src="@drawable/ic_pause" />
136dp
264dp
- 72dp
+ 64dp
36dp
48dp
32dp