aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricFileOperationTests.java3
-rw-r--r--OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscFileOperationTests.java30
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java6
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java5
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java3
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml2
6 files changed, 35 insertions, 14 deletions
diff --git a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricFileOperationTests.java b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricFileOperationTests.java
index ad9d52ef9..cfeb04328 100644
--- a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricFileOperationTests.java
+++ b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricFileOperationTests.java
@@ -52,7 +52,6 @@ import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.typeText;
import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.contrib.DrawerActions.openDrawer;
import static android.support.test.espresso.intent.matcher.IntentMatchers.hasAction;
import static android.support.test.espresso.intent.matcher.IntentMatchers.hasCategories;
import static android.support.test.espresso.intent.matcher.IntentMatchers.hasExtra;
@@ -140,8 +139,6 @@ public class AsymmetricFileOperationTests {
handleOpenFileIntentKitKat(outputFile);
onView(withId(R.id.decrypt_files)).perform(click());
- onView(withId(R.id.decrypt_files_action_decrypt)).perform(click());
-
{ // decrypt
onView(withId(R.id.passphrase_passphrase)).perform(typeText("x"));
onView(withText(R.string.btn_unlock)).perform(click());
diff --git a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscFileOperationTests.java b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscFileOperationTests.java
index bdd96b0f0..b519ed445 100644
--- a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscFileOperationTests.java
+++ b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/MiscFileOperationTests.java
@@ -39,6 +39,7 @@ import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.TestHelpers;
import org.sufficientlysecure.keychain.compatibility.ClipboardReflection;
import org.sufficientlysecure.keychain.service.PassphraseCacheService;
+import org.sufficientlysecure.keychain.ui.util.Notify.Style;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
@@ -51,6 +52,7 @@ import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.hasItem;
+import static org.sufficientlysecure.keychain.TestHelpers.checkSnackbar;
import static org.sufficientlysecure.keychain.TestHelpers.getImageNames;
import static org.sufficientlysecure.keychain.TestHelpers.importKeysFromResource;
import static org.sufficientlysecure.keychain.TestHelpers.pickRandom;
@@ -97,8 +99,6 @@ public class MiscFileOperationTests {
handleOpenFileIntentKitKat(file);
onView(withId(R.id.decrypt_files)).perform(click());
- onView(withId(R.id.decrypt_files_action_decrypt)).perform(click());
-
{ // decrypt
// open context menu
@@ -113,6 +113,17 @@ public class MiscFileOperationTests {
}
@Test
+ public void testDecryptEmptySelection() throws Exception {
+
+ // decrypt any non-pgp file
+ handleOpenFileEmptyKitKat();
+ onView(withId(R.id.decrypt_files)).perform(click());
+
+ checkSnackbar(Style.ERROR, R.string.no_file_selected);
+
+ }
+
+ @Test
public void testDecryptNonPgpClipboard() throws Exception {
// decrypt any non-pgp file
@@ -135,6 +146,21 @@ public class MiscFileOperationTests {
@TargetApi(VERSION_CODES.KITKAT)
+ private void handleOpenFileEmptyKitKat() {
+ Intent data = new Intent();
+ data.setData(null);
+
+ Intents.intending(allOf(
+ hasAction(Intent.ACTION_OPEN_DOCUMENT),
+ hasType("*/*"),
+ hasCategories(hasItem(Intent.CATEGORY_OPENABLE))
+ // hasExtraWithKey(Intent.EXTRA_ALLOW_MULTIPLE)
+ )).respondWith(
+ new ActivityResult(Activity.RESULT_OK, data)
+ );
+ }
+
+ @TargetApi(VERSION_CODES.KITKAT)
private void handleOpenFileIntentKitKat(File file) {
Intent data = new Intent();
data.setData(Uri.fromFile(file));
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java
index 29ccb0907..c8ae867b2 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java
@@ -19,6 +19,7 @@ package org.sufficientlysecure.keychain.ui;
import java.util.ArrayList;
+import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
@@ -152,7 +153,10 @@ public abstract class DecryptFragment extends Fragment implements LoaderManager.
final ImportKeyResult result =
returnData.getParcelable(OperationResult.EXTRA_RESULT);
- result.createNotify(getActivity()).show();
+ Activity activity = getActivity();
+ if (result != null && activity != null) {
+ result.createNotify(activity).show();
+ }
getLoaderManager().restartLoader(LOADER_ID_UNIFIED, null, DecryptFragment.this);
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java
index 2742e4565..be21cdde1 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java
@@ -28,15 +28,10 @@ import android.support.v4.app.Fragment;
import android.view.View;
import android.widget.Toast;
-import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
-import org.sufficientlysecure.keychain.intents.OpenKeychainIntents;
import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult;
import org.sufficientlysecure.keychain.ui.base.BaseActivity;
-import org.sufficientlysecure.keychain.ui.util.Notify;
-import org.sufficientlysecure.keychain.ui.util.Notify.Style;
import org.sufficientlysecure.keychain.util.FileHelper;
-import org.sufficientlysecure.keychain.util.Log;
public class DisplayTextActivity extends BaseActivity {
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 566ad1d67..590d02c6f 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptDecryptOverviewFragment.java
@@ -19,7 +19,6 @@
package org.sufficientlysecure.keychain.ui;
-import java.util.ArrayList;
import java.util.regex.Matcher;
import android.app.Activity;
@@ -152,7 +151,7 @@ public class EncryptDecryptOverviewFragment extends Fragment {
if (resultCode == Activity.RESULT_OK && data != null) {
Uri uri = data.getData();
if (uri == null) {
- Notify.create(getActivity(), R.string.no_file_selected, Notify.Style.ERROR).show(this);
+ Notify.create(getActivity(), R.string.no_file_selected, Notify.Style.ERROR).show();
return;
}
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index a48e97284..c278daf09 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -221,7 +221,7 @@
<string name="file_delete_confirmation_title">"Delete original files?"</string>
<string name="file_delete_confirmation">"The following files will be deleted:%s"</string>
<string name="file_delete_successful">"%1$d out of %2$d files have been deleted.%3$s"</string>
- <string name="no_file_selected">"Select a file first."</string>
+ <string name="no_file_selected">"No file selected."</string>
<string name="encrypt_sign_successful">"Successfully signed and/or encrypted."</string>
<string name="encrypt_sign_clipboard_successful">"Successfully signed and/or encrypted to clipboard."</string>
<string name="select_encryption_key">"Select at least one encryption key."</string>