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);
+        }
+    }
+
 }