From 473866baaf5c736de74cc8b95f8acc84631c1043 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 30 Jun 2015 15:37:02 +0200 Subject: instrument: add test for empty clipboard, fix empty clipboard error --- .../keychain/ui/MiscCryptOperationTests.java | 15 +++++++++++++++ .../keychain/ui/EncryptDecryptOverviewFragment.java | 6 ++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscCryptOperationTests.java b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscCryptOperationTests.java index 96d69e833..7b4506986 100644 --- a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscCryptOperationTests.java +++ b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscCryptOperationTests.java @@ -23,6 +23,9 @@ import java.io.File; import android.annotation.TargetApi; import android.app.Activity; import android.app.Instrumentation.ActivityResult; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build.VERSION_CODES; @@ -143,6 +146,18 @@ public class MiscCryptOperationTests { } + @Test + public void testDecryptEmptyClipboard() throws Exception { + + // decrypt any non-pgp file + ClipboardManager clipboard = (ClipboardManager) mActivity.getSystemService(Context.CLIPBOARD_SERVICE); + clipboard.setPrimaryClip(ClipData.newPlainText("", "")); + + onView(withId(R.id.decrypt_from_clipboard)).perform(click()); + checkSnackbar(Style.ERROR, R.string.error_clipboard_empty); + + } + @Test public void testDecryptNonPgpClipboard() throws Exception { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java index 44ca50e6c..779b22535 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java @@ -29,6 +29,7 @@ import android.os.Build; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -108,8 +109,9 @@ public class EncryptDecryptOverviewFragment extends Fragment { } final CharSequence clipboardText = ClipboardReflection.getClipboardText(activity); - if (clipboardText == null) { - Notify.create(activity, R.string.error_clipboard_empty, Style.ERROR); + if (clipboardText == null || TextUtils.isEmpty(clipboardText)) { + Notify.create(activity, R.string.error_clipboard_empty, Style.ERROR).show(); + return; } Intent clipboardDecrypt = new Intent(getActivity(), DecryptActivity.class); -- cgit v1.2.3