Add additional unauthorized KT check.

This commit is contained in:
Michelle Tang
2026-06-03 17:14:40 -04:00
parent 6872a14378
commit 1d8fbad17e
2 changed files with 7 additions and 1 deletions
@@ -167,6 +167,7 @@ import org.signal.core.util.ServiceUtil;
import org.thoughtcrime.securesms.util.RemoteConfig;
import org.thoughtcrime.securesms.util.SignalLocalMetrics;
import org.thoughtcrime.securesms.util.SignalProxyUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.SnapToTopDataObserver;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.adapter.mapping.PagingMappingAdapter;
@@ -436,6 +437,7 @@ public class ConversationListFragment extends MainFragment implements Conversati
}
if (SignalStore.account().isRegistered() &&
!TextSecurePreferences.isUnauthorizedReceived(requireContext()) &&
SignalStore.settings().getAutomaticVerificationEnabled() &&
SignalStore.misc().getHasKeyTransparencyFailure() &&
!SignalStore.misc().getHasSeenKeyTransparencyFailure()) {
@@ -18,6 +18,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.net.SignalNetwork
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.RemoteConfig
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.whispersystems.signalservice.api.crypto.UnidentifiedAccess
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.milliseconds
@@ -84,6 +85,9 @@ class CheckKeyTransparencyJob private constructor(
return if (!SignalStore.account.isRegistered) {
Log.i(TAG, "Account not registered. Exiting.")
false
} else if (TextSecurePreferences.isUnauthorizedReceived(AppDependencies.application)) {
Log.i(TAG, "Account is unauthorized. Exiting.")
false
} else if (!SignalStore.settings.automaticVerificationEnabled) {
Log.i(TAG, "Automatic verification disabled. Exiting.")
false
@@ -164,7 +168,7 @@ class CheckKeyTransparencyJob private constructor(
* For others, it will only show once and only be cleared on the next successful verification.
*/
private fun markFailure() {
if (SignalStore.account.isRegistered) {
if (SignalStore.account.isRegistered && !TextSecurePreferences.isUnauthorizedReceived(AppDependencies.application)) {
SignalStore.misc.hasKeyTransparencyFailure = true
if (RemoteConfig.internalUser) {
SignalStore.misc.hasSeenKeyTransparencyFailure = false