Finish v1_0_17_(20)

This commit is contained in:
Giuseppe Scorrano 2019-01-11 12:11:32 +01:00
commit 705d6c367e
5 changed files with 60 additions and 18 deletions

Binary file not shown.

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 19 def appVersionCode = 20
def appVersionName = '1.0.16' def appVersionName = '1.0.17'
signingConfigs { signingConfigs {
release { release {

View File

@ -210,6 +210,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
.setData(ord.getDataOrdS()) .setData(ord.getDataOrdS())
.setNumero(ord.getNumOrd()) .setNumero(ord.getNumOrd())
.setCodAnagOrd(ord.getCodAnagOrd()) .setCodAnagOrd(ord.getCodAnagOrd())
.setCodAnagClie(groupedOrdine.codAnagClie)
.setRagSocOrd(ord.getRagSocOrd()) .setRagSocOrd(ord.getRagSocOrd())
.setPesoTotale(ord.getPesoTotale() != null ? ord.getPesoTotale().floatValue() : null) .setPesoTotale(ord.getPesoTotale() != null ? ord.getPesoTotale().floatValue() : null)
.setBarcode(ord.getBarcode()) .setBarcode(ord.getBarcode())
@ -256,7 +257,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
} }
private void initRecyclerView() { private void initRecyclerView() {
mAdapter = new MainListVenditaAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged); mAdapter = new MainListVenditaAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged, onSingleSelectionChanged);
mBinding.venditaMainList.setAdapter(mAdapter); mBinding.venditaMainList.setAdapter(mAdapter);
} }
@ -264,6 +265,28 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
mAdapter.updateItems(groupedOrdiniInevasi); mAdapter.updateItems(groupedOrdiniInevasi);
} }
RunnableArgs<OrdineVenditaGroupedInevasoDTO.Ordine> onSingleSelectionChanged = dto -> {
List<OrdineVenditaGroupedInevasoDTO> selectedOrders = mHelper.getSelectedOrders(groupedOrdiniInevasi);
if(!SettingsManager.iDB().isFlagMultiClienteOrdV()){
if(selectedOrders != null && selectedOrders.size() > 1){
for (OrdineVenditaGroupedInevasoDTO selectedOrder : selectedOrders) {
if(!dto.getCodAnagClie().equalsIgnoreCase(selectedOrder.codAnagClie)) {
Stream.of(selectedOrder.ordini).forEach(x -> x.setCheckbox(false));
}
}
}
}
if(selectedOrders != null && selectedOrders.size() > 0) {
mBinding.venditaMainFab.show();
}
else {
mBinding.venditaMainFab.hide();
}
};
RunnableArgs<OrdineVenditaGroupedInevasoDTO> onGroupSelectionChanged = dto -> { RunnableArgs<OrdineVenditaGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
List<OrdineVenditaGroupedInevasoDTO> selectedOrders = mHelper.getSelectedOrders(groupedOrdiniInevasi); List<OrdineVenditaGroupedInevasoDTO> selectedOrders = mHelper.getSelectedOrders(groupedOrdiniInevasi);

View File

@ -8,6 +8,7 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
@ -24,6 +25,7 @@ public class MainListVenditaAdapter extends RecyclerView.Adapter<MainListVendita
private Context mContext; private Context mContext;
private List<OrdineVenditaGroupedInevasoDTO> mDataset; private List<OrdineVenditaGroupedInevasoDTO> mDataset;
private RunnableArgs<OrdineVenditaGroupedInevasoDTO> mOnGroupSelected; private RunnableArgs<OrdineVenditaGroupedInevasoDTO> mOnGroupSelected;
private RunnableArgs<OrdineVenditaGroupedInevasoDTO.Ordine> mOnSingleSelectionChanged;
private Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(2000); private Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(2000);
private Pools.SynchronizedPool sPoolClienti = new Pools.SynchronizedPool(3000); private Pools.SynchronizedPool sPoolClienti = new Pools.SynchronizedPool(3000);
@ -41,10 +43,11 @@ public class MainListVenditaAdapter extends RecyclerView.Adapter<MainListVendita
} }
// Provide a suitable constructor (depends on the kind of dataset) // Provide a suitable constructor (depends on the kind of dataset)
public MainListVenditaAdapter(Context context, List<OrdineVenditaGroupedInevasoDTO> myDataset, RunnableArgs<OrdineVenditaGroupedInevasoDTO> onGroupSelected) { public MainListVenditaAdapter(Context context, List<OrdineVenditaGroupedInevasoDTO> myDataset, RunnableArgs<OrdineVenditaGroupedInevasoDTO> onGroupSelected, RunnableArgs<OrdineVenditaGroupedInevasoDTO.Ordine> onSingleSelectionChanged) {
mContext = context; mContext = context;
mDataset = myDataset; mDataset = myDataset;
mOnGroupSelected = onGroupSelected; mOnGroupSelected = onGroupSelected;
mOnSingleSelectionChanged = onSingleSelectionChanged;
} }
public void updateItems(List<OrdineVenditaGroupedInevasoDTO> updatedDataset) { public void updateItems(List<OrdineVenditaGroupedInevasoDTO> updatedDataset) {
@ -108,39 +111,44 @@ public class MainListVenditaAdapter extends RecyclerView.Adapter<MainListVendita
.inflate(R.layout.vendita_main_list_group_model, holder.mLinearLayoutGroupItemContainer, false); .inflate(R.layout.vendita_main_list_group_model, holder.mLinearLayoutGroupItemContainer, false);
} }
View groupModelView = groupModelViewPool; View ordineView = groupModelViewPool;
holder.views.add(groupModelView); holder.views.add(ordineView);
groupModelView.setVisibility(View.VISIBLE); ordineView.setVisibility(View.VISIBLE);
if (i % 2 == 1) { if (i % 2 == 1) {
groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG)); ordineView.setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
} else { } else {
groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.white)); ordineView.setBackgroundColor(mContext.getResources().getColor(R.color.white));
} }
final CheckBox checkBox = groupModelView.findViewById(R.id.vendita_main_list_group_item_container_checkBox); final CheckBox checkBox = ordineView.findViewById(R.id.vendita_main_list_group_item_container_checkBox);
checkBox.setChecked(ordine.checkBox); checkBox.setChecked(ordine.checkBox);
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
ordine.checkBox = checkBox.isChecked();
mOnSingleSelectionChanged.run(ordine);
});
ordine.checkBoxCallback.add(checkBox::setChecked); ordine.checkBoxCallback.add(checkBox::setChecked);
groupModelView.setOnClickListener(view -> { ordineView.setOnClickListener(view -> {
checkBox.toggle(); checkBox.toggle();
ordine.checkBox = checkBox.isChecked(); //ordine.checkBox = checkBox.isChecked();
mOnGroupSelected.run(mDataset.get(finalPosition)); //mOnGroupSelected.run(mDataset.get(finalPosition));
// mCheckBoxCallback.onToggle(checkBox.isChecked());
}); });
TextView testataOrdTextView = groupModelView.findViewById(R.id.vendita_main_list_group_item_container_testata_ord); TextView testataOrdTextView = ordineView.findViewById(R.id.vendita_main_list_group_item_container_testata_ord);
String testataOrdString = String.format(mContext.getString(R.string.ord_ven_testata), String.valueOf(ordine.getNumero()), UtilityDate.formatDate(ordine.getData(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); String testataOrdString = String.format(mContext.getString(R.string.ord_ven_testata), String.valueOf(ordine.getNumero()), UtilityDate.formatDate(ordine.getData(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
testataOrdTextView.setText(Html.fromHtml(testataOrdString)); testataOrdTextView.setText(Html.fromHtml(testataOrdString));
TextView testataDataConsTextView = groupModelView.findViewById(R.id.vendita_main_list_group_item_container_testata_data_cons); TextView testataDataConsTextView = ordineView.findViewById(R.id.vendita_main_list_group_item_container_testata_data_cons);
String testataDataConsString = String.format(mContext.getString(R.string.ord_ven_testata_data_cons), UtilityDate.formatDate(ordine.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); String testataDataConsString = String.format(mContext.getString(R.string.ord_ven_testata_data_cons), UtilityDate.formatDate(ordine.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
testataDataConsTextView.setText(Html.fromHtml(testataDataConsString)); testataDataConsTextView.setText(Html.fromHtml(testataDataConsString));
LinearLayout clientLinearLayout = groupModelView.findViewById(R.id.vendita_main_list_group_item_container_clienti_ord); LinearLayout clientLinearLayout = ordineView.findViewById(R.id.vendita_main_list_group_item_container_clienti_ord);
List<OrdineVenditaGroupedInevasoDTO.Cliente> subGroupClienti = ordine.clienti; List<OrdineVenditaGroupedInevasoDTO.Cliente> subGroupClienti = ordine.clienti;
clientLinearLayout.removeAllViews(); clientLinearLayout.removeAllViews();
@ -172,7 +180,7 @@ public class MainListVenditaAdapter extends RecyclerView.Adapter<MainListVendita
clientLinearLayout.addView(groupClienteModelView); clientLinearLayout.addView(groupClienteModelView);
} }
holder.mLinearLayoutGroupItemContainer.addView(groupModelView); holder.mLinearLayoutGroupItemContainer.addView(ordineView);
} }

View File

@ -35,6 +35,8 @@ public class OrdineVenditaGroupedInevasoDTO implements Cloneable, Serializable,
private String rifOrd; private String rifOrd;
private String gestione; private String gestione;
private String codAnagClie;
public List<Cliente> clienti; public List<Cliente> clienti;
public boolean checkBox; public boolean checkBox;
@ -158,6 +160,15 @@ public class OrdineVenditaGroupedInevasoDTO implements Cloneable, Serializable,
return this; return this;
} }
public String getCodAnagClie() {
return codAnagClie;
}
public Ordine setCodAnagClie(String codAnagClie) {
this.codAnagClie = codAnagClie;
return this;
}
public List<Cliente> getClienti() { public List<Cliente> getClienti() {
return clienti; return clienti;
} }