Risolto bug progress dialog in ordini acquisto pv

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

View File

@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_base" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<module name="WMS.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
@ -8,7 +8,7 @@
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS.dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />

View File

@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_vglimenti" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<module name="WMS.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
@ -8,7 +8,7 @@
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_agricoper,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS.dynamic__base" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />

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;
}
});
}
}