diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0aa74aac75e..c8919799cea 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1990,12 +1990,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 4947c2b6865..63d88d378b4 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -516,16 +516,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
@@ -578,7 +568,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) {
@@ -630,6 +625,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;
}