diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java index 248d15ba6..457ef1ec8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java @@ -677,6 +677,19 @@ public class ProviderHelper { secretRing = getWrappedSecretKeyRing(keyRing.getMasterKeyId()).getUncached(); log(LogLevel.DEBUG, LogType.MSG_IP_PRESERVING_SECRET); progress.setProgress(LogType.MSG_IP_PRESERVING_SECRET.getMsgId(), 10, 100); + mIndent += 1; + + // Merge data from new public ring into secret one + secretRing = secretRing.merge(keyRing, mLog, mIndent); + if (secretRing == null) { + return new SaveKeyringResult(SaveKeyringResult.RESULT_ERROR, mLog); + } + + // NOTE that the info from this secret keyring will implicitly be merged into the + // new public keyring, since that one is merged with the old public keyring. + + mIndent -= 1; + } catch (NotFoundException e) { secretRing = null; } |