diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java index 5662913b..77194fa8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java @@ -6,9 +6,11 @@ import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; import android.text.SpannableString; +import android.view.Gravity; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.PopupMenu; import androidx.databinding.ObservableArrayList; import androidx.preference.PreferenceManager; @@ -98,6 +100,10 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac private List testataBolle; private List sitArts; + + private PopupMenu fabPopupMenu; + + //Pass here all external parameters public static void startActivity(Context context, List testataBolle, List sitArts) { Intent myIntent = new Intent(context, AccettazioneBollaPickingActivity.class); @@ -121,7 +127,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac mBindings = ActivityAccettazioneBollaPickingBinding.inflate(getLayoutInflater()); mBindings.setLifecycleOwner(this); - mBindings.setAccettazioneView(this); + mBindings.setView(this); setContentView(mBindings.getRoot()); @@ -145,6 +151,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac this.initBarcodeReader(); this.initRecyclerView(); // this.initFilters(); + this.initFab(); boolean useQtaBolla = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd(); @@ -204,6 +211,35 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac }); } + + + private void initFab() { + fabPopupMenu = new PopupMenu(this, this.mBindings.accettazioneOrdineInevasoFab, + (Gravity.END | Gravity.BOTTOM), + androidx.appcompat.R.attr.popupMenuStyle, + com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu); + + fabPopupMenu.setForceShowIcon(true); + fabPopupMenu.getMenuInflater().inflate(R.menu.accettazione_ordine_inevaso_fab_menu, fabPopupMenu.getMenu()); + + fabPopupMenu.setOnMenuItemClickListener(item -> { + int itemId = item.getItemId(); + + if (itemId == R.id.show_created_ul) { + showCreatedUL(); + } else if (itemId == R.id.create_ul) { + createNewLU(); + } + + return false; + }); + } + + + public void showFabMenu() { + fabPopupMenu.show(); + } + private void refreshList() { runOnUiThread(() -> { @@ -315,15 +351,13 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac }; public void createNewLU() { - this.mBindings.accettazioneOrdineInevasoFab.close(true); + this.fabPopupMenu.dismiss(); this.onLoadingStarted(); - this.mViewModel.createNewLU(null, null, false, this::onLoadingEnded); } public void showCreatedUL() { - this.mBindings.accettazioneOrdineInevasoFab.close(true); - + this.fabPopupMenu.dismiss(); this.mViewModel.retrieveExistentLU(this::startListaBancaliRegistratiActivity); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java index cd31e96e..c051a2b8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordini_picking/AccettazioneOrdiniPickingActivity.java @@ -177,29 +177,6 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A return false; }); - -// if (fabPopupMenu.getMenu() instanceof MenuBuilder) { -// var menuBuilder = (MenuBuilder) fabPopupMenu.getMenu(); -// menuBuilder.setOptionalIconsVisible(true); -// for (var item : menuBuilder.getVisibleItems()) { -// var iconMarginPx = -// TypedValue.applyDimension( -// TypedValue.COMPLEX_UNIT_DIP, ICON_MARGIN.toFloat(), resources.displayMetrics) -// .toInt(); -// if (item.icon != null) { -// if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) { -// item.icon = InsetDrawable(item.icon, iconMarginPx, 0, iconMarginPx,0) -// } else { -// item.icon = -// object : InsetDrawable(item.icon, iconMarginPx, 0, iconMarginPx, 0) { -// override fun getIntrinsicWidth(): Int { -// return intrinsicHeight + iconMarginPx + iconMarginPx -// } -// } -// } -// } -// } -// } } private void initFilters() { @@ -743,7 +720,6 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A public void showCreatedUL() { this.fabPopupMenu.dismiss(); - this.mViewModel.retrieveExistentLU(this::startListaBancaliRegistratiActivity); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index 3629a989..2b4a7cc9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -41,7 +41,6 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbUntMis; -import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -178,7 +177,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia .setSuggestPartitaMagRunnable(mDialogInputQuantityV2DTO.getSuggestPartitaMag()) .setDataScad(mDialogInputQuantityV2DTO.getDataScad()) .setDisableTracciabilitaCheck(mDialogInputQuantityV2DTO.isDisableTracciabilitaCheck()) - .setStatoArt(mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt()); + .setStatoArt(mDialogInputQuantityV2DTO.getStatoPartitaMag() != null ? mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt() : null); mBindings.setView(this); mBindings.setViewmodel(this.mViewModel); @@ -216,7 +215,6 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia } private void initProductLotStatusNotification() { - //StatoPartitaMag statoPartitaMag = StatoPartitaMag.from(this.mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt()); if (this.mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt() == null) return; diff --git a/app/src/main/res/layout/activity_accettazione_bolla_picking.xml b/app/src/main/res/layout/activity_accettazione_bolla_picking.xml index ac62ef94..e28c7928 100644 --- a/app/src/main/res/layout/activity_accettazione_bolla_picking.xml +++ b/app/src/main/res/layout/activity_accettazione_bolla_picking.xml @@ -10,7 +10,7 @@ @@ -84,7 +84,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:alpha="0.3" - app:visibility="@{accettazioneView.noItemsToPick}"> + app:visibility="@{view.noItemsToPick}"> - - - - - - - + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom|end" + android:layout_margin="16dp" + android:onClick="@{() -> view.showFabMenu()}" + app:srcCompat="@drawable/ic_add_24dp" + app:visibility="@{view.noLUPresent}" + style="?attr/floatingActionButtonPrimaryStyle" /> @@ -214,7 +164,7 @@ app:behavior_hideable="false" app:behavior_peekHeight="66dp" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" - app:visibility="@{accettazioneView.bottomSheetEnabled}" + app:visibility="@{view.bottomSheetEnabled}" app:parentView="@id/bottom_sheet_lu_content" /> diff --git a/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml b/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml index ad1a586b..4967d2d2 100644 --- a/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml +++ b/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml @@ -142,67 +142,6 @@ app:visibility="@{view.noLUPresent}" style="?attr/floatingActionButtonPrimaryStyle" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -