Fix su bottom sheet fragment mtb_colr

This commit is contained in:
Giuseppe Scorrano 2020-07-07 17:47:13 +02:00
parent 4edc493d36
commit 79cf00fe2f
9 changed files with 139 additions and 65 deletions

View File

@ -31,19 +31,6 @@ public class MainApplication extends Application {
private static AppDatabase appDb;
private static Context context;
public static void exit() {
System.exit(0);
}
public static void restart() {
Intent mStartActivity = new Intent(context, MainActivity.class);
int mPendingIntentId = 123456;
PendingIntent mPendingIntent = PendingIntent.getActivity(context, mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager mgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
System.exit(0);
}
// Called when the application is starting, before any other application objects have been created.
// Overriding this method is totally optional!

View File

@ -36,7 +36,6 @@ public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
public void initRecyclerView() {
mContext.bindings.listaColliMainList.setHasFixedSize(true);
mContext.bindings.listaColliMainList.setLayoutManager(new LinearLayoutManager(mContext));
DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);

View File

@ -0,0 +1,11 @@
package it.integry.integrywmsnative.gest.picking_libero;
import javax.inject.Singleton;
import dagger.Component;
import it.integry.integrywmsnative.MainApplicationComponent;
@Singleton
@Component(modules = {PickingLiberoModule.class}, dependencies = {MainApplicationComponent.class})
public interface PickingLiberoComponent {
}

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.gest.picking_libero;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.MainApplicationModule;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
@Module(includes = {MainApplicationModule.class})
public class PickingLiberoModule {
@Provides
@Singleton
PickingLiberoViewModelNEW providesPickingLiberoViewModel(ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer) {
return new PickingLiberoViewModelNEW(colliMagazzinoRESTConsumer, printerRESTConsumer);
}
}

View File

@ -0,0 +1,24 @@
package it.integry.integrywmsnative.gest.picking_libero;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
public class PickingLiberoViewModelNEW {
private MtbColt mCurrentMtbColt = null;
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
private final PrinterRESTConsumer mPrinterRESTConsumer;
@Inject
public PickingLiberoViewModelNEW(ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer) {
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
this.mPrinterRESTConsumer = printerRESTConsumer;
}
}

View File

@ -8,9 +8,17 @@ import android.widget.BaseAdapter;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.Observable;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.RecyclerView;
import java.math.BigDecimal;
import java.util.ArrayList;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.WeakReferenceOnListChangedCallback;
import it.integry.integrywmsnative.core.model.MtbColr;
@ -20,82 +28,98 @@ import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.BottomSheetFragmentLuContentListItemBinding;
import it.integry.integrywmsnative.databinding.ListaRettificaGiacenzeModelBinding;
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.adapter.RettificaGiacenzeMainListAdapter;
public class BottomSheetFragmentLUContentListAdapter extends BaseAdapter {
public class BottomSheetFragmentLUContentListAdapter extends RecyclerView.Adapter<BottomSheetFragmentLUContentListAdapter.ViewHolder> {
private final WeakReferenceOnListChangedCallback onListChangedCallback;
private Context mContext;
private ObservableField<MtbColt> mtbColt;
private ArrayList<MtbColr> mDataset;
private OnItemClickListener mOnItemClickListener;
public BottomSheetFragmentLUContentListAdapter(Context context, ObservableField<MtbColt> mtbColt) {
public static class ViewHolder extends RecyclerView.ViewHolder {
protected BottomSheetFragmentLuContentListItemBinding mViewDataBinding;
public ViewHolder(BottomSheetFragmentLuContentListItemBinding v) {
super(v.getRoot());
mViewDataBinding = v;
}
public void bind(MtbColr mtbColr) {
mViewDataBinding.setMtbColr(mtbColr);
mViewDataBinding.executePendingBindings();
}
}
public BottomSheetFragmentLUContentListAdapter(Context context, ObservableArrayList<MtbColr> mtbColrs) {
super();
this.mContext = context;
this.mtbColt = mtbColt;
this.onListChangedCallback = new WeakReferenceOnListChangedCallback(this);
this.mDataset = mtbColrs != null ? mtbColrs : new ArrayList<>();
this.mtbColt.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
mtbColrs.addOnListChangedCallback(new OnListGeneralChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
onLUChangedCallback();
public void onChanged(ObservableList sender) {
notifyDataSetChanged();
}
});
}
private void onLUChangedCallback() {
if(this.mtbColt.get() != null) {
this.mtbColt.get().getMtbColr().addOnListChangedCallback(onListChangedCallback);
}
@Override
public BottomSheetFragmentLUContentListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// create a new view
BottomSheetFragmentLuContentListItemBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.bottom_sheet_fragment__lu_content__list_item, parent, false);
return new BottomSheetFragmentLUContentListAdapter.ViewHolder(viewDataBinding);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
BottomSheetFragmentLuContentListItemBinding binding = DataBindingUtil.inflate(inflater, R.layout.bottom_sheet_fragment__lu_content__list_item, parent, false);
final MtbColr mtbColr = mtbColt.get().getMtbColr().get(position);
binding.setMtbColr(mtbColr);
public void onBindViewHolder(BottomSheetFragmentLUContentListAdapter.ViewHolder holder, int position) {
MtbColr mtbColr = mDataset.get(position);
holder.bind(mtbColr);
//Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if(mtbColr.getMtbAart() != null) {
if (mtbColr.getMtbAart() != null) {
text += !UtilityString.isNullOrEmpty(mtbColr.getMtbAart().getUntMis()) ? "\n" + mtbColr.getMtbAart().getUntMis() : "";
}
binding.qtaTextview.setText(text);
holder.mViewDataBinding.qtaTextview.setText(text);
} else {
binding.qtaTextview.setText(UtilityNumber.decimalToString(mtbColr.getNumCnf()) + "\n" + UtilityResources.getString(R.string.unt_mis_col));
holder.mViewDataBinding.qtaTextview.setText(UtilityNumber.decimalToString(mtbColr.getNumCnf()) + "\n" + UtilityResources.getString(R.string.unt_mis_col));
}
binding.executePendingBindings();
holder.mViewDataBinding.executePendingBindings();
if(position % 2 == 1) binding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
if (position % 2 == 1)
holder.mViewDataBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
return binding.getRoot();
holder.mViewDataBinding.getRoot().setOnClickListener(new OnSingleClickListener() {
@Override
public void onSingleClick(View v) {
if(mOnItemClickListener != null) mOnItemClickListener.onItemClick(holder.mViewDataBinding.getMtbColr());
}
});
}
@Override
public long getItemId(int position) {
return position;
public int getItemCount() {
return mDataset.size();
}
@Override
public Object getItem(int position) {
return position;
public BottomSheetFragmentLUContentListAdapter setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.mOnItemClickListener = onItemClickListener;
return this;
}
@Override
public int getCount() {
if(mtbColt.get() != null && mtbColt.get().getMtbColr() != null) {
return mtbColt.get().getMtbColr().size();
} else return 0;
interface OnItemClickListener {
void onItemClick(MtbColr item);
}
}

View File

@ -8,6 +8,7 @@ import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.Observable;
import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
@ -41,7 +42,6 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie
mBinding.bottomSheetMtbColrEdit.setListener(this);
mBinding.bottomSheetMtbColrEdit.init(mBinding.bottomSheetMtbColrEdit, mBinding.bottomSheetMtbColrEditBackground);
this.initAdapter();
this.initCallbacks();
}
@ -51,11 +51,15 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie
private void initAdapter() {
this.mAdapter = new BottomSheetFragmentLUContentListAdapter(this.mContext, this.mViewModel.getObservableMtbColt());
this.mBinding.linearListview.setAdapter(this.mAdapter);
this.mBinding.linearListview.setOnItemClickListener((parent, view, position, id) -> {
this.mBinding.bottomSheetMtbColrEdit.setMtbColr(this.mViewModel.getObservableMtbColt().get().getMtbColr().get(position));
this.mBinding.mtbColrRecyclerView.setHasFixedSize(true);
this.mBinding.mtbColrRecyclerView.setLayoutManager(new LinearLayoutManager(mContext));
this.mAdapter = new BottomSheetFragmentLUContentListAdapter(this.mContext, this.mViewModel.getObservableMtbColt().get().getMtbColr());
this.mBinding.mtbColrRecyclerView.setAdapter(this.mAdapter);
this.mAdapter.setOnItemClickListener(clickedMtbColr -> {
this.mBinding.bottomSheetMtbColrEdit.setMtbColr(clickedMtbColr);
this.mBinding.bottomSheetMtbColrEdit.expand();
});
}
@ -64,8 +68,9 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie
this.mViewModel.getObservableMtbColt().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
initAdapter();
if(mViewModel.getObservableMtbColt().get() != null) {
initAdapter();
onMtbColrItemChanged();
mViewModel.getObservableMtbColt().get().getMtbColr().addOnListChangedCallback(new OnListGeneralChangedCallback() {
@ -74,6 +79,8 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie
onMtbColrItemChanged();
}
});
} else {
mBinding.mtbColrRecyclerView.setAdapter(null);
}
}
});

View File

@ -52,7 +52,8 @@
android:layout_marginBottom="8dp"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/qta_layout">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bottom_sheet_actions_title"
@ -79,6 +80,7 @@
</LinearLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"

View File

@ -19,7 +19,9 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/full_white">
android:background="@color/full_white"
android:clickable="true"
android:focusable="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/bottom_sheet"
@ -358,13 +360,12 @@
</LinearLayout>
<com.linearlistview.LinearListView
android:id="@+id/linear_listview"
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mtb_colr_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
app:dividerThickness="0.5dp" />