diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/ImportKeyResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/ImportKeyResult.java index ec9c424cf..3c07e8667 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/ImportKeyResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/ImportKeyResult.java @@ -61,6 +61,10 @@ public class ImportKeyResult extends OperationResult { return (mResult & RESULT_OK_UPDATED) == RESULT_OK_UPDATED; } + public boolean isOkWithErrors() { + return (mResult & RESULT_WITH_ERRORS) == RESULT_WITH_ERRORS; + } + public boolean isFailNothing() { return (mResult & RESULT_FAIL_NOTHING) == RESULT_FAIL_NOTHING; } @@ -129,7 +133,7 @@ public class ImportKeyResult extends OperationResult { } // New and updated keys - if (this.isOkBoth()) { + if (isOkBoth()) { str = activity.getResources().getQuantityString( R.plurals.import_keys_added_and_updated_1, mNewKeys, mNewKeys); str += " " + activity.getResources().getQuantityString( @@ -145,6 +149,13 @@ public class ImportKeyResult extends OperationResult { color = Style.RED; str = "internal error"; } + if (isOkWithErrors()) { + // definitely switch to warning-style message in this case! + duration = 0; + color = Style.RED; + str += " " + activity.getResources().getQuantityString( + R.plurals.import_keys_with_errors, mBadKeys); + } } else { duration = 0; diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 01b461316..c77c50b72 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -394,6 +394,10 @@ "Successfully updated key%2$s." "Successfully updated %1$d keys%2$s." + + "Import failed for one key." + "Import failed for %d keys." + "View Log" "Nothing to import." "Import cancelled."