Prevent bottom sheet dialog to hide some long press options (mostly happened in landscape)

This commit is contained in:
Sylvain Berfini 2023-12-05 13:56:20 +01:00
parent e9b1bfd2a0
commit ff521eb559
8 changed files with 88 additions and 0 deletions

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.call.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.CallAudioDevicesMenuBinding
import org.linphone.ui.call.model.AudioDeviceModel
@ -48,6 +51,14 @@ class AudioDevicesMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,11 +19,14 @@
*/
package org.linphone.ui.call.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.CallsListLongPressMenuBinding
import org.linphone.ui.call.model.CallModel
@ -46,6 +49,14 @@ class CallMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.call.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.CallConferenceLayoutMenuBinding
import org.linphone.ui.call.model.ConferenceModel
@ -48,6 +51,14 @@ class ConferenceLayoutMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.main.chat.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.ChatLongPressMenuBinding
@ -53,6 +56,14 @@ class ConversationDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.main.contacts.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.ContactNumberOrAddressLongPressMenuBinding
@ -50,6 +53,14 @@ class ContactNumberOrAddressMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.main.contacts.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.ContactsListLongPressMenuBinding
@ -50,6 +53,14 @@ class ContactsListMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.main.history.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.HistoryListLongPressMenuBinding
@ -51,6 +54,14 @@ class HistoryMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,

View file

@ -19,12 +19,15 @@
*/
package org.linphone.ui.main.meetings.fragment
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.MeetingsListLongPressMenuBinding
@ -47,6 +50,14 @@ class MeetingsMenuDialogFragment(
super.onDismiss(dialog)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
// Makes sure all menu entries are visible,
// required for landscape mode (otherwise only first item is visible)
dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
return dialog
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,