From 04813fe345e66acb021918b6a0be5af7e105e777 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 9 Mar 2026 14:07:47 -0400 Subject: [PATCH] Sync education sheet seen status for admin delete. --- .../backupTests/account_data_00.binproto | Bin 298 -> 296 bytes .../backupTests/account_data_01.binproto | Bin 673 -> 704 bytes .../backupTests/account_data_02.binproto | Bin 703 -> 674 bytes .../backupTests/account_data_03.binproto | Bin 725 -> 726 bytes .../backupTests/account_data_04.binproto | Bin 571 -> 599 bytes .../backupTests/account_data_05.binproto | Bin 768 -> 742 bytes .../backupTests/account_data_06.binproto | Bin 590 -> 588 bytes .../backupTests/account_data_07.binproto | Bin 553 -> 584 bytes .../backupTests/account_data_08.binproto | Bin 512 -> 483 bytes .../backupTests/account_data_09.binproto | Bin 480 -> 481 bytes .../backupTests/account_data_10.binproto | Bin 475 -> 503 bytes .../backupTests/account_data_11.binproto | Bin 617 -> 591 bytes .../backupTests/account_data_12.binproto | Bin 379 -> 377 bytes .../backupTests/account_data_13.binproto | Bin 574 -> 605 bytes .../backupTests/account_data_14.binproto | Bin 548 -> 519 bytes .../backupTests/account_data_15.binproto | Bin 547 -> 548 bytes .../backupTests/account_data_16.binproto | Bin 419 -> 447 bytes .../backupTests/account_data_17.binproto | Bin 619 -> 593 bytes .../backupTests/account_data_18.binproto | Bin 388 -> 386 bytes .../backupTests/account_data_19.binproto | Bin 551 -> 582 bytes .../backupTests/account_data_20.binproto | Bin 489 -> 460 bytes .../backupTests/account_data_21.binproto | Bin 550 -> 551 bytes .../backupTests/account_data_22.binproto | Bin 478 -> 506 bytes .../backupTests/account_data_23.binproto | Bin 638 -> 612 bytes .../backupTests/account_data_24.binproto | Bin 377 -> 375 bytes .../backupTests/account_data_25.binproto | Bin 551 -> 582 bytes .../backupTests/account_data_26.binproto | Bin 549 -> 520 bytes .../backupTests/account_data_27.binproto | Bin 481 -> 482 bytes .../processor/AccountDataArchiveProcessor.kt | 7 ++++- .../securesms/keyvalue/UiHintValues.java | 9 ++++++ .../storage/AccountRecordProcessor.kt | 1 + .../securesms/storage/StorageSyncHelper.kt | 5 +++ .../securesms/util/DeleteDialog.kt | 29 ++++++++++++------ app/src/main/protowire/Backup.proto | 1 + .../src/main/protowire/StorageService.proto | 1 + 35 files changed, 43 insertions(+), 10 deletions(-) diff --git a/app/src/androidTest/assets/backupTests/account_data_00.binproto b/app/src/androidTest/assets/backupTests/account_data_00.binproto index 3186ce974734e2ad63f0f2f07cea78058e2bdadd..9f3ca718a3be3e933be8aace5135e1b4339a3d51 100644 GIT binary patch delta 42 ycmZ3*w1R1ZAIoY+t`!r5x+EkrOH(qF6O%Ga6!Mcxi;7ZGXVfX8xQgT delta 44 zcmZ3%w2EnhAIn-su2mC*x}>Bs)ARC65*0E_Q!!8ic*VGCw?&j0AY&| A%m4rY diff --git a/app/src/androidTest/assets/backupTests/account_data_01.binproto b/app/src/androidTest/assets/backupTests/account_data_01.binproto index 3f1b5a506631b3761a980d7b10c80f55bfec67e2..4c59bbfb415755c1f47ffe58435737849adde39d 100644 GIT binary patch delta 94 zcmZ3;dVqC;AIo7Dt^*T;4l{n5EXMf3wSkE-ip|i-*u>N<%c3|lFTFG;vsfW5F()Te sA+;#KSfL=ls3>0{C9xngskB%jH?;&v7Nq7SmVo&sKsrBfvJO)z05G2+_y7O^ delta 63 zcmX@Wx{!5(AIlOJu7wkW4l}-=EXMdjEsD+1$k@cxEK4RgQ=vFBFTFG;vsfW5F()Te TA+;#KSfL=ls3?E3H&ZD9y2TbA diff --git a/app/src/androidTest/assets/backupTests/account_data_02.binproto b/app/src/androidTest/assets/backupTests/account_data_02.binproto index 1261027d243dbb51308fc111f7f267d7d639524a..d33e90f5795301ff8fc3214335a6567b6585d5ef 100644 GIT binary patch delta 21 dcmdnbx`=gxAInk}u0n3?3va#Kr6ixmn|^AbxklYp!eAf2D5P?lMgS*$QQjL8Q8 Dz84Xt diff --git a/app/src/androidTest/assets/backupTests/account_data_03.binproto b/app/src/androidTest/assets/backupTests/account_data_03.binproto index 724edefba1f495dc4c8e8886dd530df06e312fcf..d16c38c972060cad747b7572055524a26a0b5489 100644 GIT binary patch delta 55 zcmcc0dX060AInV^u4@y67BEiO_?eH9sex${lcR)0W@$=ha$-_ui9&vIX;D#XQEG`o LYEI_lXr?LvIQbM3 delta 55 zcmcb{dX;s8AIl9EuB#J+7BKd1{LIHVnT5$gN-8rwFTW&FA+t0kGdVFSvqT|3xwNP# LwJ3FR3{w>VKOz)n diff --git a/app/src/androidTest/assets/backupTests/account_data_04.binproto b/app/src/androidTest/assets/backupTests/account_data_04.binproto index 0d673310e0eb74441d82a54d2ce6f53c36221beb..1c105ab3d0f1da863ece65b1246bd66001a0e3d4 100644 GIT binary patch delta 77 zcmdnZa-C&@AImLfuIn3vCNWxC6ldn8m*!*^E2JgnMPbkQ8c delta 49 zcmcc4vYTasAIm;wuH74hCNav&g;#waH!mSQpi0CV#X A^#A|> delta 32 ocmX@Za*kz!AIn8%u5%lM)-iHOWv1ulmn14oW@HkcEXiaH0KUTtF#rGn diff --git a/app/src/androidTest/assets/backupTests/account_data_07.binproto b/app/src/androidTest/assets/backupTests/account_data_07.binproto index 543723762e043f571f60c7a2090910a70b2262f8..d0f2e351fea1dff54d734279ac6d50807403ebc8 100644 GIT binary patch delta 75 zcmZ3vyt diff --git a/app/src/androidTest/assets/backupTests/account_data_08.binproto b/app/src/androidTest/assets/backupTests/account_data_08.binproto index 3372a0cca9c82e0240f6743727fc5bcf50da17bf..aeffa78d3fd90997ff8d3748a0be4f4f4e52cdc3 100644 GIT binary patch delta 22 ecmZo*dCWY)kM$W7*JGxQ!S;-dl9M+u1^@t7)CU&; delta 51 zcmaFN+`uxykF}YZtATlAusx%kS#D}cX|X~PIgnA9MIkjOb8<3cEdVff4JZHr delta 54 zcmaFJ{D66aAIoDVt_Kr?Vi=1jt}mXf%BU_Sm6@KGUy`VhS(=iWoS2kZqL80lT2z!; KlsY+uu@(R@GZa4n diff --git a/app/src/androidTest/assets/backupTests/account_data_10.binproto b/app/src/androidTest/assets/backupTests/account_data_10.binproto index a1ba413e9810213ac22163afc276c20f9eafb49c..990e8a1656593b73f988f4b78527320c0a423b81 100644 GIT binary patch delta 57 zcmcc3{GEA%AImQ$uJ0RzEEyRsCigQ+$}6NK7Gx%s7AxeYmH^3u)V#zJFuw#y=jTmc H!DtKsT6+}e delta 28 kcmey)e4BZKAIm)^uG<@fEE!p3ax)bs_b^IMKEh}W0G7oGmjD0& diff --git a/app/src/androidTest/assets/backupTests/account_data_11.binproto b/app/src/androidTest/assets/backupTests/account_data_11.binproto index 3204db3c3a2eb2f71fc6158eb55be4e2c1dab559..1a89d507fb6c97da9742d834d5757f2411d9d744 100644 GIT binary patch delta 33 pcmaFKa-L;^AIl|XuJaRvb~9E_=3}g2YG9h&%4oqTIr%nY9{|pQ3vmDd delta 59 zcmX@l@{(nOAIlqNu9p*ob~9E?<^$qRMsqo{+|-iNVuga#yu^~sBp|BRuHO@bZc9mJrsw6CBr0Te!^G@0Q|iS@&Et; diff --git a/app/src/androidTest/assets/backupTests/account_data_14.binproto b/app/src/androidTest/assets/backupTests/account_data_14.binproto index 13cf9bc9996c511a6b0cb3e5e8066867b0ecd9a9..dfa24fa270684d97894b4b19f8621908958c42ee 100644 GIT binary patch delta 21 ccmZ3&(#|r$kEM&5t9@foA|s>Z(fd5I;NNkCQ!kj~FjD9bF$ELNDjg)tZa Dxd##V diff --git a/app/src/androidTest/assets/backupTests/account_data_15.binproto b/app/src/androidTest/assets/backupTests/account_data_15.binproto index 1f94e2f82296c87534e2aec86489af6b42258675..d7cf688612036a57880eead383f5f0c4c7a4b528 100644 GIT binary patch delta 55 zcmZ3?vV>)VAIoxPt|b$L7BH4g{9Me`z%)6PQBOi5vos|$IWZ}-L?J)9w5TYxD78c( LH79fOTE;Q}BM}r3 delta 54 zcmZ3&vY2IpAImakuEi6B7BCi1{9HUalTlYnDl7#S@siZk=lOLH=d719!OaxxWCi}H&V3i6AJ@)c4N3o?^R bixqNHOMqlSYF=Uqm|p^<^YbPbFd72@HR2pL delta 49 zcmdnbyqI}{AImZ(uEiUJ7#U?{ax)c*GxO3*b25t+(h_rWG8Iyb@{1J;@{5Y{C-*QK F0|1xE5a<8^ diff --git a/app/src/androidTest/assets/backupTests/account_data_17.binproto b/app/src/androidTest/assets/backupTests/account_data_17.binproto index 190a40715db743c41e9e2164a316e1c1ad671e7a..7e89e1addb73731483f130293ad89c12616dcb8a 100644 GIT binary patch delta 33 pcmaFOa*<_%AIlYHu8R|c_ApjY=4Y&6YG9h&#%ReXIr%PQ9{|st3x5Cr delta 59 zcmcb}@|tCWAIm#tuGbTT_ApjV<_F>~MhiK!+|-iNVuga#yu^~sBp|B diff --git a/app/src/androidTest/assets/backupTests/account_data_18.binproto b/app/src/androidTest/assets/backupTests/account_data_18.binproto index d1ec48ed14b4482a1161fad28f7c2360cd7d7e05..c62554ed61404dca45eb43c0ff5292b7419128c4 100644 GIT binary patch delta 43 ycmZo+ZepI`$I{Bg)ig2afrLb6X-Z~tVp3*_LVj{-QBi79YKcN>PUd7EMhgH#yblln delta 45 zcmZo-ZegC_$I{Nk)iN>Yfs|BcdR~4>qC#eAN@j9mQf7%lesXD1QEE}@WG_Yw0Aq*` A>Hq)$ diff --git a/app/src/androidTest/assets/backupTests/account_data_19.binproto b/app/src/androidTest/assets/backupTests/account_data_19.binproto index 2320be5aefefb1ebcc12e821a31ad12ff8b5b85b..0818c9393101eeb91c867a9b2a43c40b9759872c 100644 GIT binary patch delta 86 zcmZ3^a*SnyAInK*u45B}4l!0w7GR4C5OOE1mIELKQM%*n}ANG-}QRw&3X LD$1XHim?U&9^e!z diff --git a/app/src/androidTest/assets/backupTests/account_data_20.binproto b/app/src/androidTest/assets/backupTests/account_data_20.binproto index 35ef6edbd83e1e633a6ae92c0e04e58196689fee..2ebcf9db93e2a68f10ca06da3db844561f7f0cd4 100644 GIT binary patch delta 21 dcmaFKe1>^~AIo_rt}`2hbQu{XC(mW{0RUD@2MquK delta 50 zcmX@Z{E~TsAIlpiu9q8wbQ$H$a#Kr6ixmn|^AbxklYp!eAf2D5P?lMgS*$R*fzby5 D;U5y2 diff --git a/app/src/androidTest/assets/backupTests/account_data_21.binproto b/app/src/androidTest/assets/backupTests/account_data_21.binproto index 8dd00d3677c99b9acceeb572d444e315773f3435..b3593e952143ce8fe3282c2b316fa95c4d1ba1df 100644 GIT binary patch delta 55 zcmZ3+vYcgtAImCcuH_Sh7BZGi{8G%+z%)6H(Lh2Xvos|$IWZ}-L?J)9w5TYxD78c( LH79fO2F5Y~CLt6g delta 54 zcmZ3^vW#VdAInN+u4NO07BUu3{8BtQi&0-nDlhwdGi delta 28 kcmeyxe2;m8AIn1~u6rAUY#3Q&ax)bs_cKaPKF(+i0GKBUtN;K2 diff --git a/app/src/androidTest/assets/backupTests/account_data_23.binproto b/app/src/androidTest/assets/backupTests/account_data_23.binproto index 04c82c11a87791f05bdff0c32aaa0e13884dea60..1736c477c0cdfd1a721da0ae6ed36beb37eea43e 100644 GIT binary patch delta 33 pcmeyz@`PoAAIo!Qt|t?Nb~9E_=3}g2YG9h&%IL``Ir$CaBmmfS3+n&? delta 59 zcmaFD@{eVLA4?+(*T0EDyBRAc^8s-uqlcVXZfZ$su|h#=USdgR5|C8_r1SF>$})>G LixnncVw?m3nfexS diff --git a/app/src/androidTest/assets/backupTests/account_data_24.binproto b/app/src/androidTest/assets/backupTests/account_data_24.binproto index 1e18c74a71161c1d88bfe51a753d3151b9d95f83..73e07d057a218804dee37bf31ffe27d5cc0b8992 100644 GIT binary patch delta 43 zcmey#^qpyfAImRBuJ03rE=fpamZoGTCnjZ(~)0g?r&d5I-pehHAy&zro7u@nHqn;|p+ delta 61 zcmX@cvYcgtAImCcuH_Sh4l`Cv7GtbXiDEG{GB(MQ$<0(K&df_M&B-iQNK4Gg$y7)! R$}d(Z$S*3&pL~(A6aaQ6607uRScmMzZ delta 50 zcmeBRS;{iOk7Wfj*V2tanT&E~xv3?k#R>(fd5I;NNkCQ!kj~FjD9bF$ELNDjhtUTB Dy7dwS diff --git a/app/src/androidTest/assets/backupTests/account_data_27.binproto b/app/src/androidTest/assets/backupTests/account_data_27.binproto index 8208d46c484d2c6ccebda533eb7059f031491ab7..699a64a2acc9c9d78a65a87887284d6668619e1c 100644 GIT binary patch delta 55 zcmaFJ{D^siAInoFu16Dtq8ZC3t}AA0V4AGJXec3(S(=iWoS2kZqL80lT2z!;lv<*Y Lnv*#>o3RW4G>Q}V delta 54 zcmaFF{E&HqAIlRau7?wYq8W=Pt}C9b!e}5Rm6@KGUy`VhS(=iWoS2kZqL80lT2z!; KlsY+wu?zq)xfDtO diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataArchiveProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataArchiveProcessor.kt index 9a535a7cc1..dbe2ba438b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataArchiveProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/processor/AccountDataArchiveProcessor.kt @@ -145,7 +145,8 @@ object AccountDataArchiveProcessor { chatWallpaper = chatWallpaper, backupMode = exportState.backupMode ), - allowAutomaticKeyVerification = signalStore.settingsValues.automaticVerificationEnabled + allowAutomaticKeyVerification = signalStore.settingsValues.automaticVerificationEnabled, + hasSeenAdminDeleteEducationDialog = signalStore.uiHintValues.hasSeenAdminDeleteEducationDialog() ), donationSubscriberData = donationSubscriber?.toSubscriberData(signalStore.inAppPaymentValues.isDonationSubscriptionManuallyCancelled()), backupsSubscriberData = backupSubscriberRecord?.toIAPSubscriberData(), @@ -345,6 +346,10 @@ object AccountDataArchiveProcessor { if (settings.hasCompletedUsernameOnboarding) { SignalStore.uiHints.setHasCompletedUsernameOnboarding(true) } + + if (settings.hasSeenAdminDeleteEducationDialog) { + SignalStore.uiHints.setHasSeenAdminDeleteEducationDialog() + } } private fun PhoneNumberPrivacyValues.PhoneNumberSharingMode.toRemotePhoneNumberSharingMode(): AccountData.PhoneNumberSharingMode { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHintValues.java b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHintValues.java index 19efeea2c4..dba675f2ac 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHintValues.java +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHintValues.java @@ -33,6 +33,7 @@ public class UiHintValues extends SignalStoreValues { private static final String HAS_SEEN_PINNED_MESSAGE_SHEET = "uihints.has_seen_pinned_message_sheet"; private static final String HAS_SEEN_VERIFY_AUTO_SHEET = "uihints.has_seen_verify_auto_sheet"; private static final String HAS_DISMISSED_MEMBER_LABEL_ABOUT_OVERRIDE_WARNING = "uihints.has_dismissed_member_label_about_override_warning"; + private static final String HAS_SEEN_ADMIN_DELETE_EDUCATION_DIALOG = "uihints.has_seen_admin_delete_education_dialog"; UiHintValues(@NonNull KeyValueStore store) { super(store); @@ -250,4 +251,12 @@ public class UiHintValues extends SignalStoreValues { public void markMemberLabelAboutOverrideWarningDismissed() { putBoolean(HAS_DISMISSED_MEMBER_LABEL_ABOUT_OVERRIDE_WARNING, true); } + + public boolean hasSeenAdminDeleteEducationDialog() { + return getBoolean(HAS_SEEN_ADMIN_DELETE_EDUCATION_DIALOG, false); + } + + public void setHasSeenAdminDeleteEducationDialog() { + putBoolean(HAS_SEEN_ADMIN_DELETE_EDUCATION_DIALOG, true); + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.kt index 5651faf602..e3a00b8b9b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/AccountRecordProcessor.kt @@ -139,6 +139,7 @@ class AccountRecordProcessor( notificationProfileManualOverride = remote.proto.notificationProfileManualOverride backupTier = local.proto.backupTier ?: remote.proto.backupTier automaticKeyVerificationDisabled = remote.proto.automaticKeyVerificationDisabled + hasSeenAdminDeleteEducationDialog = remote.proto.hasSeenAdminDeleteEducationDialog safeSetPayments(payments?.enabled == true, payments?.entropy?.toByteArray()) safeSetSubscriber(donationSubscriberId, donationSubscriberCurrencyCode) diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.kt b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.kt index dd63d0be68..6cbbd8f421 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.kt @@ -196,6 +196,7 @@ object StorageSyncHelper { safeSetPayments(SignalStore.payments.mobileCoinPaymentsEnabled(), Optional.ofNullable(SignalStore.payments.paymentsEntropy).map { obj: Entropy -> obj.bytes }.orElse(null)) automaticKeyVerificationDisabled = !SignalStore.settings.automaticVerificationEnabled + hasSeenAdminDeleteEducationDialog = SignalStore.uiHints.hasSeenAdminDeleteEducationDialog() } return accountRecord.toSignalAccountRecord(StorageId.forAccount(storageId)).toSignalStorageRecord() @@ -264,6 +265,10 @@ object StorageSyncHelper { } SignalStore.settings.automaticVerificationEnabled = !update.new.proto.automaticKeyVerificationDisabled + if (update.new.proto.hasSeenAdminDeleteEducationDialog) { + SignalStore.uiHints.setHasSeenAdminDeleteEducationDialog() + } + if (update.new.proto.storyViewReceiptsEnabled == OptionalBool.UNSET) { SignalStore.story.viewedReceiptsEnabled = update.new.proto.readReceipts } else { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DeleteDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/util/DeleteDialog.kt index de2fbdde0b..75da828266 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DeleteDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DeleteDialog.kt @@ -10,7 +10,9 @@ import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.database.model.MessageRecord import org.thoughtcrime.securesms.jobs.MultiDeviceDeleteSyncJob import org.thoughtcrime.securesms.keyvalue.SignalStore +import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.sms.MessageSender +import org.thoughtcrime.securesms.storage.StorageSyncHelper import org.thoughtcrime.securesms.util.task.ProgressDialogAsyncTask object DeleteDialog { @@ -75,15 +77,24 @@ object DeleteDialog { } private fun handleAdminDeleteForEveryone(context: Context, messageRecords: Set, emitter: SingleEmitter>) { - MaterialAlertDialogBuilder(context) - .setTitle("${context.getString(R.string.ConversationFragment_delete_for_everyone_title)} - INTERNAL ONLY") - .setMessage(R.string.ConversationFragment_delete_for_everyone_body) - .setPositiveButton(R.string.ConversationFragment_delete_for_everyone) { _, _ -> - handleDeleteForEveryone(context = context, messageRecords = messageRecords, emitter = emitter) - } - .setNegativeButton(android.R.string.cancel) { _, _ -> emitter.onSuccess(Pair(false, false)) } - .setOnCancelListener { emitter.onSuccess(Pair(false, false)) } - .show() + if (SignalStore.uiHints.hasSeenAdminDeleteEducationDialog()) { + handleDeleteForEveryone(context = context, messageRecords = messageRecords, emitter = emitter) + } else { + MaterialAlertDialogBuilder(context) + .setTitle("${context.getString(R.string.ConversationFragment_delete_for_everyone_title)} - INTERNAL ONLY") + .setMessage(R.string.ConversationFragment_delete_for_everyone_body) + .setPositiveButton(R.string.ConversationFragment_delete_for_everyone) { _, _ -> + SignalStore.uiHints.setHasSeenAdminDeleteEducationDialog() + SignalExecutors.BOUNDED.execute { + SignalDatabase.recipients.markNeedsSync(Recipient.self().id) + StorageSyncHelper.scheduleSyncForDataChange() + } + handleDeleteForEveryone(context = context, messageRecords = messageRecords, emitter = emitter) + } + .setNegativeButton(android.R.string.cancel) { _, _ -> emitter.onSuccess(Pair(false, false)) } + .setOnCancelListener { emitter.onSuccess(Pair(false, false)) } + .show() + } } private fun handleDeleteForEveryone(context: Context, messageRecords: Set, emitter: SingleEmitter>) { diff --git a/app/src/main/protowire/Backup.proto b/app/src/main/protowire/Backup.proto index ae21f362c2..817a1d4c4f 100644 --- a/app/src/main/protowire/Backup.proto +++ b/app/src/main/protowire/Backup.proto @@ -135,6 +135,7 @@ message AccountData { CallsUseLessDataSetting callsUseLessDataSetting = 29; // If unset, treat the same as "Unknown" case bool allowSealedSenderFromAnyone = 30; bool allowAutomaticKeyVerification = 31; + bool hasSeenAdminDeleteEducationDialog = 32; } message SubscriberData { diff --git a/lib/libsignal-service/src/main/protowire/StorageService.proto b/lib/libsignal-service/src/main/protowire/StorageService.proto index 6964ea299c..d22babc235 100644 --- a/lib/libsignal-service/src/main/protowire/StorageService.proto +++ b/lib/libsignal-service/src/main/protowire/StorageService.proto @@ -296,6 +296,7 @@ message AccountRecord { NotificationProfileManualOverride notificationProfileManualOverride = 44; bool notificationProfileSyncDisabled = 45; bool automaticKeyVerificationDisabled = 46; + bool hasSeenAdminDeleteEducationDialog = 47; } message StoryDistributionListRecord {