diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 485009f0d..b9c42db3f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -313,12 +313,7 @@ public class KeychainIntentService extends IntentService implements Progressable DecryptVerifyResult decryptVerifyResult = builder.build().execute(); - resultData.putParcelable(DecryptVerifyResult.EXTRA_RESULT, decryptVerifyResult); - - /* Output */ - Log.logDebugBundle(resultData, "resultData"); - - sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, resultData); + sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, decryptVerifyResult); } catch (Exception e) { sendErrorToHandler(e); } @@ -512,11 +507,7 @@ public class KeychainIntentService extends IntentService implements Progressable // If the edit operation didn't succeed, exit here if (!modifyResult.success()) { // always return SaveKeyringResult, so create one out of the EditKeyResult - SaveKeyringResult saveResult = new SaveKeyringResult( - SaveKeyringResult.RESULT_ERROR, - modifyResult.getLog(), - null); - sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, saveResult); + sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, modifyResult); return; } @@ -530,9 +521,9 @@ public class KeychainIntentService extends IntentService implements Progressable log.add(LogType.MSG_OPERATION_CANCELLED, 0); } // If so, just stop without saving - SaveKeyringResult saveResult = new SaveKeyringResult( - SaveKeyringResult.RESULT_CANCELLED, log, null); - sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, saveResult); + modifyResult = new EditKeyResult( + EditKeyResult.RESULT_CANCELLED, log, null); + sendMessageToHandler(KeychainIntentServiceHandler.MESSAGE_OKAY, modifyResult); return; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java index d65a84e5b..e3f2c1cc5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java @@ -93,6 +93,11 @@ public abstract class OperationResult implements Parcelable { } public OperationLog getLog() { + // If there is only a single entry, and it's a compound one, return that log + if (mLog.isSingleCompound()) { + return ((SubLogEntryParcel) mLog.getFirst()).getSubResult().getLog(); + } + // Otherwse, return our regular log return mLog; } @@ -644,6 +649,10 @@ public abstract class OperationResult implements Parcelable { mParcels.add(new SubLogEntryParcel(subResult, subLog.getFirst().mType, indent, subLog.getFirst().mParameters)); } + boolean isSingleCompound() { + return mParcels.size() == 1 && getFirst() instanceof SubLogEntryParcel; + } + public void clear() { mParcels.clear(); }