@@ -19,8 +19,10 @@ package com.itsaky.androidide.fragments
19
19
20
20
import android.app.Dialog
21
21
import android.graphics.Color
22
+ import android.os.Build
22
23
import android.os.Bundle
23
24
import android.text.Editable
25
+ import android.util.DisplayMetrics
24
26
import android.view.LayoutInflater
25
27
import android.view.View
26
28
import android.view.ViewGroup
@@ -83,7 +85,7 @@ class RunTasksDialogFragment : BottomSheetDialogFragment() {
83
85
}
84
86
85
87
override fun onCreateDialog (savedInstanceState : Bundle ? ): Dialog {
86
- return object : BottomSheetDialog (requireContext(), theme) {
88
+ val dialog = object : BottomSheetDialog (requireContext(), theme) {
87
89
override fun onAttachedToWindow () {
88
90
super .onAttachedToWindow()
89
91
window?.apply {
@@ -104,6 +106,8 @@ class RunTasksDialogFragment : BottomSheetDialogFragment() {
104
106
}
105
107
}
106
108
}
109
+ dialog.behavior.peekHeight = (getWindowHeight() * 0.7 ).toInt()
110
+ return dialog
107
111
}
108
112
109
113
override fun onCreateView (
@@ -200,4 +204,15 @@ class RunTasksDialogFragment : BottomSheetDialogFragment() {
200
204
run.tasks.adapter = RunTasksListAdapter (viewModel.tasks, onCheckChanged)
201
205
}
202
206
}
207
+
208
+ private fun getWindowHeight (): Int {
209
+ val height = if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .R ) {
210
+ activity?.windowManager?.currentWindowMetrics?.bounds?.height()!!
211
+ } else {
212
+ val displayMetrics = DisplayMetrics ()
213
+ activity?.windowManager?.defaultDisplay?.getMetrics(displayMetrics)
214
+ displayMetrics.heightPixels
215
+ }
216
+ return height
217
+ }
203
218
}
0 commit comments