diff options
Diffstat (limited to 'app')
7 files changed, 54 insertions, 12 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java index 1fcc3512d..1eec762e9 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -17,6 +17,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; +import de.danoeh.antennapod.view.PlayButton; import org.apache.commons.lang3.StringUtils; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -72,7 +73,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements SeekBar sbPosition; private ImageButton butRev; private TextView txtvRev; - private ImageButton butPlay; + private PlayButton butPlay; private ImageButton butFF; private TextView txtvFF; private ImageButton butSkip; @@ -123,8 +124,8 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements } @Override - public ImageButton getPlayButton() { - return butPlay; + protected void updatePlayButtonShowsPlay(boolean showPlay) { + butPlay.setIsShowPlay(showPlay); } @Override @@ -513,6 +514,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements txtvRev.setText(NumberFormat.getInstance().format(UserPreferences.getRewindSecs())); } butPlay = findViewById(R.id.butPlay); + butPlay.setIsVideoScreen(true); butFF = findViewById(R.id.butFF); txtvFF = findViewById(R.id.txtvFF); if (txtvFF != null) { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java index e0ce2880c..392ef4d07 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -50,6 +50,7 @@ import de.danoeh.antennapod.dialog.VariableSpeedDialog; import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler; import de.danoeh.antennapod.view.ChapterSeekBar; import de.danoeh.antennapod.ui.common.PlaybackSpeedIndicatorView; +import de.danoeh.antennapod.view.PlayButton; import io.reactivex.Maybe; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -82,7 +83,7 @@ public class AudioPlayerFragment extends Fragment implements private ChapterSeekBar sbPosition; private ImageButton butRev; private TextView txtvRev; - private ImageButton butPlay; + private PlayButton butPlay; private ImageButton butFF; private TextView txtvFF; private ImageButton butSkip; @@ -379,8 +380,8 @@ public class AudioPlayerFragment extends Fragment implements } @Override - public ImageButton getPlayButton() { - return butPlay; + protected void updatePlayButtonShowsPlay(boolean showPlay) { + butPlay.setIsShowPlay(showPlay); } @Override 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 d77935910..d1c34a434 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java @@ -24,6 +24,7 @@ import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.service.playback.PlayerStatus; import de.danoeh.antennapod.core.util.playback.Playable; import de.danoeh.antennapod.core.util.playback.PlaybackController; +import de.danoeh.antennapod.view.PlayButton; import io.reactivex.Maybe; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -40,7 +41,7 @@ public class ExternalPlayerFragment extends Fragment { private ImageView imgvCover; private TextView txtvTitle; - private ImageButton butPlay; + private PlayButton butPlay; private TextView feedName; private ProgressBar progressBar; private PlaybackController controller; @@ -103,8 +104,8 @@ public class ExternalPlayerFragment extends Fragment { } @Override - public ImageButton getPlayButton() { - return butPlay; + protected void updatePlayButtonShowsPlay(boolean showPlay) { + butPlay.setIsShowPlay(showPlay); } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java b/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java new file mode 100644 index 000000000..b8ee667f7 --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/view/PlayButton.java @@ -0,0 +1,38 @@ +package de.danoeh.antennapod.view; + +import android.content.Context; +import android.util.AttributeSet; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.AppCompatImageButton; +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.ui.common.ThemeUtils; + +public class PlayButton extends AppCompatImageButton { + private boolean isVideoScreen; + + public PlayButton(@NonNull Context context) { + super(context); + } + + public PlayButton(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public PlayButton(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public void setIsVideoScreen(boolean isVideoScreen) { + this.isVideoScreen = isVideoScreen; + } + + 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)); + } + } +} diff --git a/app/src/main/res/layout/audioplayer_fragment.xml b/app/src/main/res/layout/audioplayer_fragment.xml index 743a15c85..73e8ec5e3 100644 --- a/app/src/main/res/layout/audioplayer_fragment.xml +++ b/app/src/main/res/layout/audioplayer_fragment.xml @@ -138,7 +138,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="24dp"> - <ImageButton + <de.danoeh.antennapod.view.PlayButton android:id="@+id/butPlay" android:layout_width="@dimen/audioplayer_playercontrols_length_big" android:layout_height="@dimen/audioplayer_playercontrols_length_big" diff --git a/app/src/main/res/layout/external_player_fragment.xml b/app/src/main/res/layout/external_player_fragment.xml index f36baec26..4f200162a 100644 --- a/app/src/main/res/layout/external_player_fragment.xml +++ b/app/src/main/res/layout/external_player_fragment.xml @@ -57,7 +57,7 @@ </LinearLayout> - <ImageButton + <de.danoeh.antennapod.view.PlayButton android:id="@+id/butPlay" android:layout_width="52dp" android:layout_height="match_parent" diff --git a/app/src/main/res/layout/videoplayer_activity.xml b/app/src/main/res/layout/videoplayer_activity.xml index e0632ef41..fc902602c 100644 --- a/app/src/main/res/layout/videoplayer_activity.xml +++ b/app/src/main/res/layout/videoplayer_activity.xml @@ -41,7 +41,7 @@ android:contentDescription="@string/rewind_label" app:srcCompat="@drawable/ic_av_fast_rewind_white_80dp" /> - <ImageButton + <de.danoeh.antennapod.view.PlayButton android:id="@+id/butPlay" android:layout_width="wrap_content" android:layout_height="wrap_content" |