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
@ -497,7 +497,7 @@ class TimelineFragment :
|
|||||||
RoomDetailViewEvents.HideWaitingView -> vectorBaseActivity.hideWaitingView()
|
RoomDetailViewEvents.HideWaitingView -> vectorBaseActivity.hideWaitingView()
|
||||||
is RoomDetailViewEvents.RequestNativeWidgetPermission -> requestNativeWidgetPermission(it)
|
is RoomDetailViewEvents.RequestNativeWidgetPermission -> requestNativeWidgetPermission(it)
|
||||||
is RoomDetailViewEvents.OpenRoom -> handleOpenRoom(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.OpenSetRoomAvatarDialog -> galleryOrCameraDialogHelper.show()
|
||||||
RoomDetailViewEvents.OpenRoomSettings -> handleOpenRoomSettings(RoomProfileActivity.EXTRA_DIRECT_ACCESS_ROOM_SETTINGS)
|
RoomDetailViewEvents.OpenRoomSettings -> handleOpenRoomSettings(RoomProfileActivity.EXTRA_DIRECT_ACCESS_ROOM_SETTINGS)
|
||||||
RoomDetailViewEvents.OpenRoomProfile -> handleOpenRoomSettings()
|
RoomDetailViewEvents.OpenRoomProfile -> handleOpenRoomSettings()
|
||||||
|
@ -30,6 +30,7 @@ import androidx.core.app.ActivityOptionsCompat
|
|||||||
import androidx.core.app.TaskStackBuilder
|
import androidx.core.app.TaskStackBuilder
|
||||||
import androidx.core.util.Pair
|
import androidx.core.util.Pair
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.fragment.app.FragmentActivity
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.SpaceStateHandler
|
import im.vector.app.SpaceStateHandler
|
||||||
@ -347,18 +348,16 @@ class DefaultNavigator @Inject constructor(
|
|||||||
}.start(context)
|
}.start(context)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun openInviteUsersToRoom(context: Context, roomId: String) {
|
override fun openInviteUsersToRoom(fragmentActivity: FragmentActivity, roomId: String) {
|
||||||
when (val currentSpace = spaceStateHandler.getCurrentSpace()) {
|
when (val currentSpace = spaceStateHandler.getCurrentSpace()) {
|
||||||
null -> InviteUsersToRoomActivity.getIntent(context, roomId).start(context)
|
null -> InviteUsersToRoomActivity.getIntent(fragmentActivity, roomId).start(fragmentActivity)
|
||||||
else -> showInviteToDialog(context, currentSpace, roomId)
|
else -> showInviteToDialog(fragmentActivity, currentSpace, roomId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showInviteToDialog(context: Context, currentSpace: RoomSummary, roomId: String) {
|
private fun showInviteToDialog(fragmentActivity: FragmentActivity, currentSpace: RoomSummary, roomId: String) {
|
||||||
(context as? AppCompatActivity)?.supportFragmentManager?.let { fragmentManager ->
|
InviteRoomSpaceChooserBottomSheet.showInstance(fragmentActivity.supportFragmentManager, currentSpace.roomId, roomId) { itemId ->
|
||||||
InviteRoomSpaceChooserBottomSheet.showInstance(fragmentManager, currentSpace.roomId, roomId) { itemId ->
|
InviteUsersToRoomActivity.getIntent(fragmentActivity, itemId).start(fragmentActivity)
|
||||||
InviteUsersToRoomActivity.getIntent(context, itemId).start(context)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ import android.net.Uri
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.core.util.Pair
|
import androidx.core.util.Pair
|
||||||
|
import androidx.fragment.app.FragmentActivity
|
||||||
import im.vector.app.features.analytics.plan.ViewRoom
|
import im.vector.app.features.analytics.plan.ViewRoom
|
||||||
import im.vector.app.features.crypto.recover.SetupMode
|
import im.vector.app.features.crypto.recover.SetupMode
|
||||||
import im.vector.app.features.displayname.getBestName
|
import im.vector.app.features.displayname.getBestName
|
||||||
@ -98,7 +99,7 @@ interface Navigator {
|
|||||||
|
|
||||||
fun openCreateDirectRoom(context: Context)
|
fun openCreateDirectRoom(context: Context)
|
||||||
|
|
||||||
fun openInviteUsersToRoom(context: Context, roomId: String)
|
fun openInviteUsersToRoom(fragmentActivity: FragmentActivity, roomId: String)
|
||||||
|
|
||||||
fun openRoomDirectory(context: Context, initialFilter: String = "")
|
fun openRoomDirectory(context: Context, initialFilter: String = "")
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ class RoomMemberListFragment :
|
|||||||
|
|
||||||
private fun setupInviteUsersButton() {
|
private fun setupInviteUsersButton() {
|
||||||
views.inviteUsersButton.debouncedClicks {
|
views.inviteUsersButton.debouncedClicks {
|
||||||
navigator.openInviteUsersToRoom(requireContext(), roomProfileArgs.roomId)
|
navigator.openInviteUsersToRoom(requireActivity(), roomProfileArgs.roomId)
|
||||||
}
|
}
|
||||||
// Hide FAB when list is scrolling
|
// Hide FAB when list is scrolling
|
||||||
views.roomSettingGeneric.roomSettingsRecyclerView.addOnScrollListener(
|
views.roomSettingGeneric.roomSettingsRecyclerView.addOnScrollListener(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user