From f68691df6b200a7b7405a531d03d7f61182136c5 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 1 Sep 2022 16:21:48 +0200 Subject: [PATCH] Refactoring su DialogBasketLU --- .../dialogs/basket_lu/DialogBasketLU.java | 76 ++++++++---------- .../DialogScanOrCreateLUView.java | 4 +- app/src/main/res/layout/dialog_basket_lu.xml | 51 +++++------- .../dialog_basket_lu__mtb_colt_model.xml | 80 +++++++++---------- .../res/layout/dialog_basket_lu__page1.xml | 4 +- .../res/layout/dialog_basket_lu__page2.xml | 12 +-- 6 files changed, 103 insertions(+), 124 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java index f01d1f58..78130fbf 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java @@ -1,12 +1,13 @@ package it.integry.integrywmsnative.view.dialogs.basket_lu; import android.app.Dialog; -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; import android.view.LayoutInflater; -import androidx.databinding.DataBindingUtil; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import java.util.AbstractMap; import java.util.ArrayList; @@ -14,65 +15,58 @@ import java.util.List; import java.util.Map; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.utility.UtilityDialog; import it.integry.integrywmsnative.databinding.DialogBasketLuBinding; import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page1.DialogBasketLU_Page1_ViewModel; import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page2.DialogBasketLU_Page2_ViewModel; -public class DialogBasketLU { +public class DialogBasketLU extends BaseDialogFragment { - private Context mContext; - private Dialog mDialog; - private DialogBasketLuBinding mBinding; - - private RunnableArgs mOnComplete; - - public static Dialog make(final Context context, RunnableArgs onComplete) { - return new DialogBasketLU(context, onComplete).mDialog; - } + private final RunnableArgs mOnComplete; + private DialogBasketLuBinding mBindings; - private DialogBasketLU(Context context, RunnableArgs onComplete) { - mContext = context; + + public DialogBasketLU(RunnableArgs onComplete) { mOnComplete = onComplete; - - LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_basket_lu, null, false); - - mDialog = new Dialog(context); - - mDialog.setContentView(mBinding.getRoot()); - - mDialog.setCanceledOnTouchOutside(false); - mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - UtilityDialog.setTo90PercentWidth(context, mDialog); - - this.initViewPager(); } - private void initViewPager() { + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogBasketLuBinding.inflate(LayoutInflater.from(requireContext()), null, false); + + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .create(); + + alertDialog.setCanceledOnTouchOutside(false); + this.initViewPager(alertDialog); + + return alertDialog; + } + + private void initViewPager(Dialog dialog) { List>> views = new ArrayList<>(); views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class)); views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class)); - DialogBasketLU_ViewPagerAdapter viewPagerAdapter = new DialogBasketLU_ViewPagerAdapter(mContext, views); - mBinding.viewpager.setAdapter(viewPagerAdapter); - mBinding.viewpager.beginFakeDrag(); - mBinding.viewpager.addOnPageChangeListener(viewPagerAdapter); - mBinding.viewpager.setEnabled(false); - - - mDialog.setOnShowListener(v -> { + DialogBasketLU_ViewPagerAdapter viewPagerAdapter = new DialogBasketLU_ViewPagerAdapter(requireContext(), views); + mBindings.viewpager.setAdapter(viewPagerAdapter); + mBindings.viewpager.beginFakeDrag(); + mBindings.viewpager.addOnPageChangeListener(viewPagerAdapter); + mBindings.viewpager.setEnabled(false); + dialog.setOnShowListener(v -> { viewPagerAdapter.getViewModel(R.layout.dialog_basket_lu__page2).setOnConfirmClickListener(data -> { MtbColt mtbColt = (MtbColt) data; mOnComplete.run(mtbColt); - mDialog.dismiss(); + dialog.dismiss(); }); }); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java index 8543f604..5cfccd05 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java @@ -98,9 +98,9 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial }); mBindings.viewBasket.setOnClickListener(v -> { - DialogBasketLU.make(getActivity(), mtbColt -> { + new DialogBasketLU(mtbColt -> { onLUOpened(mtbColt, false); - }).show(); + }).show(requireActivity().getSupportFragmentManager(), "tag"); }); var alertDialog = new MaterialAlertDialogBuilder(requireContext()) diff --git a/app/src/main/res/layout/dialog_basket_lu.xml b/app/src/main/res/layout/dialog_basket_lu.xml index d79af1e0..fca3a951 100644 --- a/app/src/main/res/layout/dialog_basket_lu.xml +++ b/app/src/main/res/layout/dialog_basket_lu.xml @@ -1,45 +1,36 @@ - + android:orientation="vertical" + android:paddingStart="8dp" + android:paddingTop="24dp" + android:paddingEnd="8dp" + android:paddingBottom="16dp"> - - + android:gravity="center_horizontal" + android:text="@string/basket" /> - + - - - + - + - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml b/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml index 76990136..a50e5ef3 100644 --- a/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml +++ b/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml @@ -1,10 +1,15 @@ + + + + + - + android:paddingBottom="12dp"> - + android:orientation="horizontal" + app:layout_constraintTop_toTopOf="parent"> - - - - - + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:background="@drawable/badge_round_corner" + android:backgroundTint="@color/colorPrimary" + android:layout_gravity="center" + android:paddingLeft="6dp" + android:paddingTop="2dp" + android:paddingRight="6dp" + android:paddingBottom="2dp" + android:text="@{mtbColt.numCollo.toString()}" + android:textColor="@android:color/white" + android:textStyle="bold" + tools:text="22222" /> - @@ -63,25 +60,25 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - @@ -90,16 +87,17 @@ - - - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_basket_lu__page1.xml b/app/src/main/res/layout/dialog_basket_lu__page1.xml index 4d435f2d..9bfb9f57 100644 --- a/app/src/main/res/layout/dialog_basket_lu__page1.xml +++ b/app/src/main/res/layout/dialog_basket_lu__page1.xml @@ -45,7 +45,7 @@ android:orientation="vertical" app:layout_constraintGuide_percent="0.85" /> - - + diff --git a/app/src/main/res/layout/dialog_basket_lu__page2.xml b/app/src/main/res/layout/dialog_basket_lu__page2.xml index 1fd84f5c..532d1760 100644 --- a/app/src/main/res/layout/dialog_basket_lu__page2.xml +++ b/app/src/main/res/layout/dialog_basket_lu__page2.xml @@ -106,15 +106,13 @@