mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-19 00:01:08 +01:00
Add KT to backups.
This commit is contained in:
@@ -57,6 +57,7 @@ fun RecipientTable.getContactsForBackup(selfId: Long): ContactArchiveExporter {
|
||||
"${RecipientTable.TABLE_NAME}.${RecipientTable.CUSTOM_CHAT_COLORS_ID}",
|
||||
"${RecipientTable.TABLE_NAME}.${RecipientTable.AVATAR_COLOR}",
|
||||
"${RecipientTable.TABLE_NAME}.${RecipientTable.EXTRAS}",
|
||||
"${RecipientTable.TABLE_NAME}.${RecipientTable.KEY_TRANSPARENCY_DATA}",
|
||||
"${IdentityTable.TABLE_NAME}.${IdentityTable.IDENTITY_KEY}",
|
||||
"${IdentityTable.TABLE_NAME}.${IdentityTable.VERIFIED}"
|
||||
)
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.signal.core.models.ServiceId
|
||||
import org.signal.core.util.Base64
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.signal.core.util.optionalInt
|
||||
import org.signal.core.util.requireBlob
|
||||
import org.signal.core.util.requireBoolean
|
||||
import org.signal.core.util.requireInt
|
||||
import org.signal.core.util.requireLong
|
||||
@@ -87,6 +88,7 @@ class ContactArchiveExporter(private val cursor: Cursor, private val selfId: Lon
|
||||
.systemFamilyName(cursor.requireString(RecipientTable.SYSTEM_FAMILY_NAME) ?: "")
|
||||
.systemNickname(cursor.requireString(RecipientTable.SYSTEM_NICKNAME) ?: "")
|
||||
.avatarColor(cursor.requireString(RecipientTable.AVATAR_COLOR)?.let { AvatarColor.deserialize(it) }?.toRemote())
|
||||
.keyTransparencyData(cursor.requireBlob(RecipientTable.KEY_TRANSPARENCY_DATA)?.toByteString())
|
||||
|
||||
val registeredState = RecipientTable.RegisteredState.fromId(cursor.requireInt(RecipientTable.REGISTERED))
|
||||
if (registeredState == RecipientTable.RegisteredState.REGISTERED) {
|
||||
|
||||
@@ -66,7 +66,8 @@ object ContactArchiveImporter {
|
||||
RecipientTable.SYSTEM_GIVEN_NAME to contact.systemGivenName,
|
||||
RecipientTable.SYSTEM_FAMILY_NAME to contact.systemFamilyName,
|
||||
RecipientTable.SYSTEM_NICKNAME to contact.systemNickname,
|
||||
RecipientTable.AVATAR_COLOR to contact.avatarColor?.toLocal()?.serialize()
|
||||
RecipientTable.AVATAR_COLOR to contact.avatarColor?.toLocal()?.serialize(),
|
||||
RecipientTable.KEY_TRANSPARENCY_DATA to contact.keyTransparencyData?.toByteArray()
|
||||
)
|
||||
|
||||
if (contact.registered != null) {
|
||||
|
||||
@@ -144,7 +144,8 @@ object AccountDataArchiveProcessor {
|
||||
chatColorId = chatColors?.id?.takeIf { it.isValid(exportState) } ?: ChatColors.Id.NotSet,
|
||||
chatWallpaper = chatWallpaper,
|
||||
backupMode = exportState.backupMode
|
||||
)
|
||||
),
|
||||
allowAutomaticKeyVerification = signalStore.settingsValues.automaticVerificationEnabled
|
||||
),
|
||||
donationSubscriberData = donationSubscriber?.toSubscriberData(signalStore.inAppPaymentValues.isDonationSubscriptionManuallyCancelled()),
|
||||
backupsSubscriberData = backupSubscriberRecord?.toIAPSubscriberData(),
|
||||
@@ -154,7 +155,8 @@ object AccountDataArchiveProcessor {
|
||||
navigationBarSize = signalStore.settingsValues.useCompactNavigationBar.toRemoteNavigationBarSize()
|
||||
).takeUnless { Environment.IS_INSTRUMENTATION && SignalStore.backup.importedEmptyAndroidSettings },
|
||||
bioText = selfRecord.about ?: "",
|
||||
bioEmoji = selfRecord.aboutEmoji ?: ""
|
||||
bioEmoji = selfRecord.aboutEmoji ?: "",
|
||||
keyTransparencyData = selfRecord.keyTransparencyData?.toByteString()
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -243,6 +245,8 @@ object AccountDataArchiveProcessor {
|
||||
SignalStore.account.usernameLink = null
|
||||
}
|
||||
|
||||
SignalDatabase.recipients.setKeyTransparencyData(Recipient.self().aci.get(), accountData.keyTransparencyData?.toByteArray())
|
||||
|
||||
SignalDatabase.runPostSuccessfulTransaction { ProfileUtil.handleSelfProfileKeyChange() }
|
||||
|
||||
Recipient.self().live().refresh()
|
||||
@@ -271,6 +275,7 @@ object AccountDataArchiveProcessor {
|
||||
SignalStore.settings.sentMediaQuality = settings.defaultSentMediaQuality.toLocalSentMediaQuality()
|
||||
SignalStore.settings.setTheme(settings.appTheme.toLocalTheme())
|
||||
SignalStore.settings.setCallDataMode(settings.callsUseLessDataSetting.toLocalCallDataMode())
|
||||
SignalStore.settings.automaticVerificationEnabled = settings.allowAutomaticKeyVerification
|
||||
|
||||
if (settings.autoDownloadSettings != null) {
|
||||
val mobileAndWifiDownloadSet = settings.autoDownloadSettings.toLocalAutoDownloadSet(AccountData.AutoDownloadSettings.AutoDownloadOption.WIFI_AND_CELLULAR)
|
||||
|
||||
Reference in New Issue
Block a user