Aggiornati dialog ask posizione e fixati problemi sul dismiss dei dialog
This commit is contained in:
parent
329d53f8d0
commit
993191c083
5
.idea/fileTemplates/Android Dialog.java
generated
5
.idea/fileTemplates/Android Dialog.java
generated
@ -122,5 +122,10 @@ Create the following layout resource file [dialog_${dashName}.xml]
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if(getDialog() != null) getDialog().dismiss();
|
||||
}
|
||||
|
||||
}
|
||||
@ -116,6 +116,10 @@ import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteModu
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_commessa.DialogAskCommessaComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_livello_posizione.DialogAskLivelloPosizioneComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_livello_posizione.DialogAskLivelloPosizioneModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreComponent;
|
||||
@ -233,7 +237,9 @@ import it.integry.integrywmsnative.view.dialogs.update_available.DialogUpdateAva
|
||||
DialogAskVettoreModule.class,
|
||||
DialogCreateNewArtModule.class,
|
||||
DialogSwitchUserDepoModule.class,
|
||||
DialogUpdateAvailableModule.class
|
||||
DialogUpdateAvailableModule.class,
|
||||
DialogAskPositionOfLUModule.class,
|
||||
DialogAskLivelloPosizioneModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@ -392,6 +398,11 @@ public interface MainApplicationComponent {
|
||||
|
||||
DialogUpdateAvailableComponent.Factory dialogUpdateAvailableComponent();
|
||||
|
||||
DialogAskPositionOfLUComponent.Factory dialogAskPositionOfLUComponent();
|
||||
|
||||
DialogAskLivelloPosizioneComponent.Factory dialogAskLivelloPosizioneComponent();
|
||||
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
void inject(AppContext mainApplication);
|
||||
|
||||
@ -99,7 +99,7 @@ public class ArticoliInGiacenzaFragment extends BaseFragment implements ITitledF
|
||||
}
|
||||
|
||||
private void choosePosition(RunnableArgs<MtbDepoPosizione> onComplete) {
|
||||
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||
DialogAskPositionOfLUView.newInstance(false, (status, mtbDepoPosizione) -> {
|
||||
|
||||
if (status == DialogConsts.Results.ABORT) {
|
||||
popMe();
|
||||
@ -107,7 +107,7 @@ public class ArticoliInGiacenzaFragment extends BaseFragment implements ITitledF
|
||||
onComplete.run(mtbDepoPosizione);
|
||||
}
|
||||
|
||||
}, this::onError)
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
|
||||
@ -252,7 +252,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
||||
};
|
||||
|
||||
private void choosePosition(RunnableArgs<MtbDepoPosizione> onComplete) {
|
||||
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||
DialogAskPositionOfLUView.newInstance(false, (status, mtbDepoPosizione) -> {
|
||||
|
||||
if (status == DialogConsts.Results.ABORT) {
|
||||
popMe();
|
||||
@ -260,7 +260,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
||||
onComplete.run(mtbDepoPosizione);
|
||||
}
|
||||
|
||||
}, this::onError)
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
|
||||
@ -224,7 +224,7 @@ public class ProdVersamentoMaterialeFragment extends BaseFragment implements Pro
|
||||
// }
|
||||
|
||||
private void choosePosition(RunnableArgs<MtbDepoPosizione> onComplete) {
|
||||
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||
DialogAskPositionOfLUView.newInstance(false, (status, mtbDepoPosizione) -> {
|
||||
|
||||
if (status == DialogConsts.Results.ABORT) {
|
||||
popMe();
|
||||
@ -232,7 +232,7 @@ public class ProdVersamentoMaterialeFragment extends BaseFragment implements Pro
|
||||
onComplete.run(mtbDepoPosizione);
|
||||
}
|
||||
|
||||
}, this::onError)
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
|
||||
@ -95,7 +95,7 @@ public class ProdVersamentoMaterialeInBufferFragment extends BaseFragment implem
|
||||
|
||||
|
||||
private void choosePosition() {
|
||||
DialogAskPositionOfLUView.makeBase(true, (status, mtbDepoPosizione) -> {
|
||||
DialogAskPositionOfLUView.newInstance(true, (status, mtbDepoPosizione) -> {
|
||||
|
||||
if (status == DialogConsts.Results.ABORT) {
|
||||
popMe();
|
||||
@ -105,7 +105,7 @@ public class ProdVersamentoMaterialeInBufferFragment extends BaseFragment implem
|
||||
});
|
||||
}
|
||||
|
||||
}, this::onError)
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
|
||||
@ -529,7 +529,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
||||
DialogYesNoView.newInstance(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
|
||||
switch (result) {
|
||||
case YES:
|
||||
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||
DialogAskPositionOfLUView.newInstance(false, (status, mtbDepoPosizione) -> {
|
||||
if (status == DialogConsts.Results.ABORT) {
|
||||
onComplete.run(false, null);
|
||||
} else {
|
||||
@ -539,7 +539,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
||||
onComplete.run(true, null);
|
||||
}
|
||||
}
|
||||
}, this::onError)
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
break;
|
||||
|
||||
|
||||
@ -958,13 +958,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
DialogYesNoView.newInstance(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
|
||||
switch (result) {
|
||||
case YES:
|
||||
DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> {
|
||||
DialogAskPositionOfLUView.newInstance(false, (status, mtbDepoPosizione) -> {
|
||||
if (status == DialogConsts.Results.ABORT) {
|
||||
onComplete.run(false, null);
|
||||
} else {
|
||||
onComplete.run(true, mtbDepoPosizione);
|
||||
}
|
||||
}, this::onError).show(getSupportFragmentManager(), "tag");
|
||||
}).show(getSupportFragmentManager(), "tag");
|
||||
break;
|
||||
|
||||
case NO:
|
||||
|
||||
@ -2,6 +2,7 @@ package it.integry.integrywmsnative.gest.versamento_merce;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.Html;
|
||||
import android.text.SpannableString;
|
||||
import android.view.LayoutInflater;
|
||||
@ -34,8 +35,8 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainVersamentoMerceBinding;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogAskLivelloPosizione;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_livello_posizione.DialogAskLivelloPosizioneView;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrList;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||
@ -51,6 +52,9 @@ public class VersamentoMerceFragment extends BaseFragment implements ITitledFrag
|
||||
@Inject
|
||||
DialogInputQuantityV2View mDialogInputQuantityV2View;
|
||||
|
||||
@Inject
|
||||
Handler handler;
|
||||
|
||||
private FragmentMainVersamentoMerceBinding mBindings = null;
|
||||
|
||||
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||
@ -151,25 +155,26 @@ public class VersamentoMerceFragment extends BaseFragment implements ITitledFrag
|
||||
|
||||
@Override
|
||||
public void onLivelloPosizioneRequired(MtbDepoPosizione posizione, RunnableArgs<MtbDepoPosizione> onComplete) {
|
||||
this.getActivity().runOnUiThread(() -> {
|
||||
DialogAskLivelloPosizione.make(getActivity(), posizione, false, onComplete, this::onError);
|
||||
handler.post(() -> {
|
||||
DialogAskLivelloPosizioneView.newInstance(posizione, false, onComplete, this::onError)
|
||||
.show(requireActivity().getSupportFragmentManager(), "ask-livello-posizione");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpostamentoTraDepConfirmRequired(String sourceCodMdep, String destinationCodMdep, RunnableArgs<Boolean> onComplete) {
|
||||
this.getActivity().runOnUiThread(() -> {
|
||||
handler.post(() -> {
|
||||
DialogSimpleMessageView.makeWarningDialog(Html.fromHtml("Stai spostando una UL dal deposito <b>" + sourceCodMdep + "</b> al deposito <b>" + destinationCodMdep + "</b>"),
|
||||
null,
|
||||
() -> onComplete.run(true),
|
||||
() -> onComplete.run(false))
|
||||
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onArtsChooseRequired(List<MtbColr> mtbColrList, RunnableArgs<List<MtbColr>> onComplete, Runnable onAbort) {
|
||||
this.requireActivity().runOnUiThread(() -> {
|
||||
handler.post(() -> {
|
||||
DialogChooseArtsFromMtbColrList
|
||||
.newInstance(mtbColrList, data -> {
|
||||
if(data == null || data.isEmpty()) {
|
||||
|
||||
@ -52,7 +52,7 @@ public class DialogAskLivelloPosizione {
|
||||
this.onFailed = onFailed;
|
||||
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||
View currentView = inflater.inflate(R.layout.dialog_ask_livello_of_position, null, false);
|
||||
View currentView = inflater.inflate(R.layout.dialog_ask_livello_posizione, null, false);
|
||||
|
||||
mDialog = new Dialog(mContext);
|
||||
mDialog.setContentView(currentView);
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_livello_posizione;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface DialogAskLivelloPosizioneComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
DialogAskLivelloPosizioneComponent create();
|
||||
}
|
||||
|
||||
void inject(DialogAskLivelloPosizioneView dialogAskLivelloPosizioneView);
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_livello_posizione;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = DialogAskLivelloPosizioneComponent.class)
|
||||
public class DialogAskLivelloPosizioneModule {
|
||||
|
||||
@Provides
|
||||
DialogAskLivelloPosizioneViewModel providesDialogAskLivelloPosizioneViewModel() {
|
||||
return new DialogAskLivelloPosizioneViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,177 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_livello_posizione;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityFocus;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskLivelloPosizioneBinding;
|
||||
|
||||
public class DialogAskLivelloPosizioneView extends BaseDialogFragment {
|
||||
|
||||
@Inject
|
||||
DialogAskLivelloPosizioneViewModel mViewModel;
|
||||
|
||||
private MtbDepoPosizione mtbDepoPosizione;
|
||||
|
||||
private boolean canAbort;
|
||||
private RunnableArgs<MtbDepoPosizione> onComplete;
|
||||
private RunnableArgs<Exception> onFailed;
|
||||
|
||||
private DialogAskLivelloPosizioneBinding mBindings;
|
||||
private Context mContext;
|
||||
|
||||
private boolean completedFLow = false;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static DialogAskLivelloPosizioneView newInstance(MtbDepoPosizione mtbDepoPosizione, boolean canAbort, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
return new DialogAskLivelloPosizioneView(mtbDepoPosizione, canAbort, onComplete, onFailed);
|
||||
}
|
||||
|
||||
private DialogAskLivelloPosizioneView(MtbDepoPosizione mtbDepoPosizione, boolean canAbort, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
super();
|
||||
|
||||
this.mtbDepoPosizione = mtbDepoPosizione;
|
||||
this.onComplete = onComplete;
|
||||
this.onFailed = onFailed;
|
||||
this.canAbort = canAbort;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialogAskLivelloPosizioneComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogAskLivelloPosizioneBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialogBuilder = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.setPositiveButton(R.string.confirm, (dialogInterface, i) -> {
|
||||
String levelNumber = mBindings.levelNumber.getText().toString();
|
||||
onLevelConfirm(levelNumber);
|
||||
});
|
||||
|
||||
if (canAbort)
|
||||
alertDialogBuilder.setNeutralButton(R.string.abort, ((dialogInterface, i) -> {
|
||||
onLevelAbort();
|
||||
}));
|
||||
|
||||
var alertDialog = alertDialogBuilder.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if (getDialog() != null) getDialog().dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
|
||||
UtilityFocus.focusTextBox(mContext, mBindings.levelNumberLayout.getEditText());
|
||||
mBindings.levelNumberLayout.getEditText().addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
if (mBindings.levelNumberLayout.getEditText().getText() != null) {
|
||||
validateLevel(mBindings.levelNumberLayout.getEditText().getText().toString());
|
||||
} else resetLevelError();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
super.onDismiss(dialog);
|
||||
|
||||
if(!completedFLow) onComplete.run(null);
|
||||
}
|
||||
|
||||
|
||||
private void onLevelConfirm(String levelString) {
|
||||
|
||||
String newPosizione = mtbDepoPosizione.getPosizione().substring(0, mtbDepoPosizione.getPosizione().length() - 1);
|
||||
newPosizione += levelString;
|
||||
|
||||
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(newPosizione);
|
||||
|
||||
if (foundPosizione != null) {
|
||||
resetLevelError();
|
||||
|
||||
completedFLow = true;
|
||||
onComplete.run(foundPosizione);
|
||||
dismiss();
|
||||
|
||||
|
||||
} else {
|
||||
setLevelError(mContext.getResources().getString(R.string.not_valid));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void validateLevel(String levelString) {
|
||||
String newPosizione = mtbDepoPosizione.getPosizione().substring(0, mtbDepoPosizione.getPosizione().length() - 1);
|
||||
newPosizione += levelString;
|
||||
|
||||
if (UtilityPosizione.getFromCache(newPosizione) != null) {
|
||||
resetLevelError();
|
||||
} else setLevelError(mContext.getResources().getString(R.string.not_valid));
|
||||
}
|
||||
|
||||
private void setLevelError(String message) {
|
||||
mBindings.levelNumberLayout.setErrorEnabled(true);
|
||||
mBindings.levelNumberLayout.setError(message);
|
||||
mBindings.levelNumberLayout.setErrorIconDrawable(null);
|
||||
}
|
||||
|
||||
private void resetLevelError() {
|
||||
mBindings.levelNumberLayout.setError(null);
|
||||
}
|
||||
|
||||
|
||||
private void onLevelAbort() {
|
||||
completedFLow = true;
|
||||
onComplete.run(null);
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_livello_posizione;
|
||||
|
||||
public class DialogAskLivelloPosizioneViewModel {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface DialogAskPositionOfLUComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
DialogAskPositionOfLUComponent create();
|
||||
}
|
||||
|
||||
void inject(DialogAskPositionOfLUView dialogAskPositionOfLUView);
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = DialogAskPositionOfLUComponent.class)
|
||||
public class DialogAskPositionOfLUModule {
|
||||
|
||||
@Provides
|
||||
DialogAskPositionOfLUViewModel providesDialogAskPositionOfLUViewModel() {
|
||||
return new DialogAskPositionOfLUViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
@ -20,7 +21,10 @@ import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
@ -33,41 +37,49 @@ import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
|
||||
public class DialogAskPositionOfLUView extends BaseDialogFragment implements DialogInterface.OnShowListener {
|
||||
public class DialogAskPositionOfLUView extends BaseDialogFragment {
|
||||
|
||||
|
||||
@Inject
|
||||
DialogAskPositionOfLUViewModel mViewModel;
|
||||
|
||||
private DialogAskPositionOfLuBinding mBindings;
|
||||
private DialogAskPositionOfLUAdapter viewpagerAdapter;
|
||||
private int mBarcodeScannerIstanceID;
|
||||
|
||||
private boolean mCheckForLineaProd;
|
||||
private Context mContext;
|
||||
private int mBarcodeScannerInstanceID;
|
||||
|
||||
private MtbDepoPosizione currentMtbDepoPosizione;
|
||||
|
||||
private RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete;
|
||||
private RunnableArgs<Exception> onFailed;
|
||||
|
||||
private TextInputLayout livelloTextInputLayout;
|
||||
private boolean mCheckForLineaProd = false;
|
||||
private RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete = null;
|
||||
|
||||
private boolean completedFlow = false;
|
||||
private TextInputLayout livelloTextInputLayout;
|
||||
|
||||
public static DialogAskPositionOfLUView makeBase(boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
return new DialogAskPositionOfLUView(checkForLineaProd, onComplete, onFailed);
|
||||
//Pass here all external parameters
|
||||
public static DialogAskPositionOfLUView newInstance(boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete) {
|
||||
return new DialogAskPositionOfLUView(checkForLineaProd, onComplete);
|
||||
}
|
||||
|
||||
private DialogAskPositionOfLUView(boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
private DialogAskPositionOfLUView(boolean checkForLineaProd, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete) {
|
||||
super();
|
||||
|
||||
this.mCheckForLineaProd = checkForLineaProd;
|
||||
this.onComplete = onComplete;
|
||||
this.onFailed = onFailed;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialogAskPositionOfLUComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.initBarcode();
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogAskPositionOfLuBinding.inflate(LayoutInflater.from(requireActivity()), null, false);
|
||||
mBindings = DialogAskPositionOfLuBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
List<Integer> views = new ArrayList<>();
|
||||
@ -78,11 +90,16 @@ public class DialogAskPositionOfLUView extends BaseDialogFragment implements Dia
|
||||
mBindings.viewpager.setAdapter(viewpagerAdapter);
|
||||
mBindings.viewpager.beginFakeDrag();
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
|
||||
this.initBarcode();
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(false)
|
||||
.setCancelable(isCancelable())
|
||||
.create();
|
||||
alertDialog.setCanceledOnTouchOutside(false);
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
@ -97,6 +114,11 @@ public class DialogAskPositionOfLUView extends BaseDialogFragment implements Dia
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if (getDialog() != null) getDialog().dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialog) {
|
||||
((AppCompatTextView) viewpagerAdapter.getPage(0)
|
||||
@ -142,7 +164,7 @@ public class DialogAskPositionOfLUView extends BaseDialogFragment implements Dia
|
||||
}
|
||||
|
||||
private void initBarcode() {
|
||||
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
mBarcodeScannerInstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessfull)
|
||||
.setOnScanFailed(this::onError));
|
||||
|
||||
@ -151,7 +173,7 @@ public class DialogAskPositionOfLUView extends BaseDialogFragment implements Dia
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
|
||||
BarcodeManager.removeCallback(mBarcodeScannerInstanceID);
|
||||
if (!completedFlow) onComplete.run(DialogConsts.Results.ABORT, null);
|
||||
super.onDismiss(dialog);
|
||||
}
|
||||
@ -237,4 +259,5 @@ public class DialogAskPositionOfLUView extends BaseDialogFragment implements Dia
|
||||
onComplete.run(DialogConsts.Results.ABORT, null);
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_position_of_lu;
|
||||
|
||||
public class DialogAskPositionOfLUViewModel {
|
||||
|
||||
}
|
||||
@ -35,7 +35,7 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
|
||||
DialogScanOrCreateLUViewModel mViewModel;
|
||||
|
||||
private DialogScanOrCreateLuBinding mBindings;
|
||||
private int mBarcodeScannerIstanceID;
|
||||
private int mBarcodeScannerInstanceID;
|
||||
|
||||
private final RunnableArgss<MtbColt, Boolean> mOnComplete;
|
||||
private MtbColt openedMtbColt;
|
||||
@ -109,15 +109,22 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.create();
|
||||
alertDialog.setCanceledOnTouchOutside(false);
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
alertDialog.setOnDismissListener(this);
|
||||
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if(getDialog() != null) getDialog().dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
|
||||
BarcodeManager.enable();
|
||||
BarcodeManager.removeCallback(mBarcodeScannerInstanceID);
|
||||
if (openedMtbColt == null) {
|
||||
mOnComplete.run(null, false);
|
||||
}
|
||||
@ -125,8 +132,10 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void initBarcode() {
|
||||
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
mBarcodeScannerInstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessfull)
|
||||
.setOnScanFailed(this::onError));
|
||||
BarcodeManager.enable();
|
||||
@ -165,6 +174,7 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
|
||||
public void onLUOpened(MtbColt mtbColt, boolean created) {
|
||||
this.openedMtbColt = mtbColt;
|
||||
mOnComplete.run(mtbColt, created);
|
||||
|
||||
dismiss();
|
||||
}
|
||||
|
||||
|
||||
@ -1,68 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<data>
|
||||
<import type="android.text.Html" />
|
||||
<import type="it.integry.integrywmsnative.R" />
|
||||
<variable
|
||||
name="mContext"
|
||||
type="android.content.Context" />
|
||||
</data>
|
||||
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/light_blue_300"
|
||||
android:gravity="center_horizontal">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
android:layout_margin="24dp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="24dp"
|
||||
android:paddingLeft="24dp"
|
||||
android:paddingRight="24dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
||||
android:text="@string/placement"
|
||||
android:gravity="center_horizontal"/>
|
||||
|
||||
|
||||
<include
|
||||
layout="@layout/dialog_ask_position_of_lu__page2" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</layout>
|
||||
58
app/src/main/res/layout/dialog_ask_livello_posizione.xml
Normal file
58
app/src/main/res/layout/dialog_ask_livello_posizione.xml
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="16dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
app:tint="?colorPrimary" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/placement" />
|
||||
|
||||
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/level_number_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/level_number"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/level"
|
||||
android:inputType="number"
|
||||
style="@style/TextInputEditText.OutlinePrimary"/>
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.cardview.widget.CardView>
|
||||
</layout>
|
||||
@ -1,11 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<data>
|
||||
<import type="android.text.Html" />
|
||||
<import type="it.integry.integrywmsnative.R" />
|
||||
</data>
|
||||
|
||||
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
@ -50,5 +44,4 @@
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</layout>
|
||||
Loading…
x
Reference in New Issue
Block a user