diff --git a/app/src/main/java/com/futo/platformplayer/ModerationsManager.kt b/app/src/main/java/com/futo/platformplayer/ModerationsManager.kt
index ee8b6f57..63c75f98 100644
--- a/app/src/main/java/com/futo/platformplayer/ModerationsManager.kt
+++ b/app/src/main/java/com/futo/platformplayer/ModerationsManager.kt
@@ -49,7 +49,7 @@ class ModerationsManager private constructor(context: Context) {
"hate" -> prefs.getInt("offensive_level", 2)
"sexual" -> prefs.getInt("explicit_level", 1)
"violence" -> prefs.getInt("violence_level", 1)
- else -> 3
+ else -> 3
}
return contentLevel > userLevel
diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/CommentsFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/CommentsFragment.kt
index 0dae227d..7558d2e2 100644
--- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/CommentsFragment.kt
+++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/CommentsFragment.kt
@@ -21,6 +21,7 @@ import com.futo.platformplayer.UIDialogs
import com.futo.platformplayer.activities.PolycentricHomeActivity
import com.futo.platformplayer.api.media.models.comments.IPlatformComment
import com.futo.platformplayer.api.media.models.comments.PolycentricPlatformComment
+import com.futo.platformplayer.api.media.models.comments.LazyComment
import com.futo.platformplayer.api.media.models.video.IPlatformVideoDetails
import com.futo.platformplayer.constructs.TaskHandler
import com.futo.platformplayer.logging.Logger
@@ -170,8 +171,8 @@ class CommentsFragment : MainFragment() {
return@showConfirmationDialog
}
- val index = _comments.indexOf(comment)
- if (index != -1) {
+ val index = _comments.indexOfFirst { it == comment || (it is LazyComment && it.getUnderlyingComment() == comment) }
+ if (index >= 0) {
_comments.removeAt(index)
_adapterComments.notifyItemRemoved(_adapterComments.childToParentPosition(index))
diff --git a/app/src/main/java/com/futo/platformplayer/states/StateApp.kt b/app/src/main/java/com/futo/platformplayer/states/StateApp.kt
index a3b0fc21..5a77cb02 100644
--- a/app/src/main/java/com/futo/platformplayer/states/StateApp.kt
+++ b/app/src/main/java/com/futo/platformplayer/states/StateApp.kt
@@ -49,6 +49,7 @@ import com.futo.platformplayer.stores.FragmentedStorage
import com.futo.platformplayer.stores.v2.ManagedStore
import com.futo.platformplayer.views.ToastView
import com.futo.polycentric.core.ApiMethods
+import com.futo.polycentric.core.toBase64Url
import kotlinx.coroutines.*
import java.io.File
import java.util.*
@@ -389,7 +390,14 @@ class StateApp {
try {
ModerationsManager.getInstance().getCurrentModerationLevels()
} catch (e: IllegalStateException) {
- // Handle case where manager might not be ready, though it should be here
+ null
+ }
+ }
+
+ ApiMethods.setModerationExemptSystemProvider {
+ try {
+ StatePolycentric.instance.processHandle?.system?.toProto()?.toByteArray()?.toBase64Url()
+ } catch (e: Throwable) {
null
}
}
diff --git a/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt b/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt
index a1ccd142..a99eb1ff 100644
--- a/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt
+++ b/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt
@@ -161,8 +161,8 @@ class CommentsList : ConstraintLayout {
return@showConfirmationDialog
}
- val index = _comments.indexOf(comment)
- if (index != -1) {
+ val index = _comments.indexOfFirst { it == comment || (it is LazyComment && it.getUnderlyingComment() == comment) }
+ if (index >= 0) {
_comments.removeAt(index)
_adapterComments.notifyItemRemoved(_adapterComments.childToParentPosition(index))
diff --git a/app/src/main/res/layout/activity_polycentric_moderation.xml b/app/src/main/res/layout/activity_polycentric_moderation.xml
index bb598c3f..9819208e 100644
--- a/app/src/main/res/layout/activity_polycentric_moderation.xml
+++ b/app/src/main/res/layout/activity_polycentric_moderation.xml
@@ -48,6 +48,17 @@
android:layout_height="wrap_content"
android:orientation="vertical">
+
+
+
+