mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-21 19:48:29 +00:00
Fix chat expiration timer backupV2 import/export.
This commit is contained in:
@@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.database.ThreadTable
|
|||||||
import org.thoughtcrime.securesms.database.model.databaseprotos.ChatColor
|
import org.thoughtcrime.securesms.database.model.databaseprotos.ChatColor
|
||||||
import org.thoughtcrime.securesms.database.model.databaseprotos.Wallpaper
|
import org.thoughtcrime.securesms.database.model.databaseprotos.Wallpaper
|
||||||
import java.io.Closeable
|
import java.io.Closeable
|
||||||
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
class ChatArchiveExporter(private val cursor: Cursor, private val db: SignalDatabase) : Iterator<Chat>, Closeable {
|
class ChatArchiveExporter(private val cursor: Cursor, private val db: SignalDatabase) : Iterator<Chat>, Closeable {
|
||||||
override fun hasNext(): Boolean {
|
override fun hasNext(): Boolean {
|
||||||
@@ -47,7 +48,7 @@ class ChatArchiveExporter(private val cursor: Cursor, private val db: SignalData
|
|||||||
recipientId = cursor.requireLong(ThreadTable.RECIPIENT_ID),
|
recipientId = cursor.requireLong(ThreadTable.RECIPIENT_ID),
|
||||||
archived = cursor.requireBoolean(ThreadTable.ARCHIVED),
|
archived = cursor.requireBoolean(ThreadTable.ARCHIVED),
|
||||||
pinnedOrder = cursor.requireInt(ThreadTable.PINNED),
|
pinnedOrder = cursor.requireInt(ThreadTable.PINNED),
|
||||||
expirationTimerMs = cursor.requireLong(RecipientTable.MESSAGE_EXPIRATION_TIME),
|
expirationTimerMs = cursor.requireLong(RecipientTable.MESSAGE_EXPIRATION_TIME).seconds.inWholeMilliseconds,
|
||||||
expireTimerVersion = cursor.requireInt(RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION),
|
expireTimerVersion = cursor.requireInt(RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION),
|
||||||
muteUntilMs = cursor.requireLong(RecipientTable.MUTE_UNTIL),
|
muteUntilMs = cursor.requireLong(RecipientTable.MUTE_UNTIL),
|
||||||
markedUnread = ThreadTable.ReadStatus.deserialize(cursor.requireInt(ThreadTable.READ)) == ThreadTable.ReadStatus.FORCED_UNREAD,
|
markedUnread = ThreadTable.ReadStatus.deserialize(cursor.requireInt(ThreadTable.READ)) == ThreadTable.ReadStatus.FORCED_UNREAD,
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.thoughtcrime.securesms.database.SignalDatabase
|
|||||||
import org.thoughtcrime.securesms.database.ThreadTable
|
import org.thoughtcrime.securesms.database.ThreadTable
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||||
import org.thoughtcrime.securesms.wallpaper.UriChatWallpaper
|
import org.thoughtcrime.securesms.wallpaper.UriChatWallpaper
|
||||||
|
import kotlin.time.Duration.Companion.milliseconds
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the importing of [Chat] models into the local database.
|
* Handles the importing of [Chat] models into the local database.
|
||||||
@@ -55,7 +56,7 @@ object ChatArchiveImporter {
|
|||||||
contentValuesOf(
|
contentValuesOf(
|
||||||
RecipientTable.MENTION_SETTING to (if (chat.dontNotifyForMentionsIfMuted) RecipientTable.MentionSetting.DO_NOT_NOTIFY.id else RecipientTable.MentionSetting.ALWAYS_NOTIFY.id),
|
RecipientTable.MENTION_SETTING to (if (chat.dontNotifyForMentionsIfMuted) RecipientTable.MentionSetting.DO_NOT_NOTIFY.id else RecipientTable.MentionSetting.ALWAYS_NOTIFY.id),
|
||||||
RecipientTable.MUTE_UNTIL to chat.muteUntilMs,
|
RecipientTable.MUTE_UNTIL to chat.muteUntilMs,
|
||||||
RecipientTable.MESSAGE_EXPIRATION_TIME to chat.expirationTimerMs,
|
RecipientTable.MESSAGE_EXPIRATION_TIME to chat.expirationTimerMs.milliseconds.inWholeSeconds,
|
||||||
RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION to chat.expireTimerVersion,
|
RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION to chat.expireTimerVersion,
|
||||||
RecipientTable.CHAT_COLORS to chatColor?.serialize()?.encode(),
|
RecipientTable.CHAT_COLORS to chatColor?.serialize()?.encode(),
|
||||||
RecipientTable.CUSTOM_CHAT_COLORS_ID to (chatColor?.id ?: ChatColors.Id.NotSet).longValue,
|
RecipientTable.CUSTOM_CHAT_COLORS_ID to (chatColor?.id ?: ChatColors.Id.NotSet).longValue,
|
||||||
|
|||||||
Reference in New Issue
Block a user