aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-22 23:44:03 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-22 23:48:41 +0200
commit4826e0a8c89e43401a3188d7a4d51cdbfd64c37a (patch)
treea16b2c52f430f87d6061d68a2366893d6bc1f32e /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java
parent8d1dc940c4d1e864aad767e298373b02da55f556 (diff)
downloadopen-keychain-4826e0a8c89e43401a3188d7a4d51cdbfd64c37a.tar.gz
open-keychain-4826e0a8c89e43401a3188d7a4d51cdbfd64c37a.tar.bz2
open-keychain-4826e0a8c89e43401a3188d7a4d51cdbfd64c37a.zip
move select file logic into EncryptDecryptOverviewFragment
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java55
1 files changed, 17 insertions, 38 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java
index d14c8555c..4375be740 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java
@@ -17,6 +17,7 @@
package org.sufficientlysecure.keychain.ui;
+
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
@@ -33,7 +34,6 @@ import android.support.v4.app.FragmentTransaction;
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.provider.TemporaryStorageProvider;
@@ -43,13 +43,7 @@ import org.sufficientlysecure.keychain.ui.base.BaseActivity;
public class DecryptActivity extends BaseActivity {
/* Intents */
- public static final String ACTION_DECRYPT_DATA = OpenKeychainIntents.DECRYPT_DATA;
- // TODO handle this intent
- // public static final String ACTION_DECRYPT_TEXT = OpenKeychainIntents.DECRYPT_TEXT;
- public static final String ACTION_DECRYPT_FROM_CLIPBOARD = Constants.INTENT_PREFIX + "DECRYPT_DATA_CLIPBOARD";
-
- // intern
- public static final String ACTION_DECRYPT_DATA_OPEN = Constants.INTENT_PREFIX + "DECRYPT_DATA_OPEN";
+ public static final String ACTION_DECRYPT_FROM_CLIPBOARD = "DECRYPT_DATA_CLIPBOARD";
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -86,6 +80,13 @@ public class DecryptActivity extends BaseActivity {
String action = intent.getAction();
+ if (action == null) {
+ Toast.makeText(this, "Error: No action specified!", Toast.LENGTH_LONG).show();
+ setResult(Activity.RESULT_CANCELED);
+ finish();
+ return;
+ }
+
try {
switch (action) {
@@ -93,8 +94,6 @@ public class DecryptActivity extends BaseActivity {
// When sending to Keychain Decrypt via share menu
// Binary via content provider (could also be files)
// override uri to get stream from send
- action = ACTION_DECRYPT_DATA;
-
if (intent.hasExtra(Intent.EXTRA_STREAM)) {
uris.add(intent.<Uri>getParcelableExtra(Intent.EXTRA_STREAM));
} else if (intent.hasExtra(Intent.EXTRA_TEXT)) {
@@ -107,8 +106,6 @@ public class DecryptActivity extends BaseActivity {
}
case Intent.ACTION_SEND_MULTIPLE: {
- action = ACTION_DECRYPT_DATA;
-
if (intent.hasExtra(Intent.EXTRA_STREAM)) {
uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
} else if (intent.hasExtra(Intent.EXTRA_TEXT)) {
@@ -122,8 +119,6 @@ public class DecryptActivity extends BaseActivity {
}
case ACTION_DECRYPT_FROM_CLIPBOARD: {
- action = ACTION_DECRYPT_DATA;
-
ClipboardManager clipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = clipMan.getPrimaryClip();
@@ -148,11 +143,9 @@ public class DecryptActivity extends BaseActivity {
break;
}
+ // for everything else, just work on the intent data
+ case OpenKeychainIntents.DECRYPT_DATA:
case Intent.ACTION_VIEW:
- // Android's Action when opening file associated to Keychain (see AndroidManifest.xml)
- action = ACTION_DECRYPT_DATA;
-
- // fallthrough
default:
uris.add(intent.getData());
@@ -165,19 +158,15 @@ public class DecryptActivity extends BaseActivity {
return;
}
- if (ACTION_DECRYPT_DATA.equals(action)) {
- // Definitely need a data uri with the decrypt_data intent
- if (uris.isEmpty()) {
- Toast.makeText(this, "No data to decrypt!", Toast.LENGTH_LONG).show();
- setResult(Activity.RESULT_CANCELED);
- finish();
- }
- displayListFragment(uris);
+ // Definitely need a data uri with the decrypt_data intent
+ if (uris.isEmpty()) {
+ Toast.makeText(this, "No data to decrypt!", Toast.LENGTH_LONG).show();
+ setResult(Activity.RESULT_CANCELED);
+ finish();
return;
}
- boolean showOpenDialog = ACTION_DECRYPT_DATA_OPEN.equals(action);
- displayInputFragment(showOpenDialog);
+ displayListFragment(uris);
}
@@ -189,16 +178,6 @@ public class DecryptActivity extends BaseActivity {
return tempFile;
}
- public void displayInputFragment(boolean showOpenDialog) {
- DecryptFilesInputFragment frag = DecryptFilesInputFragment.newInstance(showOpenDialog);
-
- // Add the fragment to the 'fragment_container' FrameLayout
- // NOTE: We use commitAllowingStateLoss() to prevent weird crashes!
- getSupportFragmentManager().beginTransaction()
- .replace(R.id.decrypt_files_fragment_container, frag)
- .commit();
- }
-
public void displayListFragment(ArrayList<Uri> inputUris) {
DecryptListFragment frag = DecryptListFragment.newInstance(inputUris);