diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index 3475fb95..13b28764 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -87,6 +87,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia private int mBarcodeScannerIstanceID; private boolean mFirstStart = true; + private boolean mAbort = true; public DialogInputQuantityV2View setDialogInputQuantityV2DTO(DialogInputQuantityV2DTO mDialogInputQuantityV2DTO) { @@ -184,22 +185,25 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia public void save() { if (this.mViewModel.validate()) { - this.mOnComplete.run(this.mViewModel.getResult(), false); + this.mAbort = false; dismiss(); + this.mOnComplete.run(this.mViewModel.getResult(), false); } } public void saveAndCloseLU() { if (this.mViewModel.validate()) { - this.mOnComplete.run(this.mViewModel.getResult(), true); + this.mAbort = false; dismiss(); + this.mOnComplete.run(this.mViewModel.getResult(), true); } } @Override public void onDismiss(@NonNull DialogInterface dialog) { + BarcodeManager.removeCallback(mBarcodeScannerIstanceID); - this.mOnAbort.run(); + if(mAbort) this.mOnAbort.run(); super.onDismiss(dialog); }