Migliorie login page

This commit is contained in:
2025-06-24 16:48:27 +02:00
parent 4d81b24fd4
commit 01b91adc61
4 changed files with 29 additions and 4 deletions

View File

@@ -6,6 +6,8 @@ import android.text.Html;
import androidx.appcompat.app.AlertDialog;
import androidx.databinding.DataBindingUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.List;
import javax.inject.Inject;
@@ -91,7 +93,9 @@ public class LoginActivity extends BaseActivity implements LoginViewModel.Listen
public void login() {
if (validate(username.get(), codAzienda.get())) {
loginButtonEnabled.set(false);
mViewmodel.login(codAzienda.get(), username.get(), password.get());
mViewmodel.login(codAzienda.get(), username.get(), password.get(), () -> {
loginButtonEnabled.set(true);
});
}
}
@@ -118,7 +122,7 @@ public class LoginActivity extends BaseActivity implements LoginViewModel.Listen
@Override
public void requestProfileSelection(List<String> availableProfiles, RunnableArgs<String> onComplete) {
// setup the alert builder
AlertDialog.Builder builder = new AlertDialog.Builder(this);
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle(R.string.action_choose_profile_db);
// add a list
@@ -131,6 +135,10 @@ public class LoginActivity extends BaseActivity implements LoginViewModel.Listen
onComplete.run(availableProfiles.get(which));
});
builder.setOnCancelListener(dialog -> {
onComplete.run(null);
});
// create and show the alert dialog
AlertDialog dialog = builder.create();
dialog.show();

View File

@@ -40,7 +40,7 @@ public class LoginViewModel {
}
public void login(String codAzienda, String username, String password) {
public void login(String codAzienda, String username, String password, Runnable onComplete) {
this.sendOnLoadingStarted();
retrieveServerData(codAzienda, (protocol, host, port) -> {
@@ -50,6 +50,12 @@ public class LoginViewModel {
FirebaseInstallations.getInstance().getId().addOnCompleteListener(fid -> {
retrieveAvailableProfiles(protocol, host, port, username, password, selectedProfile -> {
if(selectedProfile == null) {
this.sendOnLoadingEnded();
onComplete.run();
return;
}
SettingsManager.i().createUserSession();
authenticate(protocol, host, port, username, password, selectedProfile, fid.getResult(), fullName -> {
@@ -66,6 +72,7 @@ public class LoginViewModel {
loadDepo(() -> {
SettingsManager.update();
this.sendOnLoginCompleted(fullName);
onComplete.run();
});
});

View File

@@ -2,11 +2,14 @@ package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione;
import androidx.lifecycle.MutableLiveData;
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.rest.ProdOrdineProduzioneRESTConsumer;
@@ -47,6 +50,12 @@ public class ProdOrdineProduzioneElencoViewModel {
this.sendOnLoadingStarted();
this.mProdOrdineProduzioneRESTConsumer.retrievePickingListNew(selectedOrders, sitArtOrds -> {
sitArtOrds = sitArtOrds.stream()
.filter(x ->
UtilityBigDecimal.greaterThan(x.getNumCnfDaEvadere(), BigDecimal.ZERO) &&
UtilityBigDecimal.greaterThan(x.getQtaDaEvadere(), BigDecimal.ZERO))
.collect(Collectors.toList());
this.sendOnOrdersDispatched(selectedOrders, sitArtOrds);
this.sendOnLoadingEnded();

View File

@@ -4,6 +4,7 @@ import androidx.annotation.NonNull;
import com.annimon.stream.Stream;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Singleton;
@@ -57,7 +58,7 @@ public class ProdOrdineProduzioneRESTConsumer extends _BaseRESTConsumer {
service.getArticoliFromOrdiniAccettazione(getPickingListDTOs).enqueue(new ManagedErrorCallback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Response<ServiceRESTResponse<List<SitArtOrdDTO>>> response) {
analyzeAnswer(response, "retrieveListaArticoliFromOrdiniProduzione", onComplete, onFailed);
analyzeAnswer(response, "retrieveListaArticoliFromOrdiniProduzione", data ->onComplete.run(data == null ? new ArrayList<>() : data), onFailed);
}
@Override