@@ -33,6 +33,7 @@ import im.vector.app.core.platform.VectorBaseFragment
33
33
import im.vector.app.core.platform.VectorMenuProvider
34
34
import im.vector.app.core.utils.copyToClipboard
35
35
import im.vector.app.core.utils.startSharePlainTextIntent
36
+ import im.vector.app.databinding.DialogReportContentBinding
36
37
import im.vector.app.databinding.FragmentMatrixProfileBinding
37
38
import im.vector.app.databinding.ViewStubRoomProfileHeaderBinding
38
39
import im.vector.app.features.analytics.plan.Interaction
@@ -123,6 +124,7 @@ class RoomProfileFragment :
123
124
is RoomProfileViewEvents .ShareRoomProfile -> onShareRoomProfile(it.permalink)
124
125
is RoomProfileViewEvents .OnShortcutReady -> addShortcut(it)
125
126
RoomProfileViewEvents .DismissLoading -> dismissLoadingDialog()
127
+ is RoomProfileViewEvents .Success -> dismissSuccessDialog(it.message)
126
128
}
127
129
}
128
130
roomListQuickActionsSharedActionViewModel
@@ -133,6 +135,17 @@ class RoomProfileFragment :
133
135
setupLongClicks()
134
136
}
135
137
138
+ private fun dismissSuccessDialog (message : CharSequence ) {
139
+ MaterialAlertDialogBuilder (
140
+ requireActivity(),
141
+ im.vector.lib.ui.styles.R .style.ThemeOverlay_Vector_MaterialAlertDialog_NegativeDestructive
142
+ )
143
+ .setTitle(CommonStrings .room_profile_section_more_report)
144
+ .setMessage(message)
145
+ .setPositiveButton(CommonStrings .ok, null )
146
+ .show()
147
+ }
148
+
136
149
private fun setupWaitingView () {
137
150
views.waitingView.waitingStatusText.setText(CommonStrings .please_wait)
138
151
views.waitingView.waitingStatusText.isVisible = true
@@ -286,6 +299,26 @@ class RoomProfileFragment :
286
299
ShortcutManagerCompat .requestPinShortcut(requireContext(), onShortcutReady.shortcutInfo, null )
287
300
}
288
301
302
+ override fun onReportRoomClicked () {
303
+ promptReasonToReportRoom()
304
+ }
305
+
306
+ private fun promptReasonToReportRoom () {
307
+ val inflater = requireActivity().layoutInflater
308
+ val layout = inflater.inflate(R .layout.dialog_report_content, null )
309
+ val views = DialogReportContentBinding .bind(layout)
310
+
311
+ MaterialAlertDialogBuilder (requireActivity())
312
+ .setTitle(CommonStrings .room_profile_section_more_report)
313
+ .setView(layout)
314
+ .setPositiveButton(CommonStrings .report_content_custom_submit) { _, _ ->
315
+ val reason = views.dialogReportContentInput.text.toString()
316
+ roomProfileViewModel.handle(RoomProfileAction .ReportRoom (reason))
317
+ }
318
+ .setNegativeButton(CommonStrings .action_cancel, null )
319
+ .show()
320
+ }
321
+
289
322
override fun onLeaveRoomClicked () {
290
323
val isPublicRoom = roomProfileViewModel.isPublicRoom()
291
324
val message = buildString {
0 commit comments