mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-06-27 23:52:53 +00:00
Player: inline repeat mode cycling
This commit is contained in:
parent
519d1a5e03
commit
95adc8863b
@ -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.DISCONTINUITY_REASON_SKIP;
|
||||||
import static com.google.android.exoplayer2.Player.DiscontinuityReason;
|
import static com.google.android.exoplayer2.Player.DiscontinuityReason;
|
||||||
import static com.google.android.exoplayer2.Player.Listener;
|
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_OFF;
|
||||||
import static com.google.android.exoplayer2.Player.REPEAT_MODE_ONE;
|
import static com.google.android.exoplayer2.Player.REPEAT_MODE_ONE;
|
||||||
import static com.google.android.exoplayer2.Player.RepeatMode;
|
import static com.google.android.exoplayer2.Player.RepeatMode;
|
||||||
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
|
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
|
||||||
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
|
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.retrievePlaybackParametersFromPrefs;
|
||||||
import static org.schabi.newpipe.player.helper.PlayerHelper.retrieveSeekDurationFromPreferences;
|
import static org.schabi.newpipe.player.helper.PlayerHelper.retrieveSeekDurationFromPreferences;
|
||||||
import static org.schabi.newpipe.player.helper.PlayerHelper.savePlaybackParametersToPrefs;
|
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();
|
return exoPlayerIsNull() ? REPEAT_MODE_OFF : simpleExoPlayer.getRepeatMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRepeatMode(@RepeatMode final int repeatMode) {
|
public void cycleNextRepeatMode() {
|
||||||
if (!exoPlayerIsNull()) {
|
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);
|
simpleExoPlayer.setRepeatMode(repeatMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void cycleNextRepeatMode() {
|
|
||||||
setRepeatMode(nextRepeatMode(getRepeatMode()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRepeatModeChanged(@RepeatMode final int repeatMode) {
|
public void onRepeatModeChanged(@RepeatMode final int repeatMode) {
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package org.schabi.newpipe.player.helper;
|
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_ALWAYS;
|
||||||
import static org.schabi.newpipe.player.helper.PlayerHelper.AutoplayType.AUTOPLAY_TYPE_NEVER;
|
import static org.schabi.newpipe.player.helper.PlayerHelper.AutoplayType.AUTOPLAY_TYPE_NEVER;
|
||||||
import static org.schabi.newpipe.player.helper.PlayerHelper.AutoplayType.AUTOPLAY_TYPE_WIFI;
|
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 androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import com.google.android.exoplayer2.PlaybackParameters;
|
import com.google.android.exoplayer2.PlaybackParameters;
|
||||||
import com.google.android.exoplayer2.Player.RepeatMode;
|
|
||||||
import com.google.android.exoplayer2.SeekParameters;
|
import com.google.android.exoplayer2.SeekParameters;
|
||||||
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
|
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
|
||||||
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
|
||||||
@ -429,20 +425,6 @@ public final class PlayerHelper {
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
// Utils used by player
|
// 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
|
@ResizeMode
|
||||||
public static int retrieveResizeModeFromPrefs(final Player player) {
|
public static int retrieveResizeModeFromPrefs(final Player player) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user