Layout filters and other dialogs

This commit is contained in:
2022-09-02 13:04:08 +02:00
parent f68691df6b
commit 16a565fc51
13 changed files with 373 additions and 439 deletions

View File

@@ -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<Boolean, MtbDepoPosizione> 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

View File

@@ -862,7 +862,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override
public void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> 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<PrintOrderCloseDTO> onComplete) {

View File

@@ -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<String, String> 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<String, String> hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> 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<String, String> hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> 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<String, String> hashmapContent, Runnable onPositiveClick) {

View File

@@ -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<MtbColt> mOnComplete;
private DialogBasketLuBinding mBindings;
public DialogBasketLU(RunnableArgs<MtbColt> onComplete) {
public DialogBasketLUView(RunnableArgs<MtbColt> onComplete) {
mOnComplete = onComplete;
}

View File

@@ -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");
});

View File

@@ -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<DialogConsts.Results> onDialogDismiss;
public DialogYesNoView(final String title, final String description, RunnableArgs<DialogConsts.Results> onDialogDismiss) {
super();
public DialogYesNoView(Context context, final String title, final String description, RunnableArgs<DialogConsts.Results> 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<DialogConsts.Results> 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;
}
}