From d2bb51076c1733f4bb5fed6c17d30e1c25e9d295 Mon Sep 17 00:00:00 2001 From: "[vinald]" Date: Tue, 24 Feb 2026 14:37:18 +0300 Subject: [PATCH 1/3] move the pop-up to the buttom of the screen --- .../visit/dialog/DosingOutOfWindowDialog.kt | 21 ++- .../layout/dialog_dosing_out_of_window.xml | 151 +++++++++--------- app/src/test/resources/configuration.json | 2 +- 3 files changed, 99 insertions(+), 75 deletions(-) diff --git a/app/src/main/java/com/jnj/vaccinetracker/visit/dialog/DosingOutOfWindowDialog.kt b/app/src/main/java/com/jnj/vaccinetracker/visit/dialog/DosingOutOfWindowDialog.kt index e066e898e..6df15eda2 100644 --- a/app/src/main/java/com/jnj/vaccinetracker/visit/dialog/DosingOutOfWindowDialog.kt +++ b/app/src/main/java/com/jnj/vaccinetracker/visit/dialog/DosingOutOfWindowDialog.kt @@ -4,17 +4,20 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.FrameLayout import androidx.databinding.DataBindingUtil +import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.android.material.bottomsheet.BottomSheetDialog +import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.jnj.vaccinetracker.R import com.jnj.vaccinetracker.common.helpers.findParent -import com.jnj.vaccinetracker.common.ui.BaseDialogFragment import com.jnj.vaccinetracker.databinding.DialogDosingOutOfWindowBinding /** * @author maartenvangiel * @version 1 */ -class DosingOutOfWindowDialog : BaseDialogFragment() { +class DosingOutOfWindowDialog : BottomSheetDialogFragment() { private lateinit var binding: DialogDosingOutOfWindowBinding @@ -47,6 +50,20 @@ class DosingOutOfWindowDialog : BaseDialogFragment() { return binding.root } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + // Expand the bottom sheet fully so content is not cut off in landscape + dialog?.setOnShowListener { dialogInterface -> + val bottomSheetDialog = dialogInterface as? BottomSheetDialog + val bottomSheet = bottomSheetDialog?.findViewById(com.google.android.material.R.id.design_bottom_sheet) + bottomSheet?.let { + val behavior = BottomSheetBehavior.from(it) + behavior.state = BottomSheetBehavior.STATE_EXPANDED + behavior.skipCollapsed = true + } + } + } + interface DosingOutOfWindowDialogListener { fun onOutOfWindowDosingCanceled() } diff --git a/app/src/main/res/layout/dialog_dosing_out_of_window.xml b/app/src/main/res/layout/dialog_dosing_out_of_window.xml index 4ad64a48b..586e24fc9 100644 --- a/app/src/main/res/layout/dialog_dosing_out_of_window.xml +++ b/app/src/main/res/layout/dialog_dosing_out_of_window.xml @@ -2,85 +2,92 @@ - + android:fillViewport="true"> - - - + android:padding="16dp"> - + -