From eaeef05e64d17dda5ae8175efe94595e8040a5f2 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 12 Aug 2021 11:02:50 +0200 Subject: [PATCH] Vario --- .../MainApplicationComponent.java | 6 +- .../MainApplicationModule.java | 4 +- .../rest/consumers/ArticoloRESTConsumer.java | 7 +- .../rest/consumers/BarcodeRESTConsumer.java | 6 +- .../consumers/ColliMagazzinoRESTConsumer.java | 13 -- .../rest/consumers/DepositoRESTConsumer.java | 8 +- .../rest/consumers/EntityRESTConsumer.java | 26 +--- .../picking_libero/PickingLiberoFragment.java | 10 +- .../UltimiArriviFornitoreFragment.java | 6 +- .../VersamentoMerceFragment.java | 6 +- .../dialogs/basket_lu/DialogBasketLU.java | 2 +- .../DialogBasketLU_ViewPagerAdapter.java | 12 +- .../DialogChooseArtsFromListaArts.java | 128 ++++++++++-------- ...ialogChooseArtsFromListaArtsComponent.java | 15 ++ .../DialogChooseArtsFromListaArtsModule.java | 7 + 15 files changed, 138 insertions(+), 118 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java index b092b210..bc0fed50 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java @@ -51,6 +51,8 @@ import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviForn import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreModule; import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponent; import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsComponent; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsModule; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent; @@ -94,7 +96,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr DialogRowInfoProdFabbisognoLineeProdModule.class, ProdOrdineProduzioneElencoModule.class, ProdRecuperoMaterialeModule.class, - ProdVersamentoMaterialeModule.class + ProdVersamentoMaterialeModule.class, + DialogChooseArtsFromListaArtsModule.class }) public interface MainApplicationComponent { @@ -128,6 +131,7 @@ public interface MainApplicationComponent { ProdOrdineProduzioneElencoComponent.Factory prodOrdineProduzioneElencoComponent(); ProdRecuperoMaterialeComponent.Factory prodRecuperoMaterialeComponent(); ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent(); + DialogChooseArtsFromListaArtsComponent.Factory dialogChooseArtsFromListaArtsComponent(); void inject(MainApplication mainApplication); diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java index eb1c98d5..1d72f32c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java @@ -87,8 +87,8 @@ public class MainApplicationModule { @Provides @Singleton - DepositoRESTConsumer provideDepositoRESTConsumer() { - return new DepositoRESTConsumer(); + DepositoRESTConsumer provideDepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer) { + return new DepositoRESTConsumer(entityRESTConsumer); } @Provides diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java index c1f4e2a4..185de530 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java @@ -18,7 +18,8 @@ import retrofit2.Response; @Singleton public class ArticoloRESTConsumer extends _BaseRESTConsumer { - public static void getByBarcodeProdStatic(String barcodeProd, RunnableArgs> onComplete, RunnableArgs onFailed) { + + public void getByBarcodeProd(String barcodeProd, RunnableArgs> onComplete, RunnableArgs onFailed) { ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class); articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback>() { @Override @@ -35,10 +36,6 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { }); } - public void getByBarcodeProd(String barcodeProd, RunnableArgs> onComplete, RunnableArgs onFailed) { - getByBarcodeProdStatic(barcodeProd, onComplete, onFailed); - } - public void getByCodMarts(List codMartToFind, RunnableArgs> onComplete, RunnableArgs onFailed) { getByCodMartsStatic(codMartToFind, onComplete, onFailed); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/BarcodeRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/BarcodeRESTConsumer.java index 31ab699a..c03668da 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/BarcodeRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/BarcodeRESTConsumer.java @@ -16,7 +16,7 @@ import retrofit2.Response; @Singleton public class BarcodeRESTConsumer extends _BaseRESTConsumer { - public static void decodeEan128Static(BarcodeScanDTO barcodeObj, RunnableArgs onComplete, RunnableArgs onFailed) { + public void decodeEan128(BarcodeScanDTO barcodeObj, RunnableArgs onComplete, RunnableArgs onFailed) { IBarcodeCustomization barcodeCustomization = ClassRouter.getInstance(ClassRouter.PATH.BARCODE_CUSTOMIZATION); @@ -42,8 +42,4 @@ public class BarcodeRESTConsumer extends _BaseRESTConsumer { } }); } - - public void decodeEan128(BarcodeScanDTO barcodeObj, RunnableArgs onComplete, RunnableArgs onFailed) { - BarcodeRESTConsumer.decodeEan128Static(barcodeObj, onComplete, onFailed); - } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index e7cad6bd..c1164e65 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -57,19 +57,6 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { this.mEntityRESTConsumer = entityRESTConsumer; } - - public static void saveColloStatic(MtbColt mtbColtToSave, final ISimpleOperationCallback callback) { - - for (int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) { - mtbColtToSave.getMtbColr().get(i) - .setMtbAart(null) - .setMtbPartitaMag(null); - } - - EntityRESTConsumer.processEntity(mtbColtToSave, callback, MtbColt.class); - - } - public void saveCollo(MtbColt mtbColtToSave, RunnableArgs onComplete, RunnableArgs onFailed) { MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone(); mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DepositoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DepositoRESTConsumer.java index 7eeeb3d2..ef61ef87 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DepositoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DepositoRESTConsumer.java @@ -11,6 +11,12 @@ import it.integry.integrywmsnative.core.model.MtbDepo; @Singleton public class DepositoRESTConsumer extends _BaseRESTConsumer { + private final EntityRESTConsumer entityRESTConsumer; + + public DepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer) { + this.entityRESTConsumer = entityRESTConsumer; + } + public void getDepoByCodMdep(String codMdep, RunnableArgs onComplete, RunnableArgs onFailed) { MtbDepo mtbDepo = new MtbDepo(); @@ -18,7 +24,7 @@ public class DepositoRESTConsumer extends _BaseRESTConsumer { mtbDepo.setOperation(CommonModelConsts.OPERATION.SELECT); mtbDepo.setOnlyPkMaster(false); - EntityRESTConsumer.selectEntity(mtbDepo, new ISimpleOperationCallback<>() { + this.entityRESTConsumer.selectEntity(mtbDepo, new ISimpleOperationCallback<>() { @Override public void onSuccess(List value) { if (value != null && value.size() > 0) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java index 6c3f35f4..0d3a4fee 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java @@ -22,24 +22,8 @@ import retrofit2.Response; @Singleton public class EntityRESTConsumer extends _BaseRESTConsumer { - public static void processEntity(T entityToSave, RunnableArgs onComplete, RunnableArgs onFailed, Class type) { - processEntity(entityToSave, new ISimpleOperationCallback() { - @Override - public void onSuccess(T value) { - if(onComplete != null) onComplete.run(value); - } - - @Override - public void onFailed(Exception ex) { - if(onFailed != null) onFailed.run(ex); - } - }, type); - - } - - - public static void processEntity(T entityToSave, final ISimpleOperationCallback callback, Class type) { + public void processEntity(T entityToSave, final ISimpleOperationCallback callback, Class type) { RunnableArgs tmpFailed = ex -> { if (callback != null) callback.onFailed(ex); @@ -48,7 +32,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer { EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class); service .processEntity(entityToSave) - .enqueue(new Callback>() { + .enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { if (response.isSuccessful()) { @@ -82,7 +66,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer { } - public static void processEntityList(List entitiesToSave, final ISimpleOperationCallback> callback, boolean singleTransaction, Class type) { + public void processEntityList(List entitiesToSave, final ISimpleOperationCallback> callback, boolean singleTransaction, Class type) { RunnableArgs tmpFailed = ex -> { // UtilityExceptions.defaultException(null, ex); @@ -91,7 +75,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer { EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class); Call>> request = service.processEntityList(singleTransaction, entitiesToSave); - request.enqueue(new Callback>>() { + request.enqueue(new Callback<>() { @Override public void onResponse(Call>> call, Response>> response) { if (response.isSuccessful()) { @@ -136,7 +120,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer { } - public static void selectEntity(T entityToSave, final ISimpleOperationCallback> callback, Class type) { + public void selectEntity(T entityToSave, final ISimpleOperationCallback> callback, Class type) { EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class); Call> request = service.processEntity(entityToSave); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index 40f759dc..c8e1d912 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -290,10 +290,12 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme @Override public void onArtSelectionRequest(List mtbColrsToPick, RunnableArgs> onComplete, Runnable onAbort) { - DialogChooseArtsFromListaArts.make(getActivity(), mtbColrsToPick, onComplete, () -> { - onAbort.run(); - BarcodeManager.enable(); - }); + DialogChooseArtsFromListaArts + .newInstance(mtbColrsToPick, onComplete, () -> { + onAbort.run(); + BarcodeManager.enable(); + }) + .show(requireActivity().getSupportFragmentManager(), "tag"); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java index f4349073..8ea4c517 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java @@ -275,7 +275,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl public void onMtbColtScanned(MtbColt scannedMtbColt) { DialogChooseArtsFromListaArts - .make(getActivity(), scannedMtbColt.getMtbColr(), items -> { + .newInstance(scannedMtbColt.getMtbColr(), items -> { List mtbAarts = Stream.of(items) .map(MtbColr::getMtbAart) @@ -283,7 +283,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl filterItems(mtbAarts); - }, null); - + }, null) + .show(requireActivity().getSupportFragmentManager(), "tag"); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java index c3b374f4..894194d5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java @@ -168,8 +168,10 @@ public class VersamentoMerceFragment extends BaseFragment implements ITitledFrag @Override public void onArtsChooseRequired(List mtbColrList, RunnableArgs> onComplete, Runnable onAbort) { - this.getActivity().runOnUiThread(() -> { - DialogChooseArtsFromListaArts.make(getActivity(), mtbColrList, onComplete, onAbort); + this.requireActivity().runOnUiThread(() -> { + DialogChooseArtsFromListaArts + .newInstance(mtbColrList, onComplete, onAbort) + .show(requireActivity().getSupportFragmentManager(), "tag"); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java index b9ba93c7..f01d1f58 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java @@ -54,7 +54,7 @@ public class DialogBasketLU { } private void initViewPager() { - List> views = new ArrayList<>(); + List>> views = new ArrayList<>(); views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class)); views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class)); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU_ViewPagerAdapter.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU_ViewPagerAdapter.java index bf4e2edc..1dafa3db 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU_ViewPagerAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU_ViewPagerAdapter.java @@ -17,21 +17,19 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import it.integry.integrywmsnative.BR; import it.integry.integrywmsnative.ui.DeactivatableViewPager; -import it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel.IDialogAskClienteViewModel; import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.IDialogBasketLUViewModel; public class DialogBasketLU_ViewPagerAdapter extends PagerAdapter implements ViewPager.OnPageChangeListener { - private Context mContext; + private final Context mContext; - private List> mDatasetLayout; - private List> mDatasetViews; + private final List>> mDatasetLayout; + private final List> mDatasetViews; private DeactivatableViewPager viewPager; - public DialogBasketLU_ViewPagerAdapter(Context context, List> datasetLayouts) { + public DialogBasketLU_ViewPagerAdapter(Context context, List>> datasetLayouts) { this.mContext = context; this.mDatasetLayout = datasetLayouts; this.mDatasetViews = new ArrayList<>(); @@ -47,7 +45,7 @@ public class DialogBasketLU_ViewPagerAdapter extends PagerAdapter implements Vie LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); ViewDataBinding mBinding = DataBindingUtil.inflate(inflater, viewId, null, false); - Class viewModelClass = mDatasetLayout.get(position).getValue(); + Class viewModelClass = mDatasetLayout.get(position).getValue(); IDialogBasketLUViewModel viewModel = null; try { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java index 77448e77..16d00ccc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java @@ -2,27 +2,33 @@ package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; import android.app.Dialog; import android.content.Context; +import android.content.DialogInterface; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; +import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.widget.SearchView; import androidx.databinding.DataBindingUtil; -import androidx.fragment.app.FragmentActivity; import androidx.recyclerview.widget.LinearLayoutManager; import com.annimon.stream.Stream; -import org.jetbrains.annotations.NotNull; - 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; +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; @@ -37,28 +43,33 @@ import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding; import it.integry.integrywmsnative.view.dialogs.DialogCommon; -public class DialogChooseArtsFromListaArts { +public class DialogChooseArtsFromListaArts extends BaseDialogFragment { - private Context currentContext; - private Dialog mDialog; + @Inject + BarcodeRESTConsumer barcodeRESTConsumer; + + @Inject + ArticoloRESTConsumer articoloRESTConsumer; + + private Context context; private DialogChooseArtsFromListaArtsLayoutBinding mBindings; private DialogChooseArtsFromListaArtsAdapter currentAdapter; - private RunnableArgs> mOnItemsChoosed; - private Runnable mOnAbort; + private final RunnableArgs> mOnItemsChoosed; + private final Runnable mOnAbort; - private List mDataset; + private final List mDataset; - public static void make(@NotNull final FragmentActivity activity, List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { - activity.runOnUiThread(() -> { - new DialogChooseArtsFromListaArts(activity, listaMtbColr, onItemsChoosed, onAbort).mDialog.show(); - }); + private int mBarcodeScannerIstanceID; + + public static DialogChooseArtsFromListaArts newInstance(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { + return new DialogChooseArtsFromListaArts(listaMtbColr, onItemsChoosed, onAbort); } + private DialogChooseArtsFromListaArts(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { + super(); - private DialogChooseArtsFromListaArts(Context context, List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { - currentContext = context; mOnItemsChoosed = onItemsChoosed; mOnAbort = onAbort; @@ -73,50 +84,54 @@ public class DialogChooseArtsFromListaArts { mDataset.add(new DialogChooseArtsFromListaArtsItemModel().setMtbColr(mtbColr)); } } + } - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + super.onCreateView(inflater, container, savedInstanceState); + + this.context = getActivity(); mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_lista_arts_layout, null, false); + mBindings.setLifecycleOwner(getViewLifecycleOwner()); - mBindings.emptyView.setVisibility(listaMtbColr != null && listaMtbColr.size() > 0 ? View.GONE : View.VISIBLE); + MainApplication.appComponent + .dialogChooseArtsFromListaArtsComponent() + .create() + .inject(this); + UtilityDialog.setTo90PercentWidth(context, this); - mDialog = new Dialog(context); - mDialog.setContentView(mBindings.getRoot()); - mDialog.setCanceledOnTouchOutside(false); - mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - mDialog.setOnCancelListener(dialog -> { - if (this.mOnAbort != null) this.mOnAbort.run(); - }); - - UtilityDialog.setTo90PercentWidth(context, mDialog); + mBindings.emptyView.setVisibility(mDataset != null && mDataset.size() > 0 ? View.GONE : View.VISIBLE); initRecyclerView(); - initFilter(); - setupBarcode(); mBindings.positiveButton.setOnClickListener(v -> { - mDialog.dismiss(); + dismiss(); onPositiveClick(); }); mBindings.negativeButton.setOnClickListener(v -> { - mDialog.dismiss(); + dismiss(); onNegativeClick(); }); + + getDialog().setCanceledOnTouchOutside(false); + getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + return mBindings.getRoot(); } + private void initRecyclerView() { mBindings.listaArts.setNestedScrollingEnabled(false); - mBindings.listaArts.setHasFixedSize(true); + mBindings.listaArts.setLayoutManager(new LinearLayoutManager(context)); - mBindings.listaArts.setLayoutManager(new LinearLayoutManager(currentContext)); - - currentAdapter = new DialogChooseArtsFromListaArtsAdapter(currentContext, mDataset); + currentAdapter = new DialogChooseArtsFromListaArtsAdapter(context, mDataset); mBindings.listaArts.setAdapter(currentAdapter); } @@ -178,9 +193,9 @@ public class DialogChooseArtsFromListaArts { String diacod = x.getMtbColr().getMtbAart().getDiacod().toLowerCase(); return ((codMart.startsWith(finalNewText) || - codMart.endsWith(finalNewText) || - codMart.contains(finalNewText) || - codMart.equalsIgnoreCase(finalNewText)) || + codMart.endsWith(finalNewText) || + codMart.contains(finalNewText) || + codMart.equalsIgnoreCase(finalNewText)) || (descrizioneArt.startsWith(finalNewText) || descrizioneArt.endsWith(finalNewText) || descrizioneArt.contains(finalNewText) || @@ -206,21 +221,28 @@ public class DialogChooseArtsFromListaArts { private void setupBarcode() { BarcodeManager.enable(); - int barcodeIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() + mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() .setOnScanSuccessfull(onScanSuccessfull) - .setOnScanFailed(ex -> UtilityExceptions.defaultException(currentContext, ex, false))); + .setOnScanFailed(ex -> UtilityExceptions.defaultException(context, ex, false))); - mDialog.setOnDismissListener(dialog -> { - BarcodeManager.removeCallback(barcodeIstanceID); - }); } + + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + BarcodeManager.removeCallback(mBarcodeScannerIstanceID); + this.mOnAbort.run(); + super.onDismiss(dialog); + } + + private final RunnableArgs onScanSuccessfull = data -> { BarcodeManager.disable(); - Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(currentContext); + Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(context); if (UtilityBarcode.isEan13(data)) { this.loadArticolo(data.getStringValue(), null, progressDialog); @@ -236,7 +258,7 @@ public class DialogChooseArtsFromListaArts { private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Dialog progressDialog) { - BarcodeRESTConsumer.decodeEan128Static(barcodeScanDTO, ean128Model -> { + this.barcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> { String barcodeProd = null; @@ -251,7 +273,7 @@ public class DialogChooseArtsFromListaArts { if (!UtilityString.isNullOrEmpty(ean128Model.Gtin) || !UtilityString.isNullOrEmpty(ean128Model.Content)) { this.loadArticolo(barcodeProd, ean128Model, progressDialog); } else { - DialogCommon.showNoArtFoundDialog(currentContext, () -> { + DialogCommon.showNoArtFoundDialog(context, () -> { BarcodeManager.enable(); progressDialog.dismiss(); }); @@ -261,14 +283,14 @@ public class DialogChooseArtsFromListaArts { } else { //EAN 128 non completo o comunque mancano i riferimenti al prodotto - DialogCommon.showNoArtFoundDialog(currentContext, () -> { + DialogCommon.showNoArtFoundDialog(context, () -> { BarcodeManager.enable(); progressDialog.dismiss(); }); } }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(context, ex, progressDialog); BarcodeManager.enable(); }); } @@ -280,7 +302,7 @@ public class DialogChooseArtsFromListaArts { } String finalBarcodeProd = barcodeProd; - ArticoloRESTConsumer.getByBarcodeProdStatic(barcodeProd, mtbAartList -> { + this.articoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> { if (mtbAartList != null && mtbAartList.size() > 0) { this.mBindings.mainSearch.setQuery(finalBarcodeProd, false); @@ -292,7 +314,7 @@ public class DialogChooseArtsFromListaArts { } else { - DialogCommon.showNoArtFoundDialog(currentContext, () -> { + DialogCommon.showNoArtFoundDialog(context, () -> { BarcodeManager.enable(); progressDialog.dismiss(); }); @@ -300,7 +322,7 @@ public class DialogChooseArtsFromListaArts { }, ex -> { BarcodeManager.enable(); - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(context, ex, progressDialog); }); } @@ -314,7 +336,7 @@ public class DialogChooseArtsFromListaArts { .toList(); if (foundRowsList.size() == 0) { - DialogCommon.showNoArtFoundDialog(currentContext, null); + DialogCommon.showNoArtFoundDialog(context, null); } else { for (int i = 0; i < mDataset.size(); i++) { @@ -339,7 +361,7 @@ public class DialogChooseArtsFromListaArts { private void onNegativeClick() { - if (this.mOnAbort != null) mOnAbort.run(); + this.dismiss(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java new file mode 100644 index 00000000..e99add7f --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java @@ -0,0 +1,15 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +import dagger.Subcomponent; + +@Subcomponent +public interface DialogChooseArtsFromListaArtsComponent { + + @Subcomponent.Factory + interface Factory { + DialogChooseArtsFromListaArtsComponent create(); + } + + void inject(DialogChooseArtsFromListaArts dialogChooseArtsFromListaArts); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java new file mode 100644 index 00000000..fd6c526b --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java @@ -0,0 +1,7 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +import dagger.Module; + +@Module(subcomponents = DialogChooseArtsFromListaArtsComponent.class) +public class DialogChooseArtsFromListaArtsModule { +}