Finish v1.29.5(309)

This commit is contained in:
Valerio Castellana 2022-10-04 14:54:42 +02:00
commit ca04b87a8e
88 changed files with 3413 additions and 2055 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 308 def appVersionCode = 309
def appVersionName = '1.29.4' def appVersionName = '1.29.5'
signingConfigs { signingConfigs {
release { release {
@ -83,6 +83,7 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.integrywmsnative'
} }
@ -106,21 +107,25 @@ dependencies {
implementation 'com.google.android.gms:play-services-basement:18.1.0' implementation 'com.google.android.gms:play-services-basement:18.1.0'
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.6.1' implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation('androidx.preference:preference-ktx:1.2.0') {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0" implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0"
implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.annimon:stream:1.2.2' implementation 'com.annimon:stream:1.2.2'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' // implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-common-java8:2.5.1'
implementation 'org.apache.commons:commons-text:1.9' implementation 'org.apache.commons:commons-text:1.9'
//MVVM //MVVM

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="it.integry.integrywmsnative">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

View File

@ -17,6 +17,7 @@ import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
@ -207,4 +208,10 @@ public class MainApplicationModule {
return new ProductionLinesRESTConsumer(); return new ProductionLinesRESTConsumer();
} }
@Provides
@Singleton
DocumentiRESTConsumer provideDocumentiRESTConsumer() {
return new DocumentiRESTConsumer();
}
} }

View File

@ -49,7 +49,7 @@ public class BaseActivity extends AppCompatActivity {
public void onError(Exception ex) { public void onError(Exception ex) {
this.runOnUiThread(() -> { this.runOnUiThread(() -> {
this.closeProgress(); this.closeProgress();
UtilityExceptions.defaultException(this, ex, mCurrentProgress); UtilityExceptions.defaultException(this, ex);
BarcodeManager.enable(); BarcodeManager.enable();
}); });
} }

View File

@ -84,7 +84,7 @@ public abstract class BaseFragment extends Fragment {
public void onError(Exception ex) { public void onError(Exception ex) {
requireActivity().runOnUiThread(() -> { requireActivity().runOnUiThread(() -> {
this.closeProgress(); this.closeProgress();
UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress); UtilityExceptions.defaultException(getActivity(), ex);
BarcodeManager.enable(); BarcodeManager.enable();
}); });
} }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,93 @@
package it.integry.integrywmsnative.core.model.dto;
import java.util.Date;
public class StatoArticoloDTO {
private String codMart;
private String partitaMag;
private Date dataScad;
private Integer ggScadPartita;
private Integer ggMax;
private Integer ggScadEffettivi;
private Integer ggUtili;
private Integer statoArt;
public String getCodMart() {
return codMart;
}
public StatoArticoloDTO setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getPartitaMag() {
return partitaMag;
}
public StatoArticoloDTO setPartitaMag(String partitaMag) {
this.partitaMag = partitaMag;
return this;
}
public Date getDataScad() {
return dataScad;
}
public StatoArticoloDTO setDataScad(Date dataScad) {
this.dataScad = dataScad;
return this;
}
public Integer getGgScadPartita() {
return ggScadPartita;
}
public StatoArticoloDTO setGgScadPartita(Integer ggScadPartita) {
this.ggScadPartita = ggScadPartita;
return this;
}
public Integer getGgMax() {
return ggMax;
}
public StatoArticoloDTO setGgMax(Integer ggMax) {
this.ggMax = ggMax;
return this;
}
public Integer getGgScadEffettivi() {
return ggScadEffettivi;
}
public StatoArticoloDTO setGgScadEffettivi(Integer ggScadEffettivi) {
this.ggScadEffettivi = ggScadEffettivi;
return this;
}
public Integer getGgUtili() {
return ggUtili;
}
public StatoArticoloDTO setGgUtili(Integer ggUtili) {
this.ggUtili = ggUtili;
return this;
}
public Integer getStatoArt() {
return statoArt;
}
public StatoArticoloDTO setStatoArt(Integer statoArt) {
this.statoArt = statoArt;
return this;
}
}

View File

@ -0,0 +1,26 @@
package it.integry.integrywmsnative.core.model.secondary;
public enum StatoPartitaMag {
IN_SCADENZA(1),
SCADUTO(2),
NON_IN_SCADENZA(3);
private final int text;
StatoPartitaMag(int text) {
this.text = text;
}
public int getText() {
return this.text;
}
public static StatoPartitaMag from(int text) {
for (StatoPartitaMag b : StatoPartitaMag.values()) {
if (b.text == text) return b;
}
return null;
}
}

View File

@ -14,6 +14,7 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbGrup; import it.integry.integrywmsnative.core.model.MtbGrup;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.utility.UtilityQuery; import it.integry.integrywmsnative.core.utility.UtilityQuery;
@ -32,7 +33,7 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
public void getByBarcodeProd(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) { public void getByBarcodeProd(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class); ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class);
articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback<ServiceRESTResponse<MtbAart>>() { articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback<>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) { public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) {
analyzeAnswer(response, "getByBarcodeProd", (m) -> { analyzeAnswer(response, "getByBarcodeProd", (m) -> {
@ -61,7 +62,7 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class); ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class);
articoloRESTConsumer.getByCodMart(joinedCods).enqueue(new Callback<ServiceRESTResponse<MtbAart>>() { articoloRESTConsumer.getByCodMart(joinedCods).enqueue(new Callback<>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) { public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) {
analyzeAnswer(response, "getByCodMart", (m) -> { analyzeAnswer(response, "getByCodMart", (m) -> {
@ -77,11 +78,28 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
} }
public void getStatoPartita(String codMart, String partitaMag, RunnableArgs<List<StatoArticoloDTO>> onComplete, RunnableArgs<Exception> onFailed) {
ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class);
articoloRESTConsumer.getStatoPartita(codMart, partitaMag).enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<StatoArticoloDTO>>> call, Response<ServiceRESTResponse<List<StatoArticoloDTO>>> response) {
analyzeAnswer(response, "getStatoPartita", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<StatoArticoloDTO>>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
public void getByCodMart(String codMartToFind, RunnableArgs<MtbAart> onComplete, RunnableArgs<Exception> onFailed) { public void getByCodMart(String codMartToFind, RunnableArgs<MtbAart> onComplete, RunnableArgs<Exception> onFailed) {
ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class); ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class);
articoloRESTConsumer.getByCodMart(codMartToFind).enqueue(new Callback<ServiceRESTResponse<MtbAart>>() { articoloRESTConsumer.getByCodMart(codMartToFind).enqueue(new Callback<>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) { public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) {
analyzeAnswer(response, "getByCodMart", (m) -> { analyzeAnswer(response, "getByCodMart", (m) -> {

View File

@ -1,7 +1,10 @@
package it.integry.integrywmsnative.core.rest.consumers; package it.integry.integrywmsnative.core.rest.consumers;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.POST; import retrofit2.http.POST;
@ -16,4 +19,7 @@ public interface ArticoloRESTConsumerService {
@GET("SM2getArticoloByCodMart") @GET("SM2getArticoloByCodMart")
Call<ServiceRESTResponse<MtbAart>> getByCodMart(@Query("codMart") String barcodeProd); Call<ServiceRESTResponse<MtbAart>> getByCodMart(@Query("codMart") String barcodeProd);
@GET("getProductLotStatus")
Call<ServiceRESTResponse<List<StatoArticoloDTO>>> getStatoPartita(@Query("codMart") String codMart, @Query("partitaMag") String partitaMag);
} }

View File

@ -0,0 +1,51 @@
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbDoct;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.LoadColliDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@Singleton
public class DocumentiRESTConsumer extends _BaseRESTConsumer {
public void createDocsFromColli(List<LoadColliDTO> listColli, RunnableArgs<List<DtbDoct>> onComplete, RunnableArgs<Exception> onFailed) {
DocumentiRESTConsumerService documentiRESTConsumerService = RESTBuilder.getService(DocumentiRESTConsumerService.class);
documentiRESTConsumerService.createDocsFromColli(listColli).enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<DtbDoct>>> call, Response<ServiceRESTResponse<List<DtbDoct>>> response) {
analyzeAnswer(response, "createDocsFromColli", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<DtbDoct>>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
public void createDocFromColli(LoadColliDTO loadColliDTO, RunnableArgs<DtbDoct> onComplete, RunnableArgs<Exception> onFailed) {
DocumentiRESTConsumerService documentiRESTConsumerService = RESTBuilder.getService(DocumentiRESTConsumerService.class);
documentiRESTConsumerService.createDocFromColli(loadColliDTO).enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<DtbDoct>> call, Response<ServiceRESTResponse<DtbDoct>> response) {
analyzeAnswer(response, "createDocFromColli", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<DtbDoct>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -0,0 +1,20 @@
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.model.DtbDoct;
import it.integry.integrywmsnative.core.rest.model.LoadColliDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
public interface DocumentiRESTConsumerService {
@POST("getDatiColliForDocs")
Call<ServiceRESTResponse<List<DtbDoct>>> createDocsFromColli(@Body List<LoadColliDTO> listColli);
@POST("createDocFromColli")
Call<ServiceRESTResponse<DtbDoct>> createDocFromColli(@Body LoadColliDTO listColli);
}

View File

@ -0,0 +1,182 @@
package it.integry.integrywmsnative.core.rest.model;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbColt;
public class LoadColliDTO {
private String gestione;
private String codDtip;
private String codAnag;
private String codVdes;
private Date dataDoc;
private String serDoc;
private Integer numDoc;
private String codMdep;
private String calcPrz;
private boolean datiOrd;
private Date dataOrd;
private Integer numOrd;
private String flagEvasoForzato;
private Date dataVers;
private String note;
private boolean saveDoc = true;
private List<MtbColt> colli = new ArrayList<>();
public String getGestione() {
return gestione;
}
public LoadColliDTO setGestione(String gestione) {
this.gestione = gestione;
return this;
}
public String getCodDtip() {
return codDtip;
}
public LoadColliDTO setCodDtip(String codDtip) {
this.codDtip = codDtip;
return this;
}
public String getCodAnag() {
return codAnag;
}
public LoadColliDTO setCodAnag(String codAnag) {
this.codAnag = codAnag;
return this;
}
public String getCodVdes() {
return codVdes;
}
public LoadColliDTO setCodVdes(String codVdes) {
this.codVdes = codVdes;
return this;
}
public Date getDataDoc() {
return dataDoc;
}
public LoadColliDTO setDataDoc(Date dataDoc) {
this.dataDoc = dataDoc;
return this;
}
public String getSerDoc() {
return serDoc;
}
public LoadColliDTO setSerDoc(String serDoc) {
this.serDoc = serDoc;
return this;
}
public Integer getNumDoc() {
return numDoc;
}
public LoadColliDTO setNumDoc(Integer numDoc) {
this.numDoc = numDoc;
return this;
}
public String getCodMdep() {
return codMdep;
}
public LoadColliDTO setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
public String getCalcPrz() {
return calcPrz;
}
public LoadColliDTO setCalcPrz(String calcPrz) {
this.calcPrz = calcPrz;
return this;
}
public boolean isDatiOrd() {
return datiOrd;
}
public LoadColliDTO setDatiOrd(boolean datiOrd) {
this.datiOrd = datiOrd;
return this;
}
public Date getDataOrd() {
return dataOrd;
}
public LoadColliDTO setDataOrd(Date dataOrd) {
this.dataOrd = dataOrd;
return this;
}
public Integer getNumOrd() {
return numOrd;
}
public LoadColliDTO setNumOrd(Integer numOrd) {
this.numOrd = numOrd;
return this;
}
public String getFlagEvasoForzato() {
return flagEvasoForzato;
}
public LoadColliDTO setFlagEvasoForzato(String flagEvasoForzato) {
this.flagEvasoForzato = flagEvasoForzato;
return this;
}
public Date getDataVers() {
return dataVers;
}
public LoadColliDTO setDataVers(Date dataVers) {
this.dataVers = dataVers;
return this;
}
public String getNote() {
return note;
}
public LoadColliDTO setNote(String note) {
this.note = note;
return this;
}
public boolean isSaveDoc() {
return saveDoc;
}
public LoadColliDTO setSaveDoc(boolean saveDoc) {
this.saveDoc = saveDoc;
return this;
}
public List<MtbColt> getColli() {
return colli;
}
public LoadColliDTO setColli(List<MtbColt> colli) {
this.colli = colli;
return this;
}
}

View File

@ -45,6 +45,8 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
private String nomeAgente; private String nomeAgente;
private String codJfas; private String codJfas;
private List<AvailableClassMerc> availableClassMerc; private List<AvailableClassMerc> availableClassMerc;
private boolean ordTrasf;
public Integer getIdViaggio() { public Integer getIdViaggio() {
return idViaggio; return idViaggio;
@ -56,7 +58,6 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
} }
public String getListino() { public String getListino() {
return listino; return listino;
} }
@ -371,6 +372,14 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
return this; return this;
} }
public boolean isOrdTrasf() {
return ordTrasf;
}
public OrdineUscitaInevasoDTO setOrdTrasf(boolean ordTrasf) {
this.ordTrasf = ordTrasf;
return this;
}
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {

View File

@ -27,6 +27,7 @@ public class SitArtOrdDTO {
private String codMsfa; private String codMsfa;
private String descrizioneMsfa; private String descrizioneMsfa;
private String untord; private String untord;
private BigDecimal qtaOmg;
private final HashMap<String, Object> extraInfo = new HashMap<>(); private final HashMap<String, Object> extraInfo = new HashMap<>();
@ -222,4 +223,13 @@ public class SitArtOrdDTO {
this.untord = untord; this.untord = untord;
return this; return this;
} }
public BigDecimal getQtaOmg() {
return qtaOmg;
}
public SitArtOrdDTO setQtaOmg(BigDecimal qtaOmg) {
this.qtaOmg = qtaOmg;
return this;
}
} }

View File

@ -50,6 +50,8 @@ public class DBSettingsModel {
private boolean flagPickLiberoAllowEmptyDest = false; private boolean flagPickLiberoAllowEmptyDest = false;
private boolean flagAskInfoAggiuntiveSpedizione = false; private boolean flagAskInfoAggiuntiveSpedizione = false;
private String filterFornitoreProd; private String filterFornitoreProd;
private String codDtipOrdTrasfV;
private boolean notifyLotStatus = false;
public boolean isFlagSpedizioneEnableFakeGiacenza() { public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza; return flagSpedizioneEnableFakeGiacenza;
@ -384,4 +386,22 @@ public class DBSettingsModel {
this.filterFornitoreProd = filterFornitoreProd; this.filterFornitoreProd = filterFornitoreProd;
return this; return this;
} }
public String getCodDtipOrdTrasfV() {
return codDtipOrdTrasfV;
}
public DBSettingsModel setCodDtipOrdTrasfV(String codDtipOrdTrasfV) {
this.codDtipOrdTrasfV = codDtipOrdTrasfV;
return this;
}
public boolean isNotifyLotStatus() {
return notifyLotStatus;
}
public DBSettingsModel setNotifyLotStatus(boolean notifyLotStatus) {
this.notifyLotStatus = notifyLotStatus;
return this;
}
} }

View File

@ -326,6 +326,14 @@ public class SettingsManager {
.setGestName("PICKING") .setGestName("PICKING")
.setSection("SPEDIZIONE") .setSection("SPEDIZIONE")
.setKeySection("FLAG_ASK_INFO_AGGIUNTIVE")); .setKeySection("FLAG_ASK_INFO_AGGIUNTIVE"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("COD_DTIP_ORD_TRASF"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_NOTIFICA_STATO_PARTITA"));
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
GestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { GestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> {
@ -357,6 +365,8 @@ public class SettingsManager {
dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class));
dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class)); dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class));
dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class)); dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class));
dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class));
dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class));
String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class);
if (notePerdita != null) if (notePerdita != null)

View File

@ -61,8 +61,8 @@ public class UpdatesManager {
String destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"; String destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/";
var progressDialog = DialogProgressView.newInstance("Download", null, false); var progressDialogBuilder = new DialogProgressView("Download", null, false);
progressDialog.show(mContext.getSupportFragmentManager(), "tag"); progressDialogBuilder.show(mContext.getSupportFragmentManager(), "tag");
var fileDownloader = new FileDownloader() var fileDownloader = new FileDownloader()
@ -70,13 +70,13 @@ public class UpdatesManager {
.setUrlString(downloadURL) .setUrlString(downloadURL)
.setOnProgressUpdate(progress -> { .setOnProgressUpdate(progress -> {
mContext.runOnUiThread(() -> { mContext.runOnUiThread(() -> {
progressDialog.setProgress(progress); progressDialogBuilder.setProgress(progress);
}); });
}) })
.setOnDownloadCompleted(destPath -> { .setOnDownloadCompleted(destPath -> {
mContext.runOnUiThread(() -> { mContext.runOnUiThread(() -> {
progressDialog.dismiss(); progressDialogBuilder.dismiss();
Uri fileLoc; Uri fileLoc;
Intent intent; Intent intent;

View File

@ -15,7 +15,6 @@ import it.integry.integrywmsnative.core.exception.InvalidConnectionException;
import it.integry.integrywmsnative.core.exception.InvalidLUException; import it.integry.integrywmsnative.core.exception.InvalidLUException;
import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException; import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException;
import it.integry.integrywmsnative.core.rest.CommonRESTException; import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
public class UtilityExceptions { public class UtilityExceptions {
@ -25,12 +24,6 @@ public class UtilityExceptions {
InvalidLUGestioneException.class, InvalidLUGestioneException.class,
InvalidLUException.class InvalidLUException.class
}; };
public static void defaultException(Context context, Exception ex, DialogProgressView progressDialog) {
defaultException(context, ex);
if (progressDialog != null && progressDialog.isVisible()) progressDialog.dismiss();
}
public static void defaultException(Context context, Exception ex) { public static void defaultException(Context context, Exception ex) {
defaultException(context, ex, false); defaultException(context, ex, false);
} }

View File

@ -7,7 +7,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
public class UtilityProgress { public class UtilityProgress {
public static DialogProgressView createDefaultProgressDialog(FragmentActivity mContext) { public static DialogProgressView createDefaultProgressDialog(FragmentActivity mContext) {
var progress = DialogProgressView.newInstance(); var progress = DialogProgressView.newInstance(null, null, true);
progress.show(mContext.getSupportFragmentManager(), "tag"); progress.show(mContext.getSupportFragmentManager(), "tag");
return progress; return progress;
} }

View File

@ -798,7 +798,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
if (ex instanceof InvalidPesoKGException) { if (ex instanceof InvalidPesoKGException) {
UtilityToast.showToast(ex.getMessage()); UtilityToast.showToast(ex.getMessage());
} else { } else {
UtilityExceptions.defaultException(this, ex, mCurrentProgress); UtilityExceptions.defaultException(this, ex);
} }
BarcodeManager.enable(); BarcodeManager.enable();

View File

@ -49,7 +49,7 @@ import it.integry.integrywmsnative.core.utility.UtilityContext;
import it.integry.integrywmsnative.databinding.ActivityMainBinding; import it.integry.integrywmsnative.databinding.ActivityMainBinding;
import it.integry.integrywmsnative.gest.login.LoginActivity; import it.integry.integrywmsnative.gest.login.LoginActivity;
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
public class MainActivity extends BaseActivity public class MainActivity extends BaseActivity
implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity { implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity {
@ -71,9 +71,8 @@ public class MainActivity extends BaseActivity
@Inject @Inject
UpdatesManager updatesManager; UpdatesManager updatesManager;
@Inject @Inject
DialogInputQuantityV2View mDialogInputQuantityV2View; DialogProgressView mDialogProgressView;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -81,6 +80,7 @@ public class MainActivity extends BaseActivity
MainApplication.appComponent MainApplication.appComponent
.mainActivityComponent() .mainActivityComponent()
.create() .create()
.inject(this); .inject(this);
@ -108,14 +108,6 @@ public class MainActivity extends BaseActivity
init(); init();
// mDialogInputQuantityV2View
// .setDialogInputQuantityV2DTO(new DialogInputQuantityV2DTO()
// .setMtbAart(new MtbAart()
// .setCodMart("AAAA")
// .setFlagQtaCnfFissa("S")))
// .show(getSupportFragmentManager(), "tag");
} }
private void startLoginActivity() { private void startLoginActivity() {

View File

@ -241,18 +241,18 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private void initGestMenu() { private void initGestMenu() {
int menuSpanCount = 2; int menuSpanCount = 2;
if(UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4; if (UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4;
else if(UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3; else if (UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3;
MenuConfiguration baseMenuConfiguration = new MenuConfiguration(); MenuConfiguration baseMenuConfiguration = new MenuConfiguration();
List<MenuConfiguration.MenuGroup> menuGroups = baseMenuConfiguration.getGroups(); List<MenuConfiguration.MenuGroup> menuGroups = baseMenuConfiguration.getGroups();
for(int i = 0; i < menuGroups.size(); i++) { for (int i = 0; i < menuGroups.size(); i++) {
try { try {
BaseMenuConfiguration.MenuGroup menuGroup = menuGroups.get(i); BaseMenuConfiguration.MenuGroup menuGroup = menuGroups.get(i);
if(menuService.isGroupEnabled(menuGroup)) { if (menuService.isGroupEnabled(menuGroup)) {
FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false); FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false);
@ -261,8 +261,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
List<BaseMenuConfiguration.MenuItem> enableMenuItems = new ArrayList<>(); List<BaseMenuConfiguration.MenuItem> enableMenuItems = new ArrayList<>();
for(int j = 0; j < menuGroup.getItems().size(); j++) { for (int j = 0; j < menuGroup.getItems().size(); j++) {
if(menuService.isItemEnabled(menuGroup.getItems().get(j))) { if (menuService.isItemEnabled(menuGroup.getItems().get(j))) {
enableMenuItems.add(menuGroup.getItems().get(j)); enableMenuItems.add(menuGroup.getItems().get(j));
} }
} }

View File

@ -171,10 +171,10 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
private void initRecyclerView() { private void initRecyclerView() {
mBindings.pickingLiberoMainList.setNestedScrollingEnabled(false); mBindings.pickingLiberoMainList.setNestedScrollingEnabled(false);
mBindings.pickingLiberoMainList.setHasFixedSize(true); mBindings.pickingLiberoMainList.setHasFixedSize(true);
mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(getActivity())); mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(requireActivity()));
SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL); SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireActivity(), SimpleDividerItemDecoration.VERTICAL);
itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider)); itemDecorator.setDrawable(ContextCompat.getDrawable(requireActivity(), R.drawable.divider));
mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator); mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator);
} }
@ -277,7 +277,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
if (ex instanceof InvalidPesoKGException) { if (ex instanceof InvalidPesoKGException) {
UtilityToast.showToast(ex.getMessage()); UtilityToast.showToast(ex.getMessage());
} else { } else {
UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress); UtilityExceptions.defaultException(getActivity(), ex);
} }
BarcodeManager.enable(); BarcodeManager.enable();

View File

@ -287,7 +287,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
if (ex instanceof InvalidPesoKGException) { if (ex instanceof InvalidPesoKGException) {
UtilityToast.showToast(ex.getMessage()); UtilityToast.showToast(ex.getMessage());
} else { } else {
UtilityExceptions.defaultException(this, ex, mCurrentProgress); UtilityExceptions.defaultException(this, ex);
} }
BarcodeManager.enable(); BarcodeManager.enable();

View File

@ -63,7 +63,7 @@ import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.Dialo
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; 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.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView;
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView;
public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, RettificaGiacenzeViewModel.Listener, BottomSheetMtbColrEditView.Listener { public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, RettificaGiacenzeViewModel.Listener, BottomSheetMtbColrEditView.Listener {
@ -341,7 +341,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
if (ex instanceof InvalidPesoKGException) { if (ex instanceof InvalidPesoKGException) {
UtilityToast.showToast(ex.getMessage()); UtilityToast.showToast(ex.getMessage());
} else { } else {
UtilityExceptions.defaultException(requireActivity(), ex, mCurrentProgress); UtilityExceptions.defaultException(requireActivity(), ex);
} }
} }
@ -471,12 +471,12 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
null, null,
R.string.button_ignore_print, R.string.button_ignore_print,
onComplete) onComplete)
.show(getActivity().getSupportFragmentManager(), "tag"); .show(requireActivity().getSupportFragmentManager(), "tag");
} }
@Override @Override
public void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete) { public void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete) {
DialogYesNo.make(getActivity(), "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
switch (result) { switch (result) {
case YES: case YES:
DialogAskPositionOfLU.makeBase(getActivity(), false, (status, mtbDepoPosizione) -> { DialogAskPositionOfLU.makeBase(getActivity(), false, (status, mtbDepoPosizione) -> {
@ -496,7 +496,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
onComplete.run(false, null); onComplete.run(false, null);
break; break;
} }
}).show(); }).show(requireActivity().getSupportFragmentManager(), "tag");
} }
@Override @Override

View File

@ -72,13 +72,14 @@ 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.ask_should_print.DialogAskShouldPrint;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; 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.choose_batch_lot.DialogChooseBatchLotView; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView;
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog; import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog;
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso; import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; 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.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView;
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView;
public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener { public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
@ -196,7 +197,10 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
this.initBarcodeReader(); this.initBarcodeReader();
this.initRecyclerView(); this.initRecyclerView();
closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()); closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()
|| SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()
|| (this.isOrdTrasf() && !UtilityString.isNullOrEmpty(SettingsManager.iDB().getCodDtipOrdTrasfV()))
);
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
@ -220,6 +224,16 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
useQtaOrd); useQtaOrd);
} }
private boolean isOrdTrasf() {
return mTestateOrdini != null && !mTestateOrdini.isEmpty() && Stream.of(mTestateOrdini)
.map(OrdineUscitaInevasoDTO::isOrdTrasf)
.withoutNulls()
.distinctBy(x -> x)
.findFirst()
.get();
}
@Override @Override
public boolean onSupportNavigateUp() { public boolean onSupportNavigateUp() {
onBackPressed(); onBackPressed();
@ -342,6 +356,11 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
spedizioneListModel.setUntMis(x.getMtbAart().getUntMis()); spedizioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
BigDecimal qtaOmg = x.getSitArtOrdDTO().getQtaOmg();
if (qtaOmg != null && qtaOmg.compareTo(BigDecimal.ZERO) > 0) {
spedizioneListModel.setFreeQuantity(String.format(getString(R.string.ord_ven_qta_omaggio), qtaOmg.stripTrailingZeros().toPlainString(), spedizioneListModel.getUntMis()));
}
spedizioneListModel.setOriginalModel(x); spedizioneListModel.setOriginalModel(x);
spedizioneListModels.add(spedizioneListModel); spedizioneListModels.add(spedizioneListModel);
} else { } else {
@ -703,9 +722,15 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override @Override
public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) { public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
DialogInputPeso.make(this, codTcol, netWeightKG, grossWeightKG, (newCodTcol, newNetWeight, newGrossWeight) -> { // DialogInputPesoView.make(this, codTcol, netWeightKG, grossWeightKG, (newCodTcol, newNetWeight, newGrossWeight) -> {
onComplete.run(newCodTcol, netWeightKG, grossWeightKG); // onComplete.run(newCodTcol, netWeightKG, grossWeightKG);
}).show(); // }).show();
new DialogInputPesoLuView(null, new BigDecimal(50), new BigDecimal(55), (newCodTcol, newNetWeight, newGrossWeight) -> {
// onComplete.run(newCodTcol, netWeightKG, grossWeightKG);
})
.show(getSupportFragmentManager(), "tag");
} }
@Override @Override
@ -772,25 +797,26 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
} }
@Override @Override
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, public void onFullItemDispatched(PickingObjectDTO pickingObjectDTO,
MtbAart mtbAart, MtbAart mtbAart,
BigDecimal initialNumCnf, BigDecimal initialNumCnf,
BigDecimal initialQtaCnf, BigDecimal initialQtaCnf,
BigDecimal initialQtaTot, BigDecimal initialQtaTot,
BigDecimal totalQtaOrd, BigDecimal totalQtaOrd,
BigDecimal totalNumCnfOrd, BigDecimal totalNumCnfOrd,
BigDecimal qtaCnfOrd, BigDecimal qtaCnfOrd,
BigDecimal totalQtaToBeTaken, BigDecimal totalQtaToBeTaken,
BigDecimal totalNumCnfToBeTaken, BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken, BigDecimal qtaCnfToBeTaken,
BigDecimal totalQtaAvailable, BigDecimal totalQtaAvailable,
BigDecimal totalNumCnfAvailable, BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable, BigDecimal qtaCnfAvailable,
String partitaMag, String partitaMag,
Date dataScad, Date dataScad,
boolean canOverflowOrderQuantity, boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged, boolean canPartitaMagBeChanged,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) { RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart) .setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf) .setInitialNumCnf(initialNumCnf)
@ -809,7 +835,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
.setDataScad(dataScad) .setDataScad(dataScad)
.setCanOverflowOrderQuantity(canOverflowOrderQuantity) .setCanOverflowOrderQuantity(canOverflowOrderQuantity)
.setCanLUBeClosed(true) .setCanLUBeClosed(true)
.setCanPartitaMagBeChanged(canPartitaMagBeChanged); .setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setStatoPartitaMag(pickingObjectDTO.getStatoArticoloDTO())
.setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus());
if (!mDialogInputQuantityV2View.isVisible()) if (!mDialogInputQuantityV2View.isVisible())
mDialogInputQuantityV2View mDialogInputQuantityV2View
@ -834,7 +862,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override @Override
public void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete) { public void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete) {
DialogYesNo.make(this, "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> {
switch (result) { switch (result) {
case YES: case YES:
DialogAskPositionOfLU.makeBase(this, false, (status, mtbDepoPosizione) -> { DialogAskPositionOfLU.makeBase(this, false, (status, mtbDepoPosizione) -> {
@ -850,7 +878,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
onComplete.run(false, null); onComplete.run(false, null);
break; break;
} }
}).show(); }).show(getSupportFragmentManager(), "tag");
} }
public void askShouldPrintPackingList(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs<PrintOrderCloseDTO> onComplete) { public void askShouldPrintPackingList(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs<PrintOrderCloseDTO> onComplete) {
@ -899,6 +927,18 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
} }
@Override
public void onCreateDocsRequest() {
new DialogYesNoView("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> {
this.mViewmodel.onCreateDocsAnswered(result);
}).show(this.getSupportFragmentManager(), "tag");
}
@Override
public void onChooseArtRequest(List<MtbAart> artsList, RunnableArgs<MtbAart> onComplete) {
DialogChooseArtFromListaArts.make(this, artsList, onComplete).show();
}
@Override @Override
public void onOrderClosed() { public void onOrderClosed() {
this.onLoadingEnded(); this.onLoadingEnded();

View File

@ -6,6 +6,7 @@ import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
@ -20,8 +21,8 @@ public class SpedizioneModule {
} }
@Provides @Provides
SpedizioneViewModel providesSpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer) { SpedizioneViewModel providesSpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentiRESTConsumer documentiRESTConsumer) {
return new SpedizioneViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, posizioniRESTConsumer); return new SpedizioneViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, posizioniRESTConsumer, documentiRESTConsumer);
} }
} }

View File

@ -9,6 +9,7 @@ import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
public class PickingObjectDTO implements Cloneable { public class PickingObjectDTO implements Cloneable {
@ -18,6 +19,7 @@ public class PickingObjectDTO implements Cloneable {
private List<MtbColt> mtbColts; private List<MtbColt> mtbColts;
private PickDataDTO tempPickData; private PickDataDTO tempPickData;
private StatoArticoloDTO statoArticoloDTO;
private MtbColt refMtbColt; private MtbColt refMtbColt;
private List<MtbColr> withdrawMtbColrs = new ArrayList<>(); private List<MtbColr> withdrawMtbColrs = new ArrayList<>();
@ -100,4 +102,13 @@ public class PickingObjectDTO implements Cloneable {
this.withdrawMtbColrs = withdrawMtbColrs; this.withdrawMtbColrs = withdrawMtbColrs;
return this; return this;
} }
public StatoArticoloDTO getStatoArticoloDTO() {
return statoArticoloDTO;
}
public PickingObjectDTO setStatoArticoloDTO(StatoArticoloDTO statoArticoloDTO) {
this.statoArticoloDTO = statoArticoloDTO;
return this;
}
} }

View File

@ -143,6 +143,13 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
holder.mBinding.subdescrizione2.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? null : Html.fromHtml(pickingObjectDTO.getSubDescrizione2())); holder.mBinding.subdescrizione2.setText(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? null : Html.fromHtml(pickingObjectDTO.getSubDescrizione2()));
holder.mBinding.subdescrizione2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? View.GONE : View.VISIBLE); holder.mBinding.subdescrizione2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione2()) ? View.GONE : View.VISIBLE);
if (!UtilityString.isNullOrEmpty(pickingObjectDTO.getFreeQuantity())) {
holder.mBinding.freeQty.setText(Html.fromHtml(pickingObjectDTO.getFreeQuantity()));
holder.mBinding.freeQty.setVisibility(View.VISIBLE);
} else {
holder.mBinding.freeQty.setVisibility(View.GONE);
}
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa())); holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa()));
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaTot())); holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaTot()));

View File

@ -22,6 +22,7 @@ public class SpedizioneListModel implements Cloneable {
private BigDecimal qtaEvasa; private BigDecimal qtaEvasa;
private BigDecimal qtaTot; private BigDecimal qtaTot;
private String untMis; private String untMis;
private String freeQuantity;
private boolean active; private boolean active;
@ -164,4 +165,13 @@ public class SpedizioneListModel implements Cloneable {
this.mSourceMtbColr = sourceMtbColr; this.mSourceMtbColr = sourceMtbColr;
return this; return this;
} }
public String getFreeQuantity() {
return freeQuantity;
}
public SpedizioneListModel setFreeQuantity(String freeQuantity) {
this.freeQuantity = freeQuantity;
return this;
}
} }

View File

@ -29,13 +29,13 @@ public class FilterChipView extends Chip {
this.defaultChipBackgroundColor = getChipBackgroundColor(); this.defaultChipBackgroundColor = getChipBackgroundColor();
this.defaultChipTextColor = getTextColors(); this.defaultChipTextColor = getTextColors();
setShapeAppearanceModel( // setShapeAppearanceModel(
getShapeAppearanceModel() // getShapeAppearanceModel()
.withCornerSize(4) // .withCornerSize(4)
.toBuilder() // .toBuilder()
.build()); // .build());
//
setChipMinHeight(getChipMinHeight() * 1.25f); // setChipMinHeight(getChipMinHeight() * 1.25f);
setOnCloseIconClickListener(v -> { setOnCloseIconClickListener(v -> {
if (onResetClicked != null) onResetClicked.run(); if (onResetClicked != null) onResetClicked.run();

View File

@ -1,18 +1,16 @@
package it.integry.integrywmsnative.view.dialogs; package it.integry.integrywmsnative.view.dialogs;
import android.graphics.Color; import android.app.Dialog;
import android.graphics.drawable.ColorDrawable;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import javax.inject.Singleton; import javax.inject.Singleton;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
@ -29,36 +27,51 @@ public class DialogProgressView extends DialogFragment {
private boolean indeterminateProgress; private boolean indeterminateProgress;
public static DialogProgressView newInstance(String title, String subtitle, boolean indeterminate) { public static DialogProgressView newInstance(String title, String subtitle, boolean indeterminate) {
return new DialogProgressView() return new DialogProgressView(title, subtitle, indeterminate);
.setIndeterminateProgress(indeterminate)
.setTitle(title)
.setSubtitle(subtitle);
} }
public static DialogProgressView newInstance() { public static DialogProgressView newInstance() {
return newInstance(null, null, true); return newInstance(null, null, true);
} }
@Nullable public DialogProgressView(String title, String subtitle, boolean indeterminate) {
@Override this.setTitle(title);
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { this.setSubtitle(subtitle);
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_progress, container, false); this.setIndeterminateProgress(indeterminate);
setCancelable(false);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireActivity().getString(R.string.loading) : title);
mBindings.setSubtitle(subtitle);
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
if(!isIndeterminateProgress()){
mBindings.progressBar.setMax(100);
}
return mBindings.getRoot();
} }
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
mBindings = DialogProgressBinding.inflate(LayoutInflater.from(requireContext()));
mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireContext().getString(R.string.loading) : title);
if (!UtilityString.isNullOrEmpty(subtitle)) mBindings.setSubtitle(subtitle);
mBindings.progressBar.setIndeterminate(isIndeterminateProgress());
if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100);
return new MaterialAlertDialogBuilder(requireContext())
.setView(mBindings.getRoot())
.setCancelable(false)
.create();
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSubtitle() {
return subtitle;
}
public void setSubtitle(String subtitle) {
this.subtitle = subtitle;
}
public boolean isIndeterminateProgress() { public boolean isIndeterminateProgress() {
return indeterminateProgress; return indeterminateProgress;
@ -69,17 +82,6 @@ public class DialogProgressView extends DialogFragment {
return this; return this;
} }
public DialogProgressView setTitle(String title) {
this.title = title;
return this;
}
public DialogProgressView setSubtitle(String subtitle) {
this.subtitle = subtitle;
return this;
}
public void setProgress(int progress) { public void setProgress(int progress) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
mBindings.progressBar.setProgress(progress, true); mBindings.progressBar.setProgress(progress, true);

View File

@ -1,15 +1,12 @@
package it.integry.integrywmsnative.view.dialogs.base; package it.integry.integrywmsnative.view.dialogs.base;
import android.content.Context; import android.app.Dialog;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.text.Spanned; import android.text.Spanned;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
@ -19,7 +16,8 @@ import androidx.annotation.StringRes;
import androidx.appcompat.widget.LinearLayoutCompat; import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.HashMap; import java.util.HashMap;
@ -66,7 +64,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
private final HashMap<String, String> mHashmapContent; private final HashMap<String, String> mHashmapContent;
private final Runnable mOnPositiveClick; private final Runnable mOnPositiveClick;
private final Runnable mOnNegativeClick; private final Runnable mOnNegativeClick;
private final @StringRes Integer mRNeutralButtonString; private final @StringRes
Integer mRNeutralButtonString;
private final Runnable mOnNeutralClick; private final Runnable mOnNeutralClick;
@ -76,13 +75,12 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
private DialogBaseBinding mBindings; private DialogBaseBinding mBindings;
private Context mContext;
public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
return new DialogSimpleMessageView(type, titleText, messageText, hashmapContent, onPositiveClick, onNegativeClick, rNeutralButtonString, onNeutralClick); return new DialogSimpleMessageView(type, titleText, messageText, hashmapContent, onPositiveClick, onNegativeClick, rNeutralButtonString, onNeutralClick);
} }
private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
super(); super();
this.mType = type; this.mType = type;
@ -99,57 +97,79 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
UtilityDialog.setTo90PercentWidth(this.mContext, this); UtilityDialog.setTo90PercentWidth(this.requireContext(), this);
} }
@Nullable @NonNull
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.mContext = getActivity(); mBindings = DialogBaseBinding.inflate(LayoutInflater.from(requireContext()), null, false);
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false);
mBindings.setView(this); mBindings.setView(this);
mBindings.setLifecycleOwner(this); mBindings.setLifecycleOwner(this);
getDialog().setCanceledOnTouchOutside(false); this.initContent();
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
var alertDialogBuilder = new MaterialAlertDialogBuilder(requireContext())
.setView(mBindings.getRoot())
.setCancelable(false);
if (isPositiveVisible())
alertDialogBuilder.setPositiveButton(getPositiveButtonText(), (dialog, which) -> {
this.mOnPositiveClick.run();
});
if (isNeutralVisible())
alertDialogBuilder.setNeutralButton(getNeutralButtonText(), (dialog, which) -> {
this.mOnNeutralClick.run();
});
if (isNegativeVisible())
alertDialogBuilder.setNegativeButton(getNegativeButtonText(), (dialog, which) -> {
this.mOnNegativeClick.run();
});
var alertDialog = alertDialogBuilder.create();
alertDialog.setCanceledOnTouchOutside(false);
return alertDialog;
}
private void initContent() {
int colorBackgroundTitle = -1; int colorBackgroundTitle = -1;
Drawable titleIconRes = null; Drawable titleIconRes = null;
switch (mType) { switch (mType) {
case INFO: case INFO:
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.light_blue_300); colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.colorPrimary);
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_info_78dp, null); titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_info_78dp, null);
break; break;
case SUCCESS: case SUCCESS:
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300); colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.green_300);
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_done_white_24dp, null); titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_done_white_24dp, null);
break; break;
case WARNING: case WARNING:
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600); colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600);
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_warning_white_24dp, null); titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_warning_white_24dp, null);
break; break;
case ERROR: case ERROR:
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300); colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.red_300);
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_mood_bad_24dp, null); titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_mood_bad_24dp, null);
break; break;
} }
this.positiveButtonText = mContext.getText(R.string.ok).toString(); this.positiveButtonText = requireContext().getText(R.string.ok).toString();
this.negativeButtonText = mContext.getText(R.string.no).toString(); this.negativeButtonText = requireContext().getText(R.string.no).toString();
//Title VIEW //Title VIEW
mBindings.titleText.setText(mTitleText); mBindings.titleText.setText(mTitleText);
ColorStateList colorStateList = ColorStateList.valueOf(Color.WHITE); ColorStateList colorStateList = ColorStateList.valueOf(colorBackgroundTitle);
mBindings.titleIcon.setImageTintList(colorStateList); mBindings.titleIcon.setImageTintList(colorStateList);
mBindings.titleIcon.setImageDrawable(titleIconRes); mBindings.titleIcon.setImageDrawable(titleIconRes);
mBindings.titleContainer.setBackgroundColor(colorBackgroundTitle); // mBindings.titleContainer.setBackgroundColor(colorBackgroundTitle);
//Content View //Content View
mBindings.descriptionText.setText(mMessageText); mBindings.descriptionText.setText(mMessageText);
@ -161,15 +181,15 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
String currentKey = mHashmapContent.keySet().toArray()[i].toString(); String currentKey = mHashmapContent.keySet().toArray()[i].toString();
String currentValue = mHashmapContent.get(currentKey); String currentValue = mHashmapContent.get(currentKey);
RelativeLayout singleMapContent = (RelativeLayout) inflater.inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer); RelativeLayout singleMapContent = (RelativeLayout) LayoutInflater.from(requireContext()).inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer);
((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_key)).setText(currentKey); ((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_key)).setText(currentKey);
((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_value)).setText(currentValue); ((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_value)).setText(currentValue);
hashMapContainer.addView(singleMapContent); hashMapContainer.addView(singleMapContent);
} }
} else {
hashMapContainer.setVisibility(View.GONE);
} }
return mBindings.getRoot();
} }
@ -191,7 +211,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
} }
public String getNeutralButtonText() { public String getNeutralButtonText() {
return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? mContext.getText(mRNeutralButtonString).toString() : null; return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? requireContext().getText(mRNeutralButtonString).toString() : null;
} }
public String getNegativeButtonText() { public String getNegativeButtonText() {
@ -200,17 +220,17 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
public void onPositiveClick() { public void onPositiveClick() {
dismiss(); dismiss();
if(mOnPositiveClick != null) mOnPositiveClick.run(); if (mOnPositiveClick != null) mOnPositiveClick.run();
} }
public void onNeutralClick() { public void onNeutralClick() {
dismiss(); dismiss();
if(mOnNeutralClick != null) mOnNeutralClick.run(); if (mOnNeutralClick != null) mOnNeutralClick.run();
} }
public void onNegativeClick() { public void onNegativeClick() {
dismiss(); dismiss();
if(mOnNegativeClick != null) mOnNegativeClick.run(); if (mOnNegativeClick != null) mOnNegativeClick.run();
} }
public static DialogSimpleMessageView makeInfoDialog(String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) { public static DialogSimpleMessageView makeInfoDialog(String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {

View File

@ -1,81 +0,0 @@
package it.integry.integrywmsnative.view.dialogs.basket_lu;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import androidx.databinding.DataBindingUtil;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityDialog;
import it.integry.integrywmsnative.databinding.DialogBasketLuBinding;
import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page1.DialogBasketLU_Page1_ViewModel;
import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page2.DialogBasketLU_Page2_ViewModel;
public class DialogBasketLU {
private Context mContext;
private Dialog mDialog;
private DialogBasketLuBinding mBinding;
private RunnableArgs<MtbColt> mOnComplete;
public static Dialog make(final Context context, RunnableArgs<MtbColt> onComplete) {
return new DialogBasketLU(context, onComplete).mDialog;
}
private DialogBasketLU(Context context, RunnableArgs<MtbColt> onComplete) {
mContext = context;
mOnComplete = onComplete;
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_basket_lu, null, false);
mDialog = new Dialog(context);
mDialog.setContentView(mBinding.getRoot());
mDialog.setCanceledOnTouchOutside(false);
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
UtilityDialog.setTo90PercentWidth(context, mDialog);
this.initViewPager();
}
private void initViewPager() {
List<Map.Entry<Integer, Class<?>>> views = new ArrayList<>();
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class));
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class));
DialogBasketLU_ViewPagerAdapter viewPagerAdapter = new DialogBasketLU_ViewPagerAdapter(mContext, views);
mBinding.viewpager.setAdapter(viewPagerAdapter);
mBinding.viewpager.beginFakeDrag();
mBinding.viewpager.addOnPageChangeListener(viewPagerAdapter);
mBinding.viewpager.setEnabled(false);
mDialog.setOnShowListener(v -> {
viewPagerAdapter.getViewModel(R.layout.dialog_basket_lu__page2).setOnConfirmClickListener(data -> {
MtbColt mtbColt = (MtbColt) data;
mOnComplete.run(mtbColt);
mDialog.dismiss();
});
});
}
}

View File

@ -0,0 +1,75 @@
package it.integry.integrywmsnative.view.dialogs.basket_lu;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.DialogBasketLuBinding;
import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page1.DialogBasketLU_Page1_ViewModel;
import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page2.DialogBasketLU_Page2_ViewModel;
public class DialogBasketLUView extends BaseDialogFragment {
private final RunnableArgs<MtbColt> mOnComplete;
private DialogBasketLuBinding mBindings;
public DialogBasketLUView(RunnableArgs<MtbColt> onComplete) {
mOnComplete = onComplete;
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
mBindings = DialogBasketLuBinding.inflate(LayoutInflater.from(requireContext()), null, false);
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
.setView(mBindings.getRoot())
.setCancelable(false)
.create();
alertDialog.setCanceledOnTouchOutside(false);
this.initViewPager(alertDialog);
return alertDialog;
}
private void initViewPager(Dialog dialog) {
List<Map.Entry<Integer, Class<?>>> views = new ArrayList<>();
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class));
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class));
DialogBasketLU_ViewPagerAdapter viewPagerAdapter = new DialogBasketLU_ViewPagerAdapter(requireContext(), views);
mBindings.viewpager.setAdapter(viewPagerAdapter);
mBindings.viewpager.beginFakeDrag();
mBindings.viewpager.addOnPageChangeListener(viewPagerAdapter);
mBindings.viewpager.setEnabled(false);
dialog.setOnShowListener(v -> {
viewPagerAdapter.getViewModel(R.layout.dialog_basket_lu__page2).setOnConfirmClickListener(data -> {
MtbColt mtbColt = (MtbColt) data;
mOnComplete.run(mtbColt);
dialog.dismiss();
});
});
}
}

View File

@ -207,7 +207,10 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment {
.filter(x -> { .filter(x -> {
String codMart = x.getMtbColr().getMtbAart().getCodMart().toLowerCase(); String codMart = x.getMtbColr().getMtbAart().getCodMart().toLowerCase();
String descrizioneArt = x.getMtbColr().getMtbAart().getDescrizioneEstesa().toLowerCase(); String descrizioneArt = x.getMtbColr().getMtbAart().getDescrizioneEstesa().toLowerCase();
String diacod = x.getMtbColr().getMtbAart().getDiacod().toLowerCase(); String diacod = x.getMtbColr().getMtbAart().getDiacod();
if (!UtilityString.isNullOrEmpty(diacod)) {
diacod = diacod.toLowerCase();
}
return ((codMart.startsWith(finalNewText) || return ((codMart.startsWith(finalNewText) ||
codMart.endsWith(finalNewText) || codMart.endsWith(finalNewText) ||
@ -217,10 +220,10 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment {
descrizioneArt.endsWith(finalNewText) || descrizioneArt.endsWith(finalNewText) ||
descrizioneArt.contains(finalNewText) || descrizioneArt.contains(finalNewText) ||
descrizioneArt.equalsIgnoreCase(finalNewText)) || descrizioneArt.equalsIgnoreCase(finalNewText)) ||
(diacod.startsWith(finalNewText) || (!UtilityString.isNullOrEmpty(diacod) && (diacod.startsWith(finalNewText) ||
diacod.endsWith(finalNewText) || diacod.endsWith(finalNewText) ||
diacod.contains(finalNewText) || diacod.contains(finalNewText) ||
diacod.equalsIgnoreCase(finalNewText))) && diacod.equalsIgnoreCase(finalNewText)))) &&
!x.isHidden(); !x.isHidden();
}) })
.toList(); .toList();

View File

@ -1,135 +0,0 @@
package it.integry.integrywmsnative.view.dialogs.input_peso_lu;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.widget.ArrayAdapter;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.FragmentActivity;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import java.math.BigDecimal;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding;
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
public class DialogInputPeso {
private final FragmentActivity mContext;
private final DialogInputPesoLuBinding mBindings;
private final DialogInputPesoViewModel mViewModel;
private final Dialog currentDialog;
private List<MtbTCol> codTcolList = null;
private ArrayAdapter<String> codTcolArrayAdapter = null;
public static Dialog make(final FragmentActivity context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss<String, BigDecimal, BigDecimal> onDialogDismiss) {
return new DialogInputPeso(context, codTcol, netWeight, grossWeight, onDialogDismiss).currentDialog;
}
private DialogInputPeso(final FragmentActivity context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss<String, BigDecimal, BigDecimal> onDialogDismiss) {
this.mContext = context;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_peso_lu, null, false);
currentDialog = new Dialog(context);
currentDialog.setContentView(mBindings.getRoot());
currentDialog.setCanceledOnTouchOutside(false);
currentDialog.setCancelable(false);
currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
mViewModel = new DialogInputPesoViewModel();
mViewModel.codTcol.set(codTcol);
mViewModel.netWeight.set(UtilityNumber.decimalToString(netWeight));
mViewModel.grossWeight.set(UtilityNumber.decimalToString(grossWeight));
mBindings.setViewModel(mViewModel);
mBindings.buttonConfirm.setOnClickListener(v -> {
currentDialog.dismiss();
String newCodTcol = null;
if(mViewModel.codTcol.get() != null) {
Optional<MtbTCol> newCodTcolOptional = Stream.of(codTcolList)
.filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(mViewModel.codTcol.get()))
.findSingle();
if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol();
}
BigDecimal netWeightDecimal = new BigDecimal(mViewModel.netWeight.get());
BigDecimal grossWeightDecimal = new BigDecimal(mViewModel.grossWeight.get());
onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal);
});
this.init();
}
private void init() {
final DialogProgressView progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
MagazzinoRESTConsumer.getTipiColloStatic(codTcols -> {
this.codTcolList = codTcols;
List<String> codTcolDescriptions = Stream.of(codTcols)
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.toList();
if(mViewModel.codTcol.get() != null) {
Optional<String> newCodTcol = Stream.of(codTcols)
.filter(x -> x.getCodTcol().equalsIgnoreCase(mViewModel.codTcol.get()))
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.findSingle();
if(newCodTcol.isPresent()) mViewModel.codTcol.set(newCodTcol.get());
}
codTcolArrayAdapter = new ArrayAdapter(mContext, R.layout.array_adapter_single_item);
codTcolArrayAdapter.addAll(codTcolDescriptions);
mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter);
progressDialog.dismiss();
}, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog);
});
}
public class DialogInputPesoViewModel {
public BindableString codTcol = new BindableString();
public BindableString netWeight = new BindableString();
public BindableString grossWeight = new BindableString();
}
}

View File

@ -0,0 +1,116 @@
package it.integry.integrywmsnative.view.dialogs.input_peso_lu;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.ArrayAdapter;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.math.BigDecimal;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding;
public class DialogInputPesoLuView extends DialogFragment {
private DialogInputPesoLuBinding mBindings;
private RunnableArgsss<String, BigDecimal, BigDecimal> onDialogDismiss;
public BindableString codTcol = new BindableString();
public BindableString netWeight = new BindableString();
public BindableString grossWeight = new BindableString();
private List<MtbTCol> codTcolList = null;
private ArrayAdapter<String> codTcolArrayAdapter = null;
public DialogInputPesoLuView(String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss<String, BigDecimal, BigDecimal> onDialogDismiss) {
this.onDialogDismiss = onDialogDismiss;
this.codTcol.set(codTcol);
this.netWeight.set(UtilityNumber.decimalToString(netWeight));
this.grossWeight.set(UtilityNumber.decimalToString(grossWeight));
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
mBindings = DialogInputPesoLuBinding.inflate(LayoutInflater.from(requireContext()), null, false);
mBindings.setView(this);
this.init();
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
.setView(mBindings.getRoot())
.setCancelable(false)
.setPositiveButton(R.string.confirm, (dialog, which) -> {
String newCodTcol = null;
if(codTcol.get() != null) {
Optional<MtbTCol> newCodTcolOptional = Stream.of(codTcolList)
.filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(codTcol.get()))
.findSingle();
if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol();
}
BigDecimal netWeightDecimal = new BigDecimal(netWeight.get());
BigDecimal grossWeightDecimal = new BigDecimal(grossWeight.get());
onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal);
})
.create();
alertDialog.setCanceledOnTouchOutside(false);
return alertDialog;
}
private void init() {
// final DialogProgressView progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
MagazzinoRESTConsumer.getTipiColloStatic(codTcols -> {
this.codTcolList = codTcols;
List<String> codTcolDescriptions = Stream.of(codTcols)
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.toList();
if(codTcol.get() != null) {
Optional<String> newCodTcol = Stream.of(codTcols)
.filter(x -> x.getCodTcol().equalsIgnoreCase(codTcol.get()))
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.findSingle();
if(newCodTcol.isPresent()) codTcol.set(newCodTcol.get());
}
codTcolArrayAdapter = new ArrayAdapter(requireContext(), R.layout.array_adapter_single_item);
codTcolArrayAdapter.addAll(codTcolDescriptions);
mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter);
// progressDialog.dismiss();
}, ex -> {
UtilityExceptions.defaultException(requireContext(), ex);
});
}
}

View File

@ -5,6 +5,7 @@ import java.util.Date;
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn; import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
public class DialogInputQuantityV2DTO { public class DialogInputQuantityV2DTO {
@ -40,6 +41,9 @@ public class DialogInputQuantityV2DTO {
private boolean isFocusOnStart = true; private boolean isFocusOnStart = true;
private boolean canLUBeClosed; private boolean canLUBeClosed;
private boolean saveOnImeDone = false; private boolean saveOnImeDone = false;
private boolean notifyProductLotStatus = false;
private StatoArticoloDTO statoPartitaMag;
private String partitaMag; private String partitaMag;
private String note; private String note;
@ -317,4 +321,22 @@ public class DialogInputQuantityV2DTO {
this.saveOnImeDone = saveOnImeDone; this.saveOnImeDone = saveOnImeDone;
return this; return this;
} }
public StatoArticoloDTO getStatoPartitaMag() {
return statoPartitaMag;
}
public DialogInputQuantityV2DTO setStatoPartitaMag(StatoArticoloDTO statoPartitaMag) {
this.statoPartitaMag = statoPartitaMag;
return this;
}
public boolean isNotifyProductLotStatus() {
return notifyProductLotStatus;
}
public DialogInputQuantityV2DTO setNotifyProductLotStatus(boolean notifyProductLotStatus) {
this.notifyProductLotStatus = notifyProductLotStatus;
return this;
}
} }

View File

@ -40,6 +40,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbUntMis; import it.integry.integrywmsnative.core.model.MtbUntMis;
import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityFocus; import it.integry.integrywmsnative.core.utility.UtilityFocus;
@ -81,6 +82,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
public ObservableField<Boolean> enabledChangePartitaMag = new ObservableField<>(true); public ObservableField<Boolean> enabledChangePartitaMag = new ObservableField<>(true);
public ObservableField<Boolean> enabledNotes = new ObservableField<>(false); public ObservableField<Boolean> enabledNotes = new ObservableField<>(false);
public ObservableField<Boolean> enabledLUCloseButton = new ObservableField<>(true); public ObservableField<Boolean> enabledLUCloseButton = new ObservableField<>(true);
public ObservableField<Boolean> showProductLotStatus = new ObservableField<>(false);
private final Handler mHandler = new Handler(); private final Handler mHandler = new Handler();
@ -163,6 +165,10 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
mBindings.setView(this); mBindings.setView(this);
mBindings.setViewmodel(this.mViewModel); mBindings.setViewmodel(this.mViewModel);
if (mDialogInputQuantityV2DTO.isNotifyProductLotStatus() && mDialogInputQuantityV2DTO.getStatoPartitaMag() != null) {
this.initProductLotStatusNotification();
}
MtbUntMis mtbUntMis = mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis() != null && mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().size() > 0 ? mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().get(0) : null; MtbUntMis mtbUntMis = mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis() != null && mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().size() > 0 ? mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().get(0) : null;
if (!(mtbUntMis != null && mtbUntMis.isFlagDig())) { if (!(mtbUntMis != null && mtbUntMis.isFlagDig())) {
mBindings.inputQtaTotText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); mBindings.inputQtaTotText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
@ -193,6 +199,28 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
return mBindings.getRoot(); return mBindings.getRoot();
} }
private void initProductLotStatusNotification() {
StatoPartitaMag statoPartitaMag = StatoPartitaMag.from(this.mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt());
if (statoPartitaMag == null)
return;
this.mBindings.inputDataScadLayout.setEndIconMode(TextInputLayout.END_ICON_CUSTOM);
switch (statoPartitaMag) {
case SCADUTO:
this.mBindings.inputDataScadLayout.setEndIconDrawable(R.drawable.ic_baseline_warning_24);
this.mBindings.inputDataScadLayout.setEndIconTintList(ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.warn_color)));
break;
case IN_SCADENZA:
this.mBindings.inputDataScadLayout.setEndIconDrawable(R.drawable.ic_baseline_warning_24);
this.mBindings.inputDataScadLayout.setEndIconTintList(ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.error_color)));
break;
default:
this.mBindings.inputDataScadLayout.setEndIconDrawable(R.drawable.ic_check_white_24dp);
this.mBindings.inputDataScadLayout.setEndIconTintList(ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.success_color)));
}
}
@Override @Override
public void onDestroyView() { public void onDestroyView() {
super.onDestroyView(); super.onDestroyView();
@ -425,6 +453,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
this.enabledChangePartitaMag.set(this.mDialogInputQuantityV2DTO.isCanPartitaMagBeChanged()); this.enabledChangePartitaMag.set(this.mDialogInputQuantityV2DTO.isCanPartitaMagBeChanged());
this.mViewModel.shouldAskDataScad = this.mDialogInputQuantityV2DTO.isDataScadMandatory(); this.mViewModel.shouldAskDataScad = this.mDialogInputQuantityV2DTO.isDataScadMandatory();
this.enabledNotes.set(this.mDialogInputQuantityV2DTO.isNotesAllowed()); this.enabledNotes.set(this.mDialogInputQuantityV2DTO.isNotesAllowed());
this.showProductLotStatus.set(SettingsManager.iDB().isNotifyLotStatus());
this.enabledLUCloseButton.set(this.mDialogInputQuantityV2DTO.isCanLUBeClosed()); this.enabledLUCloseButton.set(this.mDialogInputQuantityV2DTO.isCanLUBeClosed());
this.currentTaraArticolo.set(this.mViewModel.getMtbAart().getTaraKg()); this.currentTaraArticolo.set(this.mViewModel.getMtbAart().getTaraKg());

View File

@ -2,17 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu;
import android.app.Dialog; import android.app.Dialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.text.SpannableString; import android.text.SpannableString;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -30,7 +27,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.DialogScanOrCreateLuBinding; import it.integry.integrywmsnative.databinding.DialogScanOrCreateLuBinding;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLU; import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLUView;
public class DialogScanOrCreateLUView extends BaseDialogFragment implements DialogScanOrCreateLUViewModel.Listener { public class DialogScanOrCreateLUView extends BaseDialogFragment implements DialogScanOrCreateLUViewModel.Listener {
@ -40,12 +37,12 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
private DialogScanOrCreateLuBinding mBindings; private DialogScanOrCreateLuBinding mBindings;
private int mBarcodeScannerIstanceID; private int mBarcodeScannerIstanceID;
private RunnableArgss<MtbColt, Boolean> mOnComplete; private final RunnableArgss<MtbColt, Boolean> mOnComplete;
private MtbColt openedMtbColt; private MtbColt openedMtbColt;
private boolean mShouldCheckResiduo; private final boolean mShouldCheckResiduo;
private boolean mShouldCheckIfExistDoc; private final boolean mShouldCheckIfExistDoc;
private boolean mEnableCreation; private final boolean mEnableCreation;
private final BindableBoolean basketEnabled = new BindableBoolean(); private final BindableBoolean basketEnabled = new BindableBoolean();
private final BindableBoolean creationEnabled = new BindableBoolean(); private final BindableBoolean creationEnabled = new BindableBoolean();
@ -73,22 +70,21 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
mEnableCreation = enableCreation; mEnableCreation = enableCreation;
mOnComplete = onComplete; mOnComplete = onComplete;
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
this.initBarcode();
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_or_create_lu, container, false);
mBindings.setLifecycleOwner(this);
mBindings.setView(this);
MainApplication.appComponent MainApplication.appComponent
.dialogScanOrCreateLUComponent() .dialogScanOrCreateLUComponent()
.create() .create()
.inject(this); .inject(this);
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.initBarcode();
mBindings = DialogScanOrCreateLuBinding.inflate(LayoutInflater.from(requireContext()), null, false);
mBindings.setLifecycleOwner(this);
mBindings.setView(this);
this.mViewModel this.mViewModel
.setListener(this); .setListener(this);
@ -97,27 +93,22 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation); this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation);
mBindings.createNewLuButton.setOnClickListener(v -> { mBindings.createNewLuButton.setOnClickListener(v -> {
dismiss();
this.mViewModel.createNewLU(); this.mViewModel.createNewLU();
}); });
mBindings.viewBasket.setOnClickListener(v -> { mBindings.viewBasket.setOnClickListener(v -> {
DialogBasketLU.make(getActivity(), mtbColt -> { new DialogBasketLUView(mtbColt -> {
onLUOpened(mtbColt, false); onLUOpened(mtbColt, false);
}).show(); }).show(requireActivity().getSupportFragmentManager(), "tag");
}); });
return mBindings.getRoot(); var alertDialog = new MaterialAlertDialogBuilder(requireContext())
} .setView(mBindings.getRoot())
.setCancelable(false)
@NonNull .create();
@Override alertDialog.setCanceledOnTouchOutside(false);
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { return alertDialog;
var dialog = super.onCreateDialog(savedInstanceState);
dialog.setCanceledOnTouchOutside(false);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
return dialog;
} }
@Override @Override

View File

@ -1,52 +0,0 @@
package it.integry.integrywmsnative.view.dialogs.yes_no;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import androidx.databinding.DataBindingUtil;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.databinding.DialogYesNoBinding;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
public class DialogYesNo {
private Dialog currentDialog;
public static Dialog make(final Context context, final String title, final String description, RunnableArgs<DialogConsts.Results> onDialogDismiss) {
return new DialogYesNo(context, title, description, onDialogDismiss).currentDialog;
}
private DialogYesNo(Context context, String title, String description, RunnableArgs<DialogConsts.Results> onDialogDismiss) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
DialogYesNoBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_yes_no, null, false);
currentDialog = new Dialog(context);
currentDialog.setContentView(bindings.getRoot());
currentDialog.setCancelable(false);
currentDialog.setCanceledOnTouchOutside(false);
currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
bindings.titleText.setText(title);
bindings.descriptionText.setText(description);
bindings.buttonYes.setOnClickListener(v -> {
onDialogDismiss.run(DialogConsts.Results.YES);
currentDialog.dismiss();
});
bindings.buttonNo.setOnClickListener(v -> {
onDialogDismiss.run(DialogConsts.Results.NO);
currentDialog.dismiss();
});
}
}

View File

@ -0,0 +1,67 @@
package it.integry.integrywmsnative.view.dialogs.yes_no;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogYesNoBinding;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
public class DialogYesNoView extends DialogFragment {
private final String title;
private final String description;
private final RunnableArgs<DialogConsts.Results> onDialogDismiss;
public DialogYesNoView(final String title, final String description, RunnableArgs<DialogConsts.Results> onDialogDismiss) {
super();
this.title = title;
this.description = description;
this.onDialogDismiss = onDialogDismiss;
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
var binding = DialogYesNoBinding.inflate(LayoutInflater.from(requireContext()));
binding.executePendingBindings();
if(UtilityString.isNullOrEmpty(title)) {
binding.titleText.setVisibility(View.GONE);
binding.descriptionText.setTextAppearance(requireContext(), R.style.TextAppearance_Material3_BodyLarge);
} else {
binding.titleText.setText(title);
binding.titleText.setVisibility(View.VISIBLE);
binding.descriptionText.setTextAppearance(requireContext(), R.style.TextAppearance_Material3_BodyMedium);
}
binding.descriptionText.setText(description);
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
.setView(binding.getRoot())
.setCancelable(false)
.setPositiveButton("Ok", (dialog, which) -> {
if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.YES);
})
.setNegativeButton("Annulla", (dialog, which) -> {
if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.NO);
})
.create();
alertDialog.setCanceledOnTouchOutside(false);
return alertDialog;
}
}

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
</vector>

View File

@ -17,262 +17,243 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:orientation="vertical"
app:cardCornerRadius="12dp" app:cardCornerRadius="12dp"
app:cardElevation="0dp"> app:cardElevation="0dp">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<RelativeLayout
android:id="@+id/title_container" <androidx.appcompat.widget.AppCompatImageView
android:id="@id/title_icon"
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/green_300" android:gravity="center_horizontal"
android:gravity="center_horizontal"> tools:text="Title here" />
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_icon" android:id="@+id/description_text"
android:layout_width="wrap_content" style="@style/MaterialAlertDialog.Material3.Body.Text.CenterStacked"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_margin="24dp" android:layout_height="wrap_content"
android:src="@drawable/ic_error_white_24dp" /> android:layout_marginTop="16dp"
tools:text="Description here" />
</RelativeLayout>
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/base_buttons_layout" android:id="@+id/dialog_content_hashmap"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:orientation="vertical" android:orientation="vertical"
android:paddingStart="16dp" android:paddingHorizontal="12dp" />
android:paddingTop="24dp"
android:paddingEnd="16dp"
android:paddingBottom="16dp">
<TextView
android:id="@+id/title_text"
style="@style/TextViewMaterial.Dialog.HeadlineText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
tools:text="Title here" />
<TextView
android:id="@+id/description_text"
style="@style/TextViewMaterial"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:gravity="left"
tools:text="Description here" />
<androidx.appcompat.widget.LinearLayoutCompat <!-- <androidx.constraintlayout.widget.ConstraintLayout-->
android:id="@+id/dialog_content_hashmap" <!-- android:layout_width="match_parent"-->
android:layout_width="match_parent" <!-- android:layout_height="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_marginTop="8dp"-->
android:layout_marginTop="12dp" <!-- android:visibility="@{view.negativeVisible &amp;&amp; !view.neutralVisible ? View.VISIBLE : View.GONE}">-->
android:orientation="vertical"
android:paddingLeft="12dp" <!-- <androidx.constraintlayout.widget.Guideline-->
android:paddingRight="12dp"> <!-- android:id="@+id/center_guideline"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintGuide_percent="0.5" />-->
</androidx.appcompat.widget.LinearLayoutCompat> <!-- <com.google.android.material.button.MaterialButton-->
<!-- style="@style/Widget.Material3.Button.OutlinedButton"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="8dp"-->
<!-- android:layout_marginRight="8dp"-->
<!-- android:onClick="@{() -> view.onNegativeClick()}"-->
<!-- android:text="@{view.negativeButtonText}"-->
<!-- tools:text="Neutral"-->
<!-- app:layout_constraintEnd_toStartOf="@id/center_guideline"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<androidx.constraintlayout.widget.ConstraintLayout <!-- <com.google.android.material.button.MaterialButton-->
android:layout_width="match_parent" <!-- style="@style/Widget.Material3.Button.UnelevatedButton"-->
android:layout_height="wrap_content" <!-- android:layout_width="0dp"-->
android:layout_marginTop="8dp" <!-- android:layout_height="wrap_content"-->
android:visibility="@{view.negativeVisible &amp;&amp; !view.neutralVisible ? View.VISIBLE : View.GONE}"> <!-- android:layout_marginLeft="8dp"-->
<!-- android:layout_marginRight="8dp"-->
<androidx.constraintlayout.widget.Guideline <!-- android:onClick="@{() -> view.onPositiveClick()}"-->
android:id="@+id/center_guideline" <!-- android:text="@{view.positiveButtonText}"-->
android:layout_width="wrap_content" <!-- tools:text="Positive"-->
android:layout_height="wrap_content" <!-- app:layout_constraintEnd_toEndOf="parent"-->
android:orientation="vertical" <!-- app:layout_constraintStart_toStartOf="@id/center_guideline"-->
app:layout_constraintGuide_percent="0.5" /> <!-- app:layout_constraintTop_toTopOf="parent" />-->
<com.google.android.material.button.MaterialButton <!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
style="@style/Button.PrimaryOutline"
android:layout_width="0dp" <!-- <androidx.constraintlayout.widget.ConstraintLayout-->
android:layout_height="wrap_content" <!-- android:layout_width="match_parent"-->
android:layout_marginLeft="8dp" <!-- android:layout_height="wrap_content"-->
android:layout_marginRight="8dp" <!-- android:layout_marginTop="8dp"-->
android:onClick="@{() -> view.onNegativeClick()}" <!-- android:visibility="@{!view.negativeVisible &amp;&amp; !view.neutralVisible ? View.VISIBLE : View.GONE}">-->
android:text="@{view.negativeButtonText}"
app:layout_constraintEnd_toStartOf="@id/center_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:strokeColor="@color/colorPrimary" />
<com.google.android.material.button.MaterialButton <!-- <androidx.constraintlayout.widget.Guideline-->
style="@style/Button.PrimaryFull" <!-- android:id="@+id/ok_left_buttons_guideline"-->
android:layout_width="0dp" <!-- android:layout_width="0dp"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_marginLeft="8dp" <!-- android:orientation="vertical"-->
android:layout_marginRight="8dp" <!-- app:layout_constraintGuide_percent="0.25" />-->
android:onClick="@{() -> view.onPositiveClick()}"
android:text="@{view.positiveButtonText}" <!-- <androidx.constraintlayout.widget.Guideline-->
app:layout_constraintEnd_toEndOf="parent" <!-- android:id="@+id/ok_right_buttons_guideline"-->
app:layout_constraintStart_toStartOf="@id/center_guideline" <!-- android:layout_width="0dp"-->
app:layout_constraintTop_toTopOf="parent" /> <!-- android:layout_height="wrap_content"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintGuide_percent="0.75" />-->
<!-- <com.google.android.material.button.MaterialButton-->
<!-- style="@style/Widget.Material3.Button.UnelevatedButton"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="8dp"-->
<!-- android:layout_marginRight="8dp"-->
<!-- tools:text="Positive"-->
<!-- android:onClick="@{() -> view.onPositiveClick()}"-->
<!-- android:text="@{view.positiveButtonText}"-->
<!-- app:layout_constraintEnd_toEndOf="@id/ok_right_buttons_guideline"-->
<!-- app:layout_constraintStart_toStartOf="@id/ok_left_buttons_guideline"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
</androidx.constraintlayout.widget.ConstraintLayout> <!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<androidx.constraintlayout.widget.ConstraintLayout <!-- <androidx.constraintlayout.widget.ConstraintLayout-->
android:layout_width="match_parent" <!-- android:layout_width="match_parent"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_marginTop="8dp" <!-- android:layout_marginTop="8dp"-->
android:visibility="@{!view.negativeVisible &amp;&amp; !view.neutralVisible ? View.VISIBLE : View.GONE}"> <!-- android:visibility="@{view.negativeVisible &amp;&amp; view.neutralVisible ? View.VISIBLE : View.GONE}">-->
<!-- <androidx.constraintlayout.widget.Guideline-->
<!-- android:id="@+id/left_buttons_guideline"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintGuide_percent="0.33" />-->
<!-- <androidx.constraintlayout.widget.Guideline-->
<!-- android:id="@+id/right_buttons_guideline"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintGuide_percent="0.66" />-->
<androidx.constraintlayout.widget.Guideline <!-- <com.google.android.material.button.MaterialButton-->
android:id="@+id/ok_left_buttons_guideline" <!-- style="@style/Button.DangerFull"-->
android:layout_width="0dp" <!-- android:layout_width="0dp"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:orientation="vertical" <!-- android:layout_marginLeft="8dp"-->
app:layout_constraintGuide_percent="0.25" /> <!-- android:layout_marginRight="8dp"-->
<!-- tools:text="Negative"-->
<androidx.constraintlayout.widget.Guideline <!-- android:onClick="@{() -> view.onNegativeClick()}"-->
android:id="@+id/ok_right_buttons_guideline" <!-- android:text="@{view.negativeButtonText}"-->
android:layout_width="0dp" <!-- app:layout_constraintEnd_toStartOf="@id/left_buttons_guideline"-->
android:layout_height="wrap_content" <!-- app:layout_constraintStart_toStartOf="parent"-->
android:orientation="vertical" <!-- app:layout_constraintTop_toTopOf="parent" />-->
app:layout_constraintGuide_percent="0.75" />
<com.google.android.material.button.MaterialButton
style="@style/Button.PrimaryFull"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:onClick="@{() -> view.onPositiveClick()}"
android:text="@{view.positiveButtonText}"
app:layout_constraintEnd_toEndOf="@id/ok_right_buttons_guideline"
app:layout_constraintStart_toStartOf="@id/ok_left_buttons_guideline"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> <!-- <com.google.android.material.button.MaterialButton-->
<!-- style="@style/Widget.Material3.Button.OutlinedButton"-->
<androidx.constraintlayout.widget.ConstraintLayout <!-- android:layout_width="0dp"-->
android:layout_width="match_parent" <!-- android:layout_height="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_marginLeft="8dp"-->
android:layout_marginTop="8dp" <!-- android:layout_marginRight="8dp"-->
android:visibility="@{view.negativeVisible &amp;&amp; view.neutralVisible ? View.VISIBLE : View.GONE}"> <!-- tools:text="Neutral"-->
<!-- android:onClick="@{() -> view.onNeutralClick()}"-->
<androidx.constraintlayout.widget.Guideline <!-- android:text="@{view.neutralButtonText}"-->
android:id="@+id/left_buttons_guideline" <!-- app:layout_constraintEnd_toStartOf="@id/right_buttons_guideline"-->
android:layout_width="wrap_content" <!-- app:layout_constraintStart_toStartOf="@id/left_buttons_guideline"-->
android:layout_height="wrap_content" <!-- app:layout_constraintTop_toTopOf="parent"-->
android:orientation="vertical" <!-- app:strokeColor="@color/colorPrimary" />-->
app:layout_constraintGuide_percent="0.33" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/right_buttons_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.66" />
<com.google.android.material.button.MaterialButton <!-- <com.google.android.material.button.MaterialButton-->
style="@style/Button.DangerFull" <!-- style="@style/Widget.Material3.Button.UnelevatedButton"-->
android:layout_width="0dp" <!-- android:layout_width="0dp"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_marginLeft="8dp" <!-- android:layout_marginLeft="8dp"-->
android:layout_marginRight="8dp" <!-- android:layout_marginRight="8dp"-->
android:onClick="@{() -> view.onNegativeClick()}" <!-- tools:text="Positive"-->
android:text="@{view.negativeButtonText}" <!-- android:onClick="@{() -> view.onPositiveClick()}"-->
app:layout_constraintEnd_toStartOf="@id/left_buttons_guideline" <!-- android:text="@{view.positiveButtonText}"-->
app:layout_constraintStart_toStartOf="parent" <!-- app:layout_constraintEnd_toEndOf="parent"-->
app:layout_constraintTop_toTopOf="parent" /> <!-- app:layout_constraintStart_toStartOf="@id/right_buttons_guideline"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<com.google.android.material.button.MaterialButton <!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
style="@style/Button.PrimaryOutline"
android:layout_width="0dp" <!-- <androidx.constraintlayout.widget.ConstraintLayout-->
android:layout_height="wrap_content" <!-- android:layout_width="match_parent"-->
android:layout_marginLeft="8dp" <!-- android:layout_height="wrap_content"-->
android:layout_marginRight="8dp" <!-- android:layout_marginTop="8dp"-->
android:onClick="@{() -> view.onNeutralClick()}" <!-- android:visibility="@{!view.negativeVisible &amp;&amp; view.neutralVisible ? View.VISIBLE : View.GONE}">-->
android:text="@{view.neutralButtonText}"
app:layout_constraintEnd_toStartOf="@id/right_buttons_guideline" <!-- <androidx.constraintlayout.widget.Guideline-->
app:layout_constraintStart_toStartOf="@id/left_buttons_guideline" <!-- android:id="@+id/center_guideline2"-->
app:layout_constraintTop_toTopOf="parent" <!-- android:layout_width="wrap_content"-->
app:strokeColor="@color/colorPrimary" /> <!-- android:layout_height="wrap_content"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintGuide_percent="0.5" />-->
<com.google.android.material.button.MaterialButton <!-- <com.google.android.material.button.MaterialButton-->
style="@style/Button.PrimaryFull" <!-- style="@style/Widget.Material3.Button.OutlinedButton"-->
android:layout_width="0dp" <!-- android:layout_width="0dp"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_marginLeft="8dp" <!-- android:layout_marginLeft="8dp"-->
android:layout_marginRight="8dp" <!-- android:layout_marginRight="8dp"-->
android:onClick="@{() -> view.onPositiveClick()}" <!-- tools:text="Neutral"-->
android:text="@{view.positiveButtonText}" <!-- android:onClick="@{() -> view.onNeutralClick()}"-->
app:layout_constraintEnd_toEndOf="parent" <!-- android:text="@{view.neutralButtonText}"-->
app:layout_constraintStart_toStartOf="@id/right_buttons_guideline" <!-- app:layout_constraintEnd_toStartOf="@id/center_guideline2"-->
app:layout_constraintTop_toTopOf="parent" /> <!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:strokeColor="@color/colorPrimary" />-->
</androidx.constraintlayout.widget.ConstraintLayout> <!-- <com.google.android.material.button.MaterialButton-->
<!-- style="@style/Widget.Material3.Button.UnelevatedButton"-->
<androidx.constraintlayout.widget.ConstraintLayout <!-- android:layout_width="0dp"-->
android:layout_width="match_parent" <!-- android:layout_height="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_marginLeft="8dp"-->
android:layout_marginTop="8dp" <!-- android:layout_marginRight="8dp"-->
android:visibility="@{!view.negativeVisible &amp;&amp; view.neutralVisible ? View.VISIBLE : View.GONE}"> <!-- tools:text="Positive"-->
<!-- android:onClick="@{() -> view.onPositiveClick()}"-->
<androidx.constraintlayout.widget.Guideline <!-- android:text="@{view.positiveButtonText}"-->
android:id="@+id/center_guideline2" <!-- app:layout_constraintEnd_toEndOf="parent"-->
android:layout_width="wrap_content" <!-- app:layout_constraintStart_toStartOf="@id/center_guideline2"-->
android:layout_height="wrap_content" <!-- app:layout_constraintTop_toTopOf="parent" />-->
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
<com.google.android.material.button.MaterialButton <!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
style="@style/Button.PrimaryOutline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:onClick="@{() -> view.onNeutralClick()}"
android:text="@{view.neutralButtonText}"
app:layout_constraintEnd_toStartOf="@id/center_guideline2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:strokeColor="@color/colorPrimary" />
<com.google.android.material.button.MaterialButton
style="@style/Button.PrimaryFull"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:onClick="@{() -> view.onPositiveClick()}"
android:text="@{view.positiveButtonText}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/center_guideline2"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -1,45 +1,36 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"> <layout xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/base_root" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:orientation="vertical"
app:cardCornerRadius="12dp" android:paddingStart="8dp"
app:cardElevation="0dp"> android:paddingTop="24dp"
android:paddingEnd="8dp"
android:paddingBottom="16dp">
<androidx.appcompat.widget.AppCompatTextView
<LinearLayout android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="center_horizontal"
android:paddingTop="24dp" android:text="@string/basket" />
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:paddingBottom="16dp">
<TextView <it.integry.integrywmsnative.ui.DeactivatableViewPager
android:id="@+id/title_text" android:id="@+id/viewpager"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
style="@style/TextViewMaterial.Dialog.HeadlineText" android:layout_marginTop="16dp"
android:text="@string/basket" android:animateLayoutChanges="true">
android:gravity="center_horizontal"/>
<it.integry.integrywmsnative.ui.DeactivatableViewPager </it.integry.integrywmsnative.ui.DeactivatableViewPager>
android:id="@+id/viewpager"
android:animateLayoutChanges="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
</it.integry.integrywmsnative.ui.DeactivatableViewPager>
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView>
</layout> </layout>

View File

@ -1,10 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"> <layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data> <data>
<import type="it.integry.integrywmsnative.core.model.MtbColt" /> <import type="it.integry.integrywmsnative.core.model.MtbColt" />
<import type="it.integry.integrywmsnative.core.utility.UtilityString" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate" /> <import type="it.integry.integrywmsnative.core.utility.UtilityDate" />
<import type="android.view.View" /> <import type="android.view.View" />
<variable <variable
@ -12,49 +17,41 @@
type="MtbColt" /> type="MtbColt" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:paddingTop="12dp" android:paddingTop="12dp"
android:paddingEnd="12dp" android:paddingEnd="12dp"
android:paddingBottom="12dp" android:paddingBottom="12dp">
android:clickable="true"
android:background="?attr/selectableItemBackground">
<LinearLayout <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" android:orientation="horizontal"
android:orientation="horizontal"> app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:gravity="center" android:layout_marginHorizontal="12dp"
android:paddingStart="12dp" android:background="@drawable/badge_round_corner"
android:paddingEnd="12dp"> android:backgroundTint="@color/colorPrimary"
android:layout_gravity="center"
<androidx.appcompat.widget.AppCompatTextView android:paddingLeft="6dp"
android:layout_width="wrap_content" android:paddingTop="2dp"
android:layout_height="wrap_content" android:paddingRight="6dp"
android:gravity="center" android:paddingBottom="2dp"
android:text="@{mtbColt.numCollo.toString()}" android:text="@{mtbColt.numCollo.toString()}"
tools:text="22222" android:textColor="@android:color/white"
android:background="@drawable/badge_round_corner" android:textStyle="bold"
android:backgroundTint="@color/colorPrimary" tools:text="22222" />
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:textStyle="bold"/>
</RelativeLayout>
<LinearLayout <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
@ -63,25 +60,25 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <androidx.appcompat.widget.AppCompatTextView
android:layout_toStartOf="@id/posizione_collo"
android:layout_alignParentStart="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/posizione_collo"
android:text="@{mtbColt.getDataColloHumanLong()}"
android:textColor="@android:color/black" android:textColor="@android:color/black"
android:textSize="16sp" android:textSize="16sp"
android:text="@{mtbColt.getDataColloHumanLong()}"
tools:text="28 ottobre 2018" /> tools:text="28 ottobre 2018" />
<TextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/posizione_collo" android:id="@+id/posizione_collo"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:text="@{mtbColt.posizione}" android:text="@{mtbColt.posizione}"
android:textSize="16sp"
android:textColor="@android:color/black" android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
android:visibility="@{UtilityString.isNullOrEmpty(mtbColt.posizione) ? View.INVISIBLE : View.VISIBLE}" android:visibility="@{UtilityString.isNullOrEmpty(mtbColt.posizione) ? View.INVISIBLE : View.VISIBLE}"
tools:text="A01F01C01L01" /> tools:text="A01F01C01L01" />
@ -90,16 +87,17 @@
</RelativeLayout> </RelativeLayout>
<TextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="14sp"
android:text="@{`Preparato da: ` + mtbColt.preparatoDa}" android:text="@{`Preparato da: ` + mtbColt.preparatoDa}"
android:textSize="14sp"
android:visibility="@{UtilityString.isNullOrEmpty(mtbColt.preparatoDa) ? View.INVISIBLE : View.VISIBLE}" android:visibility="@{UtilityString.isNullOrEmpty(mtbColt.preparatoDa) ? View.INVISIBLE : View.VISIBLE}"
tools:text="Preparato da: Utente" /> tools:text="Preparato da: Utente" />
</LinearLayout>
</LinearLayout> </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@ -45,7 +45,7 @@
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintGuide_percent="0.85" /> app:layout_constraintGuide_percent="0.85" />
<LinearLayout <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
@ -69,7 +69,7 @@
android:text="@string/no_lu_found_message" android:text="@string/no_lu_found_message"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
style="@style/AppTheme.NewMaterial.Text.Medium"/> style="@style/AppTheme.NewMaterial.Text.Medium"/>
</LinearLayout> </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -106,15 +106,13 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/button_abort" android:id="@+id/button_abort"
style="@style/Button.PrimaryOutline" style="@style/Widget.Material3.Button.TextButton.Dialog"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="52dp" android:layout_height="52dp"
android:layout_marginLeft="8dp" android:layout_marginHorizontal="8dp"
android:layout_marginRight="8dp"
android:text="@string/back" android:text="@string/back"
app:icon="@drawable/ic_black_back" app:icon="@drawable/ic_black_back"
app:iconGravity="textStart" app:iconGravity="textStart"
app:iconSize="24dp"
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline" app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
@ -123,15 +121,13 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/button_confirm" android:id="@+id/button_confirm"
style="@style/Button.PrimaryFull" style="@style/Widget.Material3.Button.TonalButton.Icon"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="52dp" android:layout_height="52dp"
android:layout_marginLeft="8dp" android:layout_marginHorizontal="8dp"
android:layout_marginRight="8dp"
android:text="@string/use" android:text="@string/use"
app:icon="@drawable/ic_black_tick" app:icon="@drawable/ic_black_tick"
app:iconGravity="textStart" app:iconGravity="textStart"
app:iconSize="24dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/center_buttons_guideline" app:layout_constraintStart_toStartOf="@id/center_buttons_guideline"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />

View File

@ -1,188 +1,157 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.text.Html" /> <import type="android.text.Html" />
<import type="it.integry.integrywmsnative.R" /> <import type="it.integry.integrywmsnative.R" />
<import type="it.integry.integrywmsnative.core.utility.UtilityString" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" /> <import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
<variable <variable
name="mContext" name="mContext"
type="android.content.Context" /> type="android.content.Context" />
<variable <variable
name="viewModel" name="view"
type="it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso.DialogInputPesoViewModel" /> type="it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView" />
</data> </data>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.cardview.widget.CardView
android:orientation="vertical" android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:orientation="vertical"
app:cardCornerRadius="12dp" app:cardCornerRadius="12dp"
app:cardElevation="0dp"> app:cardElevation="0dp">
<LinearLayout <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<RelativeLayout
<androidx.appcompat.widget.AppCompatImageView
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/light_blue_300" android:gravity="center_horizontal"
android:gravity="center_horizontal"> android:text="@string/action_insert_weight" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_error_white_24dp"
android:layout_margin="24dp"/>
</RelativeLayout>
<androidx.appcompat.widget.AppCompatTextView
<LinearLayout style="@style/MaterialAlertDialog.Material3.Body.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="16dp"
android:paddingTop="24dp" android:text="@string/dialog_input_peso_lu_description" />
android:paddingLeft="24dp"
android:paddingRight="24dp">
<TextView
android:id="@+id/title_text" <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_cod_tcol"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/TextViewMaterial.Dialog.HeadlineText" android:hint="@string/lu_type">
android:text="@string/action_insert_weight"
android:gravity="center_horizontal"/>
<TextView <androidx.appcompat.widget.AppCompatAutoCompleteTextView
android:layout_width="match_parent" android:id="@+id/filled_exposed_dropdown_cod_tcol"
android:layout_height="wrap_content"
style="@style/TextViewMaterial"
android:text="@string/dialog_input_peso_lu_description"
android:gravity="center"
android:layout_marginTop="16dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_cod_tcol"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/lu_type"> android:ellipsize="end"
android:imeOptions="actionNext"
android:inputType="textNoSuggestions"
android:nextFocusForward="@id/filled_exposed_dropdown_vettore"
android:singleLine="true"
app:binding="@{view.codTcol}" />
<androidx.appcompat.widget.AppCompatAutoCompleteTextView </com.google.android.material.textfield.TextInputLayout>
android:id="@+id/filled_exposed_dropdown_cod_tcol"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_center_1"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.49" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_center_2"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.51" />
<com.google.android.material.textfield.TextInputLayout
style="@style/TextInputLayout.OutlinePrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:layout_constraintEnd_toEndOf="@id/guide_center_1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
style="@style/TextInputEditText.OutlinePrimary"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textNoSuggestions" android:hint="@string/gross_weight"
android:singleLine="true" android:inputType="numberDecimal"
android:ellipsize="end" app:binding="@{view.grossWeight}" />
android:imeOptions="actionNext"
android:nextFocusForward="@id/filled_exposed_dropdown_vettore"
app:binding="@{viewModel.codTcol}"/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/TextInputLayout.OutlinePrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/guide_center_2"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout <com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent" style="@style/TextInputEditText.OutlinePrimary"
android:layout_height="wrap_content"> android:layout_width="match_parent"
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_center_1"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.49"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_center_2"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.51"/>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" android:hint="@string/net_weight"
app:layout_constraintStart_toStartOf="parent" android:inputType="numberDecimal"
app:layout_constraintEnd_toEndOf="@id/guide_center_1" app:binding="@{view.netWeight}" />
android:layout_marginBottom="16dp"
style="@style/TextInputLayout.OutlinePrimary">
<com.google.android.material.textfield.TextInputEditText </com.google.android.material.textfield.TextInputLayout>
android:layout_width="match_parent" </androidx.constraintlayout.widget.ConstraintLayout>
android:layout_height="wrap_content"
android:hint="@string/gross_weight"
android:inputType="numberDecimal"
app:binding="@{viewModel.grossWeight}"
style="@style/TextInputEditText.OutlinePrimary"/>
</com.google.android.material.textfield.TextInputLayout> </androidx.appcompat.widget.LinearLayoutCompat>
<com.google.android.material.textfield.TextInputLayout </androidx.appcompat.widget.LinearLayoutCompat>
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/guide_center_2"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginBottom="16dp"
style="@style/TextInputLayout.OutlinePrimary">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/net_weight"
android:inputType="numberDecimal"
app:binding="@{viewModel.netWeight}"
style="@style/TextInputEditText.OutlinePrimary"/>
</com.google.android.material.textfield.TextInputLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingTop="12dp"
android:paddingBottom="8dp"
android:gravity="bottom|center_horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryFull"
app:icon="@drawable/ic_save_24dp"
android:text="@string/confirm"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>

View File

@ -3,91 +3,60 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<variable <data>
name="title"
type="String" />
<variable <import type="android.view.View" />
name="subtitle"
type="String" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
</data>
<androidx.cardview.widget.CardView <variable
android:orientation="vertical" android:layout_width="match_parent" name="title"
type="String" />
<variable
name="subtitle"
type="String" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:orientation="vertical"
app:cardCornerRadius="12dp" android:paddingLeft="24dp"
app:cardElevation="0dp"> android:paddingTop="24dp"
android:paddingRight="24dp">
<LinearLayout <androidx.appcompat.widget.AppCompatTextView
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="center_horizontal"
android:paddingTop="24dp" android:text="@{title}"
android:paddingLeft="24dp" tools:text="Loading" />
android:paddingRight="24dp">
<androidx.appcompat.widget.AppCompatTextView
style="@style/MaterialAlertDialog.Material3.Body.Text.CenterStacked"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@{subtitle}"
android:visibility="@{UtilityString.isNullOrEmpty(subtitle) ? View.GONE : View.VISIBLE}"
tools:text="@string/loading" />
<androidx.appcompat.widget.AppCompatTextView <ProgressBar
android:layout_width="match_parent" android:id="@+id/progressBar"
android:layout_height="wrap_content" style="@style/Widget.AppCompat.ProgressBar.Horizontal"
style="@style/TextViewMaterial.Dialog.HeadlineText" android:layout_width="match_parent"
android:text="@{title}" android:layout_height="wrap_content"
android:gravity="center_horizontal"/> android:layout_marginTop="16dp"
android:layout_marginBottom="24dp"
android:indeterminate="true" />
<androidx.appcompat.widget.AppCompatTextView </LinearLayout>
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/AppTheme.NewMaterial.Text.Small"
android:text="@{subtitle}"
tools:text="@string/loading"
android:visibility="@{UtilityString.isNullOrEmpty(subtitle) ? View.GONE : View.VISIBLE}"
android:gravity="center_horizontal"/>
<ProgressBar
android:id="@+id/progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="24dp"
android:indeterminate="true"/>
<!-- <RelativeLayout-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="32dp"-->
<!-- android:layout_marginBottom="40dp"-->
<!-- android:layout_marginStart="40dp"-->
<!-- android:layout_marginEnd="40dp"-->
<!-- android:paddingStart="4dp"-->
<!-- android:paddingEnd="4dp"-->
<!-- android:backgroundTint="@color/white_bg_alpha"-->
<!-- android:background="@drawable/circular_background">-->
<!-- <ProgressBar-->
<!-- android:id="@+id/progressBar"-->
<!-- style="?android:attr/progressBarStyleHorizontal"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="20dp"-->
<!-- android:indeterminate="true"-->
<!-- android:layout_marginTop="-5dp"-->
<!-- android:layout_marginBottom="-5dp"/>-->
<!-- </RelativeLayout>-->
</LinearLayout>
</androidx.cardview.widget.CardView>
</layout> </layout>

View File

@ -1,200 +1,144 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<variable <variable
name="view" name="view"
type="it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView" /> type="it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView" />
</data> </data>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/base_root"
android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:orientation="vertical"
app:cardCornerRadius="12dp" android:paddingHorizontal="16dp"
app:cardElevation="0dp"> android:paddingVertical="16dp">
<LinearLayout
<androidx.appcompat.widget.AppCompatImageView
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:gravity="center_horizontal"
android:text="@string/title_open_lu" />
<RelativeLayout
android:id="@+id/title_container" <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/light_blue_300" android:layout_marginTop="16dp"
android:orientation="horizontal"
android:gravity="center_horizontal"> android:gravity="center_horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/title_icon" <ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/MaterialAlertDialog.Material3.Body.Text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/ic_error_white_24dp" android:layout_gravity="center_vertical"
android:layout_margin="24dp"/> android:layout_marginStart="4dp"
android:layout_marginEnd="12dp"
</RelativeLayout> android:gravity="center_horizontal"
android:text="Scansiona il codice a barre di una UL" />
</androidx.appcompat.widget.LinearLayoutCompat>
<LinearLayout </androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/dialog_scan_or_create_lu__creation_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:visibility="@{view.creationEnabled}">
<androidx.appcompat.widget.AppCompatTextView
style="@style/MaterialAlertDialog.Material3.Body.Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginVertical="12dp"
android:gravity="center_horizontal"
android:text="OPPURE"
android:textStyle="bold" />
<com.google.android.material.button.MaterialButton
android:id="@+id/create_new_lu_button"
style="@style/Widget.Material3.Button.UnelevatedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_create_new_ul" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/dialog_scan_or_create_lu__basket_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:paddingTop="24dp" app:layout_constraintEnd_toEndOf="parent"
android:paddingBottom="16dp" app:layout_constraintStart_toStartOf="parent"
android:paddingStart="8dp" app:layout_constraintTop_toTopOf="parent"
android:paddingEnd="8dp"> android:gravity="center_horizontal"
app:visibility="@{view.basketEnabled}">
<androidx.appcompat.widget.AppCompatTextView
<LinearLayout style="@style/MaterialAlertDialog.Material3.Body.Text"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_gravity="center_horizontal"
android:paddingStart="16dp" android:layout_marginVertical="12dp"
android:paddingEnd="16dp"> android:gravity="center_horizontal"
android:text="OPPURE"
android:textStyle="bold" />
<TextView <com.google.android.material.button.MaterialButton
android:id="@+id/title_text" android:id="@+id/view_basket"
android:layout_width="match_parent" style="@style/Widget.Material3.Button.OutlinedButton.Icon"
android:layout_height="wrap_content" android:layout_width="wrap_content"
style="@style/TextViewMaterial.Dialog.HeadlineText"
android:text="@string/title_open_lu"
android:gravity="center_horizontal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="16dp">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:layout_marginStart="8dp"
android:layout_marginEnd="12dp"
android:layout_gravity="center_vertical"
android:gravity="center_horizontal"
style="@style/TextViewMaterial"
android:text="Scansiona il codice a barre di una UL"/>
</LinearLayout>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/dialog_scan_or_create_lu__creation_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:visibility="@{view.creationEnabled}"> android:text="@string/button_view_basket_ul"
app:icon="@drawable/ic_black_shopping_cart"
app:iconSize="24dp" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:textSize="16sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
style="@style/TextViewMaterial"
android:text="OPPURE" />
<com.google.android.material.button.MaterialButton
android:id="@+id/create_new_lu_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryFull"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:text="@string/button_create_new_ul"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/dialog_scan_or_create_lu__basket_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:visibility="@{view.basketEnabled}">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:textSize="16sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
style="@style/TextViewMaterial"
android:text="OPPURE" />
<com.google.android.material.button.MaterialButton
android:id="@+id/view_basket"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:text="@string/button_view_basket_ul"
app:iconSize="24dp"
app:icon="@drawable/ic_black_shopping_cart"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</layout> </layout>

View File

@ -8,101 +8,42 @@
app:cardCornerRadius="12dp" app:cardCornerRadius="12dp"
app:cardElevation="0dp"> app:cardElevation="0dp">
<LinearLayout
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<RelativeLayout <androidx.appcompat.widget.AppCompatImageView
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/green_300" android:gravity="center_horizontal"
android:gravity="center_horizontal"> android:layout_marginBottom="16dp"
android:text="Title here" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_error_white_24dp"
android:layout_margin="24dp"/>
</RelativeLayout>
<androidx.appcompat.widget.AppCompatTextView
<LinearLayout android:id="@+id/description_text"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="center_horizontal"
android:paddingTop="24dp" android:text="Description here" />
android:paddingLeft="24dp"
android:paddingRight="24dp">
<TextView
android:id="@+id/title_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/TextViewMaterial.Dialog.HeadlineText"
android:text="Title here"
android:gravity="center_horizontal"/>
<TextView
android:id="@+id/description_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/TextViewMaterial"
android:text="Description here"
android:gravity="left"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/center_buttons_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/button_no"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
app:strokeColor="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
android:text="@string/no"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/button_yes"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Button.PrimaryFull"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/center_buttons_guideline"
app:layout_constraintEnd_toEndOf="parent"
android:text="@string/yes"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>

View File

@ -24,9 +24,10 @@
android:background="@android:color/white" android:background="@android:color/white"
tools:context=".gest.vendita.MainVenditaFragment"> tools:context=".gest.vendita.MainVenditaFragment">
<RelativeLayout <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:orientation="vertical">
<HorizontalScrollView <HorizontalScrollView
android:id="@+id/filter_chips" android:id="@+id/filter_chips"
@ -50,8 +51,7 @@
android:id="@+id/vendita_main_list" android:id="@+id/vendita_main_list"
android:scrollbars="vertical" android:scrollbars="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"/>
android:layout_below="@id/filter_chips"/>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ordini_vendita_empty_view" android:id="@+id/ordini_vendita_empty_view"
@ -106,18 +106,17 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout> </androidx.appcompat.widget.LinearLayoutCompat>
<com.google.android.material.floatingactionbutton.FloatingActionButton <com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/vendita_main_fab"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin" android:layout_margin="16dp"
android:tint="@android:color/white" android:contentDescription="Dispatch orders"
style="@style/Widget.MaterialComponents.FloatingActionButton"
app:srcCompat="@drawable/ic_check_black_24dp" app:srcCompat="@drawable/ic_check_black_24dp"
android:onClick="@{() -> view.dispatchOrders()}"
app:visibility="@{view.fabVisible}" app:visibility="@{view.fabVisible}"
android:onClick="@{() -> view.dispatchOrders()}" /> style="?attr/floatingActionButtonPrimaryStyle" />
</FrameLayout> </FrameLayout>
</layout> </layout>

View File

@ -17,6 +17,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="2dp" android:paddingStart="2dp"
android:paddingEnd="4dp" android:paddingEnd="4dp"
android:paddingVertical="2dp"
android:orientation="horizontal"> android:orientation="horizontal">
@ -24,33 +25,29 @@
<View <View
android:id="@+id/empty_view" android:id="@+id/empty_view"
android:layout_width="8dp" android:layout_width="8dp"
android:layout_height="match_parent" android:layout_height="match_parent" />
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp" />
<RelativeLayout <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ordine_lavorazione_main_list_group_item_container_root" android:id="@+id/ordine_lavorazione_main_list_group_item_container_root"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingStart="2dp" android:paddingStart="2dp"
android:paddingEnd="8dp" android:paddingEnd="8dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:background="@color/full_white"> android:background="@color/full_white">
<androidx.appcompat.widget.AppCompatCheckBox <CheckBox
android:id="@+id/checkbox" android:id="@+id/checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@android:color/transparent"
app:checked="@{selected}" /> app:checked="@{selected}" />
<RelativeLayout <RelativeLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true">
android:layout_toEndOf="@id/checkbox">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/right_descrizione" android:id="@+id/right_descrizione"
@ -96,7 +93,7 @@
android:layout_toStartOf="@id/right_sub_descrizione"/> android:layout_toStartOf="@id/right_sub_descrizione"/>
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -1,45 +1,32 @@
<layout> <layout>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.LinearLayoutCompat
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/mainOrange"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingStart="12dp"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainOrange"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="8dp"
android:paddingBottom="8dp">
<CheckBox <CheckBox
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checked="true" android:checked="true"
android:enabled="false" /> android:enabled="false"/>
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/group_title" android:id="@+id/group_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/white" android:textColor="@android:color/white"
android:textStyle="bold" android:ellipsize="end"
style="@style/AppTheme.NewMaterial.Text.Medium" android:singleLine="true"
style="@style/TextAppearance.Material3.TitleMedium"
tools:text="NOME GRUPPO"/> tools:text="NOME GRUPPO"/>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
</layout> </layout>

View File

@ -1,26 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"> xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.view.View" />
<import type="android.view.View"/>
<import type="it.integry.integrywmsnative.core.utility.UtilityString" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<variable <variable
name="view" name="view"
type="it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment" /> type="it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment" />
</data> </data>
<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" <androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/picking_libero_main_list" android:id="@+id/picking_libero_main_list"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -28,10 +25,9 @@
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginBottom="92dp" android:layout_marginBottom="92dp"
android:paddingStart="2dp" android:paddingStart="2dp"
android:paddingEnd="2dp"> android:paddingEnd="2dp"
tools:itemCount="3"
</androidx.recyclerview.widget.RecyclerView> tools:listitem="@layout/lista_picking_libero_list_model" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
@ -44,7 +40,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:orientation="horizontal" android:orientation="horizontal"
app:layout_constraintGuide_percent="0.35"/> app:layout_constraintGuide_percent="0.35" />
<androidx.constraintlayout.widget.Guideline <androidx.constraintlayout.widget.Guideline
android:id="@+id/free_picking__suggestion_1__guideline_left" android:id="@+id/free_picking__suggestion_1__guideline_left"
@ -63,76 +59,84 @@
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"
android:alpha="0.4" android:alpha="0.4"
app:visibility="@{view.thereIsntAnOpenedUL}" android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left" app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left"
app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right"> app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right"
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
app:visibility="@{view.thereIsntAnOpenedUL}">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="18sp"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:text="@string/free_picking_suggestion_1"/> android:gravity="center_horizontal"
android:text="@string/free_picking_suggestion_1"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"
android:alpha="0.4" android:alpha="0.4"
app:visibility="@{view.thereIsAnOpenULWithoutRows}" android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left" app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left"
app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right"> app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right"
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
app:visibility="@{view.thereIsAnOpenULWithoutRows}">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="18sp"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:text="@string/free_picking_suggestion_2"/> android:gravity="center_horizontal"
android:text="@string/free_picking_suggestion_2"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
<com.github.clans.fab.FloatingActionButton
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" android:layout_gravity="bottom|end"
android:layout_marginBottom="8dp" android:layout_margin="16dp"
android:layout_marginEnd="8dp" android:contentDescription=""
android:src="@drawable/fab_add" app:srcCompat="@drawable/fab_add"
android:onClick="@{() -> view.createNewLU()}" android:onClick="@{() -> view.createNewLU()}"
app:visibility="@{view.thereIsntAnOpenedUL}" app:visibility="@{view.thereIsntAnOpenedUL}"
fab:fab_colorNormal="@color/colorPrimary" style="?attr/floatingActionButtonPrimaryStyle" />
fab:fab_colorPressed="@color/white_pressed"
fab:fab_colorRipple="#66FFFFFF"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
<com.github.clans.fab.FloatingActionButton
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" android:layout_gravity="bottom|end"
android:layout_marginBottom="8dp" android:layout_margin="16dp"
android:layout_marginEnd="8dp" android:contentDescription=""
android:src="@drawable/ic_check_white_24dp" app:srcCompat="@drawable/ic_check_white_24dp"
android:onClick="@{() -> view.closeLU()}" android:onClick="@{() -> view.closeLU()}"
app:visibility="@{view.thereIsAnOpenedUL}" app:visibility="@{view.thereIsAnOpenedUL}"
fab:fab_colorNormal="@color/mainGreen" style="?attr/floatingActionButtonSecondaryStyle" />
fab:fab_colorPressed="@color/white_pressed"
fab:fab_colorRipple="#66FFFFFF"/>
<!-- <com.github.clans.fab.FloatingActionButton-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_gravity="bottom|end"-->
<!-- android:layout_marginEnd="8dp"-->
<!-- android:layout_marginBottom="8dp"-->
<!-- android:onClick="@{() -> view.closeLU()}"-->
<!-- android:src="@drawable/ic_check_white_24dp"-->
<!-- app:visibility="@{view.thereIsAnOpenedUL}"-->
<!-- fab:fab_colorNormal="@color/mainGreen"-->
<!-- fab:fab_colorPressed="@color/white_pressed"-->
<!-- fab:fab_colorRipple="#66FFFFFF" />-->
<View <View
@ -140,9 +144,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#99000000" android:background="#99000000"
android:visibility="gone"
android:clickable="true" android:clickable="true"
android:focusable="true" /> android:focusable="true"
android:visibility="gone" />
<it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView <it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView
android:id="@+id/bottom_sheet__mtb_colr_edit" android:id="@+id/bottom_sheet__mtb_colr_edit"

View File

@ -91,20 +91,20 @@
android:orientation="vertical" android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="300dp" app:layout_constraintHeight_max="280dp"
app:layout_constraintHeight_min="200dp" app:layout_constraintHeight_min="200dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/layout_filter_gruppo_merc__list_item" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/save_btn" android:id="@+id/save_btn"
style="@style/Button.PrimaryFull" style="@style/Widget.Material3.Button.UnelevatedButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:text="@string/confirm" android:text="@string/confirm"
app:singleClick="@{() -> view.onConfirm()}" /> app:singleClick="@{() -> view.onConfirm()}" />

View File

@ -16,21 +16,21 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:clickable="@{item.enabled}" android:clickable="@{item.enabled}"
android:onClick="@{() -> item.selected.toggle()}"> android:onClick="@{() -> item.selected.toggle()}"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingHorizontal="8dp">
<androidx.appcompat.widget.AppCompatCheckBox <CheckBox
android:id="@+id/checkbox" android:id="@+id/checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="36dp"
android:background="@android:color/transparent" android:clickable="false"
android:enabled="@{item.enabled}" android:enabled="@{item.enabled}"
app:checked="@{item.selected}" app:checked="@{item.selected}" />
android:clickable="false"/>
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -42,7 +42,7 @@
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:enabled="@{item.enabled}" android:enabled="@{item.enabled}"
@ -51,7 +51,7 @@
android:clickable="false" /> android:clickable="false" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text=" - " android:text=" - "
@ -61,7 +61,7 @@
android:clickable="false" /> android:clickable="false" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:enabled="@{item.enabled}" android:enabled="@{item.enabled}"

View File

@ -25,8 +25,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp">
android:orientation="horizontal">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
@ -91,20 +90,20 @@
android:orientation="vertical" android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="300dp" app:layout_constraintHeight_max="280dp"
app:layout_constraintHeight_min="200dp" app:layout_constraintHeight_min="200dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/layout_filter_numero_ordine__list_item" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/save_btn" android:id="@+id/save_btn"
style="@style/Button.PrimaryFull" style="@style/Widget.Material3.Button.UnelevatedButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:text="@string/confirm" android:text="@string/confirm"
app:singleClick="@{() -> view.onConfirm()}" /> app:singleClick="@{() -> view.onConfirm()}" />

View File

@ -5,7 +5,9 @@
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="it.integry.integrywmsnative.core.utility.UtilityString" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="android.view.View" /> <import type="android.view.View" />
<variable <variable
@ -16,42 +18,34 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:clickable="@{item.enabled}" android:clickable="@{item.enabled}"
android:onClick="@{() -> item.selected.toggle()}"> android:onClick="@{() -> item.selected.toggle()}"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingHorizontal="8dp">
<androidx.appcompat.widget.AppCompatCheckBox <CheckBox
android:id="@+id/checkbox" android:id="@+id/checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="36dp"
android:background="@android:color/transparent" android:clickable="false"
android:enabled="@{item.enabled}" android:enabled="@{item.enabled}"
app:checked="@{item.selected}" app:checked="@{item.selected}" />
android:clickable="false"/>
<androidx.appcompat.widget.LinearLayoutCompat
<androidx.appcompat.widget.AppCompatTextView
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:clickable="false"
android:enabled="@{item.enabled}"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:clickable="false"> android:text="@{item.originalModel.toString()}"
tools:text="01" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="@{item.enabled}"
android:text="@{item.originalModel.toString()}"
tools:text="01"
android:clickable="false" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
</layout> </layout>

View File

@ -32,7 +32,7 @@
android:paddingLeft="6dp" android:paddingLeft="6dp"
android:paddingRight="6dp" android:paddingRight="6dp"
android:textStyle="bold" android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text.Small"/> style="@style/AppTheme.NewMaterial.Text.Small" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
@ -57,7 +57,7 @@
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/green_700" android:textColor="@color/green_700"
style="@style/AppTheme.NewMaterial.Text.Medium" style="@style/AppTheme.NewMaterial.Text.Medium"
tools:text="QTA"/> tools:text="QTA" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -65,7 +65,7 @@
android:textStyle="bold" android:textStyle="bold"
android:textColor="@android:color/black" android:textColor="@android:color/black"
style="@android:style/TextAppearance.Medium" style="@android:style/TextAppearance.Medium"
android:text=" / "/> android:text=" / " />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/qta_tot" android:id="@+id/qta_tot"
@ -74,7 +74,7 @@
android:textStyle="bold" android:textStyle="bold"
android:textColor="@android:color/black" android:textColor="@android:color/black"
style="@style/AppTheme.NewMaterial.Text.Medium" style="@style/AppTheme.NewMaterial.Text.Medium"
tools:text="QTA"/> tools:text="QTA" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/unt_mis" android:id="@+id/unt_mis"
@ -86,7 +86,7 @@
android:textAllCaps="true" android:textAllCaps="true"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="cnf"/> tools:text="cnf" />
<androidx.appcompat.widget.AppCompatImageButton <androidx.appcompat.widget.AppCompatImageButton
@ -98,7 +98,7 @@
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:background="@drawable/ic_info_78dp" android:background="@drawable/ic_info_78dp"
android:backgroundTint="@color/colorPrimary" android:backgroundTint="@color/colorPrimary"
android:visibility="gone"/> android:visibility="gone" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@ -112,7 +112,7 @@
android:textSize="16sp" android:textSize="16sp"
android:textColor="@android:color/black" android:textColor="@android:color/black"
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="DESCRIZIONE"/> tools:text="DESCRIZIONE" />
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -131,8 +131,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="14sp" android:textSize="14sp"
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="SUB DESCRIZIONE"/> tools:text="SUB DESCRIZIONE" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
@ -141,7 +140,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="14sp" android:textSize="14sp"
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="SUB DESCRIZIONE"/> tools:text="SUB DESCRIZIONE" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/free_qty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="QTA OMAGGIO 15 CNF" />
</LinearLayout> </LinearLayout>
@ -160,12 +167,11 @@
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
style="@style/AppTheme.NewMaterial.Text.Small"/> style="@style/AppTheme.NewMaterial.Text.Small" />
</RelativeLayout> </RelativeLayout>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<View <View

View File

@ -421,4 +421,5 @@
<string name="action_create_doc">Crea documento</string> <string name="action_create_doc">Crea documento</string>
<string name="no_arts_found">Nessun articolo compatibile trovato</string> <string name="no_arts_found">Nessun articolo compatibile trovato</string>
<string name="empty_lu">UL vuota</string> <string name="empty_lu">UL vuota</string>
<string name="ord_ven_qta_omaggio"><![CDATA[Qta omaggio: <b>%s %s</b>]]></string>
</resources> </resources>

View File

@ -0,0 +1,31 @@
<resources>
<style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar">
<item name="colorPrimary">@color/md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer</item>
<item name="colorSecondary">@color/md_theme_dark_secondary</item>
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
<item name="colorTertiary">@color/md_theme_dark_tertiary</item>
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
<item name="colorError">@color/md_theme_dark_error</item>
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer</item>
<item name="colorOnError">@color/md_theme_dark_onError</item>
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer</item>
<item name="android:colorBackground">@color/md_theme_dark_background</item>
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
<item name="colorSurface">@color/md_theme_dark_surface</item>
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
<item name="colorOutline">@color/md_theme_dark_outline</item>
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
</style>
</resources>

View File

@ -33,7 +33,7 @@
<item name="iconTint">@color/red_400</item> <item name="iconTint">@color/red_400</item>
</style> </style>
<style name="Button.DangerFull" parent="Widget.MaterialComponents.Button.UnelevatedButton"> <style name="Button.DangerFull" parent="Widget.Material3.Button.UnelevatedButton">
<!-- <item name="fontFamily">@font/product_sans_regular</item> &lt;!&ndash; target android sdk versions < 26 and > 14 if theme other than AppCompat &ndash;&gt;--> <!-- <item name="fontFamily">@font/product_sans_regular</item> &lt;!&ndash; target android sdk versions < 26 and > 14 if theme other than AppCompat &ndash;&gt;-->
<!-- <item name="android:textStyle">bold</item>--> <!-- <item name="android:textStyle">bold</item>-->
<!-- <item name="android:textAllCaps">false</item>--> <!-- <item name="android:textAllCaps">false</item>-->

View File

@ -1,118 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="colorPrimary">#1A73E8</color> <color name="seed">#4c4dcf</color>
<color name="colorPrimaryDark">#0049b4</color> <color name="md_theme_light_primary">#4C4DCF</color>
<color name="colorSecondary">#4db6ac</color> <color name="md_theme_light_onPrimary">#FFFFFF</color>
<color name="colorSecondaryDark">#459B90</color> <color name="md_theme_light_primaryContainer">#E1DFFF</color>
<color name="colorAccent">#387ef5</color> <color name="md_theme_light_onPrimaryContainer">#08006C</color>
<color name="colorRipple">#3f3f51b5</color> <color name="md_theme_light_secondary">#0059C5</color>
<color name="colorPrimaryGray">#757575</color> <color name="md_theme_light_onSecondary">#FFFFFF</color>
<color name="md_theme_light_secondaryContainer">#D8E2FF</color>
<color name="mainGreen">@color/green_500</color> <color name="md_theme_light_onSecondaryContainer">#001A43</color>
<color name="mainOrange">@color/orange_700</color> <color name="md_theme_light_tertiary">#795369</color>
<color name="letturaFacilitataBG">#eeeeee</color> <color name="md_theme_light_onTertiary">#FFFFFF</color>
<color name="md_theme_light_tertiaryContainer">#FFD8EC</color>
<!-- FAB DEFINITIONS --> <color name="md_theme_light_onTertiaryContainer">#2E1125</color>
<color name="black_semi_transparent">#B2000000</color> <color name="md_theme_light_error">#BA1A1A</color>
<color name="full_white">#FFFFFF</color> <color name="md_theme_light_errorContainer">#FFDAD6</color>
<color name="white">#fafafa</color> <color name="md_theme_light_onError">#FFFFFF</color>
<color name="white_bg_alpha">#88BCBCBC</color> <color name="md_theme_light_onErrorContainer">#410002</color>
<color name="white_pressed">#f1f1f1</color> <color name="md_theme_light_background">#F6FEFF</color>
<color name="half_black">#808080</color> <color name="md_theme_light_onBackground">#001F24</color>
<color name="md_theme_light_surface">#F6FEFF</color>
<!-- EMPTY VIEW --> <color name="md_theme_light_onSurface">#001F24</color>
<color name="empty_view_gray">#bdbdbd</color> <color name="md_theme_light_surfaceVariant">#E4E1EC</color>
<color name="empty_view_bg_gray">#f5f5f5</color> <color name="md_theme_light_onSurfaceVariant">#47464F</color>
<color name="md_theme_light_outline">#777680</color>
<color name="md_theme_light_inverseOnSurface">#D0F8FF</color>
<color name="md_theme_light_inverseSurface">#00363D</color>
<color name="bg_checked_layout">#E8F0FE</color> <color name="md_theme_light_inversePrimary">#C1C1FF</color>
<color name="bg_checked_layout_dark">#C9D5F0</color> <color name="md_theme_light_shadow">#000000</color>
<color name="md_theme_light_surfaceTint">#4C4DCF</color>
<color name="md_theme_light_surfaceTintColor">#4C4DCF</color>
<color name="md_theme_dark_primary">#C1C1FF</color>
<color name="colorPrimaryA10">#1A1A73E8</color> <color name="md_theme_dark_onPrimary">#160AA2</color>
<color name="colorPrimaryA20">#331A73E8</color> <color name="md_theme_dark_primaryContainer">#3231B6</color>
<color name="colorPrimaryA30">#4D1A73E8</color> <color name="md_theme_dark_onPrimaryContainer">#E1DFFF</color>
<color name="colorPrimaryA40">#661A73E8</color> <color name="md_theme_dark_secondary">#AEC6FF</color>
<color name="colorPrimaryA50">#801A73E8</color> <color name="md_theme_dark_onSecondary">#002E6C</color>
<color name="colorPrimaryA60">#991A73E8</color> <color name="md_theme_dark_secondaryContainer">#004397</color>
<color name="colorPrimaryA70">#B31A73E8</color> <color name="md_theme_dark_onSecondaryContainer">#D8E2FF</color>
<color name="colorPrimaryA80">#CC1A73E8</color> <color name="md_theme_dark_tertiary">#E9B9D3</color>
<color name="colorPrimaryA90">#E61A73E8</color> <color name="md_theme_dark_onTertiary">#46263A</color>
<color name="md_theme_dark_tertiaryContainer">#5F3C51</color>
<color name="md_theme_dark_onTertiaryContainer">#FFD8EC</color>
<color name="alpha_blue_500">#2d42a5f5</color> <color name="md_theme_dark_error">#FFB4AB</color>
<color name="md_theme_dark_errorContainer">#93000A</color>
<color name="blue_100">#BBDEFB</color> <color name="md_theme_dark_onError">#690005</color>
<color name="blue_300">#64B5F6</color> <color name="md_theme_dark_onErrorContainer">#FFDAD6</color>
<color name="blue_400">#42A5F5</color> <color name="md_theme_dark_background">#001F24</color>
<color name="blue_500">#2196F3</color> <color name="md_theme_dark_onBackground">#97F0FF</color>
<color name="blue_600">#1E88E5</color> <color name="md_theme_dark_surface">#001F24</color>
<color name="blue_700">#1976D2</color> <color name="md_theme_dark_onSurface">#97F0FF</color>
<color name="blue_800">#1565C0</color> <color name="md_theme_dark_surfaceVariant">#47464F</color>
<color name="md_theme_dark_onSurfaceVariant">#C8C5D0</color>
<color name="brown_500">#795548</color> <color name="md_theme_dark_outline">#918F9A</color>
<color name="md_theme_dark_inverseOnSurface">#001F24</color>
<color name="green_100">#C8E6C9</color> <color name="md_theme_dark_inverseSurface">#97F0FF</color>
<color name="green_200">#A5D6A7</color> <color name="md_theme_dark_inversePrimary">#4C4DCF</color>
<color name="green_300">#81c784</color> <color name="md_theme_dark_shadow">#000000</color>
<color name="green_400">#66bb6a</color> <color name="md_theme_dark_surfaceTint">#C1C1FF</color>
<color name="green_500_with_alpha">#884CAF50</color> <color name="md_theme_dark_surfaceTintColor">#C1C1FF</color>
<color name="green_500">#4CAF50</color>
<color name="green_600">#43A047</color>
<color name="green_700">#388E3C</color>
<color name="green_800">#2e7d32</color>
<color name="green_900">#1b5e20</color>
<color name="gray_050">#FAFAFA</color>
<color name="gray_100">#F5F5F5</color>
<color name="gray_200">#eeeeee</color>
<color name="gray_300">#e0e0e0</color>
<color name="gray_400">#BDBDBD</color>
<color name="gray_500">#9E9E9E</color>
<color name="gray_600">#757575</color>
<color name="gray_700">#616161</color>
<color name="gray_800">#424242</color>
<color name="alpha_indigo_500">#813f51b5</color>
<color name="indigo_400">#5C6BC0</color>
<color name="indigo_500">#3F51B5</color>
<color name="indigo_600">#3949AB</color>
<color name="indigo_700">#303F9F</color>
<color name="light_blue_100">#B3E5FC</color>
<color name="light_blue_200">#81D4FA</color>
<color name="light_blue_300">#4fc3f7</color>
<color name="light_blue_400">#29B6F6</color>
<color name="light_blue_500">#03A9F4</color>
<color name="light_blue_600">#039BE5</color>
<color name="light_blue_700">#0288D1</color>
<color name="light_blue_800">#0277BD</color>
<color name="orange_600_with_alpha">#88FB8C00</color>
<color name="orange_600">#FB8C00</color>
<color name="orange_700">#F57C00</color>
<color name="orange_800">#EF6C00</color>
<color name="red_200">#ef9a9a</color>
<color name="red_300">#e57373</color>
<color name="red_400">#EF5350</color>
<color name="red_500">#F44336</color>
<color name="red_600">#E53935</color>
<color name="red_700">#D32F2F</color>
<color name="teal_500">#009688</color>
<color name="yellow_100">#FFF9C4</color>
<color name="yellow_600">#FDD835</color>
<color name="yellow_800">#F9A825</color>
</resources> </resources>

View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#1A73E8</color>
<color name="colorPrimaryDark">#0049b4</color>
<color name="colorSecondary">#4db6ac</color>
<color name="colorSecondaryDark">#459B90</color>
<color name="colorAccent">#387ef5</color>
<color name="colorRipple">#3f3f51b5</color>
<color name="colorPrimaryGray">#757575</color>
<color name="mainGreen">@color/green_500</color>
<color name="mainOrange">@color/orange_700</color>
<color name="letturaFacilitataBG">#eeeeee</color>
<!-- FAB DEFINITIONS -->
<color name="black_semi_transparent">#B2000000</color>
<color name="full_white">#FFFFFF</color>
<color name="white">#fafafa</color>
<color name="white_bg_alpha">#88BCBCBC</color>
<color name="white_pressed">#f1f1f1</color>
<color name="half_black">#808080</color>
<!-- EMPTY VIEW -->
<color name="empty_view_gray">#bdbdbd</color>
<color name="empty_view_bg_gray">#f5f5f5</color>
<color name="bg_checked_layout">#E8F0FE</color>
<color name="bg_checked_layout_dark">#C9D5F0</color>
<color name="colorPrimaryA10">#1A1A73E8</color>
<color name="colorPrimaryA20">#331A73E8</color>
<color name="colorPrimaryA30">#4D1A73E8</color>
<color name="colorPrimaryA40">#661A73E8</color>
<color name="colorPrimaryA50">#801A73E8</color>
<color name="colorPrimaryA60">#991A73E8</color>
<color name="colorPrimaryA70">#B31A73E8</color>
<color name="colorPrimaryA80">#CC1A73E8</color>
<color name="colorPrimaryA90">#E61A73E8</color>
<color name="alpha_blue_500">#2d42a5f5</color>
<color name="blue_100">#BBDEFB</color>
<color name="blue_300">#64B5F6</color>
<color name="blue_400">#42A5F5</color>
<color name="blue_500">#2196F3</color>
<color name="blue_600">#1E88E5</color>
<color name="blue_700">#1976D2</color>
<color name="blue_800">#1565C0</color>
<color name="brown_500">#795548</color>
<color name="green_100">#C8E6C9</color>
<color name="green_200">#A5D6A7</color>
<color name="green_300">#81c784</color>
<color name="green_400">#66bb6a</color>
<color name="green_500_with_alpha">#884CAF50</color>
<color name="green_500">#4CAF50</color>
<color name="green_600">#43A047</color>
<color name="green_700">#388E3C</color>
<color name="green_800">#2e7d32</color>
<color name="green_900">#1b5e20</color>
<color name="gray_050">#FAFAFA</color>
<color name="gray_100">#F5F5F5</color>
<color name="gray_200">#eeeeee</color>
<color name="gray_300">#e0e0e0</color>
<color name="gray_400">#BDBDBD</color>
<color name="gray_500">#9E9E9E</color>
<color name="gray_600">#757575</color>
<color name="gray_700">#616161</color>
<color name="gray_800">#424242</color>
<color name="alpha_indigo_500">#813f51b5</color>
<color name="indigo_400">#5C6BC0</color>
<color name="indigo_500">#3F51B5</color>
<color name="indigo_600">#3949AB</color>
<color name="indigo_700">#303F9F</color>
<color name="light_blue_100">#B3E5FC</color>
<color name="light_blue_200">#81D4FA</color>
<color name="light_blue_300">#4fc3f7</color>
<color name="light_blue_400">#29B6F6</color>
<color name="light_blue_500">#03A9F4</color>
<color name="light_blue_600">#039BE5</color>
<color name="light_blue_700">#0288D1</color>
<color name="light_blue_800">#0277BD</color>
<color name="orange_600_with_alpha">#88FB8C00</color>
<color name="orange_600">#FB8C00</color>
<color name="orange_700">#F57C00</color>
<color name="orange_800">#EF6C00</color>
<color name="red_200">#ef9a9a</color>
<color name="red_300">#e57373</color>
<color name="red_400">#EF5350</color>
<color name="red_500">#F44336</color>
<color name="red_600">#E53935</color>
<color name="red_700">#D32F2F</color>
<color name="teal_500">#009688</color>
<color name="yellow_100">#FFF9C4</color>
<color name="yellow_600">#FDD835</color>
<color name="yellow_800">#F9A825</color>
</resources>

View File

@ -427,4 +427,5 @@
<string name="action_create_doc">Create document</string> <string name="action_create_doc">Create document</string>
<string name="no_arts_found">No product found</string> <string name="no_arts_found">No product found</string>
<string name="empty_lu">Empty LU</string> <string name="empty_lu">Empty LU</string>
<string name="ord_ven_qta_omaggio"><![CDATA[Free qty: <b>%s %s</b>]]></string>
</resources> </resources>

View File

@ -1,23 +1,23 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge"> <!-- <style name="AppTheme" parent="Theme.Material3.Light.NoActionBar">-->
<!-- Customize your theme here. --> <!-- &lt;!&ndash; Customize your theme here. &ndash;&gt;-->
<item name="colorPrimary">@color/colorPrimary</item> <!-- <item name="colorPrimary">@color/colorPrimary</item>-->
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <!-- <item name="colorPrimaryDark">@color/colorPrimaryDark</item>-->
<item name="colorAccent">@color/colorAccent</item> <!-- <item name="colorAccent">@color/colorAccent</item>-->
<item name="fontFamily">@font/google_sans_regular</item> <!-- target android sdk versions < 26 and > 14 if theme other than AppCompat --> <!-- <item name="fontFamily">@font/google_sans_regular</item> &lt;!&ndash; target android sdk versions < 26 and > 14 if theme other than AppCompat &ndash;&gt;-->
<!-- Add these --> <!-- &lt;!&ndash; Add these &ndash;&gt;-->
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item> <!-- <item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>-->
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item> <!-- <item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>-->
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item> <!-- <item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>-->
<item name="bottomSheetDialogTheme">@style/CustomBottomSheetDialog</item> <!-- <item name="bottomSheetDialogTheme">@style/CustomBottomSheetDialog</item>-->
</style> <!-- </style>-->
<style name="AppTheme.NoActionBar"> <style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
@ -94,7 +94,7 @@
</style> </style>
<style name="AppTheme.NewMaterial.Dialog.FullscreenDialog" parent="Theme.AppCompat.Light.DialogWhenLarge"> <style name="AppTheme.NewMaterial.Dialog.FullscreenDialog" parent="Theme.Material3.Light.DialogWhenLarge">
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>
@ -124,7 +124,7 @@
<item name="android:windowBackground">@drawable/splash_background</item> <item name="android:windowBackground">@drawable/splash_background</item>
</style> </style>
<style name="Light" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge"> <style name="Light" parent="Theme.Material3.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>
@ -192,7 +192,7 @@
<style name="MaterialToolbar.Base" parent=""> <style name="MaterialToolbar.Base" parent="">
<item name="popupTheme">@style/AppTheme.PopupOverlay</item> <item name="popupTheme">@style/AppTheme.PopupOverlay</item>
<item name="theme">@style/Theme.MaterialComponents.Light</item> <item name="theme">@style/Theme.Material3.Light</item>
</style> </style>
<style name="MaterialToolbar" parent="MaterialToolbar.Base"/> <style name="MaterialToolbar" parent="MaterialToolbar.Base"/>
@ -201,11 +201,11 @@
<item name="titleTextAppearance">@style/AppTheme.NewMaterial.Text.ToolbarTitle</item> <item name="titleTextAppearance">@style/AppTheme.NewMaterial.Text.ToolbarTitle</item>
</style> </style>
<style name="CustomBottomSheetDialog" parent="@style/ThemeOverlay.MaterialComponents.BottomSheetDialog"> <style name="CustomBottomSheetDialog" parent="@style/ThemeOverlay.Material3.BottomSheetDialog">
<item name="bottomSheetStyle">@style/CustomBottomSheet</item> <item name="bottomSheetStyle">@style/CustomBottomSheet</item>
</style> </style>
<style name="CustomBottomSheet" parent="Widget.MaterialComponents.BottomSheet"> <style name="CustomBottomSheet" parent="Widget.Material3.BottomSheet">
<item name="shapeAppearanceOverlay">@style/CustomShapeAppearanceBottomSheetDialog</item> <item name="shapeAppearanceOverlay">@style/CustomShapeAppearanceBottomSheetDialog</item>
</style> </style>

View File

@ -0,0 +1,31 @@
<resources>
<style name="AppTheme" parent="Theme.Material3.Light.NoActionBar">
<item name="colorPrimary">@color/md_theme_light_primary</item>
<item name="colorOnPrimary">@color/md_theme_light_onPrimary</item>
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer</item>
<item name="colorSecondary">@color/md_theme_light_secondary</item>
<item name="colorOnSecondary">@color/md_theme_light_onSecondary</item>
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer</item>
<item name="colorTertiary">@color/md_theme_light_tertiary</item>
<item name="colorOnTertiary">@color/md_theme_light_onTertiary</item>
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer</item>
<item name="colorError">@color/md_theme_light_error</item>
<item name="colorErrorContainer">@color/md_theme_light_errorContainer</item>
<item name="colorOnError">@color/md_theme_light_onError</item>
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer</item>
<item name="android:colorBackground">@color/md_theme_light_background</item>
<item name="colorOnBackground">@color/md_theme_light_onBackground</item>
<item name="colorSurface">@color/md_theme_light_surface</item>
<item name="colorOnSurface">@color/md_theme_light_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant</item>
<item name="colorOutline">@color/md_theme_light_outline</item>
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary</item>
</style>
</resources>

View File

@ -25,6 +25,7 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.barcode_base_android_library'
} }
@ -32,7 +33,7 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {

View File

@ -1,2 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android" />
package="it.integry.barcode_base_android_library" />

View File

@ -10,7 +10,7 @@ buildscript {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.2.2' classpath 'com.android.tools.build:gradle:7.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.13' classpath 'com.google.gms:google-services:4.3.13'

View File

@ -16,6 +16,7 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.wms.dynamic__base'
} }

View File

@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution" xmlns:dist="http://schemas.android.com/apk/distribution">
package="it.integry.wms.dynamic__base">
<dist:module <dist:module
dist:instant="false" dist:instant="false"

View File

@ -12,11 +12,12 @@ android {
sourceCompatibility JavaVersion.VERSION_11 sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11
} }
namespace 'it.integry.wms.dynamic_customization'
} }
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':app') implementation project(':app')
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
} }

View File

@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution" xmlns:dist="http://schemas.android.com/apk/distribution">
package="it.integry.wms.dynamic_customization">
<dist:module <dist:module
dist:instant="false" dist:instant="false"

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

View File

@ -25,6 +25,7 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.honeywellscannerlibrary'
} }
@ -32,7 +33,7 @@ dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) // implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation project(":honeywellsdk") implementation project(":honeywellsdk")
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {

View File

@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="it.integry.honeywellscannerlibrary">
<uses-permission android:name="com.honeywell.decode.permission.DECODE" /> <uses-permission android:name="com.honeywell.decode.permission.DECODE" />

View File

@ -25,13 +25,14 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.keyobardemulatorscannerlibrary'
} }
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {

View File

@ -1,2 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android" />
package="it.integry.keyobardemulatorscannerlibrary" />

View File

@ -24,12 +24,13 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.pointmobilescannerlibrary'
} }
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {

View File

@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="it.integry.pointmobilescannerlibrary">
<permission <permission

View File

@ -24,6 +24,7 @@ android {
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.zebrascannerlibrary'
} }
@ -31,7 +32,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.appcompat:appcompat:1.5.1'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {

View File

@ -1,2 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android" />
package="it.integry.zebrascannerlibrary" />