mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 22:29:09 +00:00
Merge pull request #3707 from nextcloud/support-delete-messages-unlimited-capability
Implemented delete-messages-unlimited feature
This commit is contained in:
commit
a4a04eb354
@ -4689,12 +4689,22 @@ class ChatActivity :
|
|||||||
private fun isShowMessageDeletionButton(message: ChatMessage): Boolean {
|
private fun isShowMessageDeletionButton(message: ChatMessage): Boolean {
|
||||||
val isUserAllowedByPrivileges = userAllowedByPrivilages(message)
|
val isUserAllowedByPrivileges = userAllowedByPrivilages(message)
|
||||||
|
|
||||||
|
val isOlderThanSixHours = message
|
||||||
|
.createdAt
|
||||||
|
.before(Date(System.currentTimeMillis() - AGE_THRESHOLD_FOR_DELETE_MESSAGE))
|
||||||
|
val hasDeleteMessagesUnlimitedCapability = CapabilitiesUtil.hasSpreedFeatureCapability(
|
||||||
|
spreedCapabilities,
|
||||||
|
SpreedFeatures.DELETE_MESSAGES_UNLIMITED
|
||||||
|
)
|
||||||
|
|
||||||
return when {
|
return when {
|
||||||
!isUserAllowedByPrivileges -> false
|
!isUserAllowedByPrivileges -> false
|
||||||
|
!hasDeleteMessagesUnlimitedCapability && isOlderThanSixHours -> false
|
||||||
message.systemMessageType != ChatMessage.SystemMessageType.DUMMY -> false
|
message.systemMessageType != ChatMessage.SystemMessageType.DUMMY -> false
|
||||||
message.isDeleted -> false
|
message.isDeleted -> false
|
||||||
!CapabilitiesUtil.hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.DELETE_MESSAGES) -> false
|
!CapabilitiesUtil.hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.DELETE_MESSAGES) -> false
|
||||||
!participantPermissions.hasChatPermission() -> false
|
!participantPermissions.hasChatPermission() -> false
|
||||||
|
hasDeleteMessagesUnlimitedCapability -> true
|
||||||
else -> true
|
else -> true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4902,6 +4912,7 @@ class ChatActivity :
|
|||||||
private const val GET_ROOM_INFO_DELAY_NORMAL: Long = 30000
|
private const val GET_ROOM_INFO_DELAY_NORMAL: Long = 30000
|
||||||
private const val GET_ROOM_INFO_DELAY_LOBBY: Long = 5000
|
private const val GET_ROOM_INFO_DELAY_LOBBY: Long = 5000
|
||||||
private const val HTTP_CODE_OK: Int = 200
|
private const val HTTP_CODE_OK: Int = 200
|
||||||
|
private const val AGE_THRESHOLD_FOR_DELETE_MESSAGE: Int = 21600000 // (6 hours in millis = 6 * 3600 * 1000)
|
||||||
private const val REQUEST_CODE_CHOOSE_FILE: Int = 555
|
private const val REQUEST_CODE_CHOOSE_FILE: Int = 555
|
||||||
private const val REQUEST_CODE_SELECT_CONTACT: Int = 666
|
private const val REQUEST_CODE_SELECT_CONTACT: Int = 666
|
||||||
private const val REQUEST_CODE_MESSAGE_SEARCH: Int = 777
|
private const val REQUEST_CODE_MESSAGE_SEARCH: Int = 777
|
||||||
|
@ -66,7 +66,8 @@ enum class SpreedFeatures(val value: String) {
|
|||||||
LOCKED_ONE_TO_ONE("locked-one-to-one-rooms"),
|
LOCKED_ONE_TO_ONE("locked-one-to-one-rooms"),
|
||||||
CHAT_PERMISSION("chat-permission"),
|
CHAT_PERMISSION("chat-permission"),
|
||||||
CONVERSATION_PERMISSION("conversation-permissions"),
|
CONVERSATION_PERMISSION("conversation-permissions"),
|
||||||
FEDERATION_V1("federation-v1")
|
FEDERATION_V1("federation-v1"),
|
||||||
|
DELETE_MESSAGES_UNLIMITED("delete-messages-unlimited")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("TooManyFunctions")
|
@Suppress("TooManyFunctions")
|
||||||
|
Loading…
Reference in New Issue
Block a user