diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index 09e0857910b..bf84c732545 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -526,6 +526,9 @@ public void onClick(final View v) { case R.id.overlay_buttons_layout: bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); break; + case R.id.overlay_play_queue_button: + NavigationHelper.openPlayQueue(getContext()); + break; case R.id.overlay_play_pause_button: if (playerIsNotStopped()) { player.playPause(); @@ -684,6 +687,7 @@ protected void initListeners() { binding.overlayMetadataLayout.setOnClickListener(this); binding.overlayMetadataLayout.setOnLongClickListener(this); binding.overlayButtonsLayout.setOnClickListener(this); + binding.overlayPlayQueueButton.setOnClickListener(this); binding.overlayCloseButton.setOnClickListener(this); binding.overlayPlayPauseButton.setOnClickListener(this); @@ -2426,6 +2430,7 @@ private void setOverlayElementsClickable(final boolean enable) { binding.overlayMetadataLayout.setClickable(enable); binding.overlayMetadataLayout.setLongClickable(enable); binding.overlayButtonsLayout.setClickable(enable); + binding.overlayPlayQueueButton.setClickable(enable); binding.overlayPlayPauseButton.setClickable(enable); binding.overlayCloseButton.setClickable(enable); } diff --git a/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java b/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java index c18a7f4874d..94de7fef383 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java @@ -212,7 +212,6 @@ public void onServiceConnected(final ComponentName name, final IBinder service) if (player == null || player.getPlayQueue() == null || player.exoPlayerIsNull()) { unbind(); - finish(); } else { onQueueUpdate(player.getPlayQueue()); buildComponents(); diff --git a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java index 3b2c52691c5..13413e89dfd 100644 --- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java @@ -639,6 +639,11 @@ public static Intent getPlayQueueActivityIntent(final Context context) { return intent; } + public static void openPlayQueue(final Context context) { + final Intent intent = new Intent(context, PlayQueueActivity.class); + context.startActivity(intent); + } + /*////////////////////////////////////////////////////////////////////////// // Link handling //////////////////////////////////////////////////////////////////////////*/ diff --git a/app/src/main/res/layout-large-land/fragment_video_detail.xml b/app/src/main/res/layout-large-land/fragment_video_detail.xml index 5904724ad20..a29fa8c78b2 100644 --- a/app/src/main/res/layout-large-land/fragment_video_detail.xml +++ b/app/src/main/res/layout-large-land/fragment_video_detail.xml @@ -698,6 +698,16 @@ android:paddingRight="@dimen/video_item_search_padding" tools:ignore="RtlHardcoded"> + + + +