From b129bb51c6fd5d9737886a630458d6508d85f56e Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 1 Sep 2022 15:08:13 +0200 Subject: [PATCH 1/5] Aggiornato tema. Aggiornato DialogProgressView. Aggiornato DialogYesNoView. Aggiornato DialogInputPesoLuView. --- .../core/expansion/BaseActivity.java | 2 +- .../core/expansion/BaseFragment.java | 2 +- .../core/update/UpdatesManager.java | 8 +- .../core/utility/UtilityExceptions.java | 7 - .../core/utility/UtilityProgress.java | 2 +- .../AccettazionePickingActivity.java | 2 +- .../gest/main/MainActivity.java | 14 +- .../gest/main/MainFragment.java | 12 +- .../picking_libero/PickingLiberoFragment.java | 8 +- .../picking_resi/PickingResiActivity.java | 2 +- .../RettificaGiacenzeFragment.java | 6 +- .../gest/spedizione/SpedizioneActivity.java | 18 +- .../ui/filter_chips/FilterChipView.java | 14 +- .../view/dialogs/DialogProgressView.java | 78 +++--- .../input_peso_lu/DialogInputPeso.java | 135 ---------- .../input_peso_lu/DialogInputPesoLuView.java | 114 ++++++++ .../view/dialogs/yes_no/DialogYesNo.java | 52 ---- .../view/dialogs/yes_no/DialogYesNoView.java | 68 +++++ .../main/res/layout/dialog_input_peso_lu.xml | 252 ++++++++---------- app/src/main/res/layout/dialog_progress.xml | 119 +++------ .../layout/fragment_main_ordini_uscita.xml | 19 +- ...t_main_ordini_uscita__list_group_model.xml | 19 +- ...ragment_main_ordini_uscita__list_model.xml | 33 +-- .../res/layout/fragment_picking_libero.xml | 108 ++++---- app/src/main/res/values-night/themes.xml | 31 +++ app/src/main/res/values/colors.xml | 176 +++++------- app/src/main/res/values/custom_colors.xml | 118 ++++++++ app/src/main/res/values/styles.xml | 34 +-- app/src/main/res/values/themes.xml | 31 +++ 29 files changed, 764 insertions(+), 720 deletions(-) delete mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/custom_colors.xml create mode 100644 app/src/main/res/values/themes.xml diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java index 3492a787..c0123045 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java @@ -49,7 +49,7 @@ public class BaseActivity extends AppCompatActivity { public void onError(Exception ex) { this.runOnUiThread(() -> { this.closeProgress(); - UtilityExceptions.defaultException(this, ex, mCurrentProgress); + UtilityExceptions.defaultException(this, ex); BarcodeManager.enable(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java index a6f5dd6a..b3ac95dc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java @@ -84,7 +84,7 @@ public abstract class BaseFragment extends Fragment { public void onError(Exception ex) { requireActivity().runOnUiThread(() -> { this.closeProgress(); - UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress); + UtilityExceptions.defaultException(getActivity(), ex); BarcodeManager.enable(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java b/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java index 3ba6afeb..02e7c1e8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java @@ -61,8 +61,8 @@ public class UpdatesManager { String destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"; - var progressDialog = DialogProgressView.newInstance("Download", null, false); - progressDialog.show(mContext.getSupportFragmentManager(), "tag"); + var progressDialogBuilder = new DialogProgressView("Download", null, false); + progressDialogBuilder.show(mContext.getSupportFragmentManager(), "tag"); var fileDownloader = new FileDownloader() @@ -70,13 +70,13 @@ public class UpdatesManager { .setUrlString(downloadURL) .setOnProgressUpdate(progress -> { mContext.runOnUiThread(() -> { - progressDialog.setProgress(progress); + progressDialogBuilder.setProgress(progress); }); }) .setOnDownloadCompleted(destPath -> { mContext.runOnUiThread(() -> { - progressDialog.dismiss(); + progressDialogBuilder.dismiss(); Uri fileLoc; Intent intent; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java index f26eb245..16151678 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java @@ -15,7 +15,6 @@ import it.integry.integrywmsnative.core.exception.InvalidConnectionException; import it.integry.integrywmsnative.core.exception.InvalidLUException; import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException; import it.integry.integrywmsnative.core.rest.CommonRESTException; -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; public class UtilityExceptions { @@ -25,12 +24,6 @@ public class UtilityExceptions { InvalidLUGestioneException.class, InvalidLUException.class }; - - public static void defaultException(Context context, Exception ex, DialogProgressView progressDialog) { - defaultException(context, ex); - if (progressDialog != null && progressDialog.isVisible()) progressDialog.dismiss(); - } - public static void defaultException(Context context, Exception ex) { defaultException(context, ex, false); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java index e59ad18b..88197d06 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java @@ -7,7 +7,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogProgressView; public class UtilityProgress { public static DialogProgressView createDefaultProgressDialog(FragmentActivity mContext) { - var progress = DialogProgressView.newInstance(); + var progress = DialogProgressView.newInstance(null, null, true); progress.show(mContext.getSupportFragmentManager(), "tag"); return progress; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java index cf747b03..33ddd09d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java @@ -798,7 +798,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(this, ex, mCurrentProgress); + UtilityExceptions.defaultException(this, ex); } BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java index effe259b..d3e84641 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java @@ -49,7 +49,7 @@ import it.integry.integrywmsnative.core.utility.UtilityContext; import it.integry.integrywmsnative.databinding.ActivityMainBinding; import it.integry.integrywmsnative.gest.login.LoginActivity; import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; -import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; +import it.integry.integrywmsnative.view.dialogs.DialogProgressView; public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity { @@ -71,9 +71,8 @@ public class MainActivity extends BaseActivity @Inject UpdatesManager updatesManager; - @Inject - DialogInputQuantityV2View mDialogInputQuantityV2View; + DialogProgressView mDialogProgressView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -81,6 +80,7 @@ public class MainActivity extends BaseActivity MainApplication.appComponent .mainActivityComponent() + .create() .inject(this); @@ -108,14 +108,6 @@ public class MainActivity extends BaseActivity init(); - -// mDialogInputQuantityV2View -// .setDialogInputQuantityV2DTO(new DialogInputQuantityV2DTO() -// .setMtbAart(new MtbAart() -// .setCodMart("AAAA") -// .setFlagQtaCnfFissa("S"))) -// .show(getSupportFragmentManager(), "tag"); - } private void startLoginActivity() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java index 135c0c21..dd2d7314 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java @@ -241,18 +241,18 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab private void initGestMenu() { int menuSpanCount = 2; - if(UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4; - else if(UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3; + if (UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4; + else if (UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3; MenuConfiguration baseMenuConfiguration = new MenuConfiguration(); List menuGroups = baseMenuConfiguration.getGroups(); - for(int i = 0; i < menuGroups.size(); i++) { + for (int i = 0; i < menuGroups.size(); i++) { try { BaseMenuConfiguration.MenuGroup menuGroup = menuGroups.get(i); - if(menuService.isGroupEnabled(menuGroup)) { + if (menuService.isGroupEnabled(menuGroup)) { FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false); @@ -261,8 +261,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab List enableMenuItems = new ArrayList<>(); - for(int j = 0; j < menuGroup.getItems().size(); j++) { - if(menuService.isItemEnabled(menuGroup.getItems().get(j))) { + for (int j = 0; j < menuGroup.getItems().size(); j++) { + if (menuService.isItemEnabled(menuGroup.getItems().get(j))) { enableMenuItems.add(menuGroup.getItems().get(j)); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index 30043550..9f558e1b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -171,10 +171,10 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme private void initRecyclerView() { mBindings.pickingLiberoMainList.setNestedScrollingEnabled(false); mBindings.pickingLiberoMainList.setHasFixedSize(true); - mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(getActivity())); + mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(requireActivity())); - SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL); - itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider)); + SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireActivity(), SimpleDividerItemDecoration.VERTICAL); + itemDecorator.setDrawable(ContextCompat.getDrawable(requireActivity(), R.drawable.divider)); mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator); } @@ -277,7 +277,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress); + UtilityExceptions.defaultException(getActivity(), ex); } BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java index e08796cc..075e8628 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java @@ -287,7 +287,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(this, ex, mCurrentProgress); + UtilityExceptions.defaultException(this, ex); } BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index 1aa73508..5e9c664c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -63,7 +63,7 @@ import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.Dialo import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView; -import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; +import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView; public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, RettificaGiacenzeViewModel.Listener, BottomSheetMtbColrEditView.Listener { @@ -341,7 +341,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(requireActivity(), ex, mCurrentProgress); + UtilityExceptions.defaultException(requireActivity(), ex); } } @@ -476,7 +476,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr @Override public void onLUPositionChangeRequest(RunnableArgss onComplete) { - DialogYesNo.make(getActivity(), "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { + new DialogYesNoView(requireActivity(), "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { switch (result) { case YES: DialogAskPositionOfLU.makeBase(getActivity(), false, (status, mtbDepoPosizione) -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 9be4a9cb..6d653b16 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -75,11 +75,11 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView; import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog; -import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso; +import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView; -import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; +import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView; public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener { @@ -722,9 +722,15 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss onComplete) { - DialogInputPeso.make(this, codTcol, netWeightKG, grossWeightKG, (newCodTcol, newNetWeight, newGrossWeight) -> { - onComplete.run(newCodTcol, netWeightKG, grossWeightKG); - }).show(); +// DialogInputPesoView.make(this, codTcol, netWeightKG, grossWeightKG, (newCodTcol, newNetWeight, newGrossWeight) -> { +// onComplete.run(newCodTcol, netWeightKG, grossWeightKG); +// }).show(); + + + new DialogInputPesoLuView(null, new BigDecimal(50), new BigDecimal(55), (newCodTcol, newNetWeight, newGrossWeight) -> { +// onComplete.run(newCodTcol, netWeightKG, grossWeightKG); + }) + .show(getSupportFragmentManager(), "tag"); } @Override @@ -856,7 +862,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onLUPositionChangeRequest(RunnableArgss onComplete) { - DialogYesNo.make(this, "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { + new DialogYesNoView(this, "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { switch (result) { case YES: DialogAskPositionOfLU.makeBase(this, false, (status, mtbDepoPosizione) -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipView.java b/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipView.java index 77ecb181..2ce2ba26 100644 --- a/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipView.java +++ b/app/src/main/java/it/integry/integrywmsnative/ui/filter_chips/FilterChipView.java @@ -29,13 +29,13 @@ public class FilterChipView extends Chip { this.defaultChipBackgroundColor = getChipBackgroundColor(); this.defaultChipTextColor = getTextColors(); - setShapeAppearanceModel( - getShapeAppearanceModel() - .withCornerSize(4) - .toBuilder() - .build()); - - setChipMinHeight(getChipMinHeight() * 1.25f); +// setShapeAppearanceModel( +// getShapeAppearanceModel() +// .withCornerSize(4) +// .toBuilder() +// .build()); +// +// setChipMinHeight(getChipMinHeight() * 1.25f); setOnCloseIconClickListener(v -> { if (onResetClicked != null) onResetClicked.run(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java index 810f8b24..be4fabb7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java @@ -1,18 +1,16 @@ package it.integry.integrywmsnative.view.dialogs; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; +import android.app.Dialog; import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.databinding.DataBindingUtil; import androidx.fragment.app.DialogFragment; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import javax.inject.Singleton; import it.integry.integrywmsnative.R; @@ -29,36 +27,51 @@ public class DialogProgressView extends DialogFragment { private boolean indeterminateProgress; public static DialogProgressView newInstance(String title, String subtitle, boolean indeterminate) { - return new DialogProgressView() - .setIndeterminateProgress(indeterminate) - .setTitle(title) - .setSubtitle(subtitle); + return new DialogProgressView(title, subtitle, indeterminate); } public static DialogProgressView newInstance() { return newInstance(null, null, true); } - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_progress, container, false); - - setCancelable(false); - getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireActivity().getString(R.string.loading) : title); - - mBindings.setSubtitle(subtitle); - mBindings.progressBar.setIndeterminate(isIndeterminateProgress()); - - if(!isIndeterminateProgress()){ - mBindings.progressBar.setMax(100); - } - - return mBindings.getRoot(); + public DialogProgressView(String title, String subtitle, boolean indeterminate) { + this.setTitle(title); + this.setSubtitle(subtitle); + this.setIndeterminateProgress(indeterminate); } + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogProgressBinding.inflate(LayoutInflater.from(requireContext())); + + mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireContext().getString(R.string.loading) : title); + if (!UtilityString.isNullOrEmpty(subtitle)) mBindings.setSubtitle(subtitle); + + mBindings.progressBar.setIndeterminate(isIndeterminateProgress()); + if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100); + + return new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .create(); + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSubtitle() { + return subtitle; + } + + public void setSubtitle(String subtitle) { + this.subtitle = subtitle; + } public boolean isIndeterminateProgress() { return indeterminateProgress; @@ -69,17 +82,6 @@ public class DialogProgressView extends DialogFragment { return this; } - - public DialogProgressView setTitle(String title) { - this.title = title; - return this; - } - - public DialogProgressView setSubtitle(String subtitle) { - this.subtitle = subtitle; - return this; - } - public void setProgress(int progress) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { mBindings.progressBar.setProgress(progress, true); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java deleted file mode 100644 index df570d41..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java +++ /dev/null @@ -1,135 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.input_peso_lu; - -import android.app.Dialog; -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; -import android.widget.ArrayAdapter; - -import androidx.databinding.DataBindingUtil; -import androidx.fragment.app.FragmentActivity; - -import com.annimon.stream.Optional; -import com.annimon.stream.Stream; - -import java.math.BigDecimal; -import java.util.List; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.di.BindableString; -import it.integry.integrywmsnative.core.expansion.RunnableArgsss; -import it.integry.integrywmsnative.core.model.MtbTCol; -import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; -import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityNumber; -import it.integry.integrywmsnative.core.utility.UtilityProgress; -import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding; -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; - -public class DialogInputPeso { - - - private final FragmentActivity mContext; - private final DialogInputPesoLuBinding mBindings; - private final DialogInputPesoViewModel mViewModel; - private final Dialog currentDialog; - - private List codTcolList = null; - private ArrayAdapter codTcolArrayAdapter = null; - - public static Dialog make(final FragmentActivity context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss onDialogDismiss) { - return new DialogInputPeso(context, codTcol, netWeight, grossWeight, onDialogDismiss).currentDialog; - } - - - private DialogInputPeso(final FragmentActivity context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss onDialogDismiss) { - this.mContext = context; - - - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_peso_lu, null, false); - - currentDialog = new Dialog(context); - currentDialog.setContentView(mBindings.getRoot()); - - currentDialog.setCanceledOnTouchOutside(false); - currentDialog.setCancelable(false); - currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - mViewModel = new DialogInputPesoViewModel(); - mViewModel.codTcol.set(codTcol); - mViewModel.netWeight.set(UtilityNumber.decimalToString(netWeight)); - mViewModel.grossWeight.set(UtilityNumber.decimalToString(grossWeight)); - - mBindings.setViewModel(mViewModel); - - mBindings.buttonConfirm.setOnClickListener(v -> { - currentDialog.dismiss(); - - String newCodTcol = null; - - if(mViewModel.codTcol.get() != null) { - Optional newCodTcolOptional = Stream.of(codTcolList) - .filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(mViewModel.codTcol.get())) - .findSingle(); - - if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol(); - } - - - BigDecimal netWeightDecimal = new BigDecimal(mViewModel.netWeight.get()); - BigDecimal grossWeightDecimal = new BigDecimal(mViewModel.grossWeight.get()); - - onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal); - }); - - - this.init(); - } - - - - - private void init() { - - final DialogProgressView progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - - MagazzinoRESTConsumer.getTipiColloStatic(codTcols -> { - this.codTcolList = codTcols; - - List codTcolDescriptions = Stream.of(codTcols) - .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) - .toList(); - - if(mViewModel.codTcol.get() != null) { - Optional newCodTcol = Stream.of(codTcols) - .filter(x -> x.getCodTcol().equalsIgnoreCase(mViewModel.codTcol.get())) - .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) - .findSingle(); - - if(newCodTcol.isPresent()) mViewModel.codTcol.set(newCodTcol.get()); - } - - codTcolArrayAdapter = new ArrayAdapter(mContext, R.layout.array_adapter_single_item); - codTcolArrayAdapter.addAll(codTcolDescriptions); - mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); - - progressDialog.dismiss(); - - }, ex -> { - UtilityExceptions.defaultException(mContext, ex, progressDialog); - }); - - } - - - public class DialogInputPesoViewModel { - public BindableString codTcol = new BindableString(); - public BindableString netWeight = new BindableString(); - public BindableString grossWeight = new BindableString(); - - } - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java new file mode 100644 index 00000000..c8128b6b --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java @@ -0,0 +1,114 @@ +package it.integry.integrywmsnative.view.dialogs.input_peso_lu; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.widget.ArrayAdapter; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +import com.annimon.stream.Optional; +import com.annimon.stream.Stream; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + +import java.math.BigDecimal; +import java.util.List; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.di.BindableString; +import it.integry.integrywmsnative.core.expansion.RunnableArgsss; +import it.integry.integrywmsnative.core.model.MtbTCol; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityNumber; +import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding; + +public class DialogInputPesoLuView extends DialogFragment { + + private DialogInputPesoLuBinding mBindings; + private RunnableArgsss onDialogDismiss; + + public BindableString codTcol = new BindableString(); + public BindableString netWeight = new BindableString(); + public BindableString grossWeight = new BindableString(); + + + private List codTcolList = null; + private ArrayAdapter codTcolArrayAdapter = null; + + + public DialogInputPesoLuView(String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss onDialogDismiss) { + this.onDialogDismiss = onDialogDismiss; + + this.codTcol.set(codTcol); + this.netWeight.set(UtilityNumber.decimalToString(netWeight)); + this.grossWeight.set(UtilityNumber.decimalToString(grossWeight)); + } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogInputPesoLuBinding.inflate(LayoutInflater.from(requireContext()), null, false); + mBindings.setView(this); + + this.init(); + + return new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .setPositiveButton(R.string.confirm, (dialog, which) -> { + String newCodTcol = null; + + if(codTcol.get() != null) { + Optional newCodTcolOptional = Stream.of(codTcolList) + .filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(codTcol.get())) + .findSingle(); + + if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol(); + } + + + BigDecimal netWeightDecimal = new BigDecimal(netWeight.get()); + BigDecimal grossWeightDecimal = new BigDecimal(grossWeight.get()); + + onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal); + }) + .create(); + } + + private void init() { + +// final DialogProgressView progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); + + MagazzinoRESTConsumer.getTipiColloStatic(codTcols -> { + this.codTcolList = codTcols; + + List codTcolDescriptions = Stream.of(codTcols) + .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) + .toList(); + + if(codTcol.get() != null) { + Optional newCodTcol = Stream.of(codTcols) + .filter(x -> x.getCodTcol().equalsIgnoreCase(codTcol.get())) + .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) + .findSingle(); + + if(newCodTcol.isPresent()) codTcol.set(newCodTcol.get()); + } + + codTcolArrayAdapter = new ArrayAdapter(requireContext(), R.layout.array_adapter_single_item); + codTcolArrayAdapter.addAll(codTcolDescriptions); + mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); + +// progressDialog.dismiss(); + + }, ex -> { + UtilityExceptions.defaultException(requireContext(), ex); + }); + + } + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java deleted file mode 100644 index 1692625b..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java +++ /dev/null @@ -1,52 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.yes_no; - -import android.app.Dialog; -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; - -import androidx.databinding.DataBindingUtil; -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.databinding.DialogYesNoBinding; -import it.integry.integrywmsnative.view.dialogs.DialogConsts; - -public class DialogYesNo { - - private Dialog currentDialog; - - public static Dialog make(final Context context, final String title, final String description, RunnableArgs onDialogDismiss) { - return new DialogYesNo(context, title, description, onDialogDismiss).currentDialog; - } - - private DialogYesNo(Context context, String title, String description, RunnableArgs onDialogDismiss) { - LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - DialogYesNoBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_yes_no, null, false); - - currentDialog = new Dialog(context); - - currentDialog.setContentView(bindings.getRoot()); - - currentDialog.setCancelable(false); - currentDialog.setCanceledOnTouchOutside(false); - currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - bindings.titleText.setText(title); - bindings.descriptionText.setText(description); - - bindings.buttonYes.setOnClickListener(v -> { - onDialogDismiss.run(DialogConsts.Results.YES); - currentDialog.dismiss(); - }); - - bindings.buttonNo.setOnClickListener(v -> { - onDialogDismiss.run(DialogConsts.Results.NO); - currentDialog.dismiss(); - }); - - - } - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java new file mode 100644 index 00000000..edf0ccf5 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java @@ -0,0 +1,68 @@ +package it.integry.integrywmsnative.view.dialogs.yes_no; + +import android.content.Context; +import android.view.LayoutInflater; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.databinding.DialogYesNoBinding; +import it.integry.integrywmsnative.view.dialogs.DialogConsts; + +public class DialogYesNoView extends MaterialAlertDialogBuilder { + + + + public DialogYesNoView(Context context, final String title, final String description, RunnableArgs onDialogDismiss) { + super(context); + + var binding = DialogYesNoBinding.inflate(LayoutInflater.from(context)); +// binding.setView(this); + + binding.executePendingBindings(); + +// this.qtaResidua.set(qtaResidua); + + this.setTitle(title); + this.setMessage(description); +// this.setView(binding.getRoot()); + + this.setPositiveButton("Ok", (dialog, which) -> { + if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.YES); + }); + + this.setNegativeButton("Annulla", (dialog, which) -> { + if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.NO); + }); + } + +// private DialogYesNo(Context context, String title, String description, RunnableArgs onDialogDismiss) { +// LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); +// DialogYesNoBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_yes_no, null, false); +// +// currentDialog = new Dialog(context); +// +// currentDialog.setContentView(bindings.getRoot()); +// +// currentDialog.setCancelable(false); +// currentDialog.setCanceledOnTouchOutside(false); +// currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); +// +// bindings.titleText.setText(title); +// bindings.descriptionText.setText(description); +// +// bindings.buttonYes.setOnClickListener(v -> { +// onDialogDismiss.run(DialogConsts.Results.YES); +// currentDialog.dismiss(); +// }); +// +// bindings.buttonNo.setOnClickListener(v -> { +// onDialogDismiss.run(DialogConsts.Results.NO); +// currentDialog.dismiss(); +// }); +// +// +// } + + +} diff --git a/app/src/main/res/layout/dialog_input_peso_lu.xml b/app/src/main/res/layout/dialog_input_peso_lu.xml index 9cde4db6..f95eabf4 100644 --- a/app/src/main/res/layout/dialog_input_peso_lu.xml +++ b/app/src/main/res/layout/dialog_input_peso_lu.xml @@ -1,188 +1,164 @@ - + + + + + + + name="view" + type="it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView" /> - - + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + - - - - - - - - + android:orientation="vertical"> + android:gravity="center_horizontal" + android:text="@string/action_insert_weight" /> - + + + + + + + + + + android:hint="@string/lu_type"> - - - - - - - - - + android:ellipsize="end" + android:imeOptions="actionNext" + android:inputType="textNoSuggestions" + android:nextFocusForward="@id/filled_exposed_dropdown_vettore" + android:singleLine="true" + app:binding="@{view.codTcol}" /> - + + + + + + + + + + + + android:hint="@string/gross_weight" + android:inputType="numberDecimal" + app:binding="@{view.grossWeight}" /> + - - - - - - - + android:hint="@string/net_weight" + android:inputType="numberDecimal" + app:binding="@{view.netWeight}" /> - + + - + - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/dialog_progress.xml b/app/src/main/res/layout/dialog_progress.xml index b9d76f88..325fc237 100644 --- a/app/src/main/res/layout/dialog_progress.xml +++ b/app/src/main/res/layout/dialog_progress.xml @@ -3,91 +3,60 @@ - - - - + - - - + + + + + + + + + + + android:orientation="vertical" + android:paddingLeft="24dp" + android:paddingTop="24dp" + android:paddingRight="24dp"> - + android:gravity="center_horizontal" + android:text="@{title}" + tools:text="Loading" /> + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_ordini_uscita.xml b/app/src/main/res/layout/fragment_main_ordini_uscita.xml index d341dd88..cd68b974 100644 --- a/app/src/main/res/layout/fragment_main_ordini_uscita.xml +++ b/app/src/main/res/layout/fragment_main_ordini_uscita.xml @@ -24,9 +24,10 @@ android:background="@android:color/white" tools:context=".gest.vendita.MainVenditaFragment"> - + android:layout_height="match_parent" + android:orientation="vertical"> + android:layout_height="match_parent"/> - + + style="?attr/floatingActionButtonPrimaryStyle" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml b/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml index d23a78a2..a5b55962 100644 --- a/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml +++ b/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml @@ -17,6 +17,7 @@ android:layout_height="wrap_content" android:paddingStart="2dp" android:paddingEnd="4dp" + android:paddingVertical="2dp" android:orientation="horizontal"> @@ -24,33 +25,29 @@ + android:layout_height="match_parent" /> - - + android:layout_alignParentEnd="true"> - + diff --git a/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml b/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml index 054d7c6e..2ee259a8 100644 --- a/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml +++ b/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml @@ -1,45 +1,32 @@ - - - - + android:enabled="false"/> - - - - - - diff --git a/app/src/main/res/layout/fragment_picking_libero.xml b/app/src/main/res/layout/fragment_picking_libero.xml index 1df81499..66b71f75 100644 --- a/app/src/main/res/layout/fragment_picking_libero.xml +++ b/app/src/main/res/layout/fragment_picking_libero.xml @@ -1,26 +1,23 @@ - + xmlns:fab="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + - - - + - - - - - - - + android:paddingEnd="2dp" + tools:itemCount="3" + tools:listitem="@layout/lista_picking_libero_list_model" /> + app:layout_constraintGuide_percent="0.35" /> + app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right" + app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top" + app:visibility="@{view.thereIsntAnOpenedUL}"> + android:gravity="center_horizontal" + android:text="@string/free_picking_suggestion_1" + android:textColor="@android:color/black" + android:textSize="18sp" /> + app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right" + app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top" + app:visibility="@{view.thereIsAnOpenULWithoutRows}"> + android:gravity="center_horizontal" + android:text="@string/free_picking_suggestion_2" + android:textColor="@android:color/black" + android:textSize="18sp" /> - - - - + style="?attr/floatingActionButtonPrimaryStyle" /> - - - + style="?attr/floatingActionButtonSecondaryStyle" /> + + + + + + + + + + + + + + + + + + android:focusable="true" + android:visibility="gone" /> + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f896ab54..c654f14d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,118 +1,62 @@ - + - #1A73E8 - #0049b4 - #4db6ac - #459B90 - #387ef5 - #3f3f51b5 - #757575 - - @color/green_500 - @color/orange_700 - #eeeeee - - - #B2000000 - #FFFFFF - #fafafa - #88BCBCBC - #f1f1f1 - #808080 - - - #bdbdbd - #f5f5f5 - - - - #E8F0FE - #C9D5F0 - - - - #1A1A73E8 - #331A73E8 - #4D1A73E8 - #661A73E8 - #801A73E8 - #991A73E8 - #B31A73E8 - #CC1A73E8 - #E61A73E8 - - - #2d42a5f5 - - #BBDEFB - #64B5F6 - #42A5F5 - #2196F3 - #1E88E5 - #1976D2 - #1565C0 - - #795548 - - #C8E6C9 - #A5D6A7 - #81c784 - #66bb6a - #884CAF50 - #4CAF50 - #43A047 - #388E3C - #2e7d32 - #1b5e20 - - - #FAFAFA - #F5F5F5 - #eeeeee - #e0e0e0 - #BDBDBD - #9E9E9E - #757575 - #616161 - #424242 - - #813f51b5 - - #5C6BC0 - #3F51B5 - #3949AB - #303F9F - - - - #B3E5FC - #81D4FA - #4fc3f7 - #29B6F6 - #03A9F4 - #039BE5 - #0288D1 - #0277BD - - - #88FB8C00 - #FB8C00 - #F57C00 - #EF6C00 - - - #ef9a9a - #e57373 - #EF5350 - #F44336 - #E53935 - #D32F2F - - - #009688 - - #FFF9C4 - #FDD835 - #F9A825 - + #4c4dcf + #4C4DCF + #FFFFFF + #E1DFFF + #08006C + #0059C5 + #FFFFFF + #D8E2FF + #001A43 + #795369 + #FFFFFF + #FFD8EC + #2E1125 + #BA1A1A + #FFDAD6 + #FFFFFF + #410002 + #F6FEFF + #001F24 + #F6FEFF + #001F24 + #E4E1EC + #47464F + #777680 + #D0F8FF + #00363D + #C1C1FF + #000000 + #4C4DCF + #4C4DCF + #C1C1FF + #160AA2 + #3231B6 + #E1DFFF + #AEC6FF + #002E6C + #004397 + #D8E2FF + #E9B9D3 + #46263A + #5F3C51 + #FFD8EC + #FFB4AB + #93000A + #690005 + #FFDAD6 + #001F24 + #97F0FF + #001F24 + #97F0FF + #47464F + #C8C5D0 + #918F9A + #001F24 + #97F0FF + #4C4DCF + #000000 + #C1C1FF + #C1C1FF diff --git a/app/src/main/res/values/custom_colors.xml b/app/src/main/res/values/custom_colors.xml new file mode 100644 index 00000000..f896ab54 --- /dev/null +++ b/app/src/main/res/values/custom_colors.xml @@ -0,0 +1,118 @@ + + + #1A73E8 + #0049b4 + #4db6ac + #459B90 + #387ef5 + #3f3f51b5 + #757575 + + @color/green_500 + @color/orange_700 + #eeeeee + + + #B2000000 + #FFFFFF + #fafafa + #88BCBCBC + #f1f1f1 + #808080 + + + #bdbdbd + #f5f5f5 + + + + #E8F0FE + #C9D5F0 + + + + #1A1A73E8 + #331A73E8 + #4D1A73E8 + #661A73E8 + #801A73E8 + #991A73E8 + #B31A73E8 + #CC1A73E8 + #E61A73E8 + + + #2d42a5f5 + + #BBDEFB + #64B5F6 + #42A5F5 + #2196F3 + #1E88E5 + #1976D2 + #1565C0 + + #795548 + + #C8E6C9 + #A5D6A7 + #81c784 + #66bb6a + #884CAF50 + #4CAF50 + #43A047 + #388E3C + #2e7d32 + #1b5e20 + + + #FAFAFA + #F5F5F5 + #eeeeee + #e0e0e0 + #BDBDBD + #9E9E9E + #757575 + #616161 + #424242 + + #813f51b5 + + #5C6BC0 + #3F51B5 + #3949AB + #303F9F + + + + #B3E5FC + #81D4FA + #4fc3f7 + #29B6F6 + #03A9F4 + #039BE5 + #0288D1 + #0277BD + + + #88FB8C00 + #FB8C00 + #F57C00 + #EF6C00 + + + #ef9a9a + #e57373 + #EF5350 + #F44336 + #E53935 + #D32F2F + + + #009688 + + #FFF9C4 + #FDD835 + #F9A825 + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3191c452..fa26836b 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,23 +1,23 @@ - + - - - - diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 00000000..99866d1a --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,31 @@ + + + + From f4f7f4a6f0c2189a7a6ba65a6e83506a502d2fdb Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 1 Sep 2022 15:54:55 +0200 Subject: [PATCH 2/5] Refactoring DialogScanOrCreateLU --- .../input_peso_lu/DialogInputPesoLuView.java | 4 +- .../DialogScanOrCreateLUView.java | 55 ++-- .../main/res/layout/dialog_input_peso_lu.xml | 21 +- .../res/layout/dialog_scan_or_create_lu.xml | 272 +++++++----------- 4 files changed, 141 insertions(+), 211 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java index c8128b6b..a2db677a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java @@ -55,7 +55,7 @@ public class DialogInputPesoLuView extends DialogFragment { this.init(); - return new MaterialAlertDialogBuilder(requireContext()) + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) .setView(mBindings.getRoot()) .setCancelable(false) .setPositiveButton(R.string.confirm, (dialog, which) -> { @@ -76,6 +76,8 @@ public class DialogInputPesoLuView extends DialogFragment { onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal); }) .create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; } private void init() { 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 f43c3fa1..8543f604 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 @@ -2,17 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu; import android.app.Dialog; import android.content.DialogInterface; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.text.SpannableString; import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.databinding.DataBindingUtil; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.jetbrains.annotations.NotNull; @@ -40,12 +37,12 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial private DialogScanOrCreateLuBinding mBindings; private int mBarcodeScannerIstanceID; - private RunnableArgss mOnComplete; + private final RunnableArgss mOnComplete; private MtbColt openedMtbColt; - private boolean mShouldCheckResiduo; - private boolean mShouldCheckIfExistDoc; - private boolean mEnableCreation; + private final boolean mShouldCheckResiduo; + private final boolean mShouldCheckIfExistDoc; + private final boolean mEnableCreation; private final BindableBoolean basketEnabled = new BindableBoolean(); private final BindableBoolean creationEnabled = new BindableBoolean(); @@ -73,22 +70,21 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial mEnableCreation = enableCreation; mOnComplete = onComplete; - } - - - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - this.initBarcode(); - - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_or_create_lu, container, false); - mBindings.setLifecycleOwner(this); - mBindings.setView(this); MainApplication.appComponent .dialogScanOrCreateLUComponent() .create() .inject(this); + } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + this.initBarcode(); + + mBindings = DialogScanOrCreateLuBinding.inflate(LayoutInflater.from(requireContext()), null, false); + mBindings.setLifecycleOwner(this); + mBindings.setView(this); this.mViewModel .setListener(this); @@ -97,6 +93,7 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation); mBindings.createNewLuButton.setOnClickListener(v -> { + dismiss(); this.mViewModel.createNewLU(); }); @@ -106,18 +103,12 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial }).show(); }); - return mBindings.getRoot(); - } - - @NonNull - @Override - public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { - var dialog = super.onCreateDialog(savedInstanceState); - - dialog.setCanceledOnTouchOutside(false); - dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - return dialog; + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; } @Override diff --git a/app/src/main/res/layout/dialog_input_peso_lu.xml b/app/src/main/res/layout/dialog_input_peso_lu.xml index f95eabf4..ab314172 100644 --- a/app/src/main/res/layout/dialog_input_peso_lu.xml +++ b/app/src/main/res/layout/dialog_input_peso_lu.xml @@ -47,28 +47,21 @@ app:tint="?colorPrimary" /> - - - - - + android:gravity="center_horizontal" + android:text="@string/action_insert_weight" /> + android:layout_marginTop="16dp" + android:text="@string/dialog_input_peso_lu_description" /> - + - + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + + android:gravity="center_horizontal" + android:text="@string/title_open_lu" /> - + + - + + - - + android:layout_gravity="center_vertical" + android:layout_marginStart="4dp" + android:layout_marginEnd="12dp" + android:gravity="center_horizontal" + android:text="Scansiona il codice a barre di una UL" /> + - + + + + + + + + + + + + + + + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + android:gravity="center_horizontal" + app:visibility="@{view.basketEnabled}"> - - + android:layout_gravity="center_horizontal" + android:layout_marginVertical="12dp" + android:gravity="center_horizontal" + android:text="OPPURE" + android:textStyle="bold" /> - - - - - - - - - - - - - - - - - - + android:text="@string/button_view_basket_ul" + app:icon="@drawable/ic_black_shopping_cart" + app:iconSize="24dp" /> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file From f68691df6b200a7b7405a531d03d7f61182136c5 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 1 Sep 2022 16:21:48 +0200 Subject: [PATCH 3/5] 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 @@ From 16a565fc5129b7243a0f8e4ca59b366b89d6abc2 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 2 Sep 2022 13:04:08 +0200 Subject: [PATCH 4/5] Layout filters and other dialogs --- .../RettificaGiacenzeFragment.java | 6 +- .../gest/spedizione/SpedizioneActivity.java | 4 +- .../dialogs/base/DialogSimpleMessageView.java | 92 ++-- ...gBasketLU.java => DialogBasketLUView.java} | 4 +- .../DialogScanOrCreateLUView.java | 4 +- .../view/dialogs/yes_no/DialogYesNoView.java | 99 +++-- app/src/main/res/layout/dialog_base.xml | 407 +++++++++--------- app/src/main/res/layout/dialog_yes_no.xml | 109 ++--- .../res/layout/layout_filter_gruppo_merc.xml | 10 +- .../layout_filter_gruppo_merc__list_item.xml | 22 +- .../layout/layout_filter_numero_ordine.xml | 13 +- ...layout_filter_numero_ordine__list_item.xml | 40 +- app/src/main/res/values/buttons_style.xml | 2 +- 13 files changed, 373 insertions(+), 439 deletions(-) rename app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/{DialogBasketLU.java => DialogBasketLUView.java} (95%) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index 5e9c664c..60cb2914 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -471,12 +471,12 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr null, R.string.button_ignore_print, onComplete) - .show(getActivity().getSupportFragmentManager(), "tag"); + .show(requireActivity().getSupportFragmentManager(), "tag"); } @Override public void onLUPositionChangeRequest(RunnableArgss onComplete) { - new DialogYesNoView(requireActivity(), "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { + new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> { switch (result) { case YES: DialogAskPositionOfLU.makeBase(getActivity(), false, (status, mtbDepoPosizione) -> { @@ -496,7 +496,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr onComplete.run(false, null); break; } - }).show(); + }).show(requireActivity().getSupportFragmentManager(), "tag"); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 6d653b16..afc3a99c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -862,7 +862,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onLUPositionChangeRequest(RunnableArgss onComplete) { - new DialogYesNoView(this, "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { + new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> { switch (result) { case YES: DialogAskPositionOfLU.makeBase(this, false, (status, mtbDepoPosizione) -> { @@ -878,7 +878,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo onComplete.run(false, null); break; } - }).show(); + }).show(getSupportFragmentManager(), "tag"); } public void askShouldPrintPackingList(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs onComplete) { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java index 9a0b1dac..e33913e2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java @@ -1,15 +1,12 @@ package it.integry.integrywmsnative.view.dialogs.base; -import android.content.Context; +import android.app.Dialog; import android.content.res.ColorStateList; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Spanned; import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TextView; @@ -19,7 +16,8 @@ import androidx.annotation.StringRes; import androidx.appcompat.widget.LinearLayoutCompat; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; -import androidx.databinding.DataBindingUtil; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import java.util.HashMap; @@ -66,7 +64,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment { private final HashMap mHashmapContent; private final Runnable mOnPositiveClick; private final Runnable mOnNegativeClick; - private final @StringRes Integer mRNeutralButtonString; + private final @StringRes + Integer mRNeutralButtonString; private final Runnable mOnNeutralClick; @@ -76,13 +75,12 @@ public class DialogSimpleMessageView extends BaseDialogFragment { private DialogBaseBinding mBindings; - private Context mContext; - public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { + public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { return new DialogSimpleMessageView(type, titleText, messageText, hashmapContent, onPositiveClick, onNegativeClick, rNeutralButtonString, onNeutralClick); } - private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { + private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { super(); this.mType = type; @@ -99,57 +97,79 @@ public class DialogSimpleMessageView extends BaseDialogFragment { public void onStart() { super.onStart(); - UtilityDialog.setTo90PercentWidth(this.mContext, this); + UtilityDialog.setTo90PercentWidth(this.requireContext(), this); } - @Nullable + @NonNull @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - this.mContext = getActivity(); - - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false); + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogBaseBinding.inflate(LayoutInflater.from(requireContext()), null, false); mBindings.setView(this); mBindings.setLifecycleOwner(this); - getDialog().setCanceledOnTouchOutside(false); - getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + this.initContent(); + var alertDialogBuilder = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false); + + if (isPositiveVisible()) + alertDialogBuilder.setPositiveButton(getPositiveButtonText(), (dialog, which) -> { + this.mOnPositiveClick.run(); + }); + + if (isNeutralVisible()) + alertDialogBuilder.setNeutralButton(getNeutralButtonText(), (dialog, which) -> { + this.mOnNeutralClick.run(); + }); + + if (isNegativeVisible()) + alertDialogBuilder.setNegativeButton(getNegativeButtonText(), (dialog, which) -> { + this.mOnNegativeClick.run(); + }); + + var alertDialog = alertDialogBuilder.create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; + } + + private void initContent() { int colorBackgroundTitle = -1; Drawable titleIconRes = null; switch (mType) { case INFO: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.light_blue_300); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_info_78dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.colorPrimary); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_info_78dp, null); break; case SUCCESS: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_done_white_24dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.green_300); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_done_white_24dp, null); break; case WARNING: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_warning_white_24dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_warning_white_24dp, null); break; case ERROR: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_mood_bad_24dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.red_300); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_mood_bad_24dp, null); break; } - this.positiveButtonText = mContext.getText(R.string.ok).toString(); - this.negativeButtonText = mContext.getText(R.string.no).toString(); + this.positiveButtonText = requireContext().getText(R.string.ok).toString(); + this.negativeButtonText = requireContext().getText(R.string.no).toString(); //Title VIEW mBindings.titleText.setText(mTitleText); - ColorStateList colorStateList = ColorStateList.valueOf(Color.WHITE); + ColorStateList colorStateList = ColorStateList.valueOf(colorBackgroundTitle); mBindings.titleIcon.setImageTintList(colorStateList); mBindings.titleIcon.setImageDrawable(titleIconRes); - mBindings.titleContainer.setBackgroundColor(colorBackgroundTitle); +// mBindings.titleContainer.setBackgroundColor(colorBackgroundTitle); //Content View mBindings.descriptionText.setText(mMessageText); @@ -161,15 +181,15 @@ public class DialogSimpleMessageView extends BaseDialogFragment { String currentKey = mHashmapContent.keySet().toArray()[i].toString(); String currentValue = mHashmapContent.get(currentKey); - RelativeLayout singleMapContent = (RelativeLayout) inflater.inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer); + RelativeLayout singleMapContent = (RelativeLayout) LayoutInflater.from(requireContext()).inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer); ((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_key)).setText(currentKey); ((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_value)).setText(currentValue); hashMapContainer.addView(singleMapContent); } + } else { + hashMapContainer.setVisibility(View.GONE); } - - return mBindings.getRoot(); } @@ -191,7 +211,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment { } public String getNeutralButtonText() { - return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? mContext.getText(mRNeutralButtonString).toString() : null; + return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? requireContext().getText(mRNeutralButtonString).toString() : null; } public String getNegativeButtonText() { @@ -200,17 +220,17 @@ public class DialogSimpleMessageView extends BaseDialogFragment { public void onPositiveClick() { dismiss(); - if(mOnPositiveClick != null) mOnPositiveClick.run(); + if (mOnPositiveClick != null) mOnPositiveClick.run(); } public void onNeutralClick() { dismiss(); - if(mOnNeutralClick != null) mOnNeutralClick.run(); + if (mOnNeutralClick != null) mOnNeutralClick.run(); } public void onNegativeClick() { dismiss(); - if(mOnNegativeClick != null) mOnNegativeClick.run(); + if (mOnNegativeClick != null) mOnNegativeClick.run(); } public static DialogSimpleMessageView makeInfoDialog(String titleText, Spanned messageText, HashMap hashmapContent, Runnable onPositiveClick) { 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/DialogBasketLUView.java similarity index 95% rename from app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java rename to app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLUView.java index 78130fbf..389db303 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/DialogBasketLUView.java @@ -22,14 +22,14 @@ 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 extends BaseDialogFragment { +public class DialogBasketLUView extends BaseDialogFragment { private final RunnableArgs mOnComplete; private DialogBasketLuBinding mBindings; - public DialogBasketLU(RunnableArgs onComplete) { + public DialogBasketLUView(RunnableArgs onComplete) { mOnComplete = onComplete; } 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 5cfccd05..a55dce7d 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 @@ -27,7 +27,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.databinding.DialogScanOrCreateLuBinding; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; -import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLU; +import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLUView; public class DialogScanOrCreateLUView extends BaseDialogFragment implements DialogScanOrCreateLUViewModel.Listener { @@ -98,7 +98,7 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial }); mBindings.viewBasket.setOnClickListener(v -> { - new DialogBasketLU(mtbColt -> { + new DialogBasketLUView(mtbColt -> { onLUOpened(mtbColt, false); }).show(requireActivity().getSupportFragmentManager(), "tag"); }); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java index edf0ccf5..40d63adc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java @@ -1,68 +1,67 @@ package it.integry.integrywmsnative.view.dialogs.yes_no; -import android.content.Context; +import android.app.Dialog; +import android.os.Bundle; import android.view.LayoutInflater; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.DialogYesNoBinding; import it.integry.integrywmsnative.view.dialogs.DialogConsts; -public class DialogYesNoView extends MaterialAlertDialogBuilder { +public class DialogYesNoView extends DialogFragment { + private final String title; + private final String description; + private final RunnableArgs onDialogDismiss; + public DialogYesNoView(final String title, final String description, RunnableArgs onDialogDismiss) { + super(); - public DialogYesNoView(Context context, final String title, final String description, RunnableArgs onDialogDismiss) { - super(context); - - var binding = DialogYesNoBinding.inflate(LayoutInflater.from(context)); -// binding.setView(this); - - binding.executePendingBindings(); - -// this.qtaResidua.set(qtaResidua); - - this.setTitle(title); - this.setMessage(description); -// this.setView(binding.getRoot()); - - this.setPositiveButton("Ok", (dialog, which) -> { - if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.YES); - }); - - this.setNegativeButton("Annulla", (dialog, which) -> { - if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.NO); - }); + this.title = title; + this.description = description; + this.onDialogDismiss = onDialogDismiss; } -// private DialogYesNo(Context context, String title, String description, RunnableArgs onDialogDismiss) { -// LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); -// DialogYesNoBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_yes_no, null, false); -// -// currentDialog = new Dialog(context); -// -// currentDialog.setContentView(bindings.getRoot()); -// -// currentDialog.setCancelable(false); -// currentDialog.setCanceledOnTouchOutside(false); -// currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); -// -// bindings.titleText.setText(title); -// bindings.descriptionText.setText(description); -// -// bindings.buttonYes.setOnClickListener(v -> { -// onDialogDismiss.run(DialogConsts.Results.YES); -// currentDialog.dismiss(); -// }); -// -// bindings.buttonNo.setOnClickListener(v -> { -// onDialogDismiss.run(DialogConsts.Results.NO); -// currentDialog.dismiss(); -// }); -// -// -// } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + var binding = DialogYesNoBinding.inflate(LayoutInflater.from(requireContext())); + binding.executePendingBindings(); + + if(UtilityString.isNullOrEmpty(title)) { + binding.titleText.setVisibility(View.GONE); + binding.descriptionText.setTextAppearance(requireContext(), R.style.TextAppearance_Material3_BodyLarge); + } else { + binding.titleText.setText(title); + binding.titleText.setVisibility(View.VISIBLE); + binding.descriptionText.setTextAppearance(requireContext(), R.style.TextAppearance_Material3_BodyMedium); + } + + binding.descriptionText.setText(description); + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(binding.getRoot()) + .setCancelable(false) + .setPositiveButton("Ok", (dialog, which) -> { + if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.YES); + }) + .setNegativeButton("Annulla", (dialog, which) -> { + if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.NO); + }) + .create(); + + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; + } } diff --git a/app/src/main/res/layout/dialog_base.xml b/app/src/main/res/layout/dialog_base.xml index 2090dcdb..2525d373 100644 --- a/app/src/main/res/layout/dialog_base.xml +++ b/app/src/main/res/layout/dialog_base.xml @@ -17,262 +17,243 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" - android:orientation="vertical" app:cardCornerRadius="12dp" app:cardElevation="0dp"> + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + + android:gravity="center_horizontal" + tools:text="Title here" /> - - - + - - - - + android:paddingHorizontal="12dp" /> - + + + + + + + + + + + + - + + + + + + + + + + + + - - - + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + + + - + + + + + + + + + + + + + + - + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + - - - - - - - - - - + diff --git a/app/src/main/res/layout/dialog_yes_no.xml b/app/src/main/res/layout/dialog_yes_no.xml index 745284ae..bef4c0de 100644 --- a/app/src/main/res/layout/dialog_yes_no.xml +++ b/app/src/main/res/layout/dialog_yes_no.xml @@ -8,101 +8,42 @@ app:cardCornerRadius="12dp" app:cardElevation="0dp"> - + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + - - - - + android:gravity="center_horizontal" + android:layout_marginBottom="16dp" + android:text="Title here" /> - - - - - - + android:gravity="center_horizontal" + android:text="Description here" /> - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/layout_filter_gruppo_merc.xml b/app/src/main/res/layout/layout_filter_gruppo_merc.xml index 398fd1e8..41b4ae11 100644 --- a/app/src/main/res/layout/layout_filter_gruppo_merc.xml +++ b/app/src/main/res/layout/layout_filter_gruppo_merc.xml @@ -91,20 +91,20 @@ android:orientation="vertical" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHeight_max="300dp" + app:layout_constraintHeight_max="280dp" app:layout_constraintHeight_min="200dp" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + tools:listitem="@layout/layout_filter_gruppo_merc__list_item" /> diff --git a/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml b/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml index 5681fe31..2526b9fa 100644 --- a/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml +++ b/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml @@ -16,21 +16,21 @@ + android:onClick="@{() -> item.selected.toggle()}" + android:orientation="horizontal" + android:gravity="center_vertical" + android:paddingHorizontal="8dp"> - + app:checked="@{item.selected}" /> + android:layout_marginEnd="16dp"> + app:layout_constraintTop_toTopOf="parent" + tools:listitem="@layout/layout_filter_numero_ordine__list_item" /> diff --git a/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml b/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml index 20962c9a..fbe25115 100644 --- a/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml +++ b/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml @@ -5,7 +5,9 @@ xmlns:tools="http://schemas.android.com/tools"> + + + android:onClick="@{() -> item.selected.toggle()}" + android:orientation="horizontal" + android:gravity="center_vertical" + android:paddingHorizontal="8dp"> - + app:checked="@{item.selected}" /> - + android:text="@{item.originalModel.toString()}" + tools:text="01" /> - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/buttons_style.xml b/app/src/main/res/values/buttons_style.xml index 32a7b14e..894166d2 100644 --- a/app/src/main/res/values/buttons_style.xml +++ b/app/src/main/res/values/buttons_style.xml @@ -33,7 +33,7 @@ @color/red_400 -