Fix vari.

Implementato doppio tap per bloccare/sbloccare caselle di testo in DialogInputQuantity.
This commit is contained in:
Giuseppe Scorrano 2020-04-24 18:31:05 +02:00
parent 1f4f4729d0
commit bef0fa0184
14 changed files with 223 additions and 123 deletions

View File

@ -98,7 +98,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.preference:preference:1.1.0' implementation 'androidx.preference:preference:1.1.1'
implementation 'com.squareup.okhttp3:okhttp:4.5.0' implementation 'com.squareup.okhttp3:okhttp:4.5.0'
implementation 'com.squareup.retrofit2:retrofit:2.8.1' implementation 'com.squareup.retrofit2:retrofit:2.8.1'
implementation 'com.squareup.retrofit2:converter-gson:2.8.1' implementation 'com.squareup.retrofit2:converter-gson:2.8.1'
@ -128,6 +128,7 @@ dependencies {
implementation 'com.fxn769:stash:1.2' implementation 'com.fxn769:stash:1.2'
testImplementation 'junit:junit:4.13' testImplementation 'junit:junit:4.13'
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3' implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
implementation 'com.github.pedromassango:doubleClick:3.0'
//SQLite ROOM //SQLite ROOM
def room_version = "2.2.4" def room_version = "2.2.4"

View File

@ -1,10 +1,6 @@
package it.integry.integrywmsnative.core.model; package it.integry.integrywmsnative.core.model;
import android.os.Parcel;
import android.os.Parcelable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
@ -91,9 +87,18 @@ public class MtbAart extends EntityBase{
private String codNcIntracee; private String codNcIntracee;
private String marchio; private String marchio;
private Integer sezione; private Integer sezione;
private UntMisRifPesoEnum untMisRifPeso;
private List<MtbUntMis> mtbUntMis; private List<MtbUntMis> mtbUntMis;
public enum UntMisRifPesoEnum {
C,
M;
}
public MtbAart() { public MtbAart() {
this.type = "mtb_aart"; this.type = "mtb_aart";
} }
@ -805,4 +810,13 @@ public class MtbAart extends EntityBase{
this.mtbUntMis = mtbUntMis; this.mtbUntMis = mtbUntMis;
return this; return this;
} }
public UntMisRifPesoEnum getUntMisRifPeso() {
return untMisRifPeso;
}
public MtbAart setUntMisRifPeso(UntMisRifPesoEnum untMisRifPeso) {
this.untMisRifPeso = untMisRifPeso;
return this;
}
} }

View File

@ -33,6 +33,13 @@ public class UtilityBigDecimal {
return lowerThan(input1, input2) ? input1 : input2; return lowerThan(input1, input2) ? input1 : input2;
} }
public static BigDecimal getGreaterBetween(BigDecimal input1, BigDecimal input2) {
if(input1 == null) return input2;
if(input2 == null) return input1;
return greaterThan(input1, input2) ? input1 : input2;
}
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) { public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) {
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null; if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;

View File

@ -43,9 +43,11 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding; import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter; import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter;
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel; import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO;
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO; import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
@ -450,7 +452,12 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
public void onError(Exception ex) { public void onError(Exception ex) {
this.closeProgress(); this.closeProgress();
if(ex instanceof InvalidPesoKGException) {
UtilityToast.showToast(ex.getMessage());
} else {
UtilityExceptions.defaultException(this, ex, mCurrentProgress); UtilityExceptions.defaultException(this, ex, mCurrentProgress);
}
BarcodeManager.enable(); BarcodeManager.enable();
} }

View File

@ -50,6 +50,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityPosizione; import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoPrintersFoundException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoPrintersFoundException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.OrdersLoadException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.OrdersLoadException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoArtsFoundException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoArtsFoundException;
@ -667,6 +668,9 @@ public class SpedizioneViewModel {
BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue()); BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue());
BigDecimal qtaCnfDaEvadere = qtaCnfOrd; BigDecimal qtaCnfDaEvadere = qtaCnfOrd;
numCnfDaEvadere = UtilityBigDecimal.getGreaterBetween(numCnfDaEvadere, BigDecimal.ZERO);
qtaDaEvadere = UtilityBigDecimal.getGreaterBetween(qtaDaEvadere, BigDecimal.ZERO);
BigDecimal numCnfDaPrelevare = null; BigDecimal numCnfDaPrelevare = null;
BigDecimal qtaColDaPrelevare = null; BigDecimal qtaColDaPrelevare = null;
BigDecimal qtaCnfDaPrelevare = null; BigDecimal qtaCnfDaPrelevare = null;
@ -718,11 +722,22 @@ public class SpedizioneViewModel {
PickDataDTO.ManualPickDTO manualPickDTO = pickingObjectDTO.getTempPickData().getManualPickDTO(); PickDataDTO.ManualPickDTO manualPickDTO = pickingObjectDTO.getTempPickData().getManualPickDTO();
MtbAart mtbAart = pickingObjectDTO.getMtbAart(); MtbAart mtbAart = pickingObjectDTO.getMtbAart();
qtaColDaPrelevare = manualPickDTO.getQtaTot(); qtaColDaPrelevare = manualPickDTO.getQtaTot();
numCnfDaPrelevare = manualPickDTO.getNumCnf(); numCnfDaPrelevare = manualPickDTO.getNumCnf();
if (mtbAart.isFlagQtaCnfFissaBoolean()) { if (mtbAart.isFlagQtaCnfFissaBoolean()) {
qtaCnfDaPrelevare = mtbAart.getQtaCnf(); qtaCnfDaPrelevare = mtbAart.getQtaCnf();
if(manualPickDTO.isEanPeso()) {
if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
this.sendError(new InvalidPesoKGException());
} else {
qtaColDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, mtbAart.getPesoKg());
}
}
}
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) { } else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare); qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
} }
@ -1082,6 +1097,15 @@ public class SpedizioneViewModel {
// } // }
} }
if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
resetMatchedRows();
this.sendOnLoadingEnded();
if (shouldCloseLU) closeLU(shouldPrint);
return;
}
boolean finalShouldPrint = shouldPrint; boolean finalShouldPrint = shouldPrint;
mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> {

View File

@ -0,0 +1,7 @@
package it.integry.integrywmsnative.gest.spedizione_new.exceptions;
public class InvalidPesoKGException extends Exception {
public InvalidPesoKGException() {
super("Il campo Peso KG dell'articolo non è valido");
}
}

View File

@ -163,7 +163,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
public void refreshOrdini(List<OrdineVenditaInevasoDTO> ordini){ public void refreshOrdini(List<OrdineVenditaInevasoDTO> ordini){
mRenderedOrderList.clear(); mRenderedOrderList.clear();
mRenderedOrderList.addAll(ordini); mRenderedOrderList.addAll(ordini != null ? ordini : new ArrayList<>());
} }
private void initRecyclerView() { private void initRecyclerView() {

View File

@ -14,7 +14,6 @@ import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.HashMap;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
@ -130,7 +129,7 @@ public class MainListVenditaAdapter extends SectionedRecyclerViewAdapter<MainLis
if (ordine.isFlagEvaso()) { if (ordine.isFlagEvaso()) {
holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), R.color.mainGreen, null)); holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), R.color.mainGreen, null));
} else if (ordine.isExistCollo()) { } else if (ordine.isExistColloBoolean()) {
holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), R.color.colorPrimary, null)); holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), R.color.colorPrimary, null));
} else { } else {
holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null)); holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));

View File

@ -1,17 +1,12 @@
package it.integry.integrywmsnative.gest.vendita.dto; package it.integry.integrywmsnative.gest.vendita.dto;
import android.os.Parcel;
import android.os.Parcelable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class OrdineVenditaInevasoDTO { public class OrdineVenditaInevasoDTO {
@ -49,7 +44,7 @@ public class OrdineVenditaInevasoDTO {
private String codVzon; private String codVzon;
private String ragSocOrdV; private String ragSocOrdV;
private int colliRiservati; private int colliRiservati;
private boolean existCollo; private boolean existColloBoolean;
private boolean flagEvaso; private boolean flagEvaso;
private String nomeAgente; private String nomeAgente;
private String codJfas; private String codJfas;
@ -385,12 +380,12 @@ public class OrdineVenditaInevasoDTO {
return this; return this;
} }
public boolean isExistCollo() { public boolean isExistColloBoolean() {
return existCollo; return existColloBoolean;
} }
public OrdineVenditaInevasoDTO setExistCollo(boolean existCollo) { public OrdineVenditaInevasoDTO setExistColloBoolean(boolean existColloBoolean) {
this.existCollo = existCollo; this.existColloBoolean = existColloBoolean;
return this; return this;
} }

View File

@ -18,6 +18,8 @@ import androidx.databinding.ObservableField;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout;
import com.pedromassango.doubleclick.DoubleClick;
import com.pedromassango.doubleclick.DoubleClickListener;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -218,6 +220,43 @@ public class DialogInputQuantityV2 extends DialogFragment implements DialogInput
} }
} }
}); });
//Init double taps
this.mBindings.inputNumCnfText.setOnClickListener(new DoubleClick(new DoubleClickListener() {
@Override
public void onSingleClick(View view) {
String a = "";
}
@Override
public void onDoubleClick(View view) {
mViewModel.blockedNumCnf.set(!mViewModel.blockedNumCnf.get());
}
}));
this.mBindings.inputQtaCnfText.setOnClickListener(new DoubleClick(new DoubleClickListener() {
@Override
public void onSingleClick(View view) {
String a = "";
}
@Override
public void onDoubleClick(View view) {
mViewModel.blockedQtaCnf.set(!mViewModel.blockedQtaCnf.get());
}
}));
this.mBindings.inputQtaTotText.setOnClickListener(new DoubleClick(new DoubleClickListener() {
@Override
public void onSingleClick(View view) {
String a = "";
}
@Override
public void onDoubleClick(View view) {
mViewModel.blockedQtaTot.set(!mViewModel.blockedQtaTot.get());
}
}));
} }

View File

@ -1,31 +1,34 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout <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">
<data> <data>
<variable name="loginViewModel" type="it.integry.integrywmsnative.gest.login.viewmodel.LoginViewModel" />
<variable
name="loginViewModel"
type="it.integry.integrywmsnative.gest.login.viewmodel.LoginViewModel" />
</data> </data>
<ScrollView <ScrollView
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:fitsSystemWindows="true"> android:fitsSystemWindows="true">
<LinearLayout
android:orientation="vertical" <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:paddingTop="56dp" android:orientation="vertical"
android:paddingLeft="24dp" android:paddingLeft="24dp"
android:paddingTop="56dp"
android:paddingRight="24dp"> android:paddingRight="24dp">
<ImageView android:src="@drawable/logo_integry_testo" <androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="72dp" android:layout_height="72dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="24dp" android:layout_marginBottom="24dp"
android:layout_gravity="center_horizontal" /> android:src="@drawable/logo_integry_testo" />
<!-- Username Label --> <!-- Username Label -->
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
@ -34,14 +37,16 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
app:errorText="@{loginViewModel.usernameError}" app:errorText="@{loginViewModel.usernameError}"
app:hintTextAppearance="@style/hint_text"> app:hintTextAppearance="@style/hint_text"
style="@style/TextInputLayout.OutlinePrimary">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_username" android:id="@+id/input_username"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="Username" android:hint="Username"
app:binding="@{loginViewModel.username}"/> android:inputType="textEmailAddress"
app:binding="@{loginViewModel.username}" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<!-- Password Label --> <!-- Password Label -->
@ -50,35 +55,36 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
app:hintTextAppearance="@style/hint_text"
app:errorText="@{loginViewModel.passwordError}" app:errorText="@{loginViewModel.passwordError}"
app:passwordToggleEnabled="true"> app:hintTextAppearance="@style/hint_text"
app:passwordToggleEnabled="true"
style="@style/TextInputLayout.OutlinePrimary">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_password" android:id="@+id/input_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="Password" android:hint="Password"
app:binding="@{loginViewModel.password}"/> android:inputType="textPassword"
app:binding="@{loginViewModel.password}" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<androidx.appcompat.widget.AppCompatCheckBox <androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/login_checkbox_custom_server" android:id="@+id/login_checkbox_custom_server"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/action_customize_server_settings"
android:enabled="@{loginViewModel.customSettingsCheckboxEnabled}" android:enabled="@{loginViewModel.customSettingsCheckboxEnabled}"
app:checked="@{loginViewModel.customSettingsCheckboxChecked}"/> android:text="@string/action_customize_server_settings"
app:checked="@{loginViewModel.customSettingsCheckboxChecked}" />
<net.cachapa.expandablelayout.ExpandableLayout <net.cachapa.expandablelayout.ExpandableLayout
android:id="@+id/login_layout_server_details" android:id="@+id/login_layout_server_details"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/gray_detail_background"
app:el_duration="400"
app:el_expanded_bind="@{loginViewModel.customSettingsCheckboxChecked}"
android:paddingTop="6dp" android:paddingTop="6dp"
android:paddingBottom="12dp"> android:paddingBottom="12dp"
app:el_duration="400"
app:el_expanded_bind="@{loginViewModel.customSettingsCheckboxChecked}">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -91,15 +97,16 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
app:errorText="@{loginViewModel.codAziendaError}" app:errorText="@{loginViewModel.codAziendaError}"
app:hintTextAppearance="@style/hint_text"> app:hintTextAppearance="@style/hint_text"
style="@style/TextInputLayout.OutlinePrimary">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_cod_azienda" android:id="@+id/input_cod_azienda"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="text"
android:hint="Codice azienda" android:hint="Codice azienda"
app:binding="@{loginViewModel.codAzienda}"/> android:inputType="text"
app:binding="@{loginViewModel.codAzienda}" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
</LinearLayout> </LinearLayout>
@ -107,19 +114,18 @@
</net.cachapa.expandablelayout.ExpandableLayout> </net.cachapa.expandablelayout.ExpandableLayout>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_login" android:id="@+id/btn_login"
style="@style/Button.PrimaryFull"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Button.PrimaryFull"
android:text="@string/login"
android:enabled="@{loginViewModel.loginButtonEnabled}"
app:onClick="@{() -> loginViewModel.login(loginViewModel.validate())}"
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:layout_marginBottom="24dp"/> android:layout_marginBottom="24dp"
android:enabled="@{loginViewModel.loginButtonEnabled}"
android:text="@string/login"
app:onClick="@{() -> loginViewModel.login(loginViewModel.validate())}" />
</LinearLayout> </androidx.appcompat.widget.LinearLayoutCompat>
</ScrollView> </ScrollView>
</layout> </layout>

View File

@ -76,8 +76,7 @@
android:background="@drawable/ripple_effect" android:background="@drawable/ripple_effect"
app:singleClick="@{() -> spedizioneView.startManualSearch()}" app:singleClick="@{() -> spedizioneView.startManualSearch()}"
android:src="@drawable/ic_black_barcode" android:src="@drawable/ic_black_barcode"
android:tint="@color/colorPrimaryGray" android:tint="@color/colorPrimaryGray" />
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}" />
<androidx.appcompat.widget.AppCompatImageButton <androidx.appcompat.widget.AppCompatImageButton
@ -88,8 +87,7 @@
android:background="@drawable/ripple_effect" android:background="@drawable/ripple_effect"
app:singleClick="@{() -> spedizioneView.startCameraBarcode()}" app:singleClick="@{() -> spedizioneView.startCameraBarcode()}"
android:src="@drawable/ic_photo_camera_black_24dp" android:src="@drawable/ic_photo_camera_black_24dp"
android:tint="@color/colorPrimaryGray" android:tint="@color/colorPrimaryGray" />
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}" />
</androidx.appcompat.widget.Toolbar> </androidx.appcompat.widget.Toolbar>

View File

@ -432,6 +432,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}" android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}"
android:paddingEnd="4dp" android:paddingEnd="4dp"
android:focusableInTouchMode="false"
android:enabled="@{view.enabledNumCnf}" android:enabled="@{view.enabledNumCnf}"
tools:layout_weight="1"> tools:layout_weight="1">
@ -453,6 +454,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:paddingEnd="4dp" android:paddingEnd="4dp"
android:focusableInTouchMode="false"
android:enabled="@{view.enabledQtaCnf}" android:enabled="@{view.enabledQtaCnf}"
android:visibility="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? View.VISIBLE : View.GONE}"> android:visibility="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? View.VISIBLE : View.GONE}">
@ -474,6 +476,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}" android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}"
android:enabled="@{view.enabledQtaTot}" android:enabled="@{view.enabledQtaTot}"
android:focusableInTouchMode="false"
tools:layout_weight="1"> tools:layout_weight="1">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText

View File

@ -10,7 +10,7 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.6.2' classpath 'com.android.tools.build:gradle:3.6.3'
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.3' classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.google.firebase:perf-plugin:1.3.1' classpath 'com.google.firebase:perf-plugin:1.3.1'