Skip to content

Commit 32cce7b

Browse files
committed
Fix bug in issue AndroidIDEOfficial#975
1 parent b29fecf commit 32cce7b

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

app/src/main/java/com/itsaky/androidide/fragments/RunTasksDialogFragment.kt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ package com.itsaky.androidide.fragments
1919

2020
import android.app.Dialog
2121
import android.graphics.Color
22+
import android.os.Build
2223
import android.os.Bundle
2324
import android.text.Editable
25+
import android.util.DisplayMetrics
2426
import android.view.LayoutInflater
2527
import android.view.View
2628
import android.view.ViewGroup
@@ -83,7 +85,7 @@ class RunTasksDialogFragment : BottomSheetDialogFragment() {
8385
}
8486

8587
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
86-
return object : BottomSheetDialog(requireContext(), theme) {
88+
val dialog = object : BottomSheetDialog(requireContext(), theme) {
8789
override fun onAttachedToWindow() {
8890
super.onAttachedToWindow()
8991
window?.apply {
@@ -104,6 +106,8 @@ class RunTasksDialogFragment : BottomSheetDialogFragment() {
104106
}
105107
}
106108
}
109+
dialog.behavior.peekHeight = (getWindowHeight() * 0.7).toInt()
110+
return dialog
107111
}
108112

109113
override fun onCreateView(
@@ -200,4 +204,15 @@ class RunTasksDialogFragment : BottomSheetDialogFragment() {
200204
run.tasks.adapter = RunTasksListAdapter(viewModel.tasks, onCheckChanged)
201205
}
202206
}
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+
}
203218
}

0 commit comments

Comments
 (0)