diff --git a/caster/src/main/java/com/mradzinski/caster/Caster.java b/caster/src/main/java/com/mradzinski/caster/Caster.java index 5ee9382..767746e 100644 --- a/caster/src/main/java/com/mradzinski/caster/Caster.java +++ b/caster/src/main/java/com/mradzinski/caster/Caster.java @@ -57,6 +57,7 @@ public class Caster implements CasterPlayer.OnMediaLoadedListener { private CasterPlayer casterPlayer; private WeakReference activity; private List introductionOverlays = new ArrayList<>(); + private Long progressListenerInterval = 1000L; private boolean deliveredFinishStatus = false; private boolean deliveredPlayingVideo = false; @@ -326,7 +327,21 @@ public void setOnCastSessionUpdatedListener(@Nullable OnCastSessionUpdatedListen } /** - * Sets {@link OnCastSessionProgressUpdateListener} + * Sets {@link OnCastSessionProgressUpdateListener} with a custom interval. + * + * @param interval The interval in ms for this listener to be called. + * @param onCastSessionProgressUpdateListener An instance of {@link OnCastSessionProgressUpdateListener} + */ + public void setOnCastSessionProgressUpdateListener(Long interval, @Nullable OnCastSessionProgressUpdateListener onCastSessionProgressUpdateListener) { + this.onCastSessionProgressUpdateListener = onCastSessionProgressUpdateListener; + this.progressListenerInterval = interval; + } + + /** + * Sets {@link OnCastSessionProgressUpdateListener} which will be called with a default interval of 1000 ms. + * To customize the interval this listener is called please use: + * + *

setOnCastSessionProgressUpdateListener(interval, callback)

* * @param onCastSessionProgressUpdateListener An instance of {@link OnCastSessionProgressUpdateListener} */ @@ -437,7 +452,7 @@ private void onConnected(CastSession castSession) { if (onConnectChangeListener != null) onConnectChangeListener.onConnected(); if (onCastSessionUpdatedListener != null) onCastSessionUpdatedListener.onCastSessionUpdated(castSession, true); - if (onCastSessionProgressUpdateListener != null) castSession.getRemoteMediaClient().addProgressListener(progressListener, 1000); + if (onCastSessionProgressUpdateListener != null) castSession.getRemoteMediaClient().addProgressListener(progressListener, progressListenerInterval); if (onCastSessionStateChanged != null) castSession.getRemoteMediaClient().registerCallback(mediaListener); }