77import android .app .Activity ;
88import android .content .ComponentName ;
99import android .content .Context ;
10- import android .content .DialogInterface ;
11- import android .content .DialogInterface .OnDismissListener ;
1210import android .content .Intent ;
1311import android .content .ServiceConnection ;
1412import android .content .SharedPreferences ;
@@ -113,14 +111,11 @@ public class DownloadDialog extends DialogFragment
113111 @ State
114112 int selectedSubtitleIndex = 0 ; // default to the first item
115113
116- @ Nullable
117- private OnDismissListener onDismissListener = null ;
118-
119114 private StoredDirectoryHelper mainStorageAudio = null ;
120115 private StoredDirectoryHelper mainStorageVideo = null ;
121116 private DownloadManager downloadManager = null ;
122117 private ActionMenuItemView okButton = null ;
123- private Context context ;
118+ private Context context = null ;
124119 private boolean askForSavePath ;
125120
126121 private AudioTrackAdapter audioTrackAdapter ;
@@ -195,13 +190,6 @@ public DownloadDialog(@NonNull final Context context, @NonNull final StreamInfo
195190 this .selectedVideoIndex = ListHelper .getDefaultResolutionIndex (context , videoStreams );
196191 }
197192
198- /**
199- * @param onDismissListener the listener to call in {@link #onDismiss(DialogInterface)}
200- */
201- public void setOnDismissListener (@ Nullable final OnDismissListener onDismissListener ) {
202- this .onDismissListener = onDismissListener ;
203- }
204-
205193
206194 /*//////////////////////////////////////////////////////////////////////////
207195 // Android lifecycle
@@ -221,6 +209,8 @@ public void onCreate(@Nullable final Bundle savedInstanceState) {
221209 return ;
222210 }
223211
212+ // context will remain null if dismiss() was called above, allowing to check whether the
213+ // dialog is being dismissed in onViewCreated()
224214 context = getContext ();
225215
226216 setStyle (STYLE_NO_TITLE , ThemeHelper .getDialogTheme (context ));
@@ -305,6 +295,9 @@ public void onViewCreated(@NonNull final View view,
305295 @ Nullable final Bundle savedInstanceState ) {
306296 super .onViewCreated (view , savedInstanceState );
307297 dialogBinding = DownloadDialogBinding .bind (view );
298+ if (context == null ) {
299+ return ; // the dialog is being dismissed, see the call to dismiss() in onCreate()
300+ }
308301
309302 dialogBinding .fileName .setText (FilenameUtils .createFilename (getContext (),
310303 currentInfo .getName ()));
@@ -364,14 +357,6 @@ private void initToolbar(final Toolbar toolbar) {
364357 });
365358 }
366359
367- @ Override
368- public void onDismiss (@ NonNull final DialogInterface dialog ) {
369- super .onDismiss (dialog );
370- if (onDismissListener != null ) {
371- onDismissListener .onDismiss (dialog );
372- }
373- }
374-
375360 @ Override
376361 public void onDestroy () {
377362 super .onDestroy ();
0 commit comments