From 95adc8863b3c8bd53ab8bf1551805b8bb8a7cef9 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Mon, 5 May 2025 15:40:16 +0200 Subject: [PATCH] Player: inline repeat mode cycling --- .../org/schabi/newpipe/player/Player.java | 21 +++++++++++++------ .../newpipe/player/helper/PlayerHelper.java | 18 ---------------- 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/Player.java b/app/src/main/java/org/schabi/newpipe/player/Player.java index 705e94fdc..02d0d4300 100644 --- a/app/src/main/java/org/schabi/newpipe/player/Player.java +++ b/app/src/main/java/org/schabi/newpipe/player/Player.java @@ -24,12 +24,12 @@ import static com.google.android.exoplayer2.Player.DISCONTINUITY_REASON_SEEK_ADJ import static com.google.android.exoplayer2.Player.DISCONTINUITY_REASON_SKIP; import static com.google.android.exoplayer2.Player.DiscontinuityReason; import static com.google.android.exoplayer2.Player.Listener; +import static com.google.android.exoplayer2.Player.REPEAT_MODE_ALL; import static com.google.android.exoplayer2.Player.REPEAT_MODE_OFF; import static com.google.android.exoplayer2.Player.REPEAT_MODE_ONE; import static com.google.android.exoplayer2.Player.RepeatMode; import static org.schabi.newpipe.extractor.ServiceList.YouTube; import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty; -import static org.schabi.newpipe.player.helper.PlayerHelper.nextRepeatMode; import static org.schabi.newpipe.player.helper.PlayerHelper.retrievePlaybackParametersFromPrefs; import static org.schabi.newpipe.player.helper.PlayerHelper.retrieveSeekDurationFromPreferences; import static org.schabi.newpipe.player.helper.PlayerHelper.savePlaybackParametersToPrefs; @@ -1183,16 +1183,25 @@ public final class Player implements PlaybackListener, Listener { return exoPlayerIsNull() ? REPEAT_MODE_OFF : simpleExoPlayer.getRepeatMode(); } - public void setRepeatMode(@RepeatMode final int repeatMode) { + public void cycleNextRepeatMode() { if (!exoPlayerIsNull()) { + @RepeatMode final int repeatMode; + switch (simpleExoPlayer.getRepeatMode()) { + case REPEAT_MODE_OFF: + repeatMode = REPEAT_MODE_ONE; + break; + case REPEAT_MODE_ONE: + repeatMode = REPEAT_MODE_ALL; + break; + case REPEAT_MODE_ALL: + default: + repeatMode = REPEAT_MODE_OFF; + break; + } simpleExoPlayer.setRepeatMode(repeatMode); } } - public void cycleNextRepeatMode() { - setRepeatMode(nextRepeatMode(getRepeatMode())); - } - @Override public void onRepeatModeChanged(@RepeatMode final int repeatMode) { if (DEBUG) { diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java index a110a80d6..10ad31cc7 100644 --- a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java +++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java @@ -1,8 +1,5 @@ package org.schabi.newpipe.player.helper; -import static com.google.android.exoplayer2.Player.REPEAT_MODE_ALL; -import static com.google.android.exoplayer2.Player.REPEAT_MODE_OFF; -import static com.google.android.exoplayer2.Player.REPEAT_MODE_ONE; import static org.schabi.newpipe.player.helper.PlayerHelper.AutoplayType.AUTOPLAY_TYPE_ALWAYS; import static org.schabi.newpipe.player.helper.PlayerHelper.AutoplayType.AUTOPLAY_TYPE_NEVER; import static org.schabi.newpipe.player.helper.PlayerHelper.AutoplayType.AUTOPLAY_TYPE_WIFI; @@ -25,7 +22,6 @@ import androidx.core.content.ContextCompat; import androidx.preference.PreferenceManager; import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player.RepeatMode; import com.google.android.exoplayer2.SeekParameters; import com.google.android.exoplayer2.source.ProgressiveMediaSource; import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; @@ -429,20 +425,6 @@ public final class PlayerHelper { //////////////////////////////////////////////////////////////////////////// // Utils used by player - //////////////////////////////////////////////////////////////////////////// - - @RepeatMode - public static int nextRepeatMode(@RepeatMode final int repeatMode) { - switch (repeatMode) { - case REPEAT_MODE_OFF: - return REPEAT_MODE_ONE; - case REPEAT_MODE_ONE: - return REPEAT_MODE_ALL; - case REPEAT_MODE_ALL: - default: - return REPEAT_MODE_OFF; - } - } @ResizeMode public static int retrieveResizeModeFromPrefs(final Player player) {