diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt index d89df101b1..224d2d588b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt @@ -71,6 +71,8 @@ class AdvancedPrivacySettingsViewModel( fun setAllowAutomaticVerification(enabled: Boolean) { SignalStore.settings.automaticVerificationEnabled = enabled + SignalStore.misc.hasKeyTransparencyFailure = false + SignalStore.misc.hasSeenKeyTransparencyFailure = false refresh() viewModelScope.launch(SignalDispatchers.Default) { if (!enabled) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckKeyTransparencyJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckKeyTransparencyJob.kt index ccfbc9bb3d..52343f47c9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckKeyTransparencyJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckKeyTransparencyJob.kt @@ -135,7 +135,7 @@ class CheckKeyTransparencyJob private constructor( keyTransparencyStore = KeyTransparencyStore ) - Log.i(TAG, "Key transparency complete, result: $result. Included username in check: ${Recipient.self().usernameSyncMessagesCapability.isSupported}, next check time: ${SignalStore.misc.nextKeyTransparencyTime}") + Log.i(TAG, "Key transparency complete, result: $result. Included username in check: ${Recipient.self().usernameSyncMessagesCapability.isSupported}, discoverability: ${SignalStore.phoneNumberPrivacy.phoneNumberDiscoverabilityMode}, next check time: ${SignalStore.misc.nextKeyTransparencyTime}") return when (result) { is RequestResult.Success -> { SignalStore.misc.hasKeyTransparencyFailure = false @@ -144,9 +144,10 @@ class CheckKeyTransparencyJob private constructor( } is RequestResult.NonSuccess -> { - if (!showFailure) { + if (!showFailure && !SignalStore.misc.hasKeyTransparencyFailure) { Log.w(TAG, "Verification failure. Enqueuing this job again to run again a day.") - StorageSyncJob.forRemoteChange() + AppDependencies.jobManager.add(StorageSyncJob.forRemoteChange()) + AppDependencies.jobManager.add(RefreshAttributesJob()) enqueueFollowingFailure() } else { Log.w(TAG, "Second verification failure. Showing failure sheet.")