diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java
index 9bf106788..2f8a2cc7a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java
@@ -24,6 +24,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
+import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -105,23 +106,29 @@ public class ImportKeysFileFragment extends Fragment {
Uri.fromFile(Constants.Path.APP_DIR), "*/*", false, REQUEST_CODE_FILE);
return true;
case R.id.menu_import_keys_file_paste:
- CharSequence clipboardText = ClipboardReflection.getClipboardText(getActivity());
- String sendText = "";
- if (clipboardText != null) {
- sendText = clipboardText.toString();
- sendText = PgpHelper.getPgpKeyContent(sendText);
- if (sendText == null) {
- Notify.create(mActivity, R.string.error_bad_data, Style.ERROR).show();
- } else {
- mCallback.loadKeys(new BytesLoaderState(sendText.getBytes(), null));
- }
- }
+ importFromClipboard();
return true;
}
return super.onOptionsItemSelected(item);
}
+ private void importFromClipboard() {
+ CharSequence clipboardText = ClipboardReflection.getClipboardText(getActivity());
+ if (TextUtils.isEmpty(clipboardText)) {
+ Notify.create(mActivity, R.string.error_clipboard_empty, Style.ERROR).show();
+ return;
+ }
+
+ String keyText = PgpHelper.getPgpPublicKeyContent(clipboardText);
+ if (keyText == null) {
+ Notify.create(mActivity, R.string.error_clipboard_bad, Style.ERROR).show();
+ return;
+ }
+
+ mCallback.loadKeys(new BytesLoaderState(keyText.getBytes(), null));
+ }
+
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 13484be6e..7756b82e5 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -1648,6 +1648,7 @@
"Original file could not be deleted!"
"Clipboard is empty!"
"Error copying data to clipboard!"
+ "Could not read keys from clipboard!"
"Error scanning fingerprint!"
"Fingerprints did not match!"
"Expiry date is in the past!"