From a2ff770afca39876817367ca6d11530dc655dacc Mon Sep 17 00:00:00 2001 From: ktprograms Date: Mon, 11 Oct 2021 14:46:29 +0800 Subject: [PATCH] Added the 'Show Channel Details' menu item to the Queue long press menu Created a method in NavigationHelper that opens the channel fragment using an Intent to MainActivity instead of replacing fragments. --- .../java/org/schabi/newpipe/QueueItemMenuUtil.java | 8 ++++++-- .../org/schabi/newpipe/util/NavigationHelper.java | 12 ++++++++++++ app/src/main/res/menu/menu_play_queue_item.xml | 3 +++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/QueueItemMenuUtil.java b/app/src/main/java/org/schabi/newpipe/QueueItemMenuUtil.java index 9105ff992..f2f71730d 100644 --- a/app/src/main/java/org/schabi/newpipe/QueueItemMenuUtil.java +++ b/app/src/main/java/org/schabi/newpipe/QueueItemMenuUtil.java @@ -1,7 +1,5 @@ package org.schabi.newpipe; -import static org.schabi.newpipe.util.external_communication.ShareUtils.shareText; - import android.content.Context; import android.view.ContextThemeWrapper; import android.view.View; @@ -17,6 +15,8 @@ import org.schabi.newpipe.util.NavigationHelper; import java.util.Collections; +import static org.schabi.newpipe.util.external_communication.ShareUtils.shareText; + public final class QueueItemMenuUtil { public static void openPopupMenu(final PlayQueue playQueue, final PlayQueueItem item, @@ -55,6 +55,10 @@ public final class QueueItemMenuUtil { () -> PlaylistCreationDialog.newInstance(d) .show(fragmentManager, "QueueItemMenuUtil@append_playlist")); return true; + case R.id.menu_item_channel_details: + NavigationHelper.openChannelFragmentUsingIntent(context, item.getServiceId(), + item.getUploaderUrl(), item.getUploader()); + return true; case R.id.menu_item_share: shareText(context, item.getTitle(), item.getUrl(), item.getThumbnailUrl()); 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 afa826677..8852ef369 100644 --- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java @@ -491,6 +491,18 @@ public final class NavigationHelper { context.startActivity(intent); } + public static void openChannelFragmentUsingIntent(final Context context, + final int serviceId, + final String url, + @NonNull final String title) { + final Intent intent = getOpenIntent(context, url, serviceId, + StreamingService.LinkType.CHANNEL); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(Constants.KEY_TITLE, title); + + context.startActivity(intent); + } + public static void openMainActivity(final Context context) { final Intent mIntent = new Intent(context, MainActivity.class); mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); diff --git a/app/src/main/res/menu/menu_play_queue_item.xml b/app/src/main/res/menu/menu_play_queue_item.xml index ebb361be9..40c4849b4 100644 --- a/app/src/main/res/menu/menu_play_queue_item.xml +++ b/app/src/main/res/menu/menu_play_queue_item.xml @@ -10,6 +10,9 @@ +