Do not mark update unread if user was ever in the call.

This commit is contained in:
Alex Hart
2024-07-02 11:18:45 -03:00
committed by Cody Henthorne
parent aec0a9951a
commit cf7ebfa03d

View File

@@ -993,11 +993,12 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
val containsSelf = joinedUuids.contains(SignalStore.account.requireAci().rawUuid)
val sameEraId = updateDetail.eraId == eraId && !Util.isEmpty(eraId)
val inCallUuids = if (sameEraId) joinedUuids.map { it.toString() } else emptyList()
val body = GroupCallUpdateDetailsUtil.createUpdatedBody(updateDetail, inCallUuids, isCallFull, isRingingOnLocalDevice)
val contentValues = contentValuesOf(
BODY to GroupCallUpdateDetailsUtil.createUpdatedBody(updateDetail, inCallUuids, isCallFull, isRingingOnLocalDevice)
BODY to body
)
if (sameEraId && containsSelf) {
if (sameEraId && (containsSelf || updateDetail.localUserJoined)) {
contentValues.put(READ, 1)
}
@@ -1044,7 +1045,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
BODY to GroupCallUpdateDetailsUtil.createUpdatedBody(groupCallUpdateDetails, inCallUuids, isCallFull, isRingingOnLocalDevice)
)
if (sameEraId && containsSelf) {
if (sameEraId && (containsSelf || groupCallUpdateDetails.localUserJoined)) {
contentValues.put(READ, 1)
}