Fix su calendar view in data_scad

This commit is contained in:
Giuseppe Scorrano 2022-10-24 17:54:58 +02:00
parent d97d1f1597
commit 8216c19338

View File

@ -1,6 +1,5 @@
package it.integry.integrywmsnative.core.di; package it.integry.integrywmsnative.core.di;
import android.app.DatePickerDialog;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.text.Html; import android.text.Html;
import android.text.SpannableString; import android.text.SpannableString;
@ -26,6 +25,7 @@ import androidx.databinding.BindingConversion;
import androidx.databinding.Observable; import androidx.databinding.Observable;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import com.google.android.material.datepicker.MaterialDatePicker;
import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout;
@ -34,7 +34,6 @@ import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale; import java.util.Locale;
import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.MainApplication;
@ -328,29 +327,40 @@ public class Converters {
c.setTime(observableDate.get()); c.setTime(observableDate.get());
} }
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(view.getContext(), var datePicker =
(cView, year, month, day) -> { MaterialDatePicker.Builder.datePicker()
Date resultDate = new GregorianCalendar(year, month, day).getTime(); .setSelection(c.getTimeInMillis())
.build();
if (parentFragment != null && warningOnOldDates && resultDate.before(new Date())) { datePicker.addOnDismissListener(dialog -> {
DialogSimpleMessageView if(datePicker.getSelection() != null) {
.makeWarningDialog(new SpannableString("Hai scelto una data precedente a quella odierna. Continuare?"), null, () -> { var timeInMillis = datePicker.getSelection();
view.setText(UtilityDate.formatDate(resultDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
observableDate.set(resultDate);
}, () -> {
}) var calendar = UtilityDate.getCalendarInstance();
.show(parentFragment.requireActivity().getSupportFragmentManager(), "tag"); calendar.setTimeInMillis(timeInMillis);
} else {
view.setText(UtilityDate.formatDate(resultDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); if (parentFragment != null && warningOnOldDates && calendar.before(UtilityDate.getCalendarInstance())) {
observableDate.set(resultDate); DialogSimpleMessageView
} .makeWarningDialog(new SpannableString("Hai scelto una data precedente a quella odierna. Continuare?"), null, () -> {
}, mYear, mMonth, mDay); view.setText(UtilityDate.formatDate(calendar.getTime(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
datePickerDialog.show(); observableDate.set(calendar.getTime());
}, () -> {
})
.show(parentFragment.requireActivity().getSupportFragmentManager(), "tag");
} else {
view.setText(UtilityDate.formatDate(calendar.getTime(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
observableDate.set(calendar.getTime());
}
}
else {
view.setText("");
observableDate.set(null);
}
});
datePicker.show(parentFragment.requireActivity().getSupportFragmentManager(), "tag");
}; };
//Adding click-listener //Adding click-listener