From e920a7ce340cee123cb76d4e9839f41cb029c3fc Mon Sep 17 00:00:00 2001 From: Rinat Nurmukhametov Date: Thu, 30 Sep 2021 10:41:52 +0300 Subject: [PATCH 1/2] add top padding to fullsreen bottom sheet --- .../roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt b/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt index 5cc70cd..6500628 100644 --- a/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt +++ b/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt @@ -20,6 +20,7 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialogFragment import ru.touchin.mvi_arch.R +import ru.touchin.roboswag.components.utils.px import ru.touchin.roboswag.mvi_arch.di.ViewModelAssistedFactory import ru.touchin.roboswag.mvi_arch.di.ViewModelFactory import ru.touchin.roboswag.mvi_arch.marker.ViewAction @@ -27,7 +28,8 @@ import ru.touchin.roboswag.mvi_arch.marker.ViewState import javax.inject.Inject abstract class FullscreenBottomSheetDialog( - @LayoutRes private val layoutId: Int + @LayoutRes private val layoutId: Int, + private val topPadding: Int = 0 ) : BottomSheetDialogFragment(), IMvi where NavArgs : Parcelable, Action : ViewAction, @@ -89,6 +91,7 @@ abstract class FullscreenBottomSheetDialog( val bottomSheet = dialog?.findViewById(com.google.android.material.R.id.design_bottom_sheet) bottomSheet?.layoutParams?.height = ViewGroup.LayoutParams.MATCH_PARENT + bottomSheet?.setPadding(0, topPadding.px, 0, 0) } override fun addOnBackPressedCallback(action: Action) { From 6e209492ae75dee57cf09d7e5dd0f7bc9f662c17 Mon Sep 17 00:00:00 2001 From: Rinat Nurmukhametov Date: Thu, 30 Sep 2021 17:13:37 +0300 Subject: [PATCH 2/2] change bottomSheet on var --- .../mvi_arch/core/FullscreenBottomSheetDialog.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt b/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt index 6500628..068c5ca 100644 --- a/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt +++ b/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/FullscreenBottomSheetDialog.kt @@ -20,7 +20,6 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialogFragment import ru.touchin.mvi_arch.R -import ru.touchin.roboswag.components.utils.px import ru.touchin.roboswag.mvi_arch.di.ViewModelAssistedFactory import ru.touchin.roboswag.mvi_arch.di.ViewModelFactory import ru.touchin.roboswag.mvi_arch.marker.ViewAction @@ -28,8 +27,7 @@ import ru.touchin.roboswag.mvi_arch.marker.ViewState import javax.inject.Inject abstract class FullscreenBottomSheetDialog( - @LayoutRes private val layoutId: Int, - private val topPadding: Int = 0 + @LayoutRes private val layoutId: Int ) : BottomSheetDialogFragment(), IMvi where NavArgs : Parcelable, Action : ViewAction, @@ -41,6 +39,8 @@ abstract class FullscreenBottomSheetDialog( protected lateinit var state: NavArgs + protected var bottomSheet: FrameLayout? = null + protected abstract fun injectDependencies() @MainThread @@ -89,9 +89,8 @@ abstract class FullscreenBottomSheetDialog( override fun onStart() { super.onStart() - val bottomSheet = dialog?.findViewById(com.google.android.material.R.id.design_bottom_sheet) + bottomSheet = dialog?.findViewById(com.google.android.material.R.id.design_bottom_sheet) bottomSheet?.layoutParams?.height = ViewGroup.LayoutParams.MATCH_PARENT - bottomSheet?.setPadding(0, topPadding.px, 0, 0) } override fun addOnBackPressedCallback(action: Action) {