From 3184368fa7112c170a486e69d3fd0134c3aebd4a Mon Sep 17 00:00:00 2001 From: Clark Date: Wed, 17 Jul 2024 12:11:37 -0400 Subject: [PATCH] Various backup/restore bug fixes. --- .../v2/database/CallLinkTableBackupExtensions.kt | 14 +++++++++++--- .../backup/v2/database/ChatItemImportInserter.kt | 2 ++ .../database/model/GroupCallUpdateDetailsUtil.java | 2 +- .../registration/ui/RegistrationViewModel.kt | 9 --------- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/CallLinkTableBackupExtensions.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/CallLinkTableBackupExtensions.kt index 1b506d03d7..0c2a3fc033 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/CallLinkTableBackupExtensions.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/CallLinkTableBackupExtensions.kt @@ -31,11 +31,17 @@ fun CallLinkTable.getCallLinksForBackup(): BackupCallLinkIterator { return BackupCallLinkIterator(cursor) } -fun CallLinkTable.restoreFromBackup(callLink: CallLink): RecipientId { +fun CallLinkTable.restoreFromBackup(callLink: CallLink): RecipientId? { + val rootKey: CallLinkRootKey + try { + rootKey = CallLinkRootKey(callLink.rootKey.toByteArray()) + } catch (e: Exception) { + return null + } return SignalDatabase.callLinks.insertCallLink( CallLinkTable.CallLink( recipientId = RecipientId.UNKNOWN, - roomId = CallLinkRoomId.fromCallLinkRootKey(CallLinkRootKey(callLink.rootKey.toByteArray())), + roomId = CallLinkRoomId.fromCallLinkRootKey(rootKey), credentials = CallLinkCredentials(callLink.rootKey.toByteArray(), callLink.adminKey?.toByteArray()), state = SignalCallLinkState( name = callLink.name, @@ -67,7 +73,9 @@ class BackupCallLinkIterator(private val cursor: Cursor) : Iterator