Improved errors

This commit is contained in:
str4d
2014-08-30 09:37:30 +00:00
parent 85039f7bbf
commit cb34f8cf30
4 changed files with 44 additions and 22 deletions

View File

@@ -312,21 +312,11 @@ public class NewEmailFragment extends Fragment {
Address[] rcpts = email.getAllRecipients();
if (rcpts == null || rcpts.length == 0) {
// No recipients
DialogFragment df = new DialogFragment() {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.add_one_recipient)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
return builder.create();
}
};
df.show(getActivity().getSupportFragmentManager(), "norecipients");
mRecipients.setError(getActivity().getString(R.string.add_one_recipient));
mRecipients.requestFocus();
return false;
} else {
mRecipients.setError(null);
}
email.setSubject(mSubject.getText().toString(), "UTF-8");

View File

@@ -136,6 +136,15 @@ public class EditContactFragment extends EditPictureFragment {
String destination = mDestinationField.getText().toString();
String text = mTextField.getText().toString();
// Check fields
if (destination.isEmpty()) {
mDestinationField.setError(getActivity().getString(R.string.this_field_is_required));
mDestinationField.requestFocus();
return true;
} else {
mDestinationField.setError(null);
}
mError.setText("");
try {
@@ -144,8 +153,15 @@ public class EditContactFragment extends EditPictureFragment {
if (mDestination == null) // Only set if adding new contact
getActivity().setResult(Activity.RESULT_OK);
getActivity().finish();
} else
mError.setText(err);
} else {
if (err.startsWith("No Email Destination found in string:") ||
err.startsWith("Not a valid Email Destination:")) {
mDestinationField.setError(getActivity().getString(R.string.not_a_valid_bote_address));
mDestinationField.requestFocus();
} else {
mError.setText(err);
}
}
} catch (PasswordException e) {
// TODO Auto-generated catch block
e.printStackTrace();

View File

@@ -190,13 +190,24 @@ public abstract class IdentityShipFragment extends Fragment {
if (encrypt) {
password = mPassword.getText().toString();
String confirmPassword = mConfirmPassword.getText().toString();
if (password.isEmpty()) {
mError.setText(R.string.password_empty);
mPassword.setError(getActivity().getString(R.string.this_field_is_required));
mPassword.requestFocus();
return;
} else
mPassword.setError(null);
if (confirmPassword.isEmpty()) {
mConfirmPassword.setError(getActivity().getString(R.string.this_field_is_required));
mConfirmPassword.requestFocus();
return;
} else if (!password.equals(confirmPassword)) {
mError.setText(R.string.passwords_do_not_match);
mConfirmPassword.setError(getActivity().getString(R.string.passwords_do_not_match));
mConfirmPassword.requestFocus();
return;
}
} else
mConfirmPassword.setError(null);
}
File exportFile = new File(Environment.getExternalStoragePublicDirectory(
@@ -204,9 +215,13 @@ public abstract class IdentityShipFragment extends Fragment {
), exportFilename + suffix);
if (exportFile.exists()) {
// TODO ask to rename or overwrite
mError.setText(R.string.file_exists);
mExportFilename.setError(getActivity().getString(R.string.file_exists));
mExportFilename.requestFocus();
return;
} else
exportIdentities(exportFile, password);
mExportFilename.setError(null);
exportIdentities(exportFile, password);
}
});
}

View File

@@ -131,6 +131,7 @@
<string name="failed_to_read_email_destination_file">Failed to read Email Destination file.</string>
<string name="could_not_find_email_destination_file">Could not find Email Destination file.</string>
<string name="save_contact">Save contact</string>
<string name="not_a_valid_bote_address">This is not a valid Bote address</string>
<string name="delete_contact">Delete contact?</string>
<string name="network_info_unavailable">Network information is not available because Bote hasn\'t started connecting to the network yet.</string>
<string name="network_info_unavailable_delay">Bote is waiting for the I2P router to start up and be ready.</string>
@@ -183,7 +184,6 @@
<string name="delete_identity">Delete identity?</string>
<string name="identity_saved">Identity saved</string>
<string name="export_identities">Export identities</string>
<string name="password_empty">Password is empty</string>
<string name="passwords_do_not_match">Passwords do not match</string>
<string name="file_exists">File exists</string>
<string name="exporting_identities">Exporting identities</string>
@@ -193,5 +193,6 @@
<string name="no_identities_found">No identities were found.</string>
<string name="no_identities_found_maybe_encrypted">No identities were found. Is the file encrypted?</string>
<string name="identities_imported">Identities imported</string>
<string name="this_field_is_required">This field is required</string>
</resources>