summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2021-04-14 22:22:58 +0200
committerByteHamster <info@bytehamster.com>2021-04-15 20:54:53 +0200
commitf1cba8042f18c2a138ca3af6df1005b9983e491e (patch)
tree56c0ecb7a7450408bca4de3385ca4a30c4dab1bd /app/src/main/java/de/danoeh/antennapod
parent8768144c9107945cfaf56ed4db771c3def8d00de (diff)
downloadAntennaPod-f1cba8042f18c2a138ca3af6df1005b9983e491e.zip
Added animated play button
Drawables need to be defined in the app module, which has the vector compat library enabled. When enabling the library for the core module, the app breaks on API 19.
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/view/PlayButton.java28
2 files changed, 22 insertions, 7 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
index d1c34a434..37f372383 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
@@ -6,7 +6,6 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
diff --git a/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java b/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java
index b8ee667f7..691a15ca2 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java
@@ -5,11 +5,13 @@ import android.util.AttributeSet;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageButton;
+import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.ui.common.ThemeUtils;
public class PlayButton extends AppCompatImageButton {
- private boolean isVideoScreen;
+ private boolean isShowPlay = true;
+ private boolean isVideoScreen = false;
public PlayButton(@NonNull Context context) {
super(context);
@@ -28,11 +30,25 @@ public class PlayButton extends AppCompatImageButton {
}
public void setIsShowPlay(boolean showPlay) {
- setContentDescription(getContext().getString(showPlay ? R.string.play_label : R.string.pause_label));
- if (isVideoScreen) {
- setImageResource(showPlay ? R.drawable.ic_av_play_white_80dp : R.drawable.ic_av_pause_white_80dp);
- } else {
- setImageResource(ThemeUtils.getDrawableFromAttr(getContext(), showPlay ? R.attr.av_play : R.attr.av_pause));
+ if (this.isShowPlay != showPlay) {
+ this.isShowPlay = showPlay;
+ setContentDescription(getContext().getString(showPlay ? R.string.play_label : R.string.pause_label));
+ if (isVideoScreen) {
+ setImageResource(showPlay ? R.drawable.ic_av_play_white_80dp : R.drawable.ic_av_pause_white_80dp);
+ } else if (!isShown()) {
+ setImageResource(ThemeUtils.getDrawableFromAttr(getContext(),
+ showPlay ? R.attr.av_play : R.attr.av_pause));
+ } else if (showPlay) {
+ AnimatedVectorDrawableCompat drawable = AnimatedVectorDrawableCompat.create(
+ getContext(), R.drawable.ic_animate_pause_play);
+ setImageDrawable(drawable);
+ drawable.start();
+ } else {
+ AnimatedVectorDrawableCompat drawable = AnimatedVectorDrawableCompat.create(
+ getContext(), R.drawable.ic_animate_play_pause);
+ setImageDrawable(drawable);
+ drawable.start();
+ }
}
}
}