From 5d9adce40dce1e10507131c2eb39c348ba2a6c50 Mon Sep 17 00:00:00 2001 From: Stypox Date: Thu, 28 Mar 2024 11:35:21 +0100 Subject: [PATCH] Fix NPE, since dismissing a dialog still calls onViewCreated() --- .../java/org/schabi/newpipe/download/DownloadDialog.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java index 4680e71a7..bbdb46292 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java @@ -115,7 +115,7 @@ public class DownloadDialog extends DialogFragment private StoredDirectoryHelper mainStorageVideo = null; private DownloadManager downloadManager = null; private ActionMenuItemView okButton = null; - private Context context; + private Context context = null; private boolean askForSavePath; private AudioTrackAdapter audioTrackAdapter; @@ -209,6 +209,8 @@ public class DownloadDialog extends DialogFragment return; } + // context will remain null if dismiss() was called above, allowing to check whether the + // dialog is being dismissed in onViewCreated() context = getContext(); setStyle(STYLE_NO_TITLE, ThemeHelper.getDialogTheme(context)); @@ -293,6 +295,9 @@ public class DownloadDialog extends DialogFragment @Nullable final Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); dialogBinding = DownloadDialogBinding.bind(view); + if (context == null) { + return; // the dialog is being dismissed, see the call to dismiss() in onCreate() + } dialogBinding.fileName.setText(FilenameUtils.createFilename(getContext(), currentInfo.getName()));