From 1d023b0372123124a4512799c62666d11b08ef91 Mon Sep 17 00:00:00 2001 From: Thialfihar Date: Wed, 2 Jun 2010 10:45:26 +0000 Subject: [PATCH] betterly store the information that the intent demands an immediate return, check action equality without verbose null checks --- .../android/apg/DecryptActivity.java | 15 ++++++----- .../android/apg/EncryptActivity.java | 26 ++++++++++--------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/org/thialfihar/android/apg/DecryptActivity.java b/src/org/thialfihar/android/apg/DecryptActivity.java index 34970f7a5..99954d752 100644 --- a/src/org/thialfihar/android/apg/DecryptActivity.java +++ b/src/org/thialfihar/android/apg/DecryptActivity.java @@ -58,6 +58,7 @@ public class DecryptActivity extends BaseActivity { private Intent mIntent; + private boolean mReturnResult = false; private String mReplyTo = null; private String mSubject = null; private boolean mSignedOnly = false; @@ -160,7 +161,7 @@ public class DecryptActivity extends BaseActivity { } mIntent = getIntent(); - if (mIntent.getAction() != null && mIntent.getAction().equals(Intent.ACTION_VIEW)) { + if (Intent.ACTION_VIEW.equals(mIntent.getAction())) { Uri uri = mIntent.getData(); try { InputStream attachment = getContentResolver().openInputStream(uri); @@ -178,7 +179,7 @@ public class DecryptActivity extends BaseActivity { } catch (IOException e) { // ignore, then } - } else if (mIntent.getAction() != null && mIntent.getAction().equals(Intent.ACTION_SEND)) { + } else if (Intent.ACTION_SEND.equals(mIntent.getAction())) { Bundle extras = mIntent.getExtras(); if (extras == null) { extras = new Bundle(); @@ -191,7 +192,7 @@ public class DecryptActivity extends BaseActivity { if (mSubject.startsWith("Fwd: ")) { mSubject = mSubject.substring(5); } - } else if (mIntent.getAction() != null && mIntent.getAction().equals(Apg.Intent.DECRYPT)) { + } else if (Apg.Intent.DECRYPT.equals(mIntent.getAction())) { Bundle extras = mIntent.getExtras(); if (extras == null) { extras = new Bundle(); @@ -217,13 +218,13 @@ public class DecryptActivity extends BaseActivity { } mReplyTo = extras.getString(Apg.EXTRA_REPLY_TO); mSubject = extras.getString(Apg.EXTRA_SUBJECT); - } else if (mIntent.getAction() != null && mIntent.getAction().equals(Apg.Intent.DECRYPT_FILE)) { + } else if (Apg.Intent.DECRYPT_FILE.equals(mIntent.getAction())) { mSource.setInAnimation(null); mSource.setOutAnimation(null); while (mSource.getCurrentView().getId() != R.id.sourceFile) { mSource.showNext(); } - } else if (mIntent.getAction() != null && mIntent.getAction().equals(Apg.Intent.DECRYPT_AND_RETURN)) { + } else if (Apg.Intent.DECRYPT_AND_RETURN.equals(mIntent.getAction())) { Bundle extras = mIntent.getExtras(); if (extras == null) { extras = new Bundle(); @@ -249,6 +250,7 @@ public class DecryptActivity extends BaseActivity { } mReplyTo = extras.getString(Apg.EXTRA_REPLY_TO); mSubject = extras.getString(Apg.EXTRA_SUBJECT); + mReturnResult = true; } if (mSource.getCurrentView().getId() == R.id.sourceMessage && @@ -588,8 +590,7 @@ public class DecryptActivity extends BaseActivity { mSignatureLayout.setVisibility(View.VISIBLE); } - if (mIntent.getAction() != null && - mIntent.getAction().equals(Apg.Intent.DECRYPT_AND_RETURN)) { + if (mReturnResult) { Intent intent = new Intent(); intent.putExtras(data); setResult(RESULT_OK, intent); diff --git a/src/org/thialfihar/android/apg/EncryptActivity.java b/src/org/thialfihar/android/apg/EncryptActivity.java index aaed4f8cd..3dae55cef 100644 --- a/src/org/thialfihar/android/apg/EncryptActivity.java +++ b/src/org/thialfihar/android/apg/EncryptActivity.java @@ -67,6 +67,7 @@ public class EncryptActivity extends BaseActivity { private long mEncryptionKeyIds[] = null; + private boolean mReturnResult = false; private EditText mMessage = null; private Button mSelectKeysButton = null; private Button mEncryptButton = null; @@ -266,14 +267,18 @@ public class EncryptActivity extends BaseActivity { }); mIntent = getIntent(); - if (mIntent.getAction() != null && - (mIntent.getAction().equals(Apg.Intent.ENCRYPT) || - mIntent.getAction().equals(Apg.Intent.ENCRYPT_FILE) || - mIntent.getAction().equals(Apg.Intent.ENCRYPT_AND_RETURN))) { + if (Apg.Intent.ENCRYPT.equals(mIntent.getAction()) || + Apg.Intent.ENCRYPT_FILE.equals(mIntent.getAction()) || + Apg.Intent.ENCRYPT_AND_RETURN.equals(mIntent.getAction())) { Bundle extras = mIntent.getExtras(); if (extras == null) { extras = new Bundle(); } + + if (Apg.Intent.ENCRYPT_AND_RETURN.equals(mIntent.getAction())) { + mReturnResult = true; + } + String data = extras.getString(Apg.EXTRA_DATA); mSendTo = extras.getString(Apg.EXTRA_SEND_TO); mSubject = extras.getString(Apg.EXTRA_SUBJECT); @@ -319,8 +324,8 @@ public class EncryptActivity extends BaseActivity { } } - if (mIntent.getAction().equals(Apg.Intent.ENCRYPT) || - mIntent.getAction().equals(Apg.Intent.ENCRYPT_AND_RETURN)) { + if (Apg.Intent.ENCRYPT.equals(mIntent.getAction()) || + Apg.Intent.ENCRYPT_AND_RETURN.equals(mIntent.getAction())) { if (data != null) { mMessage.setText(data); } @@ -329,7 +334,7 @@ public class EncryptActivity extends BaseActivity { while (mSource.getCurrentView().getId() != R.id.sourceMessage) { mSource.showNext(); } - } else if (mIntent.getAction().equals(Apg.Intent.ENCRYPT_FILE)) { + } else if (Apg.Intent.ENCRYPT_FILE.equals(mIntent.getAction())) { mSource.setInAnimation(null); mSource.setOutAnimation(null); while (mSource.getCurrentView().getId() != R.id.sourceFile) { @@ -556,9 +561,7 @@ public class EncryptActivity extends BaseActivity { } else { String message = mMessage.getText().toString(); - if (signOnly && - !(mIntent != null && - mIntent.getAction().equals(Apg.Intent.ENCRYPT_AND_RETURN))) { + if (signOnly && mReturnResult) { // fix the message a bit, trailing spaces and newlines break stuff, // because GMail sends as HTML and such things fuck up the signature, // TODO: things like "<" and ">" also fuck up the signature @@ -751,8 +754,7 @@ public class EncryptActivity extends BaseActivity { } case Id.target.email: { - if (mIntent.getAction() != null && - mIntent.getAction().equals(Apg.Intent.ENCRYPT_AND_RETURN)) { + if (mReturnResult) { Intent intent = new Intent(); intent.putExtras(data); setResult(RESULT_OK, intent);