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"> + + + +