diff --git a/app/build.gradle b/app/build.gradle
index aecdf670..90da6b67 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -78,11 +78,11 @@ android {
}
}
- lintOptions {
- abortOnError false
- }
dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti"]
+ lint {
+ abortOnError false
+ }
}
@@ -113,6 +113,7 @@ dependencies {
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
+ implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.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'
@@ -164,6 +165,14 @@ dependencies {
// testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.1"
// androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
// androidTestImplementation 'org.testng:testng:7.4.0'
+
+
+ //Bluetooth device manager
+ implementation 'com.github.harry1453:android-bluetooth-serial:v1.1'
+
+ // RxJava is also required.
+ implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
+ implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
}
repositories {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b8226a96..b0409f1f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,6 +8,7 @@
+
() {
@Override
public void onResponse(Call>> call, Response>> response) {
- analyzeAnswer(response, "retrieveListaArticoliFromOrdiniUscita", onComplete, onFailed);
+ analyzeAnswer(response, "retrieveListaArticoliFromOrdiniUscita", sitArtOrds -> {
+ if (sitArtOrds != null) {
+ for (SitArtOrdDTO sitArtOrd : sitArtOrds) {
+ sitArtOrd.setCodMart(sitArtOrd.getCodMart().trim());
+ }
+ }
+
+ onComplete.run(sitArtOrds);
+ }, onFailed);
}
@Override
@@ -189,7 +197,7 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
" AND mtb_colt.ser_collo = mtb_colr.ser_collo " +
" AND mtb_colt.data_collo = mtb_colr.data_collo " +
" AND mtb_colt.num_collo = mtb_colr.num_collo " +
- " WHERE " + whereCondGestione +
+ " WHERE " + whereCondGestione +
" AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " +
" AND mtb_colt.data_doc IS NULL AND ";
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java
index 56f4a086..85bda60e 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java
@@ -9,7 +9,6 @@ import java.util.List;
import javax.inject.Singleton;
-import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.exception.NoPrintersFoundException;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
@@ -55,7 +54,7 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
});
}
- public void printCollo(Type printerType, MtbColt testataColloToPrint, Runnable onComplete, RunnableArgs onFailed) {
+ public void printCollo(MtbColt testataColloToPrint, Runnable onComplete, RunnableArgs onFailed) {
// if (BuildConfig.DEBUG) {
// onComplete.run();
@@ -64,9 +63,6 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
Call> callable = null;
- if (printerType != null)
- callable = printerService.printCollo(printerType.toString(), testataColloToPrint);
- else
callable = printerService.printCollo(testataColloToPrint);
callable.enqueue(new Callback<>() {
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java
index f74f94e9..ebde3247 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumerService.java
@@ -26,13 +26,6 @@ public interface PrinterRESTConsumerService {
@Body JasperDTO jasperDTO
);
-
- @POST("wms/printEtichettaSSCC")
- Call> printCollo(
- @Query("printerType") String printerType,
- @Body MtbColt mtbColtToPrint
- );
-
@POST("wms/printEtichettaSSCC")
Call> printCollo(
@Body MtbColt mtbColtToPrint
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/PermissionsHelper.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/PermissionsHelper.java
index af9ff373..c68e7828 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/utility/PermissionsHelper.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/PermissionsHelper.java
@@ -3,16 +3,15 @@ package it.integry.integrywmsnative.core.utility;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
-import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.ActivityCompat;
import com.annimon.stream.Stream;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.core.app.ActivityCompat;
import it.integry.integrywmsnative.SplashActivity;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@@ -31,6 +30,11 @@ public class PermissionsHelper {
if(Build.VERSION.SDK_INT >= 23) {
//permissionsToAsk.add(Manifest.permission.REQUEST_INSTALL_PACKAGES);
}
+ if(Build.VERSION.SDK_INT >= 31) {
+ permissionsToAsk.add(Manifest.permission.BLUETOOTH_CONNECT);
+ }
+
+
String[] permissionArray = new String[permissionsToAsk.size()];
permissionsToAsk.toArray(permissionArray);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java
index 6bf1e31b..8ce4f321 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java
@@ -44,7 +44,6 @@ import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
-import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
@@ -732,7 +731,6 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
Intent myIntent = ListaBancaliActivity.createIntent(this,
Stream.of(mtbColts).map(x -> (MtbColt) x).toList(),
input -> ((RecoverMtbColt) input).isFlagCanBeRecovered(),
- PrinterRESTConsumer.Type.SECONDARIA,
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java
index 8f5d4457..8500f479 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java
@@ -837,7 +837,6 @@ public class AccettazionePickingViewModel {
cloneMtbColt.setGestione(cloneMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE ? GestioneEnum.PRODUZIONE : cloneMtbColt.getGestioneEnum());
this.mPrinterRESTConsumer.printCollo(
- PrinterRESTConsumer.Type.SECONDARIA,
cloneMtbColt,
() -> {
this.sendLUSuccessfullyPrinted();
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java
index 2304a33c..20086b1d 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java
@@ -45,16 +45,14 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
public ObservableField recoverFabMenuVisible = new ObservableField<>(false);
private String mReportName;
- private PrinterRESTConsumer.Type mPrinterType;
private static class Key {
private static final String MtbColtKey = "mtbColtKey";
private static final String CanRecoverUL = "canRecoverUL";
- private static final String PrinterType = "printerType";
private static final String ReportName = "reportName";
}
- public static Intent createIntent(Context context, MtbColt item, boolean canRecoverUl, PrinterRESTConsumer.Type printerType, String reportName) {
+ public static Intent createIntent(Context context, MtbColt item, boolean canRecoverUl, String reportName) {
Intent myIntent = new Intent(context, ContenutoBancaleActivity.class);
String keyMtbColt = DataCache.addItem(item);
@@ -63,9 +61,6 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
String keyCanRecoverUL = DataCache.addItem(canRecoverUl);
myIntent.putExtra(Key.CanRecoverUL, keyCanRecoverUL);
- String keyPrinterType = DataCache.addItem(printerType);
- myIntent.putExtra(Key.PrinterType, keyPrinterType);
-
String keyReportName = DataCache.addItem(reportName);
myIntent.putExtra(Key.ReportName, keyReportName);
@@ -79,7 +74,6 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
boolean canRecoverUL = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
mtbColt.set(DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtKey)));
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
- mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType));
bindings = DataBindingUtil.setContentView(this, R.layout.activity_contenuto_bancale);
@@ -97,7 +91,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mViewModel.setListener(this);
- mViewModel.init(mtbColt.get(), mPrinterType, mReportName);
+ mViewModel.init(mtbColt.get(), mReportName);
recoverFabMenuVisible.set(canRecoverUL);
@@ -143,7 +137,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
this.bindings.contenutoBancaleFab.close(true);
this.onLoadingStarted();
try {
- this.mPrinterRESTConsumer.printCollo(mPrinterType, mtbColt.get(),
+ this.mPrinterRESTConsumer.printCollo(mtbColt.get(),
() -> {
this.onLoadingEnded();
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleViewModel.java
index ef70a79d..b1e242bd 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleViewModel.java
@@ -5,7 +5,6 @@ import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer;
-import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
public class ContenutoBancaleViewModel {
@@ -19,7 +18,7 @@ public class ContenutoBancaleViewModel {
this.mDepositoRESTConsumer = depositoRESTConsumer;
}
- public void init(MtbColt mtbColt, PrinterRESTConsumer.Type printerType, String defaultReportName) {
+ public void init(MtbColt mtbColt, String defaultReportName) {
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java
index 6d9afe15..17c27e32 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java
@@ -19,7 +19,6 @@ import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
import it.integry.integrywmsnative.core.model.MtbColt;
-import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.databinding.ActivityListaBancaliBinding;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity;
import it.integry.integrywmsnative.gest.lista_bancali.ui.ListaColliMainListAdapter;
@@ -30,7 +29,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
private static class Key {
private static final String MtbColtsKey = "mtbColtsKey";
private static final String CanRecoverUL = "canRecoverUL";
- private static final String PrinterType = "printerType";
private static final String ReportName = "reportName";
private static final String FlagOnlyResiduo = "flagOnlyResiduo";
}
@@ -43,7 +41,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
private final ObservableArrayList mtbColts = new ObservableArrayList<>();
private RunnableArgsWithReturn mCanRecoverUl;
- private PrinterRESTConsumer.Type mPrinterType;
private String mReportName;
private boolean mFlagOnlyResiduo;
@@ -51,19 +48,19 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
- public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, PrinterRESTConsumer.Type printerType, String reportName) {
- return createIntent(context, items, canRecoverUlAction, printerType, true, reportName);
+ public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, String reportName) {
+ return createIntent(context, items, canRecoverUlAction, true, reportName);
}
- public static Intent createIntent(Context context, List items, boolean canRecoverUl, PrinterRESTConsumer.Type printerType, boolean onlyResiduo) {
- return createIntent(context, items, input -> canRecoverUl, printerType, onlyResiduo);
+ public static Intent createIntent(Context context, List items, boolean canRecoverUl, boolean onlyResiduo) {
+ return createIntent(context, items, input -> canRecoverUl, onlyResiduo);
}
- public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, PrinterRESTConsumer.Type printerType, boolean onlyResiduo) {
- return createIntent(context, items, canRecoverUlAction, printerType, onlyResiduo, null);
+ public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, boolean onlyResiduo) {
+ return createIntent(context, items, canRecoverUlAction, onlyResiduo, null);
}
- public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, PrinterRESTConsumer.Type printerType, boolean onlyResiduo, String reportName) {
+ public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, boolean onlyResiduo, String reportName) {
Intent myIntent = new Intent(context, ListaBancaliActivity.class);
String mtbColtsKey = DataCache.addItem(items);
@@ -72,9 +69,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
String canRecoverULKey = DataCache.addItem(canRecoverUlAction);
myIntent.putExtra(Key.CanRecoverUL, canRecoverULKey);
- String printerTypeKey = DataCache.addItem(printerType);
- myIntent.putExtra(Key.PrinterType, printerTypeKey);
-
String flagOnlyResiduoKey = DataCache.addItem(onlyResiduo);
myIntent.putExtra(Key.FlagOnlyResiduo, flagOnlyResiduoKey);
@@ -97,7 +91,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
- mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType));
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
mFlagOnlyResiduo = DataCache.retrieveItem(getIntent().getStringExtra(Key.FlagOnlyResiduo));
@@ -138,7 +131,7 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
}
public void startContenutoBancaleActivity(MtbColt item){
- Intent myIntent = ContenutoBancaleActivity.createIntent(this, item, mCanRecoverUl.run(item), mPrinterType, mReportName);
+ Intent myIntent = ContenutoBancaleActivity.createIntent(this, item, mCanRecoverUl.run(item), mReportName);
startActivityForResult(myIntent, PICK_UL_REQUEST);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java
index b2ad2ada..d73cde89 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java
@@ -218,7 +218,6 @@ public class PickingResiViewModel {
private void singlePrint(MtbColt mtbColtToPrint, Runnable onComplete, RunnableArgs onFailed) {
this.mPrinterRESTConsumer.printCollo(
- PrinterRESTConsumer.Type.PRIMARIA,
mtbColtToPrint,
onComplete, onFailed);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeViewModel.java
index 7c8ef39d..5ea748b6 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/ProdRecuperoMaterialeViewModel.java
@@ -291,7 +291,6 @@ public class ProdRecuperoMaterialeViewModel {
private void singlePrint(MtbColt mtbColtToPrint, Runnable onComplete, RunnableArgs onAbort) {
this.mPrinterRESTConsumer.printCollo(
- PrinterRESTConsumer.Type.PRIMARIA,
mtbColtToPrint,
onComplete, onAbort);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java
index fd35f254..735dd909 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceFragment.java
@@ -117,10 +117,12 @@ public class ProdRientroMerceFragment extends BaseFragment implements ITitledFra
public void onDestroyView() {
super.onDestroyView();
- for (Runnable onPreDestroy :
- mOnPreDestroyList) {
+ for (Runnable onPreDestroy : mOnPreDestroyList) {
onPreDestroy.run();
}
+
+ mProdRientroMerceOrderDetailFragment.onDetach();
+ mProdRientroMerceOrderListFragment.onDetach();
}
@Override
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java
index df1bbf7e..8d8a13a5 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java
@@ -8,8 +8,8 @@ import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
-import it.integry.integrywmsnative.gest.picking_resi.exceptions.DocumentsLoadException;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
+import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadException;
public class ProdRientroMerceViewModel {
@@ -31,7 +31,7 @@ public class ProdRientroMerceViewModel {
this.mMesRESTConsumer.getOrdiniLavorazione("I", null, ordiniLavorazioneList -> {
this.mOrdiniLavorazioneAperti.postValue(ordiniLavorazioneList);
this.sendOnLoadingEnded();
- }, ex -> this.sendError(new DocumentsLoadException(ex)));
+ }, ex -> this.sendError(new OrdersLoadException(ex)));
}
public MutableLiveData> getOrdiniLavorazioneAperti() {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java
index 80329f6d..b3d0c409 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java
@@ -1,10 +1,13 @@
package it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail;
+import android.bluetooth.BluetoothDevice;
+import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Toast;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
@@ -12,10 +15,13 @@ import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.MutableLiveData;
+import androidx.preference.PreferenceManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.annimon.stream.Stream;
import com.google.gson.reflect.TypeToken;
+import com.harrysoft.androidbluetoothserial.BluetoothManager;
+import com.harrysoft.androidbluetoothserial.BluetoothSerialDevice;
import java.math.BigDecimal;
import java.util.ArrayList;
@@ -23,8 +29,11 @@ import java.util.List;
import javax.inject.Inject;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.exception.BluetoothConnectionException;
import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal;
import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@@ -36,6 +45,7 @@ import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.databinding.FragmentProdRientroMerceOrderDetailBinding;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
+import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdDTO;
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdView;
@@ -64,6 +74,9 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
private RunnableArgs onMtbColtClicked;
+ private BluetoothManager bluetoothManager;
+ private BluetoothSerialDevice mConnectedBluetoothDevice;
+
public ObservableField sumLUNumber = new ObservableField<>(BigDecimal.ZERO);
public ObservableField sumColliNumber = new ObservableField<>(BigDecimal.ZERO);
@@ -103,6 +116,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
this.mViewModel.mtbColtsOfOrder.observe(getViewLifecycleOwner(), this::refreshList);
this.initRecyclerView();
+ this.initULScaleBluetoothConnection();
return mBindings.getRoot();
}
@@ -121,10 +135,52 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
mBindings.mainList.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(item -> {
- if(this.onMtbColtClicked != null) this.onMtbColtClicked.run(item);
+ if (this.onMtbColtClicked != null) this.onMtbColtClicked.run(item);
});
}
+ private void initULScaleBluetoothConnection() {
+ bluetoothManager = BluetoothManager.getInstance();
+ if (bluetoothManager == null) {
+ // Bluetooth unavailable on this device :( tell the user
+ Toast.makeText(requireActivity(), "Bluetooth not available.", Toast.LENGTH_LONG).show(); // Replace context with your context instance.
+
+ return;
+ }
+
+ SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext());
+ var btMacAddress = sharedPreferences.getString(MainSettingsFragment.KEY_PALLET_BT_DEVICE, null);
+
+ if (btMacAddress == null) {
+ Toast.makeText(requireActivity(), "Nessun dispositivo BLUETOOTH configurato nelle impostazioni.", Toast.LENGTH_LONG).show(); // Replace context with your context instance.
+ return;
+ }
+
+ var btName = Stream.of(bluetoothManager.getPairedDevicesList())
+ .filter(x -> x.getAddress().equalsIgnoreCase(btMacAddress))
+ .map(BluetoothDevice::getName)
+ .findFirstOrElse(null);
+
+ var disposableBluetooth = bluetoothManager.openSerialDevice(btMacAddress)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(this::onConnected, x -> this.onError(new BluetoothConnectionException(btName, btMacAddress, x)));
+
+ }
+
+ private void onConnected(BluetoothSerialDevice connectedDevice) {
+ Toast.makeText(requireActivity(), "Connesso a: " + connectedDevice.getMac(), Toast.LENGTH_LONG).show();
+ mConnectedBluetoothDevice = connectedDevice;
+ }
+
+ @Override
+ public void onDetach() {
+ if (mConnectedBluetoothDevice != null)
+ bluetoothManager.close();
+
+ super.onDetach();
+ }
+
public void setOrder(OrdineLavorazioneDTO order) {
currentOrder.postValue(order);
mBindings.invalidateAll();
@@ -134,7 +190,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
}
private void refreshList(List mtbColts) {
- if(mtbColts != null) {
+ if (mtbColts != null) {
sumLUNumber.set(new BigDecimal(mtbColts.size()));
AtomicBigDecimal sumColli = new AtomicBigDecimal(BigDecimal.ZERO);
@@ -186,7 +242,8 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
" AND (data_fine IS NULL OR last_step = id_step) " +
"ORDER BY id_step DESC";
- mSystemRESTConsumer.>processSql(sql, new TypeToken>() {}.getType(), dtbOrdStep -> {
+ mSystemRESTConsumer.>processSql(sql, new TypeToken>() {
+ }.getType(), dtbOrdStep -> {
this.onLoadingEnded();
@@ -203,7 +260,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
DialogInputLUProdView
- .newInstance(dialogInputLUProdDTO, resultDTO -> {
+ .newInstance(mConnectedBluetoothDevice.toSimpleDeviceInterface(), dialogInputLUProdDTO, resultDTO -> {
ProdRientroMerceOrderDetailPickedQuantityDTO pickedQuantityDTO = new ProdRientroMerceOrderDetailPickedQuantityDTO()
.setNumCnf(resultDTO.getNumCnf())
.setPesoCollo(resultDTO.getPesoCollo())
@@ -255,8 +312,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
default:
return ContextCompat.getDrawable(requireActivity(), R.drawable.ic_clock_circle_outline_24dp);
}
- }
- else
+ } else
return ContextCompat.getDrawable(requireActivity(), R.drawable.ic_clock_circle_outline_24dp);
}
@@ -271,8 +327,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
default:
return ContextCompat.getColor(requireActivity(), R.color.blue_800);
}
- }
- else
+ } else
return ContextCompat.getColor(requireActivity(), R.color.blue_800);
}
@@ -287,8 +342,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
default:
return ContextCompat.getDrawable(requireActivity(), R.drawable.label_primary_text);
}
- }
- else
+ } else
return ContextCompat.getDrawable(requireActivity(), R.drawable.label_primary_text);
}
@@ -303,8 +357,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
default:
return ContextCompat.getColor(requireActivity(), R.color.blue_800);
}
- }
- else
+ } else
return ContextCompat.getColor(requireActivity(), R.color.blue_800);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java
index aa1fabf9..6874e361 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java
@@ -494,7 +494,7 @@ public class RettificaGiacenzeViewModel {
onComplete.run();
} else {
- this.mPrinterRESTConsumer.printCollo(null, mCurrentMtbColt, () -> {
+ this.mPrinterRESTConsumer.printCollo(mCurrentMtbColt, () -> {
this.sendLUSuccessfullyPrinted();
onComplete.run();
}, ex -> this.sendLUPrintError(ex, onComplete));
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java
index aded4d53..cf454c0b 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java
@@ -1,20 +1,34 @@
package it.integry.integrywmsnative.gest.settings;
+import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.os.Bundle;
+import android.widget.Toast;
+import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
+import com.annimon.stream.Stream;
+import com.harrysoft.androidbluetoothserial.BluetoothManager;
+
import java.util.ArrayList;
+import java.util.Collection;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
+import it.integry.integrywmsnative.core.utility.UtilityResources;
-public class MainSettingsFragment extends PreferenceFragmentCompat implements ITitledFragment {
+public class MainSettingsFragment extends PreferenceFragmentCompat implements ITitledFragment, Preference.OnPreferenceChangeListener {
private final ArrayList onPreDestroyList = new ArrayList<>();
+ public static final String KEY_PALLET_BT_DEVICE = "pallet_scale_bt_device";
+
+ private Collection btPairedDevices;
+
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.settings_category).toString());
@@ -23,8 +37,52 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.app_preferences, rootKey);
+
+ var palletScaleBtDeviceListPref = (ListPreference) findPreference(KEY_PALLET_BT_DEVICE);
+ setListPreferenceData(palletScaleBtDeviceListPref);
+ palletScaleBtDeviceListPref.setOnPreferenceChangeListener(this);
}
+
+ protected void setListPreferenceData(ListPreference lp) {
+ BluetoothManager bluetoothManager = BluetoothManager.getInstance();
+ if (bluetoothManager == null) {
+ // Bluetooth unavailable on this device :( tell the user
+ Toast.makeText(requireActivity(), "Bluetooth not available", Toast.LENGTH_LONG).show(); // Replace context with your context instance.
+ return;
+ }
+
+ btPairedDevices = bluetoothManager.getPairedDevicesList();
+
+ if(!Stream.of(btPairedDevices).anyMatch(x -> x.getAddress().equalsIgnoreCase(lp.getValue()))) {
+ lp.setValue(null);
+ }
+
+ updatePalletBtDeviceSummary(lp, lp.getValue());
+
+ if (!btPairedDevices.isEmpty()) {
+ CharSequence[] entries = new CharSequence[btPairedDevices.size()];
+ Stream.of(btPairedDevices)
+ .map(BluetoothDevice::getName)
+ .toList()
+ .toArray(entries);
+
+ CharSequence[] entryValues = new CharSequence[btPairedDevices.size()];
+ Stream.of(btPairedDevices)
+ .map(BluetoothDevice::getAddress)
+ .toList()
+ .toArray(entryValues);
+
+ lp.setEntries(entries);
+ lp.setEntryValues(entryValues);
+ } else {
+ lp.setEntries(new CharSequence[0]);
+ lp.setEntryValues(new CharSequence[0]);
+ lp.setDialogMessage("Nessun dispositivo bluetooth associato. Associane uno dalle impostazioni bluetooth prima di procedere.");
+ }
+ }
+
+
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
onPreDestroyList.add(onPreDestroy);
@@ -34,9 +92,34 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT
public void onDestroyView() {
super.onDestroyView();
- for (Runnable onPreDestroy :
- onPreDestroyList) {
+ for (Runnable onPreDestroy : onPreDestroyList) {
onPreDestroy.run();
}
}
+
+ @Override
+ public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
+
+ final int idx;
+ switch (preference.getKey()) {
+ case KEY_PALLET_BT_DEVICE:
+ final var palletScaleBtDeviceListPref = (ListPreference) preference;
+ updatePalletBtDeviceSummary(palletScaleBtDeviceListPref, (String) newValue);
+ break;
+
+ }
+ // Set result so knows to refresh itself
+// getActivity().setResult(RESULT_OK);
+ return true;
+ }
+
+
+ private void updatePalletBtDeviceSummary(ListPreference listPref, String btDeviceAddress) {
+ String btDeviceName = Stream.of(btPairedDevices)
+ .filter(x -> x.getAddress().equalsIgnoreCase(btDeviceAddress))
+ .map(BluetoothDevice::getName)
+ .findFirstOrElse(UtilityResources.getString(R.string.pallet_scale_bt_device_selection_info));
+ listPref.setSummary(btDeviceName);
+ }
+
}
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 38cf6c30..e8e8da53 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
@@ -44,7 +44,6 @@ 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;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
@@ -56,12 +55,12 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
-import it.integry.integrywmsnative.gest.spedizione.ui.SpedizioneListAdapter;
-import it.integry.integrywmsnative.gest.spedizione.ui.SpedizioneListModel;
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
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.gest.spedizione.ui.SpedizioneListAdapter;
+import it.integry.integrywmsnative.gest.spedizione.ui.SpedizioneListModel;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
@@ -669,7 +668,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
ArrayList createdMtbColts = this.mViewmodel.getCreatedMtbColts();
- Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, PrinterRESTConsumer.Type.PRIMARIA, false);
+ Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, false);
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
}
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 c291a184..f63c79af 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
@@ -1722,26 +1722,25 @@ public class SpedizioneViewModel {
if (!shouldPrint) {
onComplete.run();
} else {
- cyclicPrint(PrinterRESTConsumer.Type.PRIMARIA, mtbColtsToPrint.iterator(), onComplete, ex -> this.sendLUPrintError(ex, onComplete));
+ cyclicPrint(mtbColtsToPrint.iterator(), onComplete, ex -> this.sendLUPrintError(ex, onComplete));
}
});
}
- private void cyclicPrint(PrinterRESTConsumer.Type printerType, @NotNull Iterator sourceMtbColts, Runnable onComplete, RunnableArgs onAbort) {
+ private void cyclicPrint(@NotNull Iterator sourceMtbColts, Runnable onComplete, RunnableArgs onAbort) {
if (sourceMtbColts.hasNext()) {
- singlePrint(printerType, sourceMtbColts.next(), () -> {
- cyclicPrint(printerType, sourceMtbColts, onComplete, onAbort);
+ singlePrint(sourceMtbColts.next(), () -> {
+ cyclicPrint(sourceMtbColts, onComplete, onAbort);
}, onAbort);
} else {
onComplete.run();
}
}
- private void singlePrint(PrinterRESTConsumer.Type printerType, MtbColt mtbColtToPrint, Runnable onComplete, RunnableArgs onFailed) {
+ private void singlePrint(MtbColt mtbColtToPrint, Runnable onComplete, RunnableArgs onFailed) {
this.mPrinterRESTConsumer.printCollo(
- printerType,
mtbColtToPrint,
onComplete,
onFailed);
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java
index 1c72ce25..50707e25 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java
@@ -22,6 +22,7 @@ import androidx.fragment.app.DialogFragment;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.google.android.material.textfield.TextInputLayout;
+import com.harrysoft.androidbluetoothserial.SimpleBluetoothDeviceInterface;
import com.pedromassango.doubleclick.DoubleClick;
import com.pedromassango.doubleclick.DoubleClickListener;
@@ -52,10 +53,13 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI
@Inject
DialogInputLUProdViewModel mViewModel;
+ private final SimpleBluetoothDeviceInterface mBluetoothDeviceInterface;
private final DialogInputLUProdDTO mDialogInputLUProdDTO;
private final RunnableArgs mOnComplete;
private final Runnable mOnAbort;
+ public ObservableField enabledBluetoothDevice = new ObservableField<>();
+
public ObservableField selectedMtbTcol = new ObservableField<>();
public ObservableField currentMtbTCol = new ObservableField<>();
@@ -87,13 +91,14 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI
private DialogInputLUProdTipoColloAdapter codTcolArrayAdapter = null;
private DialogInputLULineeProdAdapter lineeProdArrayAdapter = null;
- public static DialogInputLUProdView newInstance(@NotNull DialogInputLUProdDTO dialogInputLUProdDTO, @NotNull RunnableArgs onComplete, @NotNull Runnable onAbort) {
- return new DialogInputLUProdView(dialogInputLUProdDTO, onComplete, onAbort);
+ public static DialogInputLUProdView newInstance(SimpleBluetoothDeviceInterface bluetoothDeviceInterface, @NotNull DialogInputLUProdDTO dialogInputLUProdDTO, @NotNull RunnableArgs onComplete, @NotNull Runnable onAbort) {
+ return new DialogInputLUProdView(bluetoothDeviceInterface, dialogInputLUProdDTO, onComplete, onAbort);
}
- private DialogInputLUProdView(@NotNull DialogInputLUProdDTO dialogInputLUProdDTO, @NotNull RunnableArgs onComplete, @NotNull Runnable onAbort) {
+ private DialogInputLUProdView(SimpleBluetoothDeviceInterface bluetoothDeviceInterface, @NotNull DialogInputLUProdDTO dialogInputLUProdDTO, @NotNull RunnableArgs onComplete, @NotNull Runnable onAbort) {
super();
+ this.mBluetoothDeviceInterface = bluetoothDeviceInterface;
this.mDialogInputLUProdDTO = dialogInputLUProdDTO;
this.mOnComplete = onComplete;
this.mOnAbort = onAbort;
@@ -104,7 +109,6 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NORMAL, R.style.AppTheme_NewMaterial_Dialog_FullscreenDialog);
-
}
@@ -142,6 +146,13 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI
super.onStart();
this.init();
+
+ if(mBluetoothDeviceInterface != null) {
+ // Listen to bluetooth events
+ mBluetoothDeviceInterface.setListeners(this::onMessageReceived, this::onMessageSent, x -> this.onError(new Exception(x)));
+ enabledBluetoothDevice.set(true);
+ }
+
this.mViewModel.setListener(this);
this.mViewModel.init(mDialogInputLUProdDTO.getCodJfasParent());
}
@@ -385,10 +396,37 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI
this.onDataChanged();
}
+ public void readWeightFromDevice() {
+// Toast.makeText(requireActivity(), "Leggo peso uaglio", Toast.LENGTH_SHORT).show();
+
+ // Let's send a message:
+ mBluetoothDeviceInterface.sendMessage("GW\r");
+ }
+
+ private void onMessageSent(String request) {
+// Toast.makeText(requireActivity(), "Aspitt nu mument", Toast.LENGTH_SHORT).show();
+ }
+
+ private void onMessageReceived(String response) {
+// Toast.makeText(requireActivity(), "Ne awa: " + response, Toast.LENGTH_SHORT).show();
+
+ String tmpResp = response.replace(".", "");
+
+ BigDecimal grossWeight = new BigDecimal(tmpResp.substring(2,7));
+ BigDecimal netWeight = new BigDecimal(tmpResp.substring(8,13));
+
+ mViewModel.setPesoNetto(netWeight);
+ mViewModel.setPesoLordo(grossWeight);
+ }
+
public void save() {
if (this.mViewModel.validate()) {
this.mOnComplete.run(this.mViewModel.getResult());
+
+ if(mBluetoothDeviceInterface != null)
+ mBluetoothDeviceInterface.setListeners(null, null, null);
+
dismiss();
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java
index 92c6a88a..f87b2999 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java
@@ -158,8 +158,8 @@ public class DialogInputLUProdViewModel {
this.mListener.onDataChanged();
}
- public void setPesoNetto(BigDecimal qtaTot) {
- this.internalPesoNetto = qtaTot;
+ public void setPesoNetto(BigDecimal pesoNetto) {
+ this.internalPesoNetto = pesoNetto;
}
public void setTaraPed(BigDecimal taraPed) {
diff --git a/app/src/main/res/drawable/ic_scale.png b/app/src/main/res/drawable/ic_scale.png
new file mode 100644
index 00000000..f5c5ca11
Binary files /dev/null and b/app/src/main/res/drawable/ic_scale.png differ
diff --git a/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml b/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml
index c02e5843..48d60ac4 100644
--- a/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml
+++ b/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml
@@ -65,6 +65,18 @@
android:src="@drawable/ic_erase_96"
android:tint="@android:color/white" />
+
+
diff --git a/app/src/main/res/layout/dialog_input_lu_prod.xml b/app/src/main/res/layout/dialog_input_lu_prod.xml
index a3cdb519..c4d51048 100644
--- a/app/src/main/res/layout/dialog_input_lu_prod.xml
+++ b/app/src/main/res/layout/dialog_input_lu_prod.xml
@@ -52,6 +52,18 @@
android:onClick="@{() -> view.resetValues()}"
android:tint="@android:color/white"/>
+
+
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index c801f0ae..1ed3a1d1 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -30,6 +30,9 @@
Resetta
Evasi
UL
+ Bilancia UL
+ Dispositivo bluetooth
+ Seleziona un dispositivo bluetooth già associato
Questi permessi sono necessari al funzionamento dell\'app
Picking non disponibile
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1a3ecbc5..1d061efb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -81,6 +81,9 @@
Insert info about LU TYPE and NET / GROSS weight
Info
LU\'s info
+ Pallet scale
+ Bluetooth device
+ Please select a paired bluetooth device
Continue
diff --git a/app/src/main/res/xml/app_preferences.xml b/app/src/main/res/xml/app_preferences.xml
index 6106853a..3e312aac 100644
--- a/app/src/main/res/xml/app_preferences.xml
+++ b/app/src/main/res/xml/app_preferences.xml
@@ -1,42 +1,42 @@
-
+
+ app:title="@string/accettazione_title_fragment"
+ app:iconSpaceReserved="false">
-
+
+
+
+ app:title="@string/vendita_title_fragment"
+ app:iconSpaceReserved="false">
-
+
-
-
-
-
+
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/barcode_base_android_library/build.gradle b/barcode_base_android_library/build.gradle
index 82f65226..b13e7245 100644
--- a/barcode_base_android_library/build.gradle
+++ b/barcode_base_android_library/build.gradle
@@ -22,11 +22,11 @@ android {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
-
- lintOptions {
+ lint {
abortOnError false
}
+
}
dependencies {
diff --git a/build.gradle b/build.gradle
index dfb93232..c6257b55 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.2'
+ classpath 'com.android.tools.build:gradle:7.1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.10'
diff --git a/dynamic__base/build.gradle b/dynamic__base/build.gradle
index e3f751bf..ae988304 100644
--- a/dynamic__base/build.gradle
+++ b/dynamic__base/build.gradle
@@ -13,10 +13,10 @@ android {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
-
- lintOptions {
+ lint {
abortOnError false
}
+
}
dependencies {
diff --git a/ext_sources/ICONS/icons8-bilancia-96.png b/ext_sources/ICONS/icons8-bilancia-96.png
new file mode 100644
index 00000000..f5c5ca11
Binary files /dev/null and b/ext_sources/ICONS/icons8-bilancia-96.png differ
diff --git a/honeywellscannerlibrary/build.gradle b/honeywellscannerlibrary/build.gradle
index 48543a16..43494729 100644
--- a/honeywellscannerlibrary/build.gradle
+++ b/honeywellscannerlibrary/build.gradle
@@ -22,10 +22,10 @@ android {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
-
- lintOptions {
+ lint {
abortOnError false
}
+
}
dependencies {
diff --git a/keyobardemulatorscannerlibrary/build.gradle b/keyobardemulatorscannerlibrary/build.gradle
index 57f18f1d..2b890c40 100644
--- a/keyobardemulatorscannerlibrary/build.gradle
+++ b/keyobardemulatorscannerlibrary/build.gradle
@@ -22,10 +22,10 @@ android {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
-
- lintOptions {
+ lint {
abortOnError false
}
+
}
dependencies {
diff --git a/pointmobilescannerlibrary/build.gradle b/pointmobilescannerlibrary/build.gradle
index 51b0f771..bc2847d7 100644
--- a/pointmobilescannerlibrary/build.gradle
+++ b/pointmobilescannerlibrary/build.gradle
@@ -21,10 +21,10 @@ android {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
-
- lintOptions {
+ lint {
abortOnError false
}
+
}
dependencies {
diff --git a/zebrascannerlibrary/build.gradle b/zebrascannerlibrary/build.gradle
index c77b13fc..961758a6 100644
--- a/zebrascannerlibrary/build.gradle
+++ b/zebrascannerlibrary/build.gradle
@@ -21,10 +21,10 @@ android {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
-
- lintOptions {
+ lint {
abortOnError false
}
+
}
dependencies {