Merge pull request #4574 from element-hq/feature/fga/advanced_settings_moderation_and_safety

change (preferences) : new moderation and safety settings
This commit is contained in:
ganfra 2025-04-11 14:38:46 +02:00 committed by GitHub
commit ce0bac55c5
67 changed files with 382 additions and 147 deletions

View file

@ -0,0 +1,39 @@
/*
* Copyright 2025 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.matrix.api.media
import io.element.android.libraries.matrix.api.media.MediaPreviewValue.Off
import io.element.android.libraries.matrix.api.media.MediaPreviewValue.On
import io.element.android.libraries.matrix.api.media.MediaPreviewValue.Private
import io.element.android.libraries.matrix.api.room.join.JoinRule
/**
* Represents the values for media preview settings.
* - [On] means that media preview are enabled
* - [Off] means that media preview are disabled
* - [Private] means that media preview are enabled only for private chats.
*/
enum class MediaPreviewValue {
On,
Off,
Private
}
fun MediaPreviewValue.isPreviewEnabled(joinRule: JoinRule?): Boolean {
return when (this) {
On -> true
Off -> false
Private -> when (joinRule) {
is JoinRule.Knock,
is JoinRule.Invite,
is JoinRule.Restricted,
is JoinRule.KnockRestricted -> true
else -> false
}
}
}