diff --git a/res/values/strings.xml b/res/values/strings.xml
index 66b71f2a826..6c2354bd01c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2003,12 +2003,12 @@ found in the list of installed applications.
Please enter the password again. The password must have at least 8 characters and must not contain spaces.
Please enter a name.
Please enter a name that contains only letters and numbers.
+ Unable to save the certificate. Click OK to retry.
Credential storage is enabled.
%s is added.
- Failed to add %s.
Emergency tone
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index f579b788a73..7825a5b79da 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -528,16 +528,6 @@ public class SecuritySettings extends PreferenceActivity implements
mAccessCheckBox.setChecked(false);
}
- private void addCredential() {
- String formatString = mCstorAddCredentialHelper.saveToStorage() < 0
- ? getString(R.string.cstor_add_error)
- : getString(R.string.cstor_is_added);
- String message = String.format(formatString,
- mCstorAddCredentialHelper.getName());
- Toast.makeText(SecuritySettings.this, message, Toast.LENGTH_SHORT)
- .show();
- }
-
public void onCancel(DialogInterface dialog) {
if (mCstorAddCredentialHelper != null) {
// release the object here so that it doesn't get triggerred in
@@ -590,7 +580,12 @@ public class SecuritySettings extends PreferenceActivity implements
} else if (!isCstorUnlocked()) {
showDialog(CSTOR_UNLOCK_DIALOG);
} else {
- addCredential();
+ String formatString =
+ getString(R.string.cstor_is_added);
+ String message = String.format(formatString,
+ mCstorAddCredentialHelper.getName());
+ Toast.makeText(SecuritySettings.this, message,
+ Toast.LENGTH_SHORT).show();
finish();
}
} else if (mSpecialIntent != null) {
@@ -642,6 +637,15 @@ public class SecuritySettings extends PreferenceActivity implements
mCstorAddCredentialHelper.setPassword(password);
}
+ if (mCstorAddCredentialHelper.saveToStorage() < 0) {
+ if (mCstorAddCredentialHelper.isPkcs12Keystore()) {
+ showError(R.string.cstor_password_error);
+ } else {
+ showError(R.string.cstor_storage_error);
+ }
+ return false;
+ }
+
return true;
}