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 1d1e166e7..40a22103b 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 @@ -283,11 +283,11 @@ public final class VideoDetailFragment /*////////////////////////////////////////////////////////////////////////*/ public static VideoDetailFragment getInstance(final int serviceId, - @Nullable final String videoUrl, + @Nullable final String url, @NonNull final String name, @Nullable final PlayQueue queue) { final VideoDetailFragment instance = new VideoDetailFragment(); - instance.setInitialData(serviceId, videoUrl, name, queue); + instance.setInitialData(serviceId, url, name, queue); return instance; } @@ -1736,7 +1736,7 @@ public final class VideoDetailFragment playQueue = queue; if (DEBUG) { Log.d(TAG, "onQueueUpdate() called with: serviceId = [" - + serviceId + "], videoUrl = [" + url + "], name = [" + + serviceId + "], url = [" + url + "], name = [" + title + "], playQueue = [" + playQueue + "]"); } 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 5dee32371..e4cb46f94 100644 --- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java @@ -452,8 +452,12 @@ public final class NavigationHelper { if (fragment instanceof VideoDetailFragment && fragment.isVisible()) { onVideoDetailFragmentReady.run((VideoDetailFragment) fragment); } else { + // Specify no url here, otherwise the VideoDetailFragment will start loading the + // stream automatically if it's the first time it is being opened, but then + // onVideoDetailFragmentReady will kick in and start another loading process. + // See VideoDetailFragment.wasCleared() and its usage in doInitialLoadLogic(). final VideoDetailFragment instance = VideoDetailFragment - .getInstance(serviceId, url, title, playQueue); + .getInstance(serviceId, null, title, playQueue); instance.setAutoPlay(autoPlay); defaultTransaction(fragmentManager)