mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 02:10:44 +01:00
Fix play-pause button in video player.
This commit is contained in:
@@ -14,7 +14,7 @@ import androidx.annotation.OptIn
|
||||
import androidx.appcompat.widget.AppCompatImageButton
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.media3.ui.PlayerControlView
|
||||
import androidx.media3.ui.LegacyPlayerControlView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.airbnb.lottie.LottieAnimationView
|
||||
import com.airbnb.lottie.LottieProperty
|
||||
@@ -35,7 +35,7 @@ class MediaPreviewPlayerControlView @JvmOverloads constructor(
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0,
|
||||
playbackAttrs: AttributeSet? = null
|
||||
) : PlayerControlView(context, attrs, defStyleAttr, playbackAttrs) {
|
||||
) : LegacyPlayerControlView(context, attrs, defStyleAttr, playbackAttrs) {
|
||||
|
||||
val recyclerView: RecyclerView = findViewById(R.id.media_preview_album_rail)
|
||||
private val durationBar: LinearLayout = findViewById(R.id.exo_duration_viewgroup)
|
||||
|
||||
@@ -12,7 +12,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.OptIn;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.ui.PlayerControlView;
|
||||
import androidx.media3.ui.LegacyPlayerControlView;
|
||||
|
||||
import org.signal.core.util.concurrent.LifecycleDisposable;
|
||||
import org.signal.core.util.logging.Log;
|
||||
@@ -104,7 +104,7 @@ public final class VideoMediaPreviewFragment extends MediaPreviewFragment {
|
||||
}
|
||||
|
||||
private void updateSkipButtonState() {
|
||||
final PlayerControlView playbackControls = videoView.getControlView();
|
||||
final LegacyPlayerControlView playbackControls = videoView.getControlView();
|
||||
if (playbackControls != null) {
|
||||
boolean shouldShowSkipButtons = videoView.getDuration() > MINIMUM_DURATION_FOR_SKIP_MS;
|
||||
playbackControls.setShowFastForwardButton(shouldShowSkipButtons);
|
||||
|
||||
@@ -38,6 +38,7 @@ import androidx.media3.exoplayer.source.ClippingMediaSource;
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.ui.AspectRatioFrameLayout;
|
||||
import androidx.media3.ui.LegacyPlayerControlView;
|
||||
import androidx.media3.ui.PlayerControlView;
|
||||
import androidx.media3.ui.PlayerView;
|
||||
|
||||
@@ -60,7 +61,7 @@ public class VideoPlayer extends FrameLayout {
|
||||
private final DefaultMediaSourceFactory mediaSourceFactory;
|
||||
|
||||
private ExoPlayer exoPlayer;
|
||||
private PlayerControlView exoControls;
|
||||
private LegacyPlayerControlView exoControls;
|
||||
private Window window;
|
||||
private PlayerStateCallback playerStateCallback;
|
||||
private PlayerPositionDiscontinuityCallback playerPositionDiscontinuityCallback;
|
||||
@@ -133,8 +134,8 @@ public class VideoPlayer extends FrameLayout {
|
||||
};
|
||||
}
|
||||
|
||||
private PlayerControlView createPlayerControls(Context context) {
|
||||
final PlayerControlView playerControlView = new PlayerControlView(context);
|
||||
private LegacyPlayerControlView createPlayerControls(Context context) {
|
||||
final LegacyPlayerControlView playerControlView = new LegacyPlayerControlView(context);
|
||||
playerControlView.setShowTimeoutMs(-1);
|
||||
playerControlView.setShowNextButton(false);
|
||||
playerControlView.setShowPreviousButton(false);
|
||||
@@ -234,7 +235,7 @@ public class VideoPlayer extends FrameLayout {
|
||||
super.setOnClickListener(l);
|
||||
}
|
||||
|
||||
public @Nullable PlayerControlView getControlView() {
|
||||
public @Nullable LegacyPlayerControlView getControlView() {
|
||||
return this.exoControls;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user