diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java index d2c37f17..32f17940 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java @@ -165,7 +165,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi () -> { this.deleteArticolo(articoloOrdine); BarcodeManager.enable(); - }).show(getSupportFragmentManager(), "tag"); + }, BarcodeManager::enable).show(getSupportFragmentManager(), "tag"); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskActionView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskActionView.java index 05535a7d..50dc91da 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskActionView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogAskActionView.java @@ -1,6 +1,7 @@ package it.integry.integrywmsnative.view.dialogs; import android.app.Dialog; +import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; @@ -19,14 +20,19 @@ public class DialogAskActionView extends BaseDialogFragment { private final Runnable mOnEditSelected; private final Runnable mOnDeleteSelected; + private boolean runOnDismissAction = true; + private final Runnable mOnDismiss; - - public static DialogAskActionView newInstance(String title, String subtitle, Runnable onEdit, Runnable onDelete) { - return new DialogAskActionView(title, subtitle, onEdit, onDelete); + public static DialogAskActionView newInstance(String title, String subtitle, Runnable onEdit, Runnable onDelete, Runnable onDismiss) { + return new DialogAskActionView(title, subtitle, onEdit, onDelete, onDismiss); } - private DialogAskActionView(String title, String subTitle, Runnable onEditSelected, Runnable onDeleteSelected) { + public static DialogAskActionView newInstance(String title, String subtitle, Runnable onEdit, Runnable onDelete) { + return newInstance(title, subtitle, onEdit, onDelete, null); + } + + private DialogAskActionView(String title, String subTitle, Runnable onEditSelected, Runnable onDeleteSelected, Runnable onDismiss) { super(); mTitle = title; @@ -34,6 +40,7 @@ public class DialogAskActionView extends BaseDialogFragment { mOnEditSelected = onEditSelected; mOnDeleteSelected = onDeleteSelected; + mOnDismiss = onDismiss; } @NonNull @@ -53,14 +60,23 @@ public class DialogAskActionView extends BaseDialogFragment { } public void onEdit() { + runOnDismissAction = false; dismiss(); mOnEditSelected.run(); } public void onDelete() { + runOnDismissAction = false; dismiss(); mOnDeleteSelected.run(); } + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + if (runOnDismissAction && mOnDismiss != null) { + mOnDismiss.run(); + } + super.onDismiss(dialog); + } }