diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/AddNoteDialog.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/AddNoteDialog.java index 22476346a..6426f67a1 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/AddNoteDialog.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/AddNoteDialog.java @@ -243,6 +243,9 @@ public class AddNoteDialog extends DialogFragment // Custom AlertDialog for taking user confirmation before closing note dialog in case of unsaved changes DialogFragment newFragment = new ConfirmationAlertDialogFragment(sharedPreferenceUtil, TAG, R.string.confirmation_alert_dialog_message, alertDialogShower); + Bundle bundle = new Bundle(); + bundle.putSerializable("alertDialogShower", alertDialogShower); + newFragment.setArguments(bundle); newFragment.show(getActivity().getSupportFragmentManager(), ConfirmationAlertDialogFragment.TAG); } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/ConfirmationAlertDialogFragment.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/ConfirmationAlertDialogFragment.java index dcd7776ef..79abffb57 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/ConfirmationAlertDialogFragment.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/ConfirmationAlertDialogFragment.java @@ -63,6 +63,8 @@ public class ConfirmationAlertDialogFragment extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Fragment parentDialogFragment = getFragmentManager().findFragmentByTag(parentDialogFragmentTAG); + Bundle bundle = getArguments(); + alertDialogShower = (AlertDialogShower) bundle.getSerializable("alertDialogShower"); return alertDialogShower.create(new KiwixDialog.ConfirmationAlertDialogFragment(stringResourceId), () -> { if (parentDialogFragment != null) { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt index f5d8daaf1..85ff7ee0b 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt @@ -21,9 +21,11 @@ package org.kiwix.kiwixmobile.core.utils import android.app.Activity import android.app.Dialog import androidx.appcompat.app.AlertDialog +import java.io.Serializable import javax.inject.Inject -class AlertDialogShower @Inject constructor(private val activity: Activity) : DialogShower { +class AlertDialogShower @Inject constructor(private val activity: Activity) : DialogShower, + Serializable { override fun show(dialog: KiwixDialog, vararg clickListeners: () -> Unit) { create(dialog, *clickListeners).show() }