33import android .app .Activity ;
44import android .content .ComponentName ;
55import android .content .Context ;
6+ import android .content .DialogInterface ;
7+ import android .content .DialogInterface .OnDismissListener ;
68import android .content .Intent ;
79import android .content .ServiceConnection ;
810import android .content .SharedPreferences ;
3840
3941import org .schabi .newpipe .MainActivity ;
4042import org .schabi .newpipe .R ;
41- import org .schabi .newpipe .RouterActivity ;
4243import org .schabi .newpipe .databinding .DownloadDialogBinding ;
4344import org .schabi .newpipe .error .ErrorActivity ;
4445import org .schabi .newpipe .error .ErrorInfo ;
@@ -101,6 +102,9 @@ public class DownloadDialog extends DialogFragment
101102 @ State
102103 int selectedSubtitleIndex = 0 ;
103104
105+ @ Nullable
106+ private OnDismissListener onDismissListener = null ;
107+
104108 private StoredDirectoryHelper mainStorageAudio = null ;
105109 private StoredDirectoryHelper mainStorageVideo = null ;
106110 private DownloadManager downloadManager = null ;
@@ -204,6 +208,9 @@ public void setSelectedSubtitleStream(final int ssi) {
204208 this .selectedSubtitleIndex = ssi ;
205209 }
206210
211+ public void setOnDismissListener (@ Nullable final OnDismissListener onDismissListener ) {
212+ this .onDismissListener = onDismissListener ;
213+ }
207214
208215 /*//////////////////////////////////////////////////////////////////////////
209216 // Android lifecycle
@@ -219,7 +226,7 @@ public void onCreate(@Nullable final Bundle savedInstanceState) {
219226
220227 if (!PermissionHelper .checkStoragePermissions (getActivity (),
221228 PermissionHelper .DOWNLOAD_DIALOG_REQUEST_CODE )) {
222- getDialog (). dismiss ();
229+ dismiss ();
223230 return ;
224231 }
225232
@@ -341,7 +348,7 @@ private void initToolbar(final Toolbar toolbar) {
341348 toolbar .setTitle (R .string .download_dialog_title );
342349 toolbar .setNavigationIcon (R .drawable .ic_arrow_back );
343350 toolbar .inflateMenu (R .menu .dialog_url );
344- toolbar .setNavigationOnClickListener (v -> requireDialog (). dismiss ());
351+ toolbar .setNavigationOnClickListener (v -> dismiss ());
345352 toolbar .setNavigationContentDescription (R .string .cancel );
346353
347354 okButton = toolbar .findViewById (R .id .okay );
@@ -350,15 +357,20 @@ private void initToolbar(final Toolbar toolbar) {
350357 toolbar .setOnMenuItemClickListener (item -> {
351358 if (item .getItemId () == R .id .okay ) {
352359 prepareSelectedDownload ();
353- if (getActivity () instanceof RouterActivity ) {
354- getActivity ().finish ();
355- }
356360 return true ;
357361 }
358362 return false ;
359363 });
360364 }
361365
366+ @ Override
367+ public void onDismiss (@ NonNull final DialogInterface dialog ) {
368+ super .onDismiss (dialog );
369+ if (onDismissListener != null ) {
370+ onDismissListener .onDismiss (dialog );
371+ }
372+ }
373+
362374 @ Override
363375 public void onDestroy () {
364376 super .onDestroy ();
@@ -622,7 +634,7 @@ protected void setupDownloadOptions() {
622634 } else {
623635 Toast .makeText (getContext (), R .string .no_streams_available_download ,
624636 Toast .LENGTH_SHORT ).show ();
625- getDialog (). dismiss ();
637+ dismiss ();
626638 }
627639 }
628640
0 commit comments