Add dialog for when you hit edit message limit.

This commit is contained in:
Clark
2023-08-02 09:47:38 -04:00
committed by GitHub
parent 041ba27efe
commit 6f1a04abce
3 changed files with 20 additions and 3 deletions

View File

@@ -285,6 +285,7 @@ import org.thoughtcrime.securesms.util.DrawableUtil
import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.util.FullscreenHelper
import org.thoughtcrime.securesms.util.MediaUtil
import org.thoughtcrime.securesms.util.MessageConstraintsUtil
import org.thoughtcrime.securesms.util.MessageConstraintsUtil.getEditMessageThresholdHours
import org.thoughtcrime.securesms.util.MessageConstraintsUtil.isValidEditMessageSend
import org.thoughtcrime.securesms.util.PlayStoreUtil
@@ -1407,6 +1408,12 @@ class ConversationFragment :
return
}
if (!MessageConstraintsUtil.isWithinMaxEdits(editMessage)) {
Log.i(TAG, "Too many edits to the message")
Dialogs.showAlertDialog(requireContext(), null, resources.getQuantityString(R.plurals.ConversationActivity_edit_message_too_many_edits, MessageConstraintsUtil.MAX_EDIT_COUNT, MessageConstraintsUtil.MAX_EDIT_COUNT))
return
}
if (!isValidEditMessageSend(editMessage, System.currentTimeMillis())) {
Log.i(TAG, "Edit message no longer valid")
val editDurationHours = getEditMessageThresholdHours()

View File

@@ -5,7 +5,7 @@ import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import java.util.concurrent.TimeUnit
import kotlin.time.Duration.Companion.hours
import kotlin.time.Duration.Companion.milliseconds
/**
* Helpers for determining if a message send/receive is valid for those that
@@ -15,7 +15,7 @@ object MessageConstraintsUtil {
private val RECEIVE_THRESHOLD = TimeUnit.DAYS.toMillis(1)
private val SEND_THRESHOLD = TimeUnit.HOURS.toMillis(3)
private val MAX_EDIT_COUNT = 10
const val MAX_EDIT_COUNT = 10
@JvmStatic
fun isValidRemoteDeleteReceive(targetMessage: MessageRecord, deleteSenderId: RecipientId, deleteServerTimestamp: Long): Boolean {
@@ -42,9 +42,14 @@ object MessageConstraintsUtil {
return targetMessages.all { isValidRemoteDeleteSend(it, currentTime) }
}
@JvmStatic
fun isWithinMaxEdits(targetMessage: MessageRecord): Boolean {
return targetMessage.revisionNumber < MAX_EDIT_COUNT
}
@JvmStatic
fun getEditMessageThresholdHours(): Int {
return SEND_THRESHOLD.hours.inWholeHours.toInt()
return SEND_THRESHOLD.milliseconds.inWholeHours.toInt()
}
/**