Risolto bug progress dialog in ordini acquisto pv

This commit is contained in:
2021-10-21 13:09:21 +02:00
parent 45df794280
commit d2111e36ee
6 changed files with 91 additions and 36 deletions

View File

@@ -136,13 +136,13 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
String text = "Stai per eliminare l'articolo <b> " + articoloOrdine.getDescrizione() + "</b> dall'ordine, <br> sei sicuro?";
DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(text)), null, () -> this.runOnUiThread(() -> {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
this.openProgress();
mhelper.removeArticoloFromOrdine(articoloOrdine, () -> {
progress.dismiss();
this.closeProgress();
BarcodeManager.enable();
runOnUiThread(this::fetchArticoli);
}, e -> {
progress.dismiss();
this.closeProgress();
runOnUiThread(() -> UtilityExceptions.defaultException(this, e));
});
}), () -> {
@@ -159,16 +159,16 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
private void onScanSuccessful(BarcodeScanDTO dto) {
mBinding.closeActivityFab.close(false);
BarcodeManager.disable();
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
this.openProgress();
mhelper.checkArticolo(
mOrdine,
dto.getStringValue(),
articoloOrdine -> {
progress.dismiss();
this.closeProgress();
addArticolo(articoloOrdine);
},
e -> {
progress.dismiss();
this.closeProgress();
handleException(e);
}
);
@@ -199,9 +199,9 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
}
private void fetchArticoli() {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
this.openProgress();
mhelper.loadArticoli(mOrdine, articoli -> {
progress.dismiss();
this.closeProgress();
mArticoli = articoli;
runOnUiThread(() -> {
mAdapter.updateItems(mArticoli);
@@ -218,22 +218,22 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
}
public void exportOrdine() {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
this.openProgress();
PVOrdiniAcquistoRESTConsumer.saveOrdine(mOrdine, mArticoli, mGriglia, (ordine) -> {
mOrdineRepository.updateOrder(ordine, ord -> {
progress.dismiss();
this.closeProgress();
runOnUiThread(() -> {
Toast.makeText(this, "Ordine salvato con successo", Toast.LENGTH_SHORT).show();
onBackPressed();
});
}, e -> runOnUiThread(() -> {
progress.dismiss();
this.closeProgress();
UtilityExceptions.defaultException(this, e);
}));
}, e -> runOnUiThread(() -> {
progress.dismiss();
this.closeProgress();
UtilityExceptions.defaultException(this, e);
}));
}
@@ -247,16 +247,16 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
public void manualSearch(){
BarcodeManager.disable();
DialogSimpleInputHelper.makeInputDialog(this,"Inserisci il codice a barre/codice articolo da cercare",codice->{
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
this.openProgress();
mhelper.checkArticolo(
mOrdine,
codice,
articoloOrdine -> {
progress.dismiss();
this.closeProgress();
addArticolo(articoloOrdine);
},
e -> {
progress.dismiss();
this.closeProgress();
handleException(e);
}
);

View File

@@ -36,6 +36,7 @@ public class EditArticoloDialog {
private ArticoloOrdine mSavedArt;
private boolean mLockedInput = false;
private Dialog mCurrentProgress;
public static Dialog make(Activity context, PVEditOrderHelper helper, ArticoloOrdine articolo, RunnableArgs<ArticoloOrdine> onDialogDismiss) {
@@ -128,7 +129,7 @@ public class EditArticoloDialog {
}
public void saveAndExit() {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
this.openProgress();
try {
float qtaOrd = Float.parseFloat(mBinding.qtaTot.getText().toString());
if (qtaOrd <= 0) {
@@ -138,12 +139,12 @@ public class EditArticoloDialog {
} catch (Exception e) {
mContext.runOnUiThread(() -> UtilityExceptions.defaultException(mContext, e));
progress.dismiss();
this.closeProgress();
return;
}
mHelper.saveArticoloToOrdine(mArticolo, () -> {
mSavedArt = mArticolo;
progress.dismiss();
this.closeProgress();
mDialog.dismiss();
}, e -> mContext.runOnUiThread(() -> UtilityExceptions.defaultException(mContext, e)));
}
@@ -157,4 +158,20 @@ public class EditArticoloDialog {
mDialog.dismiss();
}
protected void openProgress() {
mContext.runOnUiThread(() -> {
if (this.mCurrentProgress == null) {
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(mContext);
}
});
}
protected void closeProgress() {
mContext.runOnUiThread(() -> {
if (mCurrentProgress != null) {
mCurrentProgress.dismiss();
mCurrentProgress = null;
}
});
}
}

View File

@@ -55,6 +55,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
private OrdineAcquistoPvHelper mHelper;
private Griglia mGriglia;
private OrdineAcquistoPvOpenListAdapter mAdapter;
private Dialog mCurrentProgress;
private final List<OrdineWrapper> mRenderedOrderList = new ArrayList<>();
private boolean mRedirectToNewOrder = true;
@@ -80,7 +81,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
.inject(this);
}
public static PVOrdiniAcquistoGrigliaFragment newInstance() {
@@ -134,13 +134,13 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
}
private void fetchOrders() {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity(), getString(R.string.ordini_a_aperti_progress));
this.openProgress();
mOrdineRepository.selectAllOpenOrders(mGriglia, (ordini) -> getActivity().runOnUiThread(() -> {
progress.dismiss();
this.closeProgress();
setOrdini(ordini);
}), (e) -> {
progress.dismiss();
this.closeProgress();
String errorMessage = e.getMessage();
getActivity().runOnUiThread(() -> DialogSimpleMessageView
.makeErrorDialog(new SpannableString(errorMessage), null, null)
@@ -201,15 +201,15 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
String text = "Stai per eliminare un ordine sei sicuro?";
DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(text)), null, () -> getActivity().runOnUiThread(() -> {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
this.openProgress();
mHelper.deleteOrder(ordine, () -> {
getActivity().runOnUiThread(() -> {
progress.dismiss();
this.closeProgress();
Toast.makeText(getActivity(), "Ordine eliminato!", Toast.LENGTH_SHORT).show();
fetchOrders();
});
}, e -> {
progress.dismiss();
this.closeProgress();
getActivity().runOnUiThread(() -> UtilityExceptions.defaultException(getActivity(), e));
});
}), () -> {
@@ -222,12 +222,15 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
}
public void createNewOrder() {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity(), getString(R.string.ordini_a_aperti_progress));
this.openProgress();
mHelper.createNewOrder(mGriglia, order -> {
progress.dismiss();
this.closeProgress();
getActivity().runOnUiThread(() -> editOrdine(order));
}, e -> getActivity().runOnUiThread(() -> UtilityExceptions.defaultException(getActivity(), e, progress)));
}, e -> getActivity().runOnUiThread(() -> {
UtilityExceptions.defaultException(getActivity(), e);
this.closeProgress();
}
));
}
@Override
@@ -256,4 +259,22 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
protected void openProgress() {
getActivity().runOnUiThread(() -> {
if (this.mCurrentProgress == null) {
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
}
});
}
protected void closeProgress() {
getActivity().runOnUiThread(() -> {
if (mCurrentProgress != null) {
mCurrentProgress.dismiss();
mCurrentProgress = null;
}
});
}
}

View File

@@ -27,6 +27,7 @@ public class DialogScanLisA {
private Activity mContext;
private BaseDialog mDialog;
private Dialog mCurrentProgress;
private DialogScanCodiceGrigliaBinding mBinding;
@@ -78,11 +79,11 @@ public class DialogScanLisA {
private final RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
BarcodeManager.disable();
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
this.openProgress();
Context context = mContext;
RunnableArgs<Exception> mOnError = exception -> {
mContext.runOnUiThread(() -> {
progressDialog.dismiss();
this.closeProgress();
UtilityExceptions.defaultException(context, exception);
BarcodeManager.enable();
});
@@ -90,7 +91,7 @@ public class DialogScanLisA {
RunnableArgs<Griglia> onGrigliaAvailable = griglia -> {
mContext.runOnUiThread(() -> {
progressDialog.dismiss();
this.closeProgress();
mGriglia = griglia;
mDialog.dismiss();
});
@@ -109,4 +110,20 @@ public class DialogScanLisA {
};
protected void openProgress() {
mContext.runOnUiThread(() -> {
if (this.mCurrentProgress == null) {
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(mContext);
}
});
}
protected void closeProgress() {
mContext.runOnUiThread(() -> {
if (mCurrentProgress != null) {
mCurrentProgress.dismiss();
mCurrentProgress = null;
}
});
}
}