Fix su DialogProgressView.

Aggiunto barcodeUl nel caso venga battezzata un'etichetta anonima in DialogScanOrCreateLU.
This commit is contained in:
Giuseppe Scorrano 2025-02-10 16:52:55 +01:00
parent dc38311125
commit fe3a9d84d5
2 changed files with 28 additions and 11 deletions

View File

@ -3,6 +3,8 @@ package it.integry.integrywmsnative.view.dialogs;
import android.app.Dialog; import android.app.Dialog;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -28,6 +30,9 @@ public class DialogProgressView extends DialogFragment {
private boolean progressOpened; private boolean progressOpened;
private final Handler handler = new Handler(Looper.getMainLooper());
private boolean isPending = false;
public static DialogProgressView newInstance(String title, String subtitle, boolean indeterminate) { public static DialogProgressView newInstance(String title, String subtitle, boolean indeterminate) {
return new DialogProgressView(title, subtitle, indeterminate); return new DialogProgressView(title, subtitle, indeterminate);
} }
@ -50,8 +55,6 @@ public class DialogProgressView extends DialogFragment {
mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireContext().getString(R.string.loading) : title); mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireContext().getString(R.string.loading) : title);
if (!UtilityString.isNullOrEmpty(subtitle)) mBindings.setSubtitle(subtitle); if (!UtilityString.isNullOrEmpty(subtitle)) mBindings.setSubtitle(subtitle);
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100);
var alertDialog = new MaterialAlertDialogBuilder(requireContext()) var alertDialog = new MaterialAlertDialogBuilder(requireContext())
.setView(mBindings.getRoot()) .setView(mBindings.getRoot())
@ -64,18 +67,31 @@ public class DialogProgressView extends DialogFragment {
} }
public void show(@NonNull FragmentManager manager) { public void show(@NonNull FragmentManager manager) {
if (!progressOpened && !isAdded() && !isInLayout()) { if (isPending) return;
this.progressOpened = true;
super.show(manager, "loading-dialog"); isPending = true;
} handler.postDelayed(() -> {
try {
if (!manager.isDestroyed() && !isAdded()) {
manager.executePendingTransactions();
showNow(manager, "loading-dialog");
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100);
}
} finally {
isPending = false;
}
}, 50);
} }
@Override
public void dismiss() { public void dismiss() {
if (isAdded() || isInLayout() || progressOpened) { handler.post(() -> {
this.progressOpened = false; if (isAdded()) {
super.dismissAllowingStateLoss(); dismissAllowingStateLoss();
} }
});
} }
public String getTitle() { public String getTitle() {

View File

@ -124,6 +124,7 @@ public class DialogScanOrCreateLUViewModel {
} }
var createUdcRequest = new CreateUDCRequestDTO() var createUdcRequest = new CreateUDCRequestDTO()
.setBarcodeUl(barcodeScanDTO.getStringValue())
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep()) .setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep())
.setNumCollo(customNumCollo) .setNumCollo(customNumCollo)
.setSerCollo(CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE); .setSerCollo(CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE);