From 38f91d5e9f32837b91121fa530d7337f15d9c228 Mon Sep 17 00:00:00 2001 From: Yujia Date: Sun, 23 Oct 2022 23:34:27 +1100 Subject: [PATCH] Add search type link --- .../java/org/schabi/newpipe/MainActivity.java | 4 ++++ .../schabi/newpipe/util/NavigationHelper.java | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index d4b2305c7e3..b53bee5a87c 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -763,6 +763,10 @@ private void handleIntent(final Intent intent) { NavigationHelper.openPlaylistFragment(getSupportFragmentManager(), serviceId, url, title); break; + case SEARCH: + NavigationHelper.openSearchFragment(getSupportFragmentManager(), serviceId, + intent.getStringExtra(Constants.KEY_SEARCH_STRING)); + break; } } else if (intent.hasExtra(Constants.KEY_OPEN_SEARCH)) { String searchString = intent.getStringExtra(Constants.KEY_SEARCH_STRING); 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 13413e89dfd..107c635d307 100644 --- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java @@ -657,6 +657,20 @@ private static Intent getOpenIntent(final Context context, final String url, return mIntent; } + private static Intent getOpenSearchIntent(final Context context, final String url, + final int serviceId, + final StreamingService.LinkType type, + final String searchString) { + final Intent mIntent = new Intent(context, MainActivity.class); + mIntent.putExtra(Constants.KEY_SERVICE_ID, serviceId); + mIntent.putExtra(Constants.KEY_URL, url); + mIntent.putExtra(Constants.KEY_LINK_TYPE, type); + mIntent.putExtra(Constants.KEY_SEARCH_STRING, searchString); + return mIntent; + } + + + public static Intent getIntentByLink(final Context context, final String url) throws ExtractionException { return getIntentByLink(context, NewPipe.getServiceByUrl(url), url); @@ -672,6 +686,11 @@ public static Intent getIntentByLink(final Context context, + " url=" + url); } + if (linkType == StreamingService.LinkType.SEARCH) { + return getOpenSearchIntent(context, url, service.getServiceId(), + linkType, service.getIdByUrl(url)); + } + return getOpenIntent(context, url, service.getServiceId(), linkType); }