diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4db6c11f..bca4665b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,12 +76,6 @@ android:resource="@xml/provider_paths" /> - \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java index 1ff3cada..99d90405 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java @@ -26,6 +26,7 @@ import android.widget.TextView; import androidx.fragment.app.FragmentTransaction; import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.interfaces.IFilterableFragment; +import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment; import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -43,7 +44,7 @@ import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment; import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment; public class MainActivity extends AppCompatActivity - implements NavigationView.OnNavigationItemSelectedListener { + implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity { private ActivityMainBinding mBinding; @@ -74,7 +75,7 @@ public class MainActivity extends AppCompatActivity mBinding.navView.setNavigationItemSelectedListener(this); mBinding.appBarMain.mainSearch.setVisibility(View.GONE); - popToMain(); + pop(); init(); } @@ -99,7 +100,7 @@ public class MainActivity extends AppCompatActivity if (count == 0) { super.onBackPressed(); } else { - getSupportFragmentManager().popBackStack(); + pop(); } } } @@ -131,7 +132,7 @@ public class MainActivity extends AppCompatActivity int id = item.getItemId(); if (id == R.id.nav_home) { - this.popToMain(); + this.pop(); } else if (id == R.id.nav_accettazione) { fragment = MainAccettazioneFragment.newInstance(); this.adaptViewToFragment(fragment); @@ -166,12 +167,14 @@ public class MainActivity extends AppCompatActivity return true; } - public void popToMain() { + @Override + public void pop() { MainFragment mainFragment = MainFragment.newInstance(); adaptViewToFragment(mainFragment); changeContentFragment(mainFragment, false); + mBinding.navView.setCheckedItem(R.id.nav_home); } private void adaptViewToFragment(Fragment fragment){ diff --git a/app/src/main/java/it/integry/integrywmsnative/core/interfaces/IPoppableActivity.java b/app/src/main/java/it/integry/integrywmsnative/core/interfaces/IPoppableActivity.java new file mode 100644 index 00000000..e993074f --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/interfaces/IPoppableActivity.java @@ -0,0 +1,7 @@ +package it.integry.integrywmsnative.core.interfaces; + +public interface IPoppableActivity { + + void pop(); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoActivity.java deleted file mode 100644 index 03e9e151..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoActivity.java +++ /dev/null @@ -1,66 +0,0 @@ -package it.integry.integrywmsnative.gest.picking_libero; - -import androidx.appcompat.app.AppCompatActivity; -import androidx.databinding.DataBindingUtil; -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.utility.UtilityExceptions; -import it.integry.integrywmsnative.databinding.ActivityPickingLiberoBinding; -import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper; -import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel; - -import android.os.Bundle; - -public class PickingLiberoActivity extends AppCompatActivity { - - private ActivityPickingLiberoBinding mBindings; - - private PickingLiberoHelper mHelper; - private PickingLiberoViewModel mViewModel; - - private int barcodeScannerIstanceID = -1; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mBindings = DataBindingUtil.setContentView(this, R.layout.activity_picking_libero); - - mHelper = new PickingLiberoHelper(this); -/* - mViewModel = new PickingLiberoViewModel(); - mViewModel.init(this, mBindings, mHelper, getSupportActionBar()); - - mBindings.setViewmodel(mViewModel); - - setSupportActionBar(this.mBindings.layout.toolbar); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - getSupportActionBar().setDisplayShowTitleEnabled(false); - - barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() - .setOnScanSuccessfull(mViewModel.onScanSuccessfull) - .setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false))); - - - mBindings.layout.waterfallToolbar.setNestedScrollView(mBindings.layout.scrollView); - */ - } - - public void setTitle(String title) { - mBindings.layout.toolbarTitle.setText(title); - } - - @Override - public boolean onSupportNavigateUp() { - onBackPressed(); - return true; - } - - @Override - public void onBackPressed() { - mViewModel.onBackPressed(); - - BarcodeManager.removeCallback(barcodeScannerIstanceID); - super.onBackPressed(); - } -} 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 c0b3916a..c4b990e4 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 @@ -80,4 +80,10 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment { return mBindings.getRoot(); } + @Override + public void onDetach() { + BarcodeManager.removeCallback(barcodeScannerIstanceID); + super.onDetach(); + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java index 87aba666..d9fc57d5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java @@ -25,19 +25,14 @@ import androidx.databinding.ObservableList; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.CommonConst; -import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; -import it.integry.integrywmsnative.core.REST.model.Ean128Model; -import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked; import it.integry.integrywmsnative.core.model.CommonModelConsts; -import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; @@ -46,17 +41,13 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.databinding.ActivityPickingLiberoBinding; import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding; -import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoActivity; import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper; import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter; -import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.ui.StatusBarAlert; import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; -import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO; import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; public class PickingLiberoViewModel implements IRecyclerItemClicked { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java index a51fb212..a1222b72 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java @@ -32,6 +32,7 @@ import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked; import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.MtbAart; @@ -379,7 +380,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked public void openLU() { DialogScanOrCreateLU.make(mContext, mtbColt -> { if(mtbColt == null) { - ((MainActivity)mContext).popToMain(); + ((IPoppableActivity)mContext).pop(); } else { setMtbColt(mtbColt); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java index c103f461..8149c432 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/MainVenditaFragment.java @@ -39,7 +39,6 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityToast; import it.integry.integrywmsnative.databinding.FragmentMainVenditaBinding; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; -import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoActivity; import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter; import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper; import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzato; 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 f7ec7157..fd2ef14c 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 @@ -10,9 +10,11 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import it.integry.integrywmsnative.MainActivity; 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.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.databinding.FragmentMainVersamentoMerceBinding; @@ -69,7 +71,9 @@ public class VersamentoMerceFragment extends Fragment implements ITitledFragment private void init() { mHelper = new VersamentoMerceHelper(getActivity()); - mVersamentoMerceViewModel.init(getActivity(), mBinding, mHelper); + mVersamentoMerceViewModel.init(getActivity(), mBinding, mHelper, () -> { + ((IPoppableActivity) getActivity()).pop(); + }); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java index 3a761688..b13b7843 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java @@ -23,6 +23,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsume import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; @@ -53,16 +54,20 @@ public class VersamentoMerceViewModel { public ObservableField mtbColt = new ObservableField<>(); - public void init(Activity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper) { + + private Runnable mOnVersamentoCompleted; + + public void init(Activity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper, Runnable onVersamentoCompleted) { mContext = context; mBinding = binding; mHelper = helper; + mOnVersamentoCompleted = onVersamentoCompleted; } public void openLU() { DialogScanOrCreateLU.make(mContext, true, mtbColt -> { if(mtbColt == null) { - ((MainActivity)mContext).popToMain(); + ((IPoppableActivity)mContext).pop(); } else if((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)){ setMtbColt(mtbColt); } else { @@ -227,7 +232,7 @@ public class VersamentoMerceViewModel { progressDialog.dismiss(); BarcodeManager.enable(); - showDataSavedDialog(); + showDataSavedDialog(mOnVersamentoCompleted); }, ex -> { UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); @@ -361,7 +366,9 @@ public class VersamentoMerceViewModel { ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> { - showDataSavedDialog(); + showDataSavedDialog(() -> { + mOnVersamentoCompleted.run(); + }); }, ex -> { UtilityExceptions.defaultException(mContext, ex); }); @@ -369,14 +376,15 @@ public class VersamentoMerceViewModel { } - private void showDataSavedDialog() { + private void showDataSavedDialog(Runnable onComplete) { DialogSimpleMessageHelper.makeSuccessDialog( mContext, mContext.getResources().getString(R.string.completed), new SpannableString(mContext.getResources().getString(R.string.data_saved)), null, () -> { - resetMtbColt(); + onComplete.run(); + //resetMtbColt(); }).show(); } 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 c5fce61e..32a91c65 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 @@ -8,6 +8,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import android.view.LayoutInflater; +import android.view.View; import java.util.List; @@ -48,6 +49,7 @@ public class DialogChooseArtsFromListaArts { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); DialogChooseArtsFromListaArtsLayoutBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_lista_arts_layout, null, false); + binding.emptyView.setVisibility(listaMtbColr != null && listaMtbColr.size() > 0 ? View.GONE : View.VISIBLE); final AlertDialog.Builder alertDialog = new AlertDialog.Builder(context) .setView(binding.getRoot()) diff --git a/app/src/main/res/layout/activity_picking_libero.xml b/app/src/main/res/layout/activity_picking_libero.xml index 48476662..ce5a952b 100644 --- a/app/src/main/res/layout/activity_picking_libero.xml +++ b/app/src/main/res/layout/activity_picking_libero.xml @@ -1,8 +1,7 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> @@ -15,15 +14,42 @@ - + + + + + + + + + + + + + - - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml b/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml index 5ec6d44f..e7d4b923 100644 --- a/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml +++ b/app/src/main/res/layout/dialog_choose_arts_from_lista_arts_layout.xml @@ -2,6 +2,10 @@ + + + + - + + + + + + + + + + +