From 781a69d60d3a64fb67f319a4900e161714557a6d Mon Sep 17 00:00:00 2001 From: u7310752 <u7310752@anu.edu.au> Date: Wed, 16 Oct 2024 20:52:43 +1100 Subject: [PATCH] Chanegd related videos enqueue modal to attach to parent fragment instead --- .../list/videos/RelatedItemsFragment.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java index e46937ede..a7ca549fb 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java @@ -10,6 +10,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; import androidx.preference.PreferenceManager; import org.schabi.newpipe.R; @@ -18,8 +19,10 @@ import org.schabi.newpipe.error.UserAction; import org.schabi.newpipe.extractor.InfoItem; import org.schabi.newpipe.extractor.ListExtractor; import org.schabi.newpipe.extractor.stream.StreamInfo; +import org.schabi.newpipe.extractor.stream.StreamInfoItem; import org.schabi.newpipe.fragments.list.BaseListInfoFragment; import org.schabi.newpipe.info_list.ItemViewMode; +import org.schabi.newpipe.info_list.dialog.InfoItemDialog; import org.schabi.newpipe.ktx.ViewUtils; import java.io.Serializable; @@ -173,4 +176,30 @@ public class RelatedItemsFragment extends BaseListInfoFragment<InfoItem, Related } return mode; } + + @Override + protected void showInfoItemDialog(final StreamInfoItem item) { + try { + final Fragment parentFragment = getParentFragment(); + if (parentFragment != null) { + new InfoItemDialog.Builder( + parentFragment.getActivity(), + parentFragment.getContext(), + parentFragment, + item + ).create().show(); + } else { + new InfoItemDialog.Builder( + getActivity(), + getContext(), + this, + item) + .create().show(); + } + + } catch (final IllegalArgumentException e) { + InfoItemDialog.Builder.reportErrorDuringInitialization(e, item); + } + } + }