Skip to content

Commit 99ec61e

Browse files
committed
Add action to report a user form the message detail bottom sheet. #8796
1 parent 237580c commit 99ec61e

File tree

5 files changed

+31
-1
lines changed

5 files changed

+31
-1
lines changed

library/ui-strings/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,8 +1953,11 @@
19531953
<string name="content_reported_as_spam_content">"This content was reported as spam.\n\nIf you don't want to see any more content from this user, you can ignore them to hide their messages."</string>
19541954
<string name="content_reported_as_inappropriate_title">"Reported as inappropriate"</string>
19551955
<string name="content_reported_as_inappropriate_content">"This content was reported as inappropriate.\n\nIf you don't want to see any more content from this user, you can ignore them to hide their messages."</string>
1956+
<string name="user_reported_as_inappropriate_title">"Reported user"</string>
1957+
<string name="user_reported_as_inappropriate_content">"The user has been reported.\n\nIf you don't want to see any more content from this user, you can ignore them to hide their messages."</string>
19561958

19571959
<string name="message_ignore_user">Ignore user</string>
1960+
<string name="message_report_user">Report user</string>
19581961

19591962
<string name="room_list_quick_actions_notifications_all_noisy">"All messages (noisy)"</string>
19601963
<string name="room_list_quick_actions_notifications_all">"All messages"</string>

vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailAction.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ sealed class RoomDetailAction : VectorViewModelAction {
6161
val senderId: String?,
6262
val reason: String,
6363
val spam: Boolean = false,
64-
val inappropriate: Boolean = false
64+
val inappropriate: Boolean = false,
65+
val user: Boolean = false,
6566
) : RoomDetailAction()
6667

6768
data class IgnoreUser(val userId: String?) : RoomDetailAction()

vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,6 +1345,16 @@ class TimelineFragment :
13451345
}
13461346
.show()
13471347
}
1348+
data.user -> {
1349+
MaterialAlertDialogBuilder(requireActivity(), R.style.ThemeOverlay_Vector_MaterialAlertDialog_NegativeDestructive)
1350+
.setTitle(R.string.user_reported_as_inappropriate_title)
1351+
.setMessage(R.string.user_reported_as_inappropriate_content)
1352+
.setPositiveButton(R.string.ok, null)
1353+
.setNegativeButton(R.string.block_user) { _, _ ->
1354+
timelineViewModel.handle(RoomDetailAction.IgnoreUser(data.senderId))
1355+
}
1356+
.show()
1357+
}
13481358
else -> {
13491359
MaterialAlertDialogBuilder(requireActivity(), R.style.ThemeOverlay_Vector_MaterialAlertDialog_NegativeDestructive)
13501360
.setTitle(R.string.content_reported_title)
@@ -1857,6 +1867,13 @@ class TimelineFragment :
18571867
is EventSharedAction.IgnoreUser -> {
18581868
action.senderId?.let { askConfirmationToIgnoreUser(it) }
18591869
}
1870+
is EventSharedAction.ReportUser -> {
1871+
timelineViewModel.handle(
1872+
RoomDetailAction.ReportContent(
1873+
action.eventId, action.senderId, "Reporting user ${action.senderId}", user = true
1874+
)
1875+
)
1876+
}
18601877
is EventSharedAction.OnUrlClicked -> {
18611878
onUrlClicked(action.url, action.title)
18621879
}

vector/src/main/java/im/vector/app/features/home/room/detail/timeline/action/EventSharedAction.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ sealed class EventSharedAction(
9898
data class IgnoreUser(val senderId: String?) :
9999
EventSharedAction(R.string.message_ignore_user, R.drawable.ic_alert_triangle, true)
100100

101+
data class ReportUser(val eventId: String, val senderId: String?) :
102+
EventSharedAction(R.string.message_report_user, R.drawable.ic_flag, true)
103+
101104
data class QuickReact(val eventId: String, val clickedOn: String, val add: Boolean) :
102105
EventSharedAction(0, 0)
103106

vector/src/main/java/im/vector/app/features/home/room/detail/timeline/action/MessageActionsViewModel.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,12 @@ class MessageActionsViewModel @AssistedInject constructor(
430430

431431
add(EventSharedAction.Separator)
432432
add(EventSharedAction.IgnoreUser(timelineEvent.root.senderId))
433+
add(
434+
EventSharedAction.ReportUser(
435+
eventId = eventId,
436+
senderId = timelineEvent.root.senderId,
437+
)
438+
)
433439
}
434440
}
435441

0 commit comments

Comments
 (0)