mirror of
https://github.com/moparisthebest/k-9
synced 2025-01-13 06:38:05 -05:00
split apart onCreate into bite-sized pieces
This commit is contained in:
parent
43e3e860f8
commit
570dbf7126
@ -741,40 +741,14 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
public void onCreate(Bundle icicle)
|
public void onCreate(Bundle icicle)
|
||||||
{
|
{
|
||||||
super.onCreate(icicle, false);
|
super.onCreate(icicle, false);
|
||||||
|
|
||||||
mContacts = Contacts.getInstance(this);
|
mContacts = Contacts.getInstance(this);
|
||||||
|
|
||||||
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
|
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
|
||||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||||
|
|
||||||
setContentView(R.layout.message_view);
|
setContentView(R.layout.message_view);
|
||||||
|
|
||||||
mHeaderContainer = (LinearLayout)findViewById(R.id.header_container);
|
|
||||||
|
|
||||||
mFromView = (TextView)findViewById(R.id.from);
|
|
||||||
mToView = (TextView)findViewById(R.id.to);
|
|
||||||
mCcView = (TextView)findViewById(R.id.cc);
|
|
||||||
mToContainerView = (LinearLayout)findViewById(R.id.to_container);
|
|
||||||
mCcContainerView = (LinearLayout)findViewById(R.id.cc_container);
|
|
||||||
mSubjectView = (TextView)findViewById(R.id.subject);
|
|
||||||
defaultSubjectColor = mSubjectView.getCurrentTextColor();
|
|
||||||
|
|
||||||
mAdditionalHeadersView = (TextView)findViewById(R.id.additional_headers_view);
|
|
||||||
|
|
||||||
chip = findViewById(R.id.chip);
|
|
||||||
|
|
||||||
mDateView = (TextView)findViewById(R.id.date);
|
|
||||||
mTimeView = (TextView)findViewById(R.id.time);
|
|
||||||
mTopView = mToggleScrollView = (ToggleScrollView)findViewById(R.id.top_view);
|
|
||||||
mMessageContentView = (MessageWebView) findViewById(R.id.message_content);
|
mMessageContentView = (MessageWebView) findViewById(R.id.message_content);
|
||||||
mAccessibleMessageContentView = (AccessibleWebView) findViewById(R.id.accessible_message_content);
|
mAccessibleMessageContentView = (AccessibleWebView) findViewById(R.id.accessible_message_content);
|
||||||
|
|
||||||
mScreenReaderEnabled = isScreenReaderActive();
|
mScreenReaderEnabled = isScreenReaderActive();
|
||||||
|
|
||||||
|
|
||||||
answeredIcon = getResources().getDrawable(R.drawable.ic_mms_answered_small);
|
answeredIcon = getResources().getDrawable(R.drawable.ic_mms_answered_small);
|
||||||
|
|
||||||
|
|
||||||
if (mScreenReaderEnabled)
|
if (mScreenReaderEnabled)
|
||||||
{
|
{
|
||||||
mAccessibleMessageContentView.setVisibility(View.VISIBLE);
|
mAccessibleMessageContentView.setVisibility(View.VISIBLE);
|
||||||
@ -786,107 +760,13 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
mMessageContentView.setVisibility(View.VISIBLE);
|
mMessageContentView.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
mDecryptLayout = (View)findViewById(R.id.layout_decrypt);
|
|
||||||
mDecryptButton = (Button)findViewById(R.id.btn_decrypt);
|
|
||||||
mDecryptButton.setOnClickListener(new OnClickListener()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void onClick(View v)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
String data = null;
|
|
||||||
Part part = MimeUtility.findFirstPartByMimeType(mMessage, "text/plain");
|
|
||||||
if (part == null)
|
|
||||||
{
|
|
||||||
part = MimeUtility.findFirstPartByMimeType(mMessage, "text/html");
|
|
||||||
}
|
|
||||||
if (part != null)
|
|
||||||
{
|
|
||||||
data = MimeUtility.getTextFromPart(part);
|
|
||||||
}
|
|
||||||
mAccount.getCryptoProvider().decrypt(MessageView.this, data, mPgpData);
|
|
||||||
}
|
|
||||||
catch (MessagingException me)
|
|
||||||
{
|
|
||||||
Log.e(K9.LOG_TAG, "Unable to decrypt email.", me);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
mCryptoSignatureLayout = (LinearLayout) findViewById(R.id.crypto_signature);
|
|
||||||
mCryptoSignatureStatusImage = (ImageView) findViewById(R.id.ic_crypto_signature_status);
|
|
||||||
mCryptoSignatureUserId = (TextView) findViewById(R.id.userId);
|
|
||||||
mCryptoSignatureUserIdRest = (TextView) findViewById(R.id.userIdRest);
|
|
||||||
mCryptoSignatureLayout.setVisibility(View.INVISIBLE);
|
|
||||||
|
|
||||||
mAttachments = (LinearLayout)findViewById(R.id.attachments);
|
|
||||||
mAttachmentIcon = findViewById(R.id.attachment);
|
|
||||||
mShowPicturesSection = findViewById(R.id.show_pictures_section);
|
|
||||||
mShowPictures = false;
|
|
||||||
|
|
||||||
mDownloadRemainder = (Button)findViewById(R.id.download_remainder);
|
|
||||||
|
|
||||||
mFlagged = (CheckBox)findViewById(R.id.flagged);
|
|
||||||
mFlagged.setOnClickListener(new OnClickListener()
|
|
||||||
{
|
|
||||||
public void onClick(View v)
|
|
||||||
{
|
|
||||||
onFlag();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mMessageContentView.configure();
|
|
||||||
|
|
||||||
|
|
||||||
mFromView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewSender());
|
|
||||||
mToView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewTo());
|
|
||||||
((TextView)findViewById(R.id.to_label)).setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewTo());
|
|
||||||
mCcView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewCC());
|
|
||||||
((TextView)findViewById(R.id.cc_label)).setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewCC());
|
|
||||||
mSubjectView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewSubject());
|
|
||||||
mTimeView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewTime());
|
|
||||||
mDateView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewDate());
|
|
||||||
mAdditionalHeadersView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewAdditionalHeaders());
|
|
||||||
mAdditionalHeadersView.setVisibility(View.GONE);
|
|
||||||
mAttachments.setVisibility(View.GONE);
|
|
||||||
mAttachmentIcon.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
setOnClickListener(R.id.from);
|
|
||||||
setOnClickListener(R.id.reply);
|
|
||||||
setOnClickListener(R.id.reply_all);
|
|
||||||
setOnClickListener(R.id.delete);
|
|
||||||
setOnClickListener(R.id.forward);
|
|
||||||
setOnClickListener(R.id.next);
|
|
||||||
setOnClickListener(R.id.previous);
|
|
||||||
setOnClickListener(R.id.archive);
|
|
||||||
setOnClickListener(R.id.move);
|
|
||||||
setOnClickListener(R.id.spam);
|
|
||||||
// To show full header
|
|
||||||
setOnClickListener(R.id.header_container);
|
|
||||||
setOnClickListener(R.id.reply_scrolling);
|
|
||||||
// setOnClickListener(R.id.reply_all_scrolling);
|
|
||||||
setOnClickListener(R.id.delete_scrolling);
|
|
||||||
setOnClickListener(R.id.forward_scrolling);
|
|
||||||
setOnClickListener(R.id.next_scrolling);
|
|
||||||
setOnClickListener(R.id.previous_scrolling);
|
|
||||||
setOnClickListener(R.id.archive_scrolling);
|
|
||||||
setOnClickListener(R.id.move_scrolling);
|
|
||||||
setOnClickListener(R.id.spam_scrolling);
|
|
||||||
|
|
||||||
setOnClickListener(R.id.show_pictures);
|
|
||||||
|
|
||||||
setOnClickListener(R.id.download_remainder);
|
|
||||||
|
|
||||||
setTitle("");
|
setTitle("");
|
||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
Uri uri = intent.getData();
|
Uri uri = intent.getData();
|
||||||
|
|
||||||
if (icicle != null)
|
if (icicle != null)
|
||||||
{
|
{
|
||||||
mMessageReference = (MessageReference) icicle.getSerializable(EXTRA_MESSAGE_REFERENCE);
|
mMessageReference = (MessageReference) icicle.getSerializable(EXTRA_MESSAGE_REFERENCE);
|
||||||
mMessageReferences = (ArrayList<MessageReference>) icicle.getSerializable(EXTRA_MESSAGE_REFERENCES);
|
mMessageReferences = (ArrayList<MessageReference>) icicle.getSerializable(EXTRA_MESSAGE_REFERENCES);
|
||||||
|
|
||||||
mPgpData = (PgpData) icicle.getSerializable(STATE_PGP_DATA);
|
mPgpData = (PgpData) icicle.getSerializable(STATE_PGP_DATA);
|
||||||
updateDecryptLayout();
|
updateDecryptLayout();
|
||||||
}
|
}
|
||||||
@ -900,8 +780,13 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
List<String> segmentList = uri.getPathSegments();
|
List<String> segmentList = uri.getPathSegments();
|
||||||
if (segmentList.size() == 3)
|
if (segmentList.size() != 3)
|
||||||
{
|
{
|
||||||
|
//TODO: Use ressource to externalize message
|
||||||
|
Toast.makeText(this, "Invalid intent uri: " + uri.toString(), Toast.LENGTH_LONG).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
String accountId = segmentList.get(0);
|
String accountId = segmentList.get(0);
|
||||||
Collection<Account> accounts = Preferences.getPreferences(this).getAvailableAccounts();
|
Collection<Account> accounts = Preferences.getPreferences(this).getAvailableAccounts();
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
@ -925,25 +810,58 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
mMessageReference.accountUuid = mAccount.getUuid();
|
mMessageReference.accountUuid = mAccount.getUuid();
|
||||||
mMessageReference.folderName = segmentList.get(1);
|
mMessageReference.folderName = segmentList.get(1);
|
||||||
mMessageReference.uid = segmentList.get(2);
|
mMessageReference.uid = segmentList.get(2);
|
||||||
|
|
||||||
mMessageReferences = new ArrayList<MessageReference>();
|
mMessageReferences = new ArrayList<MessageReference>();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
//TODO: Use ressource to externalize message
|
|
||||||
Toast.makeText(this, "Invalid intent uri: " + uri.toString(), Toast.LENGTH_LONG).show();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mAccount = Preferences.getPreferences(this).getAccount(mMessageReference.accountUuid);
|
||||||
|
|
||||||
|
|
||||||
if (K9.DEBUG)
|
if (K9.DEBUG)
|
||||||
Log.d(K9.LOG_TAG, "MessageView got message " + mMessageReference);
|
Log.d(K9.LOG_TAG, "MessageView got message " + mMessageReference);
|
||||||
if (intent.getBooleanExtra(EXTRA_NEXT, false))
|
if (intent.getBooleanExtra(EXTRA_NEXT, false))
|
||||||
{
|
{
|
||||||
next.requestFocus();
|
next.requestFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setupCryptoLayout();
|
||||||
|
setupHeaderLayout();
|
||||||
|
setupButtonViews();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
displayMessage(mMessageReference);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupButtonViews()
|
||||||
|
{
|
||||||
|
setOnClickListener(R.id.from);
|
||||||
|
setOnClickListener(R.id.reply);
|
||||||
|
setOnClickListener(R.id.reply_all);
|
||||||
|
setOnClickListener(R.id.delete);
|
||||||
|
setOnClickListener(R.id.forward);
|
||||||
|
setOnClickListener(R.id.next);
|
||||||
|
setOnClickListener(R.id.previous);
|
||||||
|
setOnClickListener(R.id.archive);
|
||||||
|
setOnClickListener(R.id.move);
|
||||||
|
setOnClickListener(R.id.spam);
|
||||||
|
// To show full header
|
||||||
|
setOnClickListener(R.id.header_container);
|
||||||
|
setOnClickListener(R.id.reply_scrolling);
|
||||||
|
// setOnClickListener(R.id.reply_all_scrolling);
|
||||||
|
setOnClickListener(R.id.delete_scrolling);
|
||||||
|
setOnClickListener(R.id.forward_scrolling);
|
||||||
|
setOnClickListener(R.id.next_scrolling);
|
||||||
|
setOnClickListener(R.id.previous_scrolling);
|
||||||
|
setOnClickListener(R.id.archive_scrolling);
|
||||||
|
setOnClickListener(R.id.move_scrolling);
|
||||||
|
setOnClickListener(R.id.spam_scrolling);
|
||||||
|
setOnClickListener(R.id.show_pictures);
|
||||||
|
setOnClickListener(R.id.download_remainder);
|
||||||
|
|
||||||
|
|
||||||
// Perhaps the ScrollButtons should be global, instead of account-specific
|
// Perhaps the ScrollButtons should be global, instead of account-specific
|
||||||
mAccount = Preferences.getPreferences(this).getAccount(mMessageReference.accountUuid);
|
|
||||||
Account.ScrollButtons scrollButtons = mAccount.getScrollMessageViewButtons();
|
Account.ScrollButtons scrollButtons = mAccount.getScrollMessageViewButtons();
|
||||||
if
|
if
|
||||||
((Account.ScrollButtons.ALWAYS == scrollButtons)
|
((Account.ScrollButtons.ALWAYS == scrollButtons)
|
||||||
@ -982,7 +900,87 @@ public class MessageView extends K9Activity implements OnClickListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
displayMessage(mMessageReference);
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupHeaderLayout()
|
||||||
|
{
|
||||||
|
mAttachments = (LinearLayout) findViewById(R.id.attachments);
|
||||||
|
mAttachmentIcon = findViewById(R.id.attachment);
|
||||||
|
mShowPicturesSection = findViewById(R.id.show_pictures_section);
|
||||||
|
mShowPictures = false;
|
||||||
|
mDownloadRemainder = (Button) findViewById(R.id.download_remainder);
|
||||||
|
mMessageContentView.configure();
|
||||||
|
mHeaderContainer = (LinearLayout) findViewById(R.id.header_container);
|
||||||
|
mFromView = (TextView) findViewById(R.id.from);
|
||||||
|
mToView = (TextView) findViewById(R.id.to);
|
||||||
|
mCcView = (TextView) findViewById(R.id.cc);
|
||||||
|
mToContainerView = (LinearLayout) findViewById(R.id.to_container);
|
||||||
|
mCcContainerView = (LinearLayout) findViewById(R.id.cc_container);
|
||||||
|
mSubjectView = (TextView) findViewById(R.id.subject);
|
||||||
|
defaultSubjectColor = mSubjectView.getCurrentTextColor();
|
||||||
|
mAdditionalHeadersView = (TextView) findViewById(R.id.additional_headers_view);
|
||||||
|
chip = findViewById(R.id.chip);
|
||||||
|
mDateView = (TextView) findViewById(R.id.date);
|
||||||
|
mTimeView = (TextView) findViewById(R.id.time);
|
||||||
|
mTopView = mToggleScrollView = (ToggleScrollView) findViewById(R.id.top_view);
|
||||||
|
mFlagged = (CheckBox) findViewById(R.id.flagged);
|
||||||
|
mFlagged.setOnClickListener(new OnClickListener()
|
||||||
|
{
|
||||||
|
public void onClick(View v)
|
||||||
|
{
|
||||||
|
onFlag();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mFromView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewSender());
|
||||||
|
mToView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewTo());
|
||||||
|
((TextView) findViewById(R.id.to_label)).setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewTo());
|
||||||
|
mCcView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewCC());
|
||||||
|
((TextView) findViewById(R.id.cc_label)).setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewCC());
|
||||||
|
mSubjectView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewSubject());
|
||||||
|
mTimeView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewTime());
|
||||||
|
mDateView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewDate());
|
||||||
|
mAdditionalHeadersView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageViewAdditionalHeaders());
|
||||||
|
mAdditionalHeadersView.setVisibility(View.GONE);
|
||||||
|
mAttachments.setVisibility(View.GONE);
|
||||||
|
mAttachmentIcon.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupCryptoLayout()
|
||||||
|
{
|
||||||
|
mDecryptLayout = (View) findViewById(R.id.layout_decrypt);
|
||||||
|
mDecryptButton = (Button) findViewById(R.id.btn_decrypt);
|
||||||
|
mDecryptButton.setOnClickListener(new OnClickListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onClick(View v)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
String data = null;
|
||||||
|
Part part = MimeUtility.findFirstPartByMimeType(mMessage, "text/plain");
|
||||||
|
if (part == null)
|
||||||
|
{
|
||||||
|
part = MimeUtility.findFirstPartByMimeType(mMessage, "text/html");
|
||||||
|
}
|
||||||
|
if (part != null)
|
||||||
|
{
|
||||||
|
data = MimeUtility.getTextFromPart(part);
|
||||||
|
}
|
||||||
|
mAccount.getCryptoProvider().decrypt(MessageView.this, data, mPgpData);
|
||||||
|
}
|
||||||
|
catch (MessagingException me)
|
||||||
|
{
|
||||||
|
Log.e(K9.LOG_TAG, "Unable to decrypt email.", me);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mCryptoSignatureLayout = (LinearLayout) findViewById(R.id.crypto_signature);
|
||||||
|
mCryptoSignatureStatusImage = (ImageView) findViewById(R.id.ic_crypto_signature_status);
|
||||||
|
mCryptoSignatureUserId = (TextView) findViewById(R.id.userId);
|
||||||
|
mCryptoSignatureUserIdRest = (TextView) findViewById(R.id.userIdRest);
|
||||||
|
mCryptoSignatureLayout.setVisibility(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isScreenReaderActive()
|
private boolean isScreenReaderActive()
|
||||||
|
Loading…
Reference in New Issue
Block a user