mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-15 07:28:30 +00:00
Fix message timer for chat updates.
This commit is contained in:
committed by
jeffrey-signal
parent
92c71b3630
commit
e1467480e9
@@ -817,7 +817,7 @@ public final class ConversationUpdateItem extends FrameLayout
|
||||
|
||||
private void presentTimer(UpdateDescription updateDescription) {
|
||||
if (updateDescription.hasExpiration() && messageRecord.getExpiresIn() > 0) {
|
||||
timer = new ExpirationTimer(messageRecord.getTimestamp(), messageRecord.getExpiresIn());
|
||||
timer = new ExpirationTimer(messageRecord.getExpireStarted(), messageRecord.getExpiresIn());
|
||||
handler.post(timerUpdateRunnable);
|
||||
} else {
|
||||
latestFrame = 0;
|
||||
|
||||
@@ -2823,7 +2823,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
retrieved.type == MessageType.IDENTITY_VERIFIED ||
|
||||
retrieved.type == MessageType.IDENTITY_UPDATE
|
||||
|
||||
val read = silent || retrieved.type == MessageType.EXPIRATION_UPDATE || MessageTypes.isPinnedMessageUpdate(type)
|
||||
val read = silent || retrieved.type == MessageType.EXPIRATION_UPDATE
|
||||
|
||||
val contentValues = contentValuesOf(
|
||||
DATE_SENT to retrieved.sentTimeMillis,
|
||||
@@ -2882,6 +2882,8 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
.readToSingleInt(0)
|
||||
|
||||
contentValues.put(NOTIFIED, notified.toInt())
|
||||
} else if (MessageTypes.isPinnedMessageUpdate(type)) {
|
||||
contentValues.put(NOTIFIED, 1)
|
||||
}
|
||||
|
||||
val updateThread = retrieved.storyType === StoryType.NONE && !silent
|
||||
@@ -4748,10 +4750,11 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
}
|
||||
|
||||
fun getUnreadCount(threadId: Long): Int {
|
||||
val pinnedMessageClause = "($TYPE & ${MessageTypes.SPECIAL_TYPES_MASK}) != ${MessageTypes.SPECIAL_TYPE_PINNED_MESSAGE}"
|
||||
return readableDatabase
|
||||
.select("COUNT(*)")
|
||||
.from("$TABLE_NAME INDEXED BY $INDEX_THREAD_UNREAD_COUNT")
|
||||
.where("$THREAD_ID = $threadId AND $STORY_TYPE = 0 AND $PARENT_STORY_ID <= 0 AND $ORIGINAL_MESSAGE_ID IS NULL AND $SCHEDULED_DATE = -1 AND $READ = 0")
|
||||
.where("$THREAD_ID = $threadId AND $STORY_TYPE = 0 AND $PARENT_STORY_ID <= 0 AND $ORIGINAL_MESSAGE_ID IS NULL AND $SCHEDULED_DATE = -1 AND $READ = 0 AND $pinnedMessageClause")
|
||||
.run()
|
||||
.readToSingleInt()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user