From b03ebbce84f473c40cd6779d9f48aa7ee347f71d Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Wed, 14 Oct 2020 22:54:35 +0300 Subject: [PATCH] close player when no repeat is set --- MediaServiceCore | 2 +- .../controller/PlaybackController.java | 1 + .../models/playback/managers/VideoLoader.java | 7 ++++-- .../tv/ui/playback/PlaybackFragment.java | 25 +++++++++++-------- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/MediaServiceCore b/MediaServiceCore index 0f4744621..3ca159d12 160000 --- a/MediaServiceCore +++ b/MediaServiceCore @@ -1 +1 @@ -Subproject commit 0f4744621f245ff7f727b61af1cb38a5bc2e6de5 +Subproject commit 3ca159d12bb425231536d22c8daed7f6ef6067fb diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controller/PlaybackController.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controller/PlaybackController.java index 454bdb2b9..5a45bb325 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controller/PlaybackController.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controller/PlaybackController.java @@ -7,4 +7,5 @@ import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video; public interface PlaybackController extends PlaybackEngineController, PlaybackUiController { void setVideo(Video item); Video getVideo(); + void exit(); } diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/managers/VideoLoader.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/managers/VideoLoader.java index ad9534a74..72506a6d3 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/managers/VideoLoader.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/managers/VideoLoader.java @@ -120,10 +120,13 @@ public class VideoLoader extends PlayerEventListenerHelper implements MetadataLi case PlaybackUiController.REPEAT_ONE: loadVideo(mLastVideo); break; - default: // none - mController.showControls(true); + case PlaybackUiController.REPEAT_NONE: + // close player + mController.exit(); break; } + + Log.e(TAG, "Undetected repeat mode " + mRepeatMode); } @Override diff --git a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java index 115a28670..e931efce0 100644 --- a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java +++ b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java @@ -75,14 +75,16 @@ public class PlaybackFragment extends VideoSupportFragment implements PlaybackVi private boolean mBlockEngine; private boolean mEnablePIP; private ExoPlayerInitializer mPlayerInitializer; + private LeanbackActivity mLeanbackActivity; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mLeanbackActivity = (LeanbackActivity) getActivity(); mMediaGroupAdapters = new HashMap<>(); - mBackgroundManager = ((LeanbackActivity) getActivity()).getBackgroundManager(); - mBackgroundManager.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.player_background)); + mBackgroundManager = mLeanbackActivity.getBackgroundManager(); + mBackgroundManager.setBackgroundColor(ContextCompat.getColor(mLeanbackActivity, R.color.player_background)); mPlayerInitializer = new ExoPlayerInitializer(getActivity()); mPlaybackPresenter = PlaybackPresenter.instance(getContext()); @@ -286,15 +288,13 @@ public class PlaybackFragment extends VideoSupportFragment implements PlaybackVi Row row) { if (item instanceof Video) { - if (getActivity() instanceof LeanbackActivity) { - boolean longClick = ((LeanbackActivity) getActivity()).isLongClick(); - Log.d(TAG, "Is long click: " + longClick); + boolean longClick = mLeanbackActivity.isLongClick(); + Log.d(TAG, "Is long click: " + longClick); - if (longClick) { - mEventListener.onSuggestionItemLongClicked((Video) item); - } else { - mEventListener.onSuggestionItemClicked((Video) item); - } + if (longClick) { + mEventListener.onSuggestionItemLongClicked((Video) item); + } else { + mEventListener.onSuggestionItemClicked((Video) item); } } } @@ -566,6 +566,11 @@ public class PlaybackFragment extends VideoSupportFragment implements PlaybackVi return mExoPlayerController.getVideo(); } + @Override + public void exit() { + mLeanbackActivity.finish(); + } + @Override public boolean isSuggestionsShown() { return isControlsOverlayVisible() && getSuggestedRowIndex() != 0;