diff --git a/app/build.gradle b/app/build.gradle
index 28adf0b0..c2cd13e9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -24,12 +24,12 @@ android {
}
}
- compileSdkVersion 29
+ compileSdkVersion 30
defaultConfig {
applicationId "it.integry.integrywmsnative"
minSdkVersion 21
- targetSdkVersion 29
+ targetSdkVersion 30
versionCode appVersionCode
versionName appVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -104,15 +104,15 @@ dependencies {
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.cardview:cardview:1.0.0'
- implementation 'androidx.recyclerview:recyclerview:1.1.0'
+ implementation 'androidx.recyclerview:recyclerview:1.2.0'
implementation 'androidx.preference:preference-ktx:1.1.1'
- implementation 'com.squareup.okhttp3:okhttp:4.9.0'
+ implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
- implementation 'com.annimon:stream:1.2.1'
- implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
+ implementation 'com.annimon:stream:1.2.2'
+ implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
- implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.0'
+ implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
implementation 'org.apache.commons:commons-text:1.9'
//MVVM
@@ -127,16 +127,16 @@ dependencies {
implementation 'com.github.clans:fab:1.6.4'
//CUSTOM VIEWS
implementation 'com.github.NaimishTrivedi:FBToast:1.0'
- implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
+ implementation 'com.github.cachapa:ExpandableLayout:2.9.2'
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
- implementation 'com.fede987:status-bar-alert:1.0.1'
- implementation 'com.fxn769:stash:1.2'
- testImplementation 'junit:junit:4.13.1'
+ implementation 'com.github.fede87:StatusBarAlert:1.0.1'
+ implementation 'com.github.akshay2211:Stash:master'
+ testImplementation 'junit:junit:4.13.2'
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
implementation 'com.github.pedromassango:doubleClick:3.0'
//SQLite ROOM
- def room_version = "2.2.6"
+ def room_version = "2.3.0"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
@@ -150,11 +150,12 @@ dependencies {
implementation project(':barcode_base_android_library')
implementation project(':honeywellscannerlibrary')
implementation project(':keyobardemulatorscannerlibrary')
- implementation project(':barcode_kaiteki')
- androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
- androidTestImplementation 'org.testng:testng:7.3.0'
+ androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'
+ androidTestImplementation 'org.testng:testng:7.4.0'
}
+
repositories {
mavenCentral()
google()
+ maven { url 'https://jitpack.io' }
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1439c8a7..90a5623f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,6 +7,7 @@
+
getAll();
- @Query("SELECT *, COUNT(articoli_griglia.articolo_griglia_id) as countArticoli from griglie LEFT JOIN articoli_griglia ON (griglie.griglia_id = articoli_griglia.id_griglia) where cod_alis = :codAlis GROUP BY griglie.griglia_id")
+ @Query("SELECT griglie.*, COUNT(articoli_griglia.articolo_griglia_id) as countArticoli from griglie LEFT JOIN articoli_griglia ON (griglie.griglia_id = articoli_griglia.id_griglia) where cod_alis = :codAlis GROUP BY griglie.griglia_id")
GrigliaWrapper findByCodAlis(String codAlis);
@Insert
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java
index 093507c0..b056d387 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java
@@ -11,6 +11,7 @@ import androidx.room.PrimaryKey;
@Index(value = "cod_alis", unique = true)
}
)
+
public class Griglia {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "griglia_id")
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java
index cdc2bee5..4bb3dc50 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java
@@ -40,12 +40,14 @@ public class BaseActivity extends AppCompatActivity {
protected void openProgress() {
+ BarcodeManager.disable();
if (this.mCurrentProgress == null) {
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(this);
}
}
protected void closeProgress() {
+ BarcodeManager.enable();
if (mCurrentProgress != null) {
mCurrentProgress.dismiss();
mCurrentProgress = null;
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityString.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityString.java
index cbbeea5b..53e7ceb2 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityString.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityString.java
@@ -23,7 +23,7 @@ public class UtilityString {
}
public static String empty2null(String stringToCheck) {
- return (stringToCheck != null && stringToCheck.trim().length() == 0 || stringToCheck == null) ? null : stringToCheck.trim();
+ return (stringToCheck == null || stringToCheck.trim().length() == 0) ? null : stringToCheck.trim();
}
public static String capitalizeWords(String capString){
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/viewmodel/ContenutoBancaleViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/viewmodel/ContenutoBancaleViewModel.java
index f4a5ab67..5219400b 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/viewmodel/ContenutoBancaleViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/viewmodel/ContenutoBancaleViewModel.java
@@ -7,7 +7,6 @@ import android.text.SpannableString;
import androidx.core.content.ContextCompat;
import androidx.databinding.ObservableField;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import it.integry.integrywmsnative.R;
@@ -24,6 +23,7 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity;
import it.integry.integrywmsnative.gest.contenuto_bancale.core.ContenutoBancaleListAdapter;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
import static android.app.Activity.RESULT_OK;
@@ -66,7 +66,7 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked
mContext.bindings.contenutoBancaleMainList.setLayoutManager(new LinearLayoutManager(mContext));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
mContext.bindings.contenutoBancaleMainList.addItemDecoration(itemDecorator);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/viewmodel/ListaBancaliViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/viewmodel/ListaBancaliViewModel.java
index 274129ea..6f4fc2ca 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/viewmodel/ListaBancaliViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/viewmodel/ListaBancaliViewModel.java
@@ -2,22 +2,22 @@ package it.integry.integrywmsnative.gest.lista_bancali.viewmodel;
import android.app.Dialog;
-import androidx.databinding.ObservableArrayList;
import androidx.core.content.ContextCompat;
-import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
+import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.gest.lista_bancali.core.MainListListaColliAdapter;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
public class ListaBancaliViewModel implements IRecyclerItemClicked {
@@ -42,7 +42,7 @@ public class ListaBancaliViewModel implements IRecyclerItemClicked {
mContext.bindings.listaColliMainList.setHasFixedSize(true);
mContext.bindings.listaColliMainList.setLayoutManager(new LinearLayoutManager(mContext));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
mContext.bindings.listaColliMainList.addItemDecoration(itemDecorator);
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 ee558fd1..7e319cd8 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
@@ -13,7 +13,6 @@ import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableList;
import androidx.fragment.app.Fragment;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.tfb.fbtoast.FBToast;
@@ -52,6 +51,7 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGExcep
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteView;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
@@ -168,7 +168,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
mBindings.pickingLiberoMainList.setHasFixedSize(true);
mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java
index 4da7c280..a8f24976 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java
@@ -9,7 +9,6 @@ import android.widget.Toast;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.ArrayList;
@@ -40,6 +39,7 @@ import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.adapter.OrdineAc
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.EditArticoloDialog;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.helper.PVEditOrderHelper;
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
@@ -114,7 +114,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
mBinding.articoliOrdineList.setLayoutManager(new LinearLayoutManager(this));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(this, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(this, R.drawable.divider));
mBinding.articoliOrdineList.addItemDecoration(itemDecorator);
mAdapter = new OrdineAcquistoArtListAdapter(this, mArticoli, this::selectAction);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java
index 065c665c..8246e7cf 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java
@@ -15,7 +15,6 @@ import androidx.appcompat.widget.AppCompatTextView;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.Fragment;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.ArrayList;
@@ -46,6 +45,7 @@ import it.integry.integrywmsnative.gest.pv_ordini_acquisto.core.OrdineAcquistoPv
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs.DialogScanLisA;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.helper.OrdineAcquistoPvHelper;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
@@ -169,7 +169,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
mBinding.ordiniAApertiMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
mBinding.ordiniAApertiMainList.addItemDecoration(itemDecorator);
mAdapter = new OrdineAcquistoPvOpenListAdapter(getActivity(), mRenderedOrderList, this::selectAction);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java
index 0d4e5772..edaaf44d 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java
@@ -17,7 +17,6 @@ import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableField;
import androidx.fragment.app.Fragment;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.google.android.material.textfield.TextInputLayout;
@@ -57,13 +56,14 @@ import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts;
-import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
+import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView;
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
@@ -153,7 +153,7 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
mBinding.rettificaGiacenzeMainList.setHasFixedSize(true);
mBinding.rettificaGiacenzeMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));
mBinding.rettificaGiacenzeMainList.addItemDecoration(itemDecorator);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java
index a613a931..c5225a75 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java
@@ -42,6 +42,7 @@ 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.MtbDepoPosizione;
+import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
@@ -68,7 +69,7 @@ import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPosi
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
-import it.integry.integrywmsnative.view.dialogs.camera_barcode_reader.DialogCameraBarcodeReader;
+import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView;
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
@@ -642,13 +643,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
}, BarcodeManager::enable).show();
}
- public void startCameraBarcode() {
- DialogCameraBarcodeReader.newInstance(this, data -> {
- this.onScanSuccessful.run(data);
- })
- .show(getSupportFragmentManager(), "camera_barcode");
- }
-
public void removeListFilter() {
this.mViewmodel.resetMatchedRows();
}
@@ -724,7 +718,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
DialogSimpleMessageView
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
- .show(getSupportFragmentManager(), "tag");;
+ .show(getSupportFragmentManager(), "tag");
}
@Override
@@ -765,7 +759,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
() -> onComplete.run(true),
() -> onComplete.run(false)
)
- .show(getSupportFragmentManager(), "tag");
+ .show(getSupportFragmentManager(), "tag");
}
@Override
@@ -859,6 +853,12 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
}).show();
}
+ @Override
+ public void onBatchLotSelectionRequest(List availableBatchLots, RunnableArgs onComplete) {
+ DialogChooseBatchLotView.newInstance(availableBatchLots, onComplete)
+ .show(getSupportFragmentManager(), "tag");
+ }
+
@Override
public void onRowSaved() {
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
index cf516e7e..4357e998 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
@@ -395,6 +395,11 @@ public class SpedizioneViewModel {
if (this.mListener != null) mListener.onLUPositionChangeRequest(onComplete);
}
+ private void sendBatchLotSelectionRequest(List availableBatchLots, RunnableArgs onComplete) {
+ if (this.mListener != null)
+ mListener.onBatchLotSelectionRequest(availableBatchLots, onComplete);
+ }
+
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
//Se non c'è una UL aperta
@@ -758,6 +763,69 @@ public class SpedizioneViewModel {
public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, boolean canPartitaMagBeChanged) {
+ //TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
+
+ if (pickingObjectDTO.getTempPickData() != null &&
+ pickingObjectDTO.getTempPickData().getSourceMtbColt() != null &&
+ pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null) {
+
+
+ List availableBatchLot = Stream.of(pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr())
+ .filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && (
+ x.getPartitaMag() == null || UtilityString.isNullOrEmpty(x.getMtbPartitaMag().getDataScadS()) || UtilityDate.getDateInstance().before(x.getMtbPartitaMag().getDataScadD())
+ ))
+ .distinctBy(MtbColr::getPartitaMag)
+ .map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag())
+ .toList();
+
+ if(availableBatchLot.size() > 1) {
+ this.sendOnLoadingStarted();
+
+ List tmp = new ArrayList<>();
+
+ if(Stream.of(availableBatchLot).anyMatch(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()))) {
+ tmp.addAll(
+ Stream.of(availableBatchLot)
+ .filter(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()) && UtilityDate.getDateInstance().before(x.getDataScadD()))
+ .sortBy(MtbPartitaMag::getDataScadD)
+ .toList());
+ }
+
+ if(Stream.of(availableBatchLot).anyMatch(x -> UtilityString.isNullOrEmpty(x.getDataScadS()))) {
+ tmp.addAll(
+ Stream.of(availableBatchLot)
+ .filter(x -> UtilityString.isNullOrEmpty(x.getDataScadS()))
+ .sortBy(MtbPartitaMag::getPartitaMag)
+ .toList());
+ }
+
+ this.sendBatchLotSelectionRequest(tmp, selected -> {
+ this.sendOnLoadingEnded();
+
+ if(selected != null) {
+ MtbColr scannedMtbColr = Stream.of(pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr())
+ .filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
+ ((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag())) ||
+ (x.getPartitaMag() == null && selected.getPartitaMag() == null)))
+ .toList()
+ .get(0);
+
+ dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, scannedMtbColr, canPartitaMagBeChanged);
+ }
+ });
+
+ } else {
+ dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, null, canPartitaMagBeChanged);
+ }
+
+ } else {
+ dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, null, canPartitaMagBeChanged);
+ }
+
+
+ }
+
+ private void dispatchOrdineRowOnPostBatchLotSelection(final PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, MtbColr scannedMtbColr, boolean canPartitaMagBeChanged) {
BigDecimal totalQtaOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
BigDecimal totalNumCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
BigDecimal qtaCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd();
@@ -791,21 +859,13 @@ public class SpedizioneViewModel {
Date dataScad = null;
- //TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
- MtbColr scannedMtbColr = pickingObjectDTO.getTempPickData() != null &&
- pickingObjectDTO.getTempPickData().getSourceMtbColt() != null &&
- pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null &&
- pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ?
- pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
-
-
if (refMtbColt == null && pickingObjectDTO.getMtbColts() != null && pickingObjectDTO.getMtbColts().size() == 1) {
refMtbColt = pickingObjectDTO.getMtbColts().get(0);
}
MtbColr refMtbColr = null;
- if (refMtbColt != null && refMtbColt.getMtbColr().size() > 0) {
+ if (scannedMtbColr != null && refMtbColt != null && refMtbColt.getMtbColr().size() > 0) {
Optional optionalMtbColr = Stream.of(refMtbColt.getMtbColr())
.filter(y -> UtilityString.equalsIgnoreCase(y.getCodMart(), scannedMtbColr.getCodMart()) &&
UtilityString.equalsIgnoreCase(y.getCodTagl(), scannedMtbColr.getCodTagl()) &&
@@ -933,7 +993,6 @@ public class SpedizioneViewModel {
});
}
-
public void dispatchExtraItem(MtbAart mtbAart, Ean128Model ean128Model, MtbColr mtbColrToUse) {
PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
@@ -1460,7 +1519,7 @@ public class SpedizioneViewModel {
MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone();
- if(mCurrentMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) {
+ if (mCurrentMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) {
mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE);
} else {
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT);
@@ -1540,7 +1599,7 @@ public class SpedizioneViewModel {
} else {
distribuisciLU(mtbColts -> {
- if(this.mIsNewLU) {
+ if (this.mIsNewLU) {
this.sendLUPositionChangeRequest((shouldChangePosition, mtbDepoPosizione) -> {
if (shouldChangePosition) {
@@ -1702,7 +1761,7 @@ public class SpedizioneViewModel {
this.mCurrentMtbColt = null;
- if(mEnableQuantityReset) {
+ if (mEnableQuantityReset) {
for (PickingObjectDTO pickingObjectDTO : mPickingList.getValue()) {
List withdrawMtbColrList = pickingObjectDTO.getWithdrawMtbColrs();
@@ -1864,6 +1923,8 @@ public class SpedizioneViewModel {
void onLUPositionChangeRequest(RunnableArgss onComplete);
+
+ void onBatchLotSelectionRequest(List availableBatchLots, RunnableArgs onComplete);
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/ui/SimpleDividerItemDecoration.java b/app/src/main/java/it/integry/integrywmsnative/ui/SimpleDividerItemDecoration.java
new file mode 100644
index 00000000..40d664b5
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/ui/SimpleDividerItemDecoration.java
@@ -0,0 +1,165 @@
+package it.integry.integrywmsnative.ui;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.util.Log;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+public class SimpleDividerItemDecoration extends RecyclerView.ItemDecoration {
+ public static final int HORIZONTAL = LinearLayout.HORIZONTAL;
+ public static final int VERTICAL = LinearLayout.VERTICAL;
+
+ private static final String TAG = "DividerItem";
+ private static final int[] ATTRS = new int[]{ android.R.attr.listDivider };
+
+ private Drawable mDivider;
+
+ /**
+ * Current orientation. Either {@link #HORIZONTAL} or {@link #VERTICAL}.
+ */
+ private int mOrientation;
+
+ private final Rect mBounds = new Rect();
+
+ /**
+ * Creates a divider {@link RecyclerView.ItemDecoration} that can be used with a
+ * {@link LinearLayoutManager}.
+ *
+ * @param context Current context, it will be used to access resources.
+ * @param orientation Divider orientation. Should be {@link #HORIZONTAL} or {@link #VERTICAL}.
+ */
+ public SimpleDividerItemDecoration(Context context, int orientation) {
+ final TypedArray a = context.obtainStyledAttributes(ATTRS);
+ mDivider = a.getDrawable(0);
+ if (mDivider == null) {
+ Log.w(TAG, "@android:attr/listDivider was not set in the theme used for this "
+ + "DividerItemDecoration. Please set that attribute all call setDrawable()");
+ }
+ a.recycle();
+ setOrientation(orientation);
+ }
+
+ /**
+ * Sets the orientation for this divider. This should be called if
+ * {@link RecyclerView.LayoutManager} changes orientation.
+ *
+ * @param orientation {@link #HORIZONTAL} or {@link #VERTICAL}
+ */
+ public void setOrientation(int orientation) {
+ if (orientation != HORIZONTAL && orientation != VERTICAL) {
+ throw new IllegalArgumentException(
+ "Invalid orientation. It should be either HORIZONTAL or VERTICAL");
+ }
+ mOrientation = orientation;
+ }
+
+ /**
+ * Sets the {@link Drawable} for this divider.
+ *
+ * @param drawable Drawable that should be used as a divider.
+ */
+ public void setDrawable(@NonNull Drawable drawable) {
+ if (drawable == null) {
+ throw new IllegalArgumentException("Drawable cannot be null.");
+ }
+ mDivider = drawable;
+ }
+
+ /**
+ * @return the {@link Drawable} for this divider.
+ */
+ @Nullable
+ public Drawable getDrawable() {
+ return mDivider;
+ }
+
+ @Override
+ public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
+ if (parent.getLayoutManager() == null || mDivider == null) {
+ return;
+ }
+ if (mOrientation == VERTICAL) {
+ drawVertical(c, parent);
+ } else {
+ drawHorizontal(c, parent);
+ }
+ }
+
+ private void drawVertical(Canvas canvas, RecyclerView parent) {
+ canvas.save();
+ final int left;
+ final int right;
+ //noinspection AndroidLintNewApi - NewApi lint fails to handle overrides.
+ if (parent.getClipToPadding()) {
+ left = parent.getPaddingLeft();
+ right = parent.getWidth() - parent.getPaddingRight();
+ canvas.clipRect(left, parent.getPaddingTop(), right,
+ parent.getHeight() - parent.getPaddingBottom());
+ } else {
+ left = 0;
+ right = parent.getWidth();
+ }
+
+ final int childCount = parent.getChildCount();
+ for (int i = 0; i < childCount - 1; i++) {
+ final View child = parent.getChildAt(i);
+ parent.getDecoratedBoundsWithMargins(child, mBounds);
+ final int bottom = mBounds.bottom + Math.round(child.getTranslationY());
+ final int top = bottom - mDivider.getIntrinsicHeight();
+ mDivider.setBounds(left, top, right, bottom);
+ mDivider.draw(canvas);
+ }
+ canvas.restore();
+ }
+
+ private void drawHorizontal(Canvas canvas, RecyclerView parent) {
+ canvas.save();
+ final int top;
+ final int bottom;
+ //noinspection AndroidLintNewApi - NewApi lint fails to handle overrides.
+ if (parent.getClipToPadding()) {
+ top = parent.getPaddingTop();
+ bottom = parent.getHeight() - parent.getPaddingBottom();
+ canvas.clipRect(parent.getPaddingLeft(), top,
+ parent.getWidth() - parent.getPaddingRight(), bottom);
+ } else {
+ top = 0;
+ bottom = parent.getHeight();
+ }
+
+ final int childCount = parent.getChildCount();
+ for (int i = 0; i < childCount - 1; i++) {
+ final View child = parent.getChildAt(i);
+ parent.getLayoutManager().getDecoratedBoundsWithMargins(child, mBounds);
+ final int right = mBounds.right + Math.round(child.getTranslationX());
+ final int left = right - mDivider.getIntrinsicWidth();
+ mDivider.setBounds(left, top, right, bottom);
+ mDivider.draw(canvas);
+ }
+ canvas.restore();
+ }
+
+ @Override
+ public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
+ RecyclerView.State state) {
+ if (mDivider == null) {
+ outRect.set(0, 0, 0, 0);
+ return;
+ }
+ if (mOrientation == VERTICAL) {
+ outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());
+ } else {
+ outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0);
+ }
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page1/DialogBasketLU_Page1_ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page1/DialogBasketLU_Page1_ViewModel.java
index e110c041..78d73165 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page1/DialogBasketLU_Page1_ViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page1/DialogBasketLU_Page1_ViewModel.java
@@ -5,7 +5,6 @@ import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.databinding.ViewDataBinding;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
@@ -14,9 +13,8 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
-import it.integry.integrywmsnative.core.utility.UtilityDialog;
-import it.integry.integrywmsnative.databinding.DialogBasketLuBinding;
import it.integry.integrywmsnative.databinding.DialogBasketLuPage1Binding;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.DialogBasketLU_BaseViewModel;
import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.IDialogBasketLUViewModel;
@@ -82,7 +80,7 @@ public class DialogBasketLU_Page1_ViewModel extends DialogBasketLU_BaseViewModel
mBinding.dialogBasketLuMainList.setHasFixedSize(true);
mBinding.dialogBasketLuMainList.setLayoutManager(new LinearLayoutManager(mContext));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
mBinding.dialogBasketLuMainList.addItemDecoration(itemDecorator);
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page2/DialogBasketLU_Page2_ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page2/DialogBasketLU_Page2_ViewModel.java
index ccc4653e..1094644f 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page2/DialogBasketLU_Page2_ViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/pages/page2/DialogBasketLU_Page2_ViewModel.java
@@ -5,7 +5,6 @@ import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.databinding.ViewDataBinding;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
@@ -15,6 +14,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.DialogBasketLuPage2Binding;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.DialogBasketLU_BaseViewModel;
import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.IDialogBasketLUViewModel;
@@ -79,7 +79,7 @@ public class DialogBasketLU_Page2_ViewModel extends DialogBasketLU_BaseViewModel
mBinding.dialogBasketLuMtbColrList.setHasFixedSize(true);
mBinding.dialogBasketLuMtbColrList.setLayoutManager(new LinearLayoutManager(mContext));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
mBinding.dialogBasketLuMtbColrList.addItemDecoration(itemDecorator);
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/camera_barcode_reader/DialogCameraBarcodeReader.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/camera_barcode_reader/DialogCameraBarcodeReader.java
deleted file mode 100644
index 785fe3e2..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/camera_barcode_reader/DialogCameraBarcodeReader.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package it.integry.integrywmsnative.view.dialogs.camera_barcode_reader;
-
-import android.content.Context;
-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.databinding.DataBindingUtil;
-import androidx.fragment.app.DialogFragment;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.Result;
-import com.kroegerama.kaiteki.bcode.BarcodeResultListener;
-import com.orhanobut.logger.Logger;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
-import it.integry.barcode_base_android_library.model.BarcodeType;
-import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.expansion.RunnableArgs;
-import it.integry.integrywmsnative.core.utility.UtilityDialog;
-import it.integry.integrywmsnative.databinding.DialogCameraBarcodeReaderBinding;
-
-public class DialogCameraBarcodeReader extends DialogFragment implements BarcodeResultListener {
-
- private Context mContext;
-
- private DialogCameraBarcodeReaderBinding mBindings;
- private final RunnableArgs onComplete;
-
- public static DialogCameraBarcodeReader newInstance(@NonNull Context context, @NonNull final RunnableArgs onComplete) {
- return new DialogCameraBarcodeReader(context, onComplete);
- }
-
- private DialogCameraBarcodeReader(@NonNull Context context, @NonNull final RunnableArgs onComplete){
- this.mContext = context;
- this.onComplete = onComplete;
- }
-
-
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_camera_barcode_reader, container, false);
-
-
- getDialog().setCanceledOnTouchOutside(false);
- getDialog().setCancelable(false);
- getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
-
- this.initBarcodeView();
-
- mBindings.buttonConfirm.setOnClickListener(v -> {
- dismiss();
- });
-
- return mBindings.getRoot();
- }
-
- @Override
- public void onStart() {
- super.onStart();
-
- UtilityDialog.setTo95PercentWidth(mContext, this);
- }
-
- @Override
- public void onStop() {
- super.onStop();
- this.mBindings.bcode.unbind();
- }
-
- private void initBarcodeView() {
- List availableBarcodeFormats = new ArrayList<>();
- availableBarcodeFormats.add(BarcodeFormat.QR_CODE);
- availableBarcodeFormats.add(BarcodeFormat.CODE_128);
- availableBarcodeFormats.add(BarcodeFormat.UPC_E);
- availableBarcodeFormats.add(BarcodeFormat.CODABAR);
- availableBarcodeFormats.add(BarcodeFormat.EAN_8);
- availableBarcodeFormats.add(BarcodeFormat.EAN_13);
- availableBarcodeFormats.add(BarcodeFormat.ITF);
- availableBarcodeFormats.add(BarcodeFormat.UPC_A);
-
- mBindings.bcode.setFormats(availableBarcodeFormats);
- mBindings.bcode.setBarcodeInverted(false);
- mBindings.bcode.setBarcodeResultListener(this);
- mBindings.bcode.bindToLifecycle(this);
- }
-
- @Override
- public boolean onBarcodeResult(@NotNull Result result) {
-
- BarcodeScanDTO barcodeScanDTO = new BarcodeScanDTO()
- .setByteValue(result.getRawBytes())
- .setStringValue(result.getText());
-
- BarcodeType type = null;
-
- switch (result.getBarcodeFormat()) {
- case CODE_128:
- type = BarcodeType.CODE128;
- break;
- case CODE_39:
- type = BarcodeType.CODE39;
- break;
-
- case EAN_13:
- type = BarcodeType.EAN13;
- break;
- case EAN_8:
- type = BarcodeType.EAN8;
- break;
-
- case UPC_A:
- type = BarcodeType.UPCA;
- break;
- case UPC_E:
- type = BarcodeType.UPCE;
- break;
- default:
- Logger.e("Barcode type " + result.getBarcodeFormat().toString() + " was not mapped in DialogCameraBarcodeReader.java");
- type = null;
- break;
- }
-
- barcodeScanDTO.setType(type);
-
- this.dismiss();
- this.onComplete.run(barcodeScanDTO);
- return true;
- }
-
- @Override
- public void onBarcodeScanCancelled() {
-
- }
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArts.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArts.java
index b1d82cea..493b36a3 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArts.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArts.java
@@ -2,15 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts;
import android.app.Dialog;
import android.content.Context;
-import androidx.databinding.DataBindingUtil;
-import androidx.core.content.ContextCompat;
-import androidx.recyclerview.widget.DividerItemDecoration;
-import androidx.recyclerview.widget.LinearLayoutManager;
-
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
+import androidx.core.content.ContextCompat;
+import androidx.databinding.DataBindingUtil;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
import java.util.List;
import it.integry.integrywmsnative.R;
@@ -19,6 +18,7 @@ import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityDialog;
import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
public class DialogChooseArtFromListaArts {
@@ -61,7 +61,7 @@ public class DialogChooseArtFromListaArts {
binding.dialogChooseArtFromListaArtMainList.setLayoutManager(new LinearLayoutManager(currentContext));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(currentContext, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(currentContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(currentContext, R.drawable.divider));
binding.dialogChooseArtFromListaArtMainList.addItemDecoration(itemDecorator);
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java
index b9872432..22480a72 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_mtb_colr/DialogChooseArtFromListaMtbColrView.java
@@ -8,7 +8,6 @@ import android.view.LayoutInflater;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
-import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
@@ -19,6 +18,7 @@ import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.utility.UtilityDialog;
import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
public class DialogChooseArtFromListaMtbColrView {
@@ -61,7 +61,7 @@ public class DialogChooseArtFromListaMtbColrView {
binding.dialogChooseArtFromListaArtMainList.setLayoutManager(new LinearLayoutManager(currentContext));
- DividerItemDecoration itemDecorator = new DividerItemDecoration(currentContext, DividerItemDecoration.VERTICAL);
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(currentContext, SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(currentContext, R.drawable.divider));
binding.dialogChooseArtFromListaArtMainList.addItemDecoration(itemDecorator);
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotAdapter.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotAdapter.java
new file mode 100644
index 00000000..70f90566
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotAdapter.java
@@ -0,0 +1,74 @@
+package it.integry.integrywmsnative.view.dialogs.choose_batch_lot;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import androidx.databinding.DataBindingUtil;
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
+import it.integry.integrywmsnative.core.model.MtbPartitaMag;
+import it.integry.integrywmsnative.databinding.DialogChooseBatchLotItemModelBinding;
+
+public class DialogChooseBatchLotAdapter extends RecyclerView.Adapter {
+
+ protected Context mContext;
+
+ private final List mDataset;
+ private final IRecyclerItemClicked mOnItemClickListener;
+
+
+ public static class ViewHolder extends RecyclerView.ViewHolder {
+ protected DialogChooseBatchLotItemModelBinding mViewDataBinding;
+
+
+ public ViewHolder(DialogChooseBatchLotItemModelBinding v) {
+ super(v.getRoot());
+ mViewDataBinding = v;
+ }
+
+ public void bind(MtbPartitaMag mtbPartitaMag) {
+ mViewDataBinding.setMtbPartitaMag(mtbPartitaMag);
+ mViewDataBinding.executePendingBindings();
+ }
+ }
+
+ public DialogChooseBatchLotAdapter(List myDataset, IRecyclerItemClicked onItemClickListener) {
+ mDataset = myDataset;
+ mOnItemClickListener = onItemClickListener;
+ }
+
+ @Override
+ public DialogChooseBatchLotAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ // create a new view
+ DialogChooseBatchLotItemModelBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.dialog_choose_batch_lot_item_model, parent, false);
+ return new DialogChooseBatchLotAdapter.ViewHolder(viewDataBinding);
+ }
+
+ @Override
+ public void onBindViewHolder(DialogChooseBatchLotAdapter.ViewHolder holder, int position) {
+ MtbPartitaMag item = mDataset.get(position);
+ holder.bind(item);
+
+ holder.mViewDataBinding.getRoot().setOnClickListener(x -> {
+ if(mOnItemClickListener != null) {
+ mOnItemClickListener.onItemClick(item, position);
+ }
+ });
+ }
+
+ @Override
+ public void onViewRecycled(DialogChooseBatchLotAdapter.ViewHolder holder) {
+ super.onViewRecycled(holder);
+ }
+
+ @Override
+ public int getItemCount() {
+ return mDataset.size();
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotComponent.java
new file mode 100644
index 00000000..8a055734
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotComponent.java
@@ -0,0 +1,15 @@
+package it.integry.integrywmsnative.view.dialogs.choose_batch_lot;
+
+import dagger.Subcomponent;
+
+@Subcomponent
+public interface DialogChooseBatchLotComponent {
+
+ @Subcomponent.Factory
+ interface Factory {
+ DialogChooseBatchLotComponent create();
+ }
+
+ void inject(DialogChooseBatchLotView dialogChooseBatchLotView);
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotModule.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotModule.java
new file mode 100644
index 00000000..3e118b75
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotModule.java
@@ -0,0 +1,14 @@
+package it.integry.integrywmsnative.view.dialogs.choose_batch_lot;
+
+import dagger.Module;
+import dagger.Provides;
+
+@Module
+public class DialogChooseBatchLotModule {
+
+ @Provides
+ DialogChooseBatchLotViewModel providesDialogChooseBatchLotViewModel() {
+ return new DialogChooseBatchLotViewModel();
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotView.java
new file mode 100644
index 00000000..2a7d8fb1
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotView.java
@@ -0,0 +1,111 @@
+package it.integry.integrywmsnative.view.dialogs.choose_batch_lot;
+
+import android.content.Context;
+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.core.content.ContextCompat;
+import androidx.databinding.DataBindingUtil;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import java.util.List;
+
+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.interfaces.IRecyclerItemClicked;
+import it.integry.integrywmsnative.core.model.MtbPartitaMag;
+import it.integry.integrywmsnative.databinding.DialogChooseBatchLotBinding;
+import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
+
+public class DialogChooseBatchLotView extends BaseDialogFragment {
+
+ @Inject
+ DialogChooseBatchLotViewModel mViewModel;
+
+ private List mAvailableBatchLot;
+ private RunnableArgs mOnItemSelected;
+
+ private Context mContext;
+ private DialogChooseBatchLotBinding mBindings;
+
+ private DialogChooseBatchLotAdapter mAdapter;
+
+ private MtbPartitaMag mSelectedItem;
+
+ public static DialogChooseBatchLotView newInstance(List availableBatchLot, RunnableArgs onItemSelected) {
+ return new DialogChooseBatchLotView(availableBatchLot, onItemSelected);
+ }
+
+ private DialogChooseBatchLotView(List availableBatchLot, RunnableArgs onItemSelected) {
+ super();
+
+ this.mAvailableBatchLot = availableBatchLot;
+ this.mOnItemSelected = onItemSelected;
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ this.mContext = getActivity();
+
+ mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_batch_lot, container, false);
+
+ MainApplication.appComponent
+ .dialogChooseBatchLotComponent()
+ .create()
+ .inject(this);
+
+ mBindings.setView(this);
+ mBindings.setViewmodel(this.mViewModel);
+
+ getDialog().setCanceledOnTouchOutside(false);
+ getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+
+ return mBindings.getRoot();
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ this.initRecyclerView();
+ }
+
+ @Override
+ public void dismiss() {
+ super.dismiss();
+
+ if(mOnItemSelected != null) {
+ this.mOnItemSelected.run(mSelectedItem);
+ }
+ }
+
+ private void initRecyclerView() {
+ mBindings.mainList.setNestedScrollingEnabled(false);
+ mBindings.mainList.setHasFixedSize(true);
+ mBindings.mainList.setLayoutManager(new LinearLayoutManager(mContext));
+
+ SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(mContext, SimpleDividerItemDecoration.VERTICAL);
+ itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
+ mBindings.mainList.addItemDecoration(itemDecorator);
+
+ mAdapter = new DialogChooseBatchLotAdapter(mAvailableBatchLot, onItemClicked);
+ mBindings.mainList.setAdapter(mAdapter);
+ }
+
+ private final IRecyclerItemClicked onItemClicked = (item, position) -> {
+ mSelectedItem = item;
+ dismiss();
+ };
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotViewModel.java
new file mode 100644
index 00000000..9889a0c3
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_batch_lot/DialogChooseBatchLotViewModel.java
@@ -0,0 +1,4 @@
+package it.integry.integrywmsnative.view.dialogs.choose_batch_lot;
+
+public class DialogChooseBatchLotViewModel {
+}
diff --git a/app/src/main/res/layout/activity_spedizione.xml b/app/src/main/res/layout/activity_spedizione.xml
index 3eefc481..ada4900c 100644
--- a/app/src/main/res/layout/activity_spedizione.xml
+++ b/app/src/main/res/layout/activity_spedizione.xml
@@ -79,23 +79,11 @@
android:tint="@color/colorPrimaryGray"
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}" />
-
-
-
-
-
+
-
-
+
diff --git a/app/src/main/res/layout/dialog_camera_barcode_reader.xml b/app/src/main/res/layout/dialog_camera_barcode_reader.xml
deleted file mode 100644
index 19c3372f..00000000
--- a/app/src/main/res/layout/dialog_camera_barcode_reader.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml b/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml
index 7f739823..811e9ff8 100644
--- a/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml
+++ b/app/src/main/res/layout/dialog_choose_art_from_lista_art__item_model.xml
@@ -12,7 +12,7 @@
type="it.integry.integrywmsnative.core.model.MtbAart"/>
-
-
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_choose_batch_lot.xml b/app/src/main/res/layout/dialog_choose_batch_lot.xml
new file mode 100644
index 00000000..0936ccfa
--- /dev/null
+++ b/app/src/main/res/layout/dialog_choose_batch_lot.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_choose_batch_lot_item_model.xml b/app/src/main/res/layout/dialog_choose_batch_lot_item_model.xml
new file mode 100644
index 00000000..361ceb0c
--- /dev/null
+++ b/app/src/main/res/layout/dialog_choose_batch_lot_item_model.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 36aed500..c3f6e08f 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -275,6 +275,7 @@
Lav. terzi / Trasf. interni
Produzione
Linea di produzione
+ Seleziona un lotto
Movimentazione interna
Accettazione da ordine
Picking da ordine
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 781a9637..fe0256d6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -280,6 +280,7 @@
Manufacture / Internal movement
Production
Production line
+ Select a batch lot
Internal handling
Production picking
Manufacture picking
diff --git a/barcode_base_android_library/build.gradle b/barcode_base_android_library/build.gradle
index 36e6a5ac..6de1224c 100644
--- a/barcode_base_android_library/build.gradle
+++ b/barcode_base_android_library/build.gradle
@@ -31,7 +31,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
- testImplementation 'junit:junit:4.13.1'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'
diff --git a/barcode_kaiteki/build.gradle b/barcode_kaiteki/build.gradle
index 36fe6c65..ebc5e92b 100644
--- a/barcode_kaiteki/build.gradle
+++ b/barcode_kaiteki/build.gradle
@@ -1,13 +1,12 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
android {
- compileSdkVersion 29
+ compileSdkVersion 30
defaultConfig {
minSdkVersion 21
- targetSdkVersion 29
+ targetSdkVersion 30
versionCode 1
versionName "1.1.1"
}
diff --git a/build.gradle b/build.gradle
index 2d07a2ab..0a12c5ee 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,12 +2,12 @@
buildscript {
ext {
- kotlin_version = '1.4.31'
+ kotlin_version = '1.5.0'
}
repositories {
- jcenter()
google()
+ mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
@@ -16,7 +16,7 @@ buildscript {
classpath 'com.google.firebase:perf-plugin:1.3.5'
// Add the Firebase Crashlytics Gradle plugin.
- classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1'
+ classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -25,9 +25,9 @@ buildscript {
allprojects {
repositories {
- jcenter()
google()
maven { url 'https://jitpack.io' }
+ mavenCentral()
}
}
diff --git a/dynamic_gramm/build.gradle b/dynamic_gramm/build.gradle
index 88d9fdcc..c0e13cb7 100644
--- a/dynamic_gramm/build.gradle
+++ b/dynamic_gramm/build.gradle
@@ -21,8 +21,8 @@ android {
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation project(":app")
- testImplementation 'junit:junit:4.13.1'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
- androidTestImplementation 'androidx.annotation:annotation:1.1.0'
+ androidTestImplementation 'androidx.annotation:annotation:1.2.0'
}
\ No newline at end of file
diff --git a/honeywellscannerlibrary/build.gradle b/honeywellscannerlibrary/build.gradle
index 4df057fa..2ed73626 100644
--- a/honeywellscannerlibrary/build.gradle
+++ b/honeywellscannerlibrary/build.gradle
@@ -31,7 +31,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
- testImplementation 'junit:junit:4.13.1'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'
diff --git a/keyobardemulatorscannerlibrary/build.gradle b/keyobardemulatorscannerlibrary/build.gradle
index 0462a7f5..7eee9b11 100644
--- a/keyobardemulatorscannerlibrary/build.gradle
+++ b/keyobardemulatorscannerlibrary/build.gradle
@@ -32,7 +32,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
- testImplementation 'junit:junit:4.13.1'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'
diff --git a/pointmobilescannerlibrary/build.gradle b/pointmobilescannerlibrary/build.gradle
index 629e95ea..df257659 100644
--- a/pointmobilescannerlibrary/build.gradle
+++ b/pointmobilescannerlibrary/build.gradle
@@ -31,7 +31,7 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0'
- testImplementation 'junit:junit:4.13.1'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'
diff --git a/zebrascannerlibrary/build.gradle b/zebrascannerlibrary/build.gradle
index 886038c7..5095fdf2 100644
--- a/zebrascannerlibrary/build.gradle
+++ b/zebrascannerlibrary/build.gradle
@@ -32,7 +32,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
- testImplementation 'junit:junit:4.13.1'
+ testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'