diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java index e640bf89d2..15a5fc40f1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java @@ -129,6 +129,11 @@ public final class LiveRecipientCache { }); } + @AnyThread + public synchronized void clearSelf() { + localRecipientId = null; + } + @AnyThread public synchronized void clear() { recipients.clear(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/service/CodeVerificationRequest.java b/app/src/main/java/org/thoughtcrime/securesms/registration/service/CodeVerificationRequest.java index 728e23cffb..0716c9df97 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/service/CodeVerificationRequest.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/service/CodeVerificationRequest.java @@ -186,12 +186,14 @@ public final class CodeVerificationRequest { TextSecurePreferences.setLocalNumber(context, credentials.getE164number()); TextSecurePreferences.setLocalUuid(context, uuid); + ApplicationDependencies.getRecipientCache().clearSelf(); + TextSecurePreferences.setFcmToken(context, fcmToken); TextSecurePreferences.setFcmDisabled(context, !present); TextSecurePreferences.setWebsocketRegistered(context, true); DatabaseFactory.getIdentityDatabase(context) - .saveIdentity(Recipient.self().getId(), + .saveIdentity(selfId, identityKey.getPublicKey(), IdentityDatabase.VerifiedStatus.VERIFIED, true, System.currentTimeMillis(), true);