Completata gestione del contenuto UL in BottomSheetFragment
This commit is contained in:
parent
9967b7a3ef
commit
653f0d6d70
@ -315,23 +315,23 @@ public class MainActivity extends BaseActivity
|
|||||||
|
|
||||||
private void init(){
|
private void init(){
|
||||||
|
|
||||||
ServerStatusChecker.getInstance().addCallback(value -> {
|
// ServerStatusChecker.getInstance().addCallback(value -> {
|
||||||
if(value && (!mIsOnline || firstCheckExecution)){
|
// if(value && (!mIsOnline || firstCheckExecution)){
|
||||||
|
//
|
||||||
SettingsManager.loadDBVariables(() -> {
|
// SettingsManager.loadDBVariables(() -> {
|
||||||
mIsOnline = true;
|
// mIsOnline = true;
|
||||||
firstCheckExecution = false;
|
// firstCheckExecution = false;
|
||||||
|
//
|
||||||
}, ex -> {
|
// }, ex -> {
|
||||||
//mNoConnectionLayout.expand(true);
|
// //mNoConnectionLayout.expand(true);
|
||||||
if(mIsOnline) mIsOnline = false;
|
// if(mIsOnline) mIsOnline = false;
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
|
//
|
||||||
} else if(!value && mIsOnline){
|
// } else if(!value && mIsOnline){
|
||||||
mIsOnline = false;
|
// mIsOnline = false;
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,6 +44,8 @@ public class UtilityLogger {
|
|||||||
public static void errorMe(Exception ex, String additionalText, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public static void errorMe(Exception ex, String additionalText, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
if(!BuildConfig.DEBUG) FirebaseCrashlytics.getInstance().recordException(ex);
|
if(!BuildConfig.DEBUG) FirebaseCrashlytics.getInstance().recordException(ex);
|
||||||
|
|
||||||
|
logMe(ex.getMessage());
|
||||||
|
|
||||||
// if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
|
// if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
|
||||||
// (!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
|
// (!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
|
||||||
// (!(ex instanceof IOException) && !(ex.getCause() instanceof IOException))) {
|
// (!(ex instanceof IOException) && !(ex.getCause() instanceof IOException))) {
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.tfb.fbtoast.FBToast;
|
import com.tfb.fbtoast.FBToast;
|
||||||
@ -35,13 +36,11 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
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.rest.model.SitArtOrdDTO;
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
|
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
|
||||||
@ -51,7 +50,6 @@ import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
|||||||
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.exceptions.BottomSheetFragmentViewNotInitializedException;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
@ -61,7 +59,7 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQua
|
|||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2ResultDTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2ResultDTO;
|
||||||
|
|
||||||
public class SpedizioneActivity extends AppCompatActivity implements SpedizioneViewModel.Listeners, BottomSheetFragmentLUContentViewModel.Listener {
|
public class SpedizioneActivity extends AppCompatActivity implements SpedizioneViewModel.Listeners, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
|
||||||
|
|
||||||
private ActivitySpedizioneBinding mBindings;
|
private ActivitySpedizioneBinding mBindings;
|
||||||
|
|
||||||
@ -117,9 +115,9 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
mBindings.setLifecycleOwner(this);
|
mBindings.setLifecycleOwner(this);
|
||||||
mBindings.setSpedizioneView(this);
|
mBindings.setSpedizioneView(this);
|
||||||
|
|
||||||
mBindings.bottomSheetLuContent.init(mBindings.bottomSheetLuContent);
|
mBindings.bottomSheetLuContent.setListener(this);
|
||||||
|
mBindings.bottomSheetLuContent.init(mBindings.bottomSheetLuContent, null);
|
||||||
mBottomSheetFragmentLUContentViewModel = mBindings.bottomSheetLuContent.getViewModelInstance();
|
mBottomSheetFragmentLUContentViewModel = mBindings.bottomSheetLuContent.getViewModelInstance();
|
||||||
mBottomSheetFragmentLUContentViewModel.setListener(this);
|
|
||||||
|
|
||||||
|
|
||||||
this.initVars();
|
this.initVars();
|
||||||
@ -505,4 +503,14 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
public void onBottomSheetLUClose() {
|
public void onBottomSheetLUClose() {
|
||||||
this.mViewmodel.closeLU(true);
|
this.mViewmodel.closeLU(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMtbColrEdit(MtbColr mtbColr) {
|
||||||
|
Toast.makeText(this, "Edit", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMtbColrDelete(MtbColr mtbColr) {
|
||||||
|
Toast.makeText(this, "Delete", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -675,12 +675,11 @@ public class SpedizioneViewModel {
|
|||||||
if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
|
if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
|
||||||
numCnfDaPrelevare = mtbColrToDispatch.getNumCnf();
|
numCnfDaPrelevare = mtbColrToDispatch.getNumCnf();
|
||||||
qtaColDaPrelevare = mtbColrToDispatch.getQtaCol();
|
qtaColDaPrelevare = mtbColrToDispatch.getQtaCol();
|
||||||
qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf();
|
|
||||||
} else {
|
} else {
|
||||||
numCnfDaPrelevare = numCnfDaEvadere;
|
numCnfDaPrelevare = numCnfDaEvadere;
|
||||||
qtaColDaPrelevare = qtaDaEvadere;
|
qtaColDaPrelevare = qtaDaEvadere;
|
||||||
qtaCnfDaPrelevare = qtaCnfDaEvadere;
|
|
||||||
}
|
}
|
||||||
|
qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf();
|
||||||
|
|
||||||
|
|
||||||
totalQtaAvailable = mtbColrToDispatch.getQtaCol();
|
totalQtaAvailable = mtbColrToDispatch.getQtaCol();
|
||||||
|
|||||||
@ -0,0 +1,34 @@
|
|||||||
|
package it.integry.integrywmsnative.view.bottom_sheet__base;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Rect;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.view.MotionEvent;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||||
|
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
|
|
||||||
|
public class AutoCloseBottomSheetBehavior<V extends View> extends BottomSheetBehavior<V> {
|
||||||
|
|
||||||
|
public AutoCloseBottomSheetBehavior(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onInterceptTouchEvent(CoordinatorLayout parent, V child, MotionEvent event) {
|
||||||
|
if (event.getAction() == MotionEvent.ACTION_DOWN &&
|
||||||
|
getState() == BottomSheetBehavior.STATE_EXPANDED) {
|
||||||
|
|
||||||
|
Rect outRect = new Rect();
|
||||||
|
child.getGlobalVisibleRect(outRect);
|
||||||
|
|
||||||
|
if (!outRect.contains((int) event.getRawX(), (int) event.getRawY())) {
|
||||||
|
setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onInterceptTouchEvent(parent, child, event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,129 @@
|
|||||||
|
package it.integry.integrywmsnative.view.bottom_sheet__base;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
|
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
|
import it.integry.integrywmsnative.view.bottom_sheet__base.exceptions.BottomSheetFragmentViewNotInitializedException;
|
||||||
|
|
||||||
|
public abstract class BottomSheetFragmentBaseView extends ConstraintLayout {
|
||||||
|
|
||||||
|
protected Context mContext;
|
||||||
|
protected View parentView;
|
||||||
|
|
||||||
|
protected BottomSheetBehavior mBottomSheetBehavior;
|
||||||
|
|
||||||
|
public BottomSheetFragmentBaseView(Context context) {
|
||||||
|
this(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BottomSheetFragmentBaseView(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
this.mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BottomSheetFragmentBaseView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||||
|
this(context, attrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BottomSheetFragmentBaseView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||||
|
this(context, attrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void init(View view, View backgroundView) {
|
||||||
|
this.parentView = view;
|
||||||
|
this.mBottomSheetBehavior = BottomSheetBehavior.from(this.parentView);
|
||||||
|
|
||||||
|
this.mBottomSheetBehavior.addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
|
||||||
|
@Override
|
||||||
|
public void onStateChanged(@NonNull View bottomSheet, int newState) {
|
||||||
|
if (newState == BottomSheetBehavior.STATE_COLLAPSED && backgroundView != null)
|
||||||
|
backgroundView.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
onStateChangedCallback(mapState(newState));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
|
||||||
|
if(backgroundView != null) {
|
||||||
|
backgroundView.setVisibility(View.VISIBLE);
|
||||||
|
backgroundView.setAlpha(slideOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
onSlideCallback(1 - slideOffset);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void expand() {
|
||||||
|
if(this.mBottomSheetBehavior == null) {
|
||||||
|
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void collapse() {
|
||||||
|
if(this.mBottomSheetBehavior == null) {
|
||||||
|
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isExpanded() {
|
||||||
|
return this.getState() == State.EXPANDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCollapsed() {
|
||||||
|
return this.getState() == State.COLLAPSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public State getState() {
|
||||||
|
if(this.mBottomSheetBehavior == null) {
|
||||||
|
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return mapState(this.mBottomSheetBehavior.getState());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void toggle() {
|
||||||
|
if(isExpanded()) collapse();
|
||||||
|
else expand();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected State mapState(int stateInt) {
|
||||||
|
if(stateInt == BottomSheetBehavior.STATE_DRAGGING) return State.DRAGGING;
|
||||||
|
if(stateInt == BottomSheetBehavior.STATE_SETTLING) return State.SETTLING;
|
||||||
|
if(stateInt == BottomSheetBehavior.STATE_EXPANDED) return State.EXPANDED;
|
||||||
|
if(stateInt == BottomSheetBehavior.STATE_COLLAPSED) return State.COLLAPSED;
|
||||||
|
if(stateInt == BottomSheetBehavior.STATE_HIDDEN) return State.HIDDEN;
|
||||||
|
if(stateInt == BottomSheetBehavior.STATE_HALF_EXPANDED) return State.HALF_EXPANDED;
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract void onStateChangedCallback(State newState);
|
||||||
|
|
||||||
|
protected abstract void onSlideCallback(float slideOffset);
|
||||||
|
|
||||||
|
public enum State {
|
||||||
|
DRAGGING,
|
||||||
|
SETTLING,
|
||||||
|
EXPANDED,
|
||||||
|
COLLAPSED,
|
||||||
|
HIDDEN,
|
||||||
|
HALF_EXPANDED
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.view.bottom_sheet__lu_content.exceptions;
|
package it.integry.integrywmsnative.view.bottom_sheet__base.exceptions;
|
||||||
|
|
||||||
public class BottomSheetFragmentViewNotInitializedException extends Exception {
|
public class BottomSheetFragmentViewNotInitializedException extends Exception {
|
||||||
public BottomSheetFragmentViewNotInitializedException() {
|
public BottomSheetFragmentViewNotInitializedException() {
|
||||||
@ -11,6 +11,7 @@ import androidx.databinding.Observable;
|
|||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.expansion.WeakReferenceOnListChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.WeakReferenceOnListChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
@ -40,7 +41,6 @@ public class BottomSheetFragmentLUContentListAdapter extends BaseAdapter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void onLUChangedCallback() {
|
private void onLUChangedCallback() {
|
||||||
if(this.mtbColt.get() != null) {
|
if(this.mtbColt.get() != null) {
|
||||||
this.mtbColt.get().getMtbColr().addOnListChangedCallback(onListChangedCallback);
|
this.mtbColt.get().getMtbColr().addOnListChangedCallback(onListChangedCallback);
|
||||||
|
|||||||
@ -7,38 +7,30 @@ import android.view.View;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.Observable;
|
import androidx.databinding.Observable;
|
||||||
import androidx.databinding.ObservableList;
|
import androidx.databinding.ObservableList;
|
||||||
|
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
|
import com.linearlistview.LinearListView;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.di.BindableString;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
|
||||||
import it.integry.integrywmsnative.databinding.BottomSheetFragmentLuContentBinding;
|
import it.integry.integrywmsnative.databinding.BottomSheetFragmentLuContentBinding;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.exceptions.BottomSheetFragmentViewNotInitializedException;
|
import it.integry.integrywmsnative.view.bottom_sheet__base.BottomSheetFragmentBaseView;
|
||||||
|
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView;
|
||||||
|
|
||||||
public class BottomSheetFragmentLUContentView extends ConstraintLayout {
|
public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseView implements BottomSheetMtbColrEditView.Listener {
|
||||||
|
|
||||||
private final Context mContext;
|
|
||||||
private BottomSheetBehavior mBottomSheetBehavior;
|
|
||||||
|
|
||||||
private BottomSheetFragmentLuContentBinding mBinding;
|
private BottomSheetFragmentLuContentBinding mBinding;
|
||||||
private BottomSheetFragmentLUContentViewModel mViewModel;
|
private BottomSheetFragmentLUContentViewModel mViewModel;
|
||||||
|
|
||||||
private BottomSheetFragmentLUContentListAdapter mAdapter;
|
private BottomSheetFragmentLUContentListAdapter mAdapter;
|
||||||
|
|
||||||
|
private Listener mListener;
|
||||||
public BottomSheetFragmentLUContentView(Context context) {
|
|
||||||
this(context, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BottomSheetFragmentLUContentView(Context context, @Nullable AttributeSet attrs) {
|
public BottomSheetFragmentLUContentView(Context context, @Nullable AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
@ -51,41 +43,26 @@ public class BottomSheetFragmentLUContentView extends ConstraintLayout {
|
|||||||
mViewModel = new BottomSheetFragmentLUContentViewModel();
|
mViewModel = new BottomSheetFragmentLUContentViewModel();
|
||||||
mBinding.setViewModel(mViewModel);
|
mBinding.setViewModel(mViewModel);
|
||||||
|
|
||||||
|
mBinding.bottomSheetMtbColrEdit.setListener(this);
|
||||||
|
mBinding.bottomSheetMtbColrEdit.init(mBinding.bottomSheetMtbColrEdit, mBinding.bottomSheetMtbColrEditBackground);
|
||||||
|
|
||||||
this.initAdapter();
|
this.initAdapter();
|
||||||
this.initCallbacks();
|
this.initCallbacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
public BottomSheetFragmentLUContentView(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
||||||
this(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BottomSheetFragmentLUContentView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
|
||||||
this(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BottomSheetFragmentLUContentViewModel getViewModelInstance() {
|
public BottomSheetFragmentLUContentViewModel getViewModelInstance() {
|
||||||
return mViewModel;
|
return mViewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(View view) {
|
|
||||||
this.mBottomSheetBehavior = BottomSheetBehavior.from(view);
|
|
||||||
|
|
||||||
this.mBottomSheetBehavior.addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
|
|
||||||
@Override
|
|
||||||
public void onStateChanged(@NonNull View bottomSheet, int newState) {
|
|
||||||
onStateChangedCallback(mapState(newState));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
|
|
||||||
onSlideCallback(1 - slideOffset);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initAdapter() {
|
private void initAdapter() {
|
||||||
this.mAdapter = new BottomSheetFragmentLUContentListAdapter(this.mContext, this.mViewModel.getObservableMtbColt());
|
this.mAdapter = new BottomSheetFragmentLUContentListAdapter(this.mContext, this.mViewModel.getObservableMtbColt());
|
||||||
this.mBinding.linearListview.setAdapter(this.mAdapter);
|
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.bottomSheetMtbColrEdit.expand();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initCallbacks() {
|
private void initCallbacks() {
|
||||||
@ -112,53 +89,13 @@ public class BottomSheetFragmentLUContentView extends ConstraintLayout {
|
|||||||
mBinding.textviewArtDescription.setText(mContext.getResources().getQuantityString(R.plurals.articles, mtbColrs.size()));
|
mBinding.textviewArtDescription.setText(mContext.getResources().getQuantityString(R.plurals.articles, mtbColrs.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private State mapState(int stateInt) {
|
public BottomSheetFragmentLUContentView setListener(Listener listener) {
|
||||||
if(stateInt == BottomSheetBehavior.STATE_DRAGGING) return State.DRAGGING;
|
this.mListener = listener;
|
||||||
if(stateInt == BottomSheetBehavior.STATE_SETTLING) return State.SETTLING;
|
return this;
|
||||||
if(stateInt == BottomSheetBehavior.STATE_EXPANDED) return State.EXPANDED;
|
|
||||||
if(stateInt == BottomSheetBehavior.STATE_COLLAPSED) return State.COLLAPSED;
|
|
||||||
if(stateInt == BottomSheetBehavior.STATE_HIDDEN) return State.HIDDEN;
|
|
||||||
if(stateInt == BottomSheetBehavior.STATE_HALF_EXPANDED) return State.HALF_EXPANDED;
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public State getState() {
|
@Override
|
||||||
if(this.mBottomSheetBehavior == null) {
|
protected void onStateChangedCallback(State newState) {
|
||||||
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mapState(this.mBottomSheetBehavior.getState());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isExpanded() {
|
|
||||||
return this.getState() == State.EXPANDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isCollapsed() {
|
|
||||||
return this.getState() == State.COLLAPSED;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void expand() {
|
|
||||||
if(this.mBottomSheetBehavior == null) {
|
|
||||||
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void collapse() {
|
|
||||||
if(this.mBottomSheetBehavior == null) {
|
|
||||||
UtilityLogger.errorMe(new BottomSheetFragmentViewNotInitializedException());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onStateChangedCallback(State newState) {
|
|
||||||
switch (newState) {
|
switch (newState) {
|
||||||
case EXPANDED:
|
case EXPANDED:
|
||||||
this.mBinding.btnCloseLu.setClickable(false);
|
this.mBinding.btnCloseLu.setClickable(false);
|
||||||
@ -172,24 +109,27 @@ public class BottomSheetFragmentLUContentView extends ConstraintLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onSlideCallback(float slideOffset) {
|
@Override
|
||||||
|
protected void onSlideCallback(float slideOffset) {
|
||||||
this.mBinding.btnCloseLu.setAlpha(slideOffset);
|
this.mBinding.btnCloseLu.setAlpha(slideOffset);
|
||||||
// mBinding.tapActionLayout.setAlpha(1-slideOffset);
|
// mBinding.tapActionLayout.setAlpha(1-slideOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void toggle() {
|
public void onMtbColrEdit(MtbColr mtbColr) {
|
||||||
if(isExpanded()) collapse();
|
if(mListener != null) this.mListener.onMtbColrEdit(mtbColr);
|
||||||
else expand();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum State {
|
@Override
|
||||||
DRAGGING,
|
public void onMtbColrDelete(MtbColr mtbColr) {
|
||||||
SETTLING,
|
if(mListener != null) this.mListener.onMtbColrDelete(mtbColr);
|
||||||
EXPANDED,
|
}
|
||||||
COLLAPSED,
|
|
||||||
HIDDEN,
|
|
||||||
HALF_EXPANDED
|
public interface Listener {
|
||||||
|
void onMtbColrEdit(MtbColr mtbColr);
|
||||||
|
|
||||||
|
void onMtbColrDelete(MtbColr mtbColr);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ public class BottomSheetFragmentLUContentViewModel {
|
|||||||
|
|
||||||
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
|
private MtbColrListener mMtbColrListener;
|
||||||
|
|
||||||
public void closeCurrentLU() {
|
public void closeCurrentLU() {
|
||||||
if(this.mListener != null) this.mListener.onBottomSheetLUClose();
|
if(this.mListener != null) this.mListener.onBottomSheetLUClose();
|
||||||
@ -27,7 +28,16 @@ public class BottomSheetFragmentLUContentViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BottomSheetFragmentLUContentViewModel setMtbColrListener(MtbColrListener mtbColrListener) {
|
||||||
|
this.mMtbColrListener = mtbColrListener;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public interface Listener {
|
public interface Listener {
|
||||||
void onBottomSheetLUClose();
|
void onBottomSheetLUClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface MtbColrListener {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,97 @@
|
|||||||
|
package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
|
import it.integry.integrywmsnative.databinding.BottomSheetMtbColrEditBinding;
|
||||||
|
import it.integry.integrywmsnative.view.bottom_sheet__base.BottomSheetFragmentBaseView;
|
||||||
|
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.exceptions.NullMtbColrException;
|
||||||
|
|
||||||
|
public class BottomSheetMtbColrEditView extends BottomSheetFragmentBaseView {
|
||||||
|
|
||||||
|
private BottomSheetMtbColrEditBinding mBinding;
|
||||||
|
private BottomSheetMtbColrEditViewModel mViewModel;
|
||||||
|
|
||||||
|
|
||||||
|
private Listener mListener;
|
||||||
|
|
||||||
|
public BottomSheetMtbColrEditView(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
|
||||||
|
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
|
mBinding = DataBindingUtil.inflate(inflater, R.layout.bottom_sheet__mtb_colr_edit, this, true);
|
||||||
|
|
||||||
|
|
||||||
|
mViewModel = new BottomSheetMtbColrEditViewModel();
|
||||||
|
mBinding.setViewModel(mViewModel);
|
||||||
|
mBinding.setView(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMtbColr(MtbColr mtbColr) {
|
||||||
|
this.mBinding.invalidateAll();
|
||||||
|
this.mViewModel.setMtbColr(mtbColr);
|
||||||
|
this.mBinding.executePendingBindings();
|
||||||
|
|
||||||
|
this.parentView.requestLayout();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editMtbColr() {
|
||||||
|
if(this.mListener != null) this.mListener.onMtbColrEdit(this.mViewModel.getMtbColr());
|
||||||
|
this.collapse();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteMtbColr() {
|
||||||
|
if(this.mListener != null) this.mListener.onMtbColrDelete(this.mViewModel.getMtbColr());
|
||||||
|
this.collapse();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void expand() {
|
||||||
|
if(this.mViewModel.getMtbColr() == null) {
|
||||||
|
UtilityLogger.errorMe(new NullMtbColrException());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
super.expand();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStateChangedCallback(State newState) {
|
||||||
|
if(newState == State.COLLAPSED) this.mViewModel.setMtbColr(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onSlideCallback(float slideOffset) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public BottomSheetMtbColrEditViewModel getViewModelInstance() {
|
||||||
|
return this.mViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public BottomSheetMtbColrEditView setListener(Listener listener) {
|
||||||
|
this.mListener = listener;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Listener {
|
||||||
|
|
||||||
|
void onMtbColrEdit(MtbColr mtbColr);
|
||||||
|
|
||||||
|
void onMtbColrDelete(MtbColr mtbColr);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit;
|
||||||
|
|
||||||
|
import androidx.databinding.ObservableField;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
|
|
||||||
|
public class BottomSheetMtbColrEditViewModel {
|
||||||
|
|
||||||
|
private ObservableField<MtbColr> mtbColr = new ObservableField<>();
|
||||||
|
|
||||||
|
|
||||||
|
public MtbColr getMtbColr() {
|
||||||
|
return mtbColr.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public BottomSheetMtbColrEditViewModel setMtbColr(MtbColr mtbColr) {
|
||||||
|
this.mtbColr.set(mtbColr);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
package it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.exceptions;
|
||||||
|
|
||||||
|
public class NullMtbColrException extends Exception {
|
||||||
|
|
||||||
|
public NullMtbColrException() {
|
||||||
|
super("Please set MtbColr before opening the BottomSheet");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
229
app/src/main/res/layout/bottom_sheet__mtb_colr_edit.xml
Normal file
229
app/src/main/res/layout/bottom_sheet__mtb_colr_edit.xml
Normal file
@ -0,0 +1,229 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="view"
|
||||||
|
type="it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="viewModel"
|
||||||
|
type="it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditViewModel" />
|
||||||
|
</data>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.cardview.widget.CardView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:cardCornerRadius="8dp"
|
||||||
|
app:cardElevation="4dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="16dp">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/title_layout"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/bottom_sheet_actions_title"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:paddingStart="0dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:text="@{viewModel.mtbColr.descrizione}"
|
||||||
|
android:textColor="#444"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Descrizione articolo" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/bottom_sheet_actions_subtitle"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{viewModel.mtbColr.codMart}"
|
||||||
|
tools:text="ABF52IL" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="end"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(viewModel.mtbColr.qtaCol)}"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="250" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:gravity="end"
|
||||||
|
android:text="@{viewModel.mtbColr.untMis}"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="PZ" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="end"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(viewModel.mtbColr.numCnf)}"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="250" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:gravity="end"
|
||||||
|
android:text="@string/unt_mis_col"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/title_layout">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guideline_action"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.50" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
app:singleClick="@{() -> view.editMtbColr()}"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/guideline_action"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/bottom_sheet_actions_edit_btn"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@android:color/white"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:scaleX="1.5"
|
||||||
|
android:scaleY="1.5"
|
||||||
|
android:src="@drawable/ic_edit_24dp"
|
||||||
|
android:tint="@color/green_600" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/edit" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
app:singleClick="@{() -> view.deleteMtbColr()}"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/guideline_action"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/bottom_sheet_actions_delete_btn"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@android:color/white"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:scaleX="1.5"
|
||||||
|
android:scaleY="1.5"
|
||||||
|
android:src="@drawable/ic_delete_24dp"
|
||||||
|
android:tint="@color/red_600" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/delete" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</layout>
|
||||||
@ -1,5 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
@ -14,371 +16,393 @@
|
|||||||
type="it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView" />
|
type="it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:id="@+id/bottom_sheet"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="#ffffffff"
|
android:background="@color/full_white">
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="0dp"
|
android:id="@+id/bottom_sheet"
|
||||||
android:layout_height="0dp"
|
android:layout_width="match_parent"
|
||||||
app:cardCornerRadius="8dp"
|
android:layout_height="match_parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
android:background="#ffffffff"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:orientation="vertical">
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:cardElevation="4dp">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@android:color/white">
|
|
||||||
|
|
||||||
|
<androidx.cardview.widget.CardView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
app:cardCornerRadius="8dp"
|
||||||
|
app:cardElevation="4dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/title_layout"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="66dp"
|
android:background="@android:color/white">
|
||||||
android:background="@color/colorAccent"
|
|
||||||
android:paddingStart="16dp"
|
|
||||||
android:paddingTop="8dp"
|
|
||||||
android:paddingEnd="8dp"
|
|
||||||
android:paddingBottom="8dp"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:clickable="true"
|
|
||||||
android:onClick="@{() -> view.toggle()}"
|
|
||||||
android:focusable="true">
|
|
||||||
|
|
||||||
|
|
||||||
<View
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/indicator_view"
|
android:id="@+id/title_layout"
|
||||||
android:layout_width="24dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="4dp"
|
android:layout_height="66dp"
|
||||||
android:background="@drawable/badge_gray_round_corner"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:backgroundTint="@android:color/white"
|
|
||||||
android:alpha="0.5"/>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@color/colorAccent"
|
android:background="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:onClick="@{() -> view.toggle()}"
|
||||||
|
android:paddingStart="16dp"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/indicator_view">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/indicator_view"
|
||||||
android:layout_width="24dp"
|
android:layout_width="24dp"
|
||||||
android:layout_height="24dp"
|
android:layout_height="4dp"
|
||||||
android:tint="@android:color/white"
|
android:alpha="0.5"
|
||||||
|
android:background="@drawable/badge_gray_round_corner"
|
||||||
|
android:backgroundTint="@android:color/white"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toBottomOf="@id/indicator_view">
|
||||||
app:srcCompat="@drawable/ic_box" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/textview_art_counter"
|
android:layout_width="24dp"
|
||||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
android:layout_height="24dp"
|
||||||
|
android:tint="@android:color/white"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@drawable/ic_box" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/textview_art_counter"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/imageView"
|
||||||
|
tools:text="2" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/textview_art_description"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="@string/article"
|
||||||
|
android:textAllCaps="false"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/imageView" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/btn_close_lu"
|
||||||
|
style="@style/Button.DangerFull"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_alignParentEnd="true"
|
||||||
android:textColor="@android:color/white"
|
android:layout_marginLeft="8dp"
|
||||||
android:textStyle="bold"
|
android:layout_marginRight="8dp"
|
||||||
app:layout_constraintStart_toEndOf="@+id/imageView"
|
android:text="@string/action_close_ul"
|
||||||
tools:text="2" />
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/indicator_view"
|
||||||
|
app:singleClick="@{() -> viewModel.closeCurrentLU()}"
|
||||||
|
app:strokeColor="@color/red_600" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<LinearLayout
|
||||||
android:id="@+id/textview_art_description"
|
android:id="@+id/lu_detail_layout"
|
||||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:text="@string/article"
|
|
||||||
android:textAllCaps="false"
|
|
||||||
android:textColor="@android:color/white"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/imageView" />
|
|
||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
android:id="@+id/btn_close_lu"
|
|
||||||
style="@style/Button.DangerFull"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentEnd="true"
|
android:orientation="vertical"
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:layout_marginRight="8dp"
|
|
||||||
app:singleClick="@{() -> viewModel.closeCurrentLU()}"
|
|
||||||
android:text="@string/action_close_ul"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/indicator_view"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:strokeColor="@color/red_600" />
|
app:layout_constraintTop_toBottomOf="@+id/title_layout">
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<TextView
|
||||||
android:id="@+id/lu_detail_layout"
|
style="@style/AppTheme.NewMaterial.Text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:layout_marginStart="10dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:layout_marginTop="10dp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:text="@string/details_text"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/title_layout">
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
<TextView
|
android:textStyle="bold" />
|
||||||
style="@style/AppTheme.NewMaterial.Text"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="10dp"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:text="@string/details_text"
|
|
||||||
android:textAllCaps="true"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:padding="15dp">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/guideline1"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.40" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:text="@string/date_text"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline1"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:id="@+id/articoli_in_collo_details_date"
|
|
||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/guideline1"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:text="TextView" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/guideline2"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.40" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:id="@+id/articoli_in_collo_details_posizione"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:text="@string/position_text"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline2"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:text="@{viewModel.mtbColt.posizione}"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/guideline2"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:text="TextView" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/guideline3"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.40" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:text="@string/prepared_by_text"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline3"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:text="@{viewModel.mtbColt.preparatoDa}"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/guideline3"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:text="TextView" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/guideline4"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.40" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:text="@string/customer"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline4"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:text="@{viewModel.mtbColt.ragSocCliente}"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/guideline4"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:text="TextView" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:id="@+id/separator_view"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:layout_marginTop="24dp"
|
|
||||||
android:background="#ededed"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/lu_detail_layout" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/separator_view">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
style="@style/AppTheme.NewMaterial.Text"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="10dp"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:text="@string/already_read_articles"
|
|
||||||
android:textAllCaps="true"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingTop="14dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
android:layout_marginBottom="16dp"
|
|
||||||
android:gravity="center"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="16dp"
|
android:padding="15dp">
|
||||||
android:visibility="@{viewModel.mtbColt == null || viewModel.mtbColt.mtbColr.size() == 0 ? View.VISIBLE : View.GONE}">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:src="@drawable/ic_info_78dp"
|
|
||||||
android:tint="@color/empty_view_gray" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
style="@style/AppTheme.NewMaterial.Text"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/empty_rows_in_mtbcolt"
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:textColor="@color/empty_view_gray"
|
android:id="@+id/guideline1"
|
||||||
android:textSize="20sp" />
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.40" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:text="@string/date_text"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline1"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/articoli_in_collo_details_date"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline1"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="TextView" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guideline2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.40" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/articoli_in_collo_details_posizione"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:text="@string/position_text"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline2"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:text="@{viewModel.mtbColt.posizione}"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline2"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="TextView" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guideline3"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.40" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:text="@string/prepared_by_text"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline3"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:text="@{viewModel.mtbColt.preparatoDa}"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline3"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="TextView" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guideline4"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.40" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:text="@string/customer"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/guideline4"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:text="@{viewModel.mtbColt.ragSocCliente}"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/guideline4"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="TextView" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<com.linearlistview.LinearListView
|
</LinearLayout>
|
||||||
android:id="@+id/linear_listview"
|
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/separator_view"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:background="#ededed"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/lu_detail_layout" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/separator_view">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:text="@string/already_read_articles"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:dividerThickness="0.5dp" />
|
android:paddingTop="14dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:visibility="@{viewModel.mtbColt == null || viewModel.mtbColt.mtbColr.size() == 0 ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:src="@drawable/ic_info_78dp"
|
||||||
|
android:tint="@color/empty_view_gray" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/empty_rows_in_mtbcolt"
|
||||||
|
android:textColor="@color/empty_view_gray"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<com.linearlistview.LinearListView
|
||||||
|
android:id="@+id/linear_listview"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:dividerThickness="0.5dp" />
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<View
|
||||||
|
android:visibility="gone"
|
||||||
|
android:id="@+id/bottom_sheet__mtb_colr_edit__background"
|
||||||
|
android:background="#99000000"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
|
<it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView
|
||||||
|
android:id="@+id/bottom_sheet__mtb_colr_edit"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:behavior_hideable="true"
|
||||||
|
app:behavior_peekHeight="0dp"
|
||||||
|
app:layout_behavior=".view.bottom_sheet__base.AutoCloseBottomSheetBehavior"/>
|
||||||
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
</layout>
|
</layout>
|
||||||
@ -411,13 +411,12 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
app:behavior_hideable="true"
|
app:behavior_hideable="true"
|
||||||
app:behavior_peekHeight="0dp"
|
app:behavior_peekHeight="160dp"
|
||||||
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
|
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_gravity="center_vertical">
|
android:layout_gravity="center_vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user