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."