Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Giuseppe Scorrano 2024-03-01 18:00:46 +01:00
commit c5b6e80aaf

View File

@ -15,6 +15,7 @@ import com.annimon.stream.Stream;
import com.ravikoradiya.liveadapter.LiveAdapter; import com.ravikoradiya.liveadapter.LiveAdapter;
import com.ravikoradiya.liveadapter.Type; import com.ravikoradiya.liveadapter.Type;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -29,6 +30,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback; import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.ISearchableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
@ -42,11 +44,10 @@ import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsIn
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.filter.ProdRiposizionamentoDaProdFilterViewModel; import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.filter.ProdRiposizionamentoDaProdFilterViewModel;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO; import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView; import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView; import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements ITitledFragment, ProdRiposizionamentoDaProdViewModel.Listener { public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements ISearchableFragment, ITitledFragment, ProdRiposizionamentoDaProdViewModel.Listener {
@Inject @Inject
ProdRiposizionamentoDaProdViewModel mViewModel; ProdRiposizionamentoDaProdViewModel mViewModel;
@ -57,6 +58,8 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
private final Handler mHandler = new Handler(); private final Handler mHandler = new Handler();
private final int mInterval = 120 * 1000; //2 minuti private final int mInterval = 120 * 1000; //2 minuti
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
private AppCompatTextView mAppBarTitle;
private String mTextFilter;
public ProdRiposizionamentoDaProdFragment() { public ProdRiposizionamentoDaProdFragment() {
@ -123,7 +126,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
mViewModel.getItemsInventario().observe(getViewLifecycleOwner(), data -> { mViewModel.getItemsInventario().observe(getViewLifecycleOwner(), data -> {
mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE); mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE);
mFilterViewModel.init(mViewModel.getItemsInventario().getValue()); mFilterViewModel.init(getFilteredList(mTextFilter));
this.refreshList(null); this.refreshList(null);
}); });
@ -254,6 +257,44 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
.show(requireActivity().getSupportFragmentManager(), "tag"); .show(requireActivity().getSupportFragmentManager(), "tag");
} }
@Override
public void onSearchEnabled() {
mAppBarTitle.setVisibility(View.GONE);
}
@Override
public void onSearchDisabled() {
mAppBarTitle.setVisibility(View.VISIBLE);
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
List<ArtsInGiacenzaDTO> originalList = this.mViewModel.getItemsInventario().getValue();
if (originalList == null || originalList.isEmpty()) return false;
mTextFilter = newText;
List<ArtsInGiacenzaDTO> filteredOrders = getFilteredList(newText);
refreshList(filteredOrders);
return true;
}
private List<ArtsInGiacenzaDTO> getFilteredList(String newText) {
List<ArtsInGiacenzaDTO> filteredOrders = new ArrayList<>();
List<ArtsInGiacenzaDTO> originalList = this.mViewModel.getItemsInventario().getValue();
if (originalList == null || originalList.isEmpty() || newText == null) return originalList;
for (int i = 0; i < originalList.size(); i++) {
if (originalList.get(i).getDescrizione().toLowerCase().contains(newText.toLowerCase())) {
filteredOrders.add(originalList.get(i));
}
}
return filteredOrders;
}
@Override @Override
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
@ -274,7 +315,8 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
@Override @Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) { public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.prod_riposizionamento_da_prod_title).toString()); mAppBarTitle = titleText;
mAppBarTitle.setText(context.getText(R.string.prod_riposizionamento_da_prod_title).toString());
} }
@Override @Override