mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-05-05 12:29:30 -05:00
prepare for seek preview
This commit is contained in:
+5
-1
@@ -50,7 +50,10 @@ import com.liskovsoft.smartyoutubetv2.tv.adapter.VideoGroupObjectAdapter;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.common.LeanbackActivity;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.common.UriBackgroundManager;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.mod.leanback.ProgressBarManager;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.VideoPlayerGlue.OnActionClickedListener;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.other.PlaybackSeekNetworkDataProvider;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.other.VideoEventsOverrideFragment;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.other.VideoPlayerGlue;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.other.VideoPlayerGlue.OnActionClickedListener;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
@@ -265,6 +268,7 @@ public class PlaybackFragment extends VideoEventsOverrideFragment implements Pla
|
||||
mPlayerGlue.setHost(new VideoSupportFragmentGlueHost(this));
|
||||
mPlayerGlue.setSeekEnabled(true);
|
||||
mPlayerGlue.setControlsOverlayAutoHideEnabled(false); // don't show controls on some player events like play/pause/end
|
||||
PlaybackSeekNetworkDataProvider.setSeekProvider(mPlayerGlue);
|
||||
hideControlsOverlay(mIsAnimationEnabled); // hide controls upon fragment creation
|
||||
|
||||
mExoPlayerController.setPlayer(mPlayer);
|
||||
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.liskovsoft.smartyoutubetv2.tv.ui.playback.other;
|
||||
|
||||
import androidx.leanback.media.PlaybackGlue;
|
||||
import androidx.leanback.media.PlaybackTransportControlGlue;
|
||||
import androidx.leanback.widget.PlaybackSeekDataProvider;
|
||||
|
||||
public class PlaybackSeekNetworkDataProvider extends PlaybackSeekDataProvider {
|
||||
public PlaybackSeekNetworkDataProvider(long duration, long interval) {
|
||||
|
||||
}
|
||||
|
||||
public static void setSeekProvider(PlaybackTransportControlGlue<?> glue) {
|
||||
if (glue.isPrepared()) {
|
||||
glue.setSeekProvider(new PlaybackSeekNetworkDataProvider(
|
||||
glue.getDuration(),
|
||||
glue.getDuration() / 100));
|
||||
} else {
|
||||
glue.addPlayerCallback(new PlaybackGlue.PlayerCallback() {
|
||||
@Override
|
||||
public void onPreparedStateChanged(PlaybackGlue glue) {
|
||||
if (glue.isPrepared()) {
|
||||
glue.removePlayerCallback(this);
|
||||
PlaybackTransportControlGlue<?> transportControlGlue =
|
||||
(PlaybackTransportControlGlue<?>) glue;
|
||||
transportControlGlue.setSeekProvider(new PlaybackSeekNetworkDataProvider(
|
||||
transportControlGlue.getDuration(),
|
||||
transportControlGlue.getDuration() / 100));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.liskovsoft.smartyoutubetv2.tv.ui.playback;
|
||||
package com.liskovsoft.smartyoutubetv2.tv.ui.playback.other;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.InputEvent;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.liskovsoft.smartyoutubetv2.tv.ui.playback;
|
||||
package com.liskovsoft.smartyoutubetv2.tv.ui.playback.other;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.view.KeyEvent;
|
||||
Reference in New Issue
Block a user