mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-18 20:29:10 +03:00
Fix clicking on invite does not work. Fix #7053
We need the FragmentManager to display a bottom sheet.
This commit is contained in:
parent
c5d3eaffb9
commit
fe484e84f4
4 changed files with 11 additions and 11 deletions
|
@ -497,7 +497,7 @@ class TimelineFragment :
|
|||
RoomDetailViewEvents.HideWaitingView -> vectorBaseActivity.hideWaitingView()
|
||||
is RoomDetailViewEvents.RequestNativeWidgetPermission -> requestNativeWidgetPermission(it)
|
||||
is RoomDetailViewEvents.OpenRoom -> handleOpenRoom(it)
|
||||
RoomDetailViewEvents.OpenInvitePeople -> navigator.openInviteUsersToRoom(requireContext(), timelineArgs.roomId)
|
||||
RoomDetailViewEvents.OpenInvitePeople -> navigator.openInviteUsersToRoom(requireActivity(), timelineArgs.roomId)
|
||||
RoomDetailViewEvents.OpenSetRoomAvatarDialog -> galleryOrCameraDialogHelper.show()
|
||||
RoomDetailViewEvents.OpenRoomSettings -> handleOpenRoomSettings(RoomProfileActivity.EXTRA_DIRECT_ACCESS_ROOM_SETTINGS)
|
||||
RoomDetailViewEvents.OpenRoomProfile -> handleOpenRoomSettings()
|
||||
|
|
|
@ -30,6 +30,7 @@ import androidx.core.app.ActivityOptionsCompat
|
|||
import androidx.core.app.TaskStackBuilder
|
||||
import androidx.core.util.Pair
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import im.vector.app.R
|
||||
import im.vector.app.SpaceStateHandler
|
||||
|
@ -347,18 +348,16 @@ class DefaultNavigator @Inject constructor(
|
|||
}.start(context)
|
||||
}
|
||||
|
||||
override fun openInviteUsersToRoom(context: Context, roomId: String) {
|
||||
override fun openInviteUsersToRoom(fragmentActivity: FragmentActivity, roomId: String) {
|
||||
when (val currentSpace = spaceStateHandler.getCurrentSpace()) {
|
||||
null -> InviteUsersToRoomActivity.getIntent(context, roomId).start(context)
|
||||
else -> showInviteToDialog(context, currentSpace, roomId)
|
||||
null -> InviteUsersToRoomActivity.getIntent(fragmentActivity, roomId).start(fragmentActivity)
|
||||
else -> showInviteToDialog(fragmentActivity, currentSpace, roomId)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showInviteToDialog(context: Context, currentSpace: RoomSummary, roomId: String) {
|
||||
(context as? AppCompatActivity)?.supportFragmentManager?.let { fragmentManager ->
|
||||
InviteRoomSpaceChooserBottomSheet.showInstance(fragmentManager, currentSpace.roomId, roomId) { itemId ->
|
||||
InviteUsersToRoomActivity.getIntent(context, itemId).start(context)
|
||||
}
|
||||
private fun showInviteToDialog(fragmentActivity: FragmentActivity, currentSpace: RoomSummary, roomId: String) {
|
||||
InviteRoomSpaceChooserBottomSheet.showInstance(fragmentActivity.supportFragmentManager, currentSpace.roomId, roomId) { itemId ->
|
||||
InviteUsersToRoomActivity.getIntent(fragmentActivity, itemId).start(fragmentActivity)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.net.Uri
|
|||
import android.view.View
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.core.util.Pair
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import im.vector.app.features.analytics.plan.ViewRoom
|
||||
import im.vector.app.features.crypto.recover.SetupMode
|
||||
import im.vector.app.features.displayname.getBestName
|
||||
|
@ -98,7 +99,7 @@ interface Navigator {
|
|||
|
||||
fun openCreateDirectRoom(context: Context)
|
||||
|
||||
fun openInviteUsersToRoom(context: Context, roomId: String)
|
||||
fun openInviteUsersToRoom(fragmentActivity: FragmentActivity, roomId: String)
|
||||
|
||||
fun openRoomDirectory(context: Context, initialFilter: String = "")
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ class RoomMemberListFragment :
|
|||
|
||||
private fun setupInviteUsersButton() {
|
||||
views.inviteUsersButton.debouncedClicks {
|
||||
navigator.openInviteUsersToRoom(requireContext(), roomProfileArgs.roomId)
|
||||
navigator.openInviteUsersToRoom(requireActivity(), roomProfileArgs.roomId)
|
||||
}
|
||||
// Hide FAB when list is scrolling
|
||||
views.roomSettingGeneric.roomSettingsRecyclerView.addOnScrollListener(
|
||||
|
|
Loading…
Add table
Reference in a new issue