diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt
index a2a2a5135..3f400a768 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt
@@ -63,6 +63,7 @@ fun RenderReport(
ReportType.MALWARE -> stringRes(R.string.malware)
ReportType.MOD -> stringRes(R.string.mod)
ReportType.OTHER -> stringRes(R.string.other)
+ ReportType.HARASSMENT -> stringRes(R.string.harassment)
null -> stringRes(R.string.other)
}
}.toSet()
diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml
index 3d638607c..8463b5bbb 100644
--- a/amethyst/src/main/res/values/strings.xml
+++ b/amethyst/src/main/res/values/strings.xml
@@ -21,6 +21,7 @@
Impersonation
Illegal Behavior
Other
+ Harassment
Unknown
Relay Icon
Unknown Author
diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportEvent.kt
index 45281e3aa..158d75557 100644
--- a/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportEvent.kt
+++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportEvent.kt
@@ -52,14 +52,15 @@ class ReportEvent(
private fun defaultReportType(): ReportType {
defaultType?.let { return it }
- // Works with old and new structures for report.
- var reportType = defaultReportTypes().firstOrNull()
- if (reportType == null) {
- reportType = tags.mapNotNull { it.getOrNull(2) }.map { ReportType.parseOrNull(it, emptyArray()) }.firstOrNull()
- }
- if (reportType == null) {
- reportType = ReportType.SPAM
- }
+ // search for any type in any tag.
+ val reportType =
+ defaultReportTypes().firstOrNull()
+ ?: tags.firstNotNullOfOrNull {
+ ReportedAuthorTag.parse(it)?.type
+ ?: ReportedEventTag.parse(it)?.type
+ ?: ReportedAddressTag.parse(it)?.type
+ } ?: ReportType.SPAM
+
defaultType = reportType
return reportType
}
diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportType.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportType.kt
index 125926808..6ff598773 100644
--- a/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportType.kt
+++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/ReportType.kt
@@ -33,6 +33,7 @@ enum class ReportType(
PROFANITY("profanity"),
MALWARE("malware"),
MOD("mod"),
+ HARASSMENT("Harrassment"),
OTHER("other"),
;
@@ -51,6 +52,7 @@ enum class ReportType(
MALWARE.code -> MALWARE
MOD.code -> MOD
"MOD" -> MOD
+ HARASSMENT.code -> HARASSMENT
OTHER.code -> OTHER
else -> {
Log.w("ReportedEventTag", "Report type not supported: $code ${tag.joinToString(", ")}")
diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/tags/DefaultReportTag.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/tags/DefaultReportTag.kt
index 24551aa95..adc260a1b 100644
--- a/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/tags/DefaultReportTag.kt
+++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip56Reports/tags/DefaultReportTag.kt
@@ -27,6 +27,7 @@ import com.vitorpamplona.quartz.utils.arrayOfNotNull
import com.vitorpamplona.quartz.utils.ensure
@Immutable
+@Deprecated("Old version had [`report`, ``] tags")
class DefaultReportTag {
companion object {
const val TAG_NAME = "report"