From b6038f8ae31db99b85ed95d82109664cc44e6d57 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 25 Feb 2025 16:26:50 -0500 Subject: [PATCH] Update to the latest backup.proto --- .../backupTests/recipient_contacts_00.binproto | Bin 428 -> 453 bytes .../backupTests/recipient_contacts_01.binproto | Bin 556 -> 583 bytes .../backupTests/recipient_contacts_02.binproto | Bin 552 -> 576 bytes .../backupTests/recipient_contacts_03.binproto | Bin 540 -> 559 bytes .../backupTests/recipient_contacts_04.binproto | Bin 440 -> 459 bytes .../backupTests/recipient_contacts_05.binproto | Bin 0 -> 553 bytes .../database/RecipientTableArchiveExtensions.kt | 3 +++ .../v2/exporters/ContactArchiveExporter.kt | 3 +++ .../v2/importer/ContactArchiveImporter.kt | 5 ++++- app/src/main/protowire/Backup.proto | 3 +++ 10 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 app/src/androidTest/assets/backupTests/recipient_contacts_05.binproto diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_00.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_00.binproto index 861f5b165cbdc721e35d01e26ac7ec6f2bd14c27..342f392f528a6dfb40c8f6ef62add053c0e8e48b 100644 GIT binary patch delta 47 zcmZ3(e3W@ZCL?>aP$UP7Q0U|WMl0z_jBM_yMY)N2vlv-}@)MIY7BR90m!y`ZS}_0s DKZ delta 22 dcmX@gyoPy0CL_C(kOK#ckj>-*Mk^*O1^`7;1pxp6 diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_01.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_01.binproto index efa08a6211748a029db8e7021d17882e7d5d6ce3..a9296aa3ccaf154595d369595701a1c89d190b77 100644 GIT binary patch delta 51 zcmZ3(a-3yDCL`w^MxmRG94tatCKoa8ke$TH>X)CBm^X`&EjX_-CADY~BfD>6Nl8X( Hxf25bvbzwW delta 24 gcmX@kvW8_tCL`xTMxlL-94taRCl@j9U~*yr0ANK23jhEB diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_02.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_02.binproto index 61ff259af27eefbcc45e9cc99835f78342335c91..7c7acc84d677087edb540c54cbd95ccaa73f1261 100644 GIT binary patch delta 55 zcmV-70LcHS1i%EaX#ok<0TR*y2m}(%lX3yAA(85=0R}{6a%p30LI()1 Ioyw)FF_Y^N7ytkO delta 31 ncmZ3_GKXbDCL`xYMxk|#94taBCl@g;mF($$6lmb?l{ diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_04.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_04.binproto index 233f69b78536e460b912cb08c8cc7cab93b1894e..724a68cf22d8752dd6fb345a3e6d6e905794b72f 100644 GIT binary patch delta 41 wcmdnNe42SfCL?>IP&@~VQ1s*iMmNz}jI2TViOCs@7&*L3b23v)N>Z&D0QtHM4FCWD delta 22 dcmX@jyn}f|CL_C_kPiookjLZ#MmHua1^`Ho1w#M; diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_05.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_05.binproto new file mode 100644 index 0000000000000000000000000000000000000000..2bbbc298d9f8fae098f373a411ac862cd2e4f712 GIT binary patch literal 553 zcmea}U=+CVYr*{QhEfXsyKEj#$*x#(ig%Lc-3T4SDnN=53x$z@T~eE!J@?C1T;m9#SLhTl_rk?tZezH8@o%F+$t_T-1YmD}2wTN(wQD2D?ZwdU*l8%qYRAz^K7!z-Tc+#)&b} zi80BEG1-GLfH8tGfiZ)zfU$zHfswI;k!cnqI|rjE0|Uc<5Q_=O`VVF?i!%IY_|GQ9 z!ojG;0HT%Y_*)b{5Um7C037Bt|y( T)FPk(vl!We^D0wPi<}q$UpBwg literal 0 HcmV?d00001 diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/RecipientTableArchiveExtensions.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/RecipientTableArchiveExtensions.kt index 005542660a..d76d7eed78 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/RecipientTableArchiveExtensions.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/RecipientTableArchiveExtensions.kt @@ -46,6 +46,9 @@ fun RecipientTable.getContactsForBackup(selfId: Long): ContactArchiveExporter { "${RecipientTable.TABLE_NAME}.${RecipientTable.PROFILE_GIVEN_NAME}", "${RecipientTable.TABLE_NAME}.${RecipientTable.PROFILE_FAMILY_NAME}", "${RecipientTable.TABLE_NAME}.${RecipientTable.PROFILE_JOINED_NAME}", + "${RecipientTable.TABLE_NAME}.${RecipientTable.SYSTEM_GIVEN_NAME}", + "${RecipientTable.TABLE_NAME}.${RecipientTable.SYSTEM_FAMILY_NAME}", + "${RecipientTable.TABLE_NAME}.${RecipientTable.SYSTEM_NICKNAME}", "${RecipientTable.TABLE_NAME}.${RecipientTable.NICKNAME_GIVEN_NAME}", "${RecipientTable.TABLE_NAME}.${RecipientTable.NICKNAME_FAMILY_NAME}", "${RecipientTable.TABLE_NAME}.${RecipientTable.NOTE}", diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ContactArchiveExporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ContactArchiveExporter.kt index 4337920105..1adebe3c34 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ContactArchiveExporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ContactArchiveExporter.kt @@ -78,6 +78,9 @@ class ContactArchiveExporter(private val cursor: Cursor, private val selfId: Lon .identityState(cursor.optionalInt(IdentityTable.VERIFIED).map { IdentityTable.VerifiedStatus.forState(it) }.orElse(IdentityTable.VerifiedStatus.DEFAULT).toRemote()) .note(cursor.requireString(RecipientTable.NOTE) ?: "") .nickname(cursor.readNickname()) + .systemGivenName(cursor.requireString(RecipientTable.SYSTEM_GIVEN_NAME) ?: "") + .systemFamilyName(cursor.requireString(RecipientTable.SYSTEM_FAMILY_NAME) ?: "") + .systemNickname(cursor.requireString(RecipientTable.SYSTEM_NICKNAME) ?: "") val registeredState = RecipientTable.RegisteredState.fromId(cursor.requireInt(RecipientTable.REGISTERED)) if (registeredState == RecipientTable.RegisteredState.REGISTERED) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ContactArchiveImporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ContactArchiveImporter.kt index cac6c8cb27..74ec7920ce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ContactArchiveImporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ContactArchiveImporter.kt @@ -52,7 +52,10 @@ object ContactArchiveImporter { RecipientTable.EXTRAS to contact.toLocalExtras().encode(), RecipientTable.NOTE to contact.note, RecipientTable.NICKNAME_GIVEN_NAME to contact.nickname?.given, - RecipientTable.NICKNAME_FAMILY_NAME to contact.nickname?.family + RecipientTable.NICKNAME_FAMILY_NAME to contact.nickname?.family, + RecipientTable.SYSTEM_GIVEN_NAME to contact.systemGivenName, + RecipientTable.SYSTEM_FAMILY_NAME to contact.systemFamilyName, + RecipientTable.SYSTEM_NICKNAME to contact.systemNickname ) if (contact.registered != null) { diff --git a/app/src/main/protowire/Backup.proto b/app/src/main/protowire/Backup.proto index ca7ecb5410..d069b70aa1 100644 --- a/app/src/main/protowire/Backup.proto +++ b/app/src/main/protowire/Backup.proto @@ -177,6 +177,9 @@ message Contact { IdentityState identityState = 15; Name nickname = 16; // absent iff both `given` and `family` are empty string note = 17; + string systemGivenName = 18; + string systemFamilyName = 19; + string systemNickname = 20; } message Group {