aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/thialfihar/android/apg/DecryptActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/thialfihar/android/apg/DecryptActivity.java')
-rw-r--r--src/org/thialfihar/android/apg/DecryptActivity.java24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/org/thialfihar/android/apg/DecryptActivity.java b/src/org/thialfihar/android/apg/DecryptActivity.java
index 1d3510c5a..58db77c83 100644
--- a/src/org/thialfihar/android/apg/DecryptActivity.java
+++ b/src/org/thialfihar/android/apg/DecryptActivity.java
@@ -41,6 +41,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.Message;
import android.text.ClipboardManager;
+import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
@@ -151,6 +152,13 @@ public class DecryptActivity extends BaseActivity {
mDeleteAfter = (CheckBox) findViewById(R.id.delete_after_decryption);
+ // default: message source
+ mSource.setInAnimation(null);
+ mSource.setOutAnimation(null);
+ while (mSource.getCurrentView().getId() != R.id.source_message) {
+ mSource.showNext();
+ }
+
Intent intent = getIntent();
if (intent.getAction() != null && intent.getAction().equals(Intent.ACTION_VIEW)) {
Uri uri = intent.getData();
@@ -196,12 +204,23 @@ public class DecryptActivity extends BaseActivity {
}
mReplyTo = extras.getString("replyTo");
mSubject = extras.getString("subject");
+ } else if (intent.getAction() != null && intent.getAction().equals(Apg.Intent.DECRYPT_FILE)) {
+ mSource.setInAnimation(null);
+ mSource.setOutAnimation(null);
+ while (mSource.getCurrentView().getId() != R.id.source_file) {
+ mSource.showNext();
+ }
}
- if (mMessage.getText().length() == 0) {
+ Log.e("err?", "" + mSource.getCurrentView().getId() + " " + R.id.source_message + " " + mMessage.getText().length());
+ if (mSource.getCurrentView().getId() == R.id.source_message &&
+ mMessage.getText().length() == 0) {
ClipboardManager clip = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
String data = "";
Matcher matcher = Apg.PGP_MESSAGE.matcher(clip.getText());
+ if (!matcher.matches()) {
+ matcher = Apg.PGP_SIGNED_MESSAGE.matcher(clip.getText());
+ }
if (matcher.matches()) {
data = matcher.group(1);
mMessage.setText(data);
@@ -226,7 +245,8 @@ public class DecryptActivity extends BaseActivity {
});
mReplyButton.setVisibility(View.INVISIBLE);
- if (mMessage.getText().length() > 0) {
+ if (mSource.getCurrentView().getId() == R.id.source_message &&
+ mMessage.getText().length() > 0) {
mDecryptButton.performClick();
}