diff --git a/.idea/runConfigurations/app.xml b/.idea/runConfigurations/app.xml
index b854e408..eaa588bc 100644
--- a/.idea/runConfigurations/app.xml
+++ b/.idea/runConfigurations/app.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index fb827529..7c776950 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android {
- def appVersionCode = 98
- def appVersionName = '1.9.4'
+ def appVersionCode = 101
+ def appVersionName = '1.9.7'
signingConfigs {
release {
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java
index d1412345..e17ccd51 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java
@@ -72,7 +72,7 @@ public class ClassRouter {
return (T)clazz.newInstance();
} catch (InstantiationException | MethodPathNotRegisteredException | IllegalAccessException ex) {
- UtilityExceptions.defaultException(context, ex, true);
+ UtilityExceptions.defaultException(null, ex, true);
}
return null;
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 f73e4cb1..23103b9b 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
@@ -12,7 +12,7 @@ public class BaseActivity extends AppCompatActivity {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
- if (event.getAction() == KeyEvent.ACTION_DOWN) {
+ if (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) {
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialog.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialog.java
index 2ce56ac8..278c3380 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialog.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialog.java
@@ -20,7 +20,7 @@ public class BaseDialog extends Dialog {
super(context);
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()){
setOnKeyListener((dialog, keyCode, event) -> {
- if (mBarcodeListener && event.getAction() == KeyEvent.ACTION_DOWN && !isControlKey(event)) {
+ if (mBarcodeListener && (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) && !isControlKey(event)) {
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
}
return false;
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 1d10f38f..b2d41182 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
@@ -3,6 +3,8 @@ package it.integry.integrywmsnative.core.rest.consumers;
import android.app.Dialog;
import android.content.Context;
+import androidx.databinding.ObservableArrayList;
+
import com.annimon.stream.Stream;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
@@ -50,15 +52,18 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
public static void saveCollo(MtbColt mtbColtToSave, RunnableArgs onComplete, RunnableArgs onFailed){
+ MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
+ mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
for (int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) {
- mtbColtToSave.getMtbColr().get(i)
- .setMtbAart(null)
- .setRifPartitaMag(null);
+ mtbColtToSaveClone.getMtbColr().add(
+ ((MtbColr) mtbColtToSave.getMtbColr().get(i).clone())
+ .setMtbAart(null)
+ .setRifPartitaMag(null));
}
- EntityRESTConsumer.processEntity(mtbColtToSave, new ISimpleOperationCallback() {
+ EntityRESTConsumer.processEntity(mtbColtToSaveClone, new ISimpleOperationCallback() {
@Override
public void onSuccess(MtbColt value) {
if(onComplete != null) onComplete.run(value);
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 ecafcc2c..4cb35c87 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
@@ -10,29 +10,31 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import androidx.appcompat.app.ActionBar;
import androidx.databinding.DataBindingUtil;
-import it.integry.integrywmsnative.BuildConfig;
+
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.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
-import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel;
+import it.integry.integrywmsnative.ui.ElevatedToolbar;
/**
* A simple {@link Fragment} subclass.
*/
-public class PickingLiberoFragment extends Fragment implements ITitledFragment {
+public class PickingLiberoFragment extends Fragment implements ITitledFragment, IScrollableFragment {
private FragmentPickingLiberoBinding mBindings;
- private PickingLiberoHelper mHelper;
private PickingLiberoViewModel mViewModel;
- private AppCompatTextView mAppCompatActionBar;
+
+ private Runnable mOnPreDestroy;
+ private ElevatedToolbar mToolbar;
+ private AppCompatTextView mToolbarTitleText;
private int barcodeScannerIstanceID = -1;
@@ -49,8 +51,8 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
- mAppCompatActionBar = titleText;
- titleText.setText(context.getText(R.string.free_picking_title_fragment).toString());
+ mToolbarTitleText = titleText;
+ mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString());
}
@Override
@@ -66,10 +68,9 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
// Inflate the layout for this fragment
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_picking_libero, container, false);
- mHelper = new PickingLiberoHelper(getActivity());
mViewModel = new PickingLiberoViewModel();
- mViewModel.init(getActivity(), mBindings, mHelper, mAppCompatActionBar, () -> {
+ mViewModel.init(getActivity(), mBindings, mToolbarTitleText, () -> {
((IPoppableActivity) getActivity()).pop();
});
@@ -80,7 +81,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
.setOnScanFailed(ex -> UtilityExceptions.defaultException(getActivity(), ex, false)));
- mBindings.elevatedToolbar.setNestedScrollView(mBindings.scrollView);
+ mToolbar.setRecyclerView(mBindings.pickingLiberoMainList);
return mBindings.getRoot();
}
@@ -89,7 +90,17 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
public void onDestroyView() {
mViewModel.closeLU();
BarcodeManager.removeCallback(barcodeScannerIstanceID);
+ if(mOnPreDestroy != null) mOnPreDestroy.run();
super.onDestroyView();
}
+ @Override
+ public void setScrollToolbar(ElevatedToolbar toolbar) {
+ mToolbar = toolbar;
+ }
+
+ @Override
+ public void setOnPreDestroy(Runnable onPreDestroy) {
+ mOnPreDestroy = onPreDestroy;
+ }
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/core/PickingLiberoHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/core/PickingLiberoHelper.java
deleted file mode 100644
index 1d0cc315..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/core/PickingLiberoHelper.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package it.integry.integrywmsnative.gest.picking_libero.core;
-
-import android.content.Context;
-
-public class PickingLiberoHelper {
-
- private final Context mContext;
-
- public PickingLiberoHelper(Context context) {
- mContext = context;
- }
-
-}
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 3498a8d7..bb7b2bb0 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
@@ -2,7 +2,6 @@ package it.integry.integrywmsnative.gest.picking_libero.viewmodel;
import android.app.Activity;
import android.app.Dialog;
-import android.app.ProgressDialog;
import android.text.SpannableString;
import android.view.View;
@@ -50,8 +49,8 @@ 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.FragmentPickingLiberoBinding;
-import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
+import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@@ -73,17 +72,15 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
private Activity mContext;
private FragmentPickingLiberoBinding mBinding;
- private PickingLiberoHelper mHelper;
- private AppCompatTextView mAppBarTitle;
+ private AppCompatTextView mToolbarTitleText;
private PickingLiberoListAdapter mAdapter;
- public void init(Activity context, FragmentPickingLiberoBinding binding, PickingLiberoHelper helper, AppCompatTextView titleText, Runnable onComplete) {
+ public void init(Activity context, FragmentPickingLiberoBinding binding, AppCompatTextView toolbarTitleText, Runnable onComplete) {
mContext = context;
mBinding = binding;
- mHelper = helper;
- mAppBarTitle = titleText;
+ mToolbarTitleText = toolbarTitleText;
initObservable();
@@ -108,14 +105,14 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
if(mtbColt.get() != null) {
initAdapter();
- if(mAppBarTitle != null) mAppBarTitle.setText(String.format(mContext.getText(R.string.lu_number_text).toString(), mtbColt.get().getNumCollo()));
+ if(mToolbarTitleText != null) mToolbarTitleText.setText(String.format(mContext.getText(R.string.lu_number_text).toString(), mtbColt.get().getNumCollo()));
initObservableMtbColr();
}
else {
destroyAdapter();
- mAppBarTitle.setText(mContext.getText(R.string.free_picking).toString());
+ mToolbarTitleText.setText(mContext.getText(R.string.free_picking).toString());
}
thereIsAnOpenedUL.set(mtbColt.get() != null);
@@ -555,6 +552,8 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
private void saveLU(MtbColt mtbColtToSave) {
mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
+
+
for(int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) {
mtbColtToSave.getMtbColr().get(i).setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
}
diff --git a/app/src/main/res/layout/fragment_picking_libero.xml b/app/src/main/res/layout/fragment_picking_libero.xml
index a010a489..2f28004e 100644
--- a/app/src/main/res/layout/fragment_picking_libero.xml
+++ b/app/src/main/res/layout/fragment_picking_libero.xml
@@ -20,73 +20,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="92dp"
+ android:paddingStart="2dp"
+ android:paddingEnd="2dp">
+
diff --git a/barcode_base_android_library/build.gradle b/barcode_base_android_library/build.gradle
index 68c6efcb..f219b055 100644
--- a/barcode_base_android_library/build.gradle
+++ b/barcode_base_android_library/build.gradle
@@ -20,6 +20,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+ compileOptions {
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ }
}
diff --git a/dynamic_saporiveri/build.gradle b/dynamic_saporiveri/build.gradle
index 7af41264..06cb2f7c 100644
--- a/dynamic_saporiveri/build.gradle
+++ b/dynamic_saporiveri/build.gradle
@@ -12,6 +12,10 @@ android {
versionName "1.0"
}
+ compileOptions {
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ }
}
diff --git a/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java b/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java
index adc468ed..a375141d 100644
--- a/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java
+++ b/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java
@@ -1,6 +1,7 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
+import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaFragment;
public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration {
@@ -25,6 +26,18 @@ public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration {
// .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_trasmitted_orders_list)
// .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_trasmitted_orders_list)
// .setFragmentClass(PVOrdiniAcquistoTransmittedListFragment.newInstance()))
+ )
+ .addGroup(
+ new MenuGroup()
+ .setGroupText(it.integry.integrywmsnative.R.string.checkout)
+ .setGroupId(it.integry.integrywmsnative.R.id.nav_group_spedizione)
+
+ .addItem(new MenuItem()
+ .setID(it.integry.integrywmsnative.R.id.nav_free_picking)
+ .setTitleText(it.integry.integrywmsnative.R.string.free_picking)
+ .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
+ .setFragmentClass(PickingLiberoFragment.newInstance()))
);
diff --git a/keyboardemulatorscannerlibrary/.gitignore b/keyboardemulatorscannerlibrary/.gitignore
deleted file mode 100644
index 796b96d1..00000000
--- a/keyboardemulatorscannerlibrary/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/keyboardemulatorscannerlibrary/build.gradle b/keyboardemulatorscannerlibrary/build.gradle
deleted file mode 100644
index 68bb7760..00000000
--- a/keyboardemulatorscannerlibrary/build.gradle
+++ /dev/null
@@ -1,8 +0,0 @@
-apply plugin: 'java-library'
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-sourceCompatibility = "7"
-targetCompatibility = "7"
diff --git a/keyboardemulatorscannerlibrary/src/main/java/it/integry/keyboardemulatorscannerlibrary/KeyboardEmulator.java b/keyboardemulatorscannerlibrary/src/main/java/it/integry/keyboardemulatorscannerlibrary/KeyboardEmulator.java
deleted file mode 100644
index fab77668..00000000
--- a/keyboardemulatorscannerlibrary/src/main/java/it/integry/keyboardemulatorscannerlibrary/KeyboardEmulator.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package it.integry.keyboardemulatorscannerlibrary;
-
-public class KeyboardEmulator {
-}
diff --git a/keyobardemulatorscannerlibrary/src/main/java/it/integry/keyobardemulatorscannerlibrary/KeyboardEmulatorBarcodeReader.java b/keyobardemulatorscannerlibrary/src/main/java/it/integry/keyobardemulatorscannerlibrary/KeyboardEmulatorBarcodeReader.java
index 6bc32e4c..8091d60b 100644
--- a/keyobardemulatorscannerlibrary/src/main/java/it/integry/keyobardemulatorscannerlibrary/KeyboardEmulatorBarcodeReader.java
+++ b/keyobardemulatorscannerlibrary/src/main/java/it/integry/keyobardemulatorscannerlibrary/KeyboardEmulatorBarcodeReader.java
@@ -64,6 +64,8 @@ public class KeyboardEmulatorBarcodeReader implements BarcodeReaderInterface {
mLastCharInsertTime =keyEvent.getEventTime();
if (keyEvent.getUnicodeChar() > 0){
mTextBarcode+= (char) keyEvent.getUnicodeChar();
+ }else if (keyEvent.getCharacters() != null){
+ mTextBarcode = keyEvent.getCharacters();
}
}
}else{