final var profile = account.getProfileStore().getProfile(recipientId);
- if (recipientId.equals(account.getSelfRecipientId())) {
- final var isUnrestricted = encryptedProfile.isUnrestrictedUnidentifiedAccess();
- if (account.isUnrestrictedUnidentifiedAccess() != isUnrestricted) {
- account.setUnrestrictedUnidentifiedAccess(isUnrestricted);
- }
- }
-
Profile newProfile = null;
if (profileKey.isPresent()) {
logger.trace("Decrypting profile");
.build();
}
+ if (recipientId.equals(account.getSelfRecipientId())) {
+ final var isUnrestricted = encryptedProfile.isUnrestrictedUnidentifiedAccess();
+ if (account.isUnrestrictedUnidentifiedAccess() != isUnrestricted) {
+ account.setUnrestrictedUnidentifiedAccess(isUnrestricted);
+ }
+ if (account.isPrimaryDevice() && profile != null && newProfile.getCapabilities()
+ .contains(Profile.Capability.storageServiceEncryptionV2Capability) && !profile.getCapabilities()
+ .contains(Profile.Capability.storageServiceEncryptionV2Capability)) {
+ context.getJobExecutor().enqueueJob(new SyncStorageJob(true));
+ }
+ }
+
try {
logger.trace("Storing identity");
final var identityKey = new IdentityKey(Base64.getDecoder().decode(encryptedProfile.getIdentityKey()));