Skip to content

Commit f596237

Browse files
committed
Call DownloadDialog dismiss() in the correct way
1 parent 4e33f2d commit f596237

2 files changed

Lines changed: 20 additions & 8 deletions

File tree

app/src/main/java/org/schabi/newpipe/RouterActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,9 +589,9 @@ private void openDownloadDialog() {
589589
downloadDialog.setVideoStreams(sortedVideoStreams);
590590
downloadDialog.setAudioStreams(result.getAudioStreams());
591591
downloadDialog.setSelectedVideoStream(selectedVideoStreamIndex);
592+
downloadDialog.setOnDismissListener(dialog -> finish());
592593
downloadDialog.show(fm, "downloadDialog");
593594
fm.executePendingTransactions();
594-
downloadDialog.requireDialog().setOnDismissListener(dialog -> finish());
595595
}, throwable ->
596596
showUnsupportedUrlDialog(currentUrl)));
597597
}

app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import android.app.Activity;
44
import android.content.ComponentName;
55
import android.content.Context;
6+
import android.content.DialogInterface;
7+
import android.content.DialogInterface.OnDismissListener;
68
import android.content.Intent;
79
import android.content.ServiceConnection;
810
import android.content.SharedPreferences;
@@ -38,7 +40,6 @@
3840

3941
import org.schabi.newpipe.MainActivity;
4042
import org.schabi.newpipe.R;
41-
import org.schabi.newpipe.RouterActivity;
4243
import org.schabi.newpipe.databinding.DownloadDialogBinding;
4344
import org.schabi.newpipe.error.ErrorActivity;
4445
import 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

Comments
 (0)