1
0
mirror of https://github.com/moparisthebest/k-9 synced 2025-01-30 14:50:14 -05:00
Go to file
Joe Steele bfb0316583 Fix fatal IndexOutOfBoundsException
The problem:

Configure the account (just an example -- problems can occur in other
configurations as well):
Message Format: HTML
Reply quoting style: Prefix
Quote message when replying: yes
Reply after quoted text: yes

Reply to a message that has a large quantity (20+) of \r\n scattered in
the body of its HTML version (not an unusual scenario).

Add a reply.  Save the message as a draft.  Go back & open the draft
again.  A fatal IndexOutOfBoundsException occurs.

The cause:

When the draft was saved, the X-K9mail-Identity header was computed and
added to the message, then the text of the message was processed with
MimeUtility.fixDraftTextBody, replacing all occurrences of \r\n with \n in
the quoted message before being saved in LocalStore, thus invalidating the
X-K9mail-Identity header.

The fix:

Remove MimeUtility.fixDraftTextBody and implement
MessageCompose$EolConvertingEditText instead.  Any message text placed in
an EolConvertingEditText widget is assured to have \n line endings.  Any
message text extracted from an EolConvertingEditText widget is assured to
have \r\n line endings.  The X-K9mail-Identity header will always be
computed correctly.

Issues thought to be related:  4782, 5010, 5634, 5725

As noted in some of the referenced issues, errors didn't always result in
a fatal exception, but instead with mixed up text.

Ref:  commit f9a35aeaee
2013-10-11 11:39:15 -04:00
assets SingleMessageView cleanup 2012-04-04 10:04:57 +02:00
compile-only-libs upgrade our android-support library in the hopes that the newer version 2013-07-17 18:36:31 -04:00
docs Added diagram that visualizes activity interactions 2011-10-27 19:13:13 +02:00
images Change appearance of unread widget 2013-03-16 01:57:21 +01:00
libs Use ADT's magic to include the necessary libraries from lib/ 2012-09-08 21:44:49 -07:00
plugins Update ckChangeLog to v1.0.0 2013-07-23 20:28:16 +02:00
res Fix fatal IndexOutOfBoundsException 2013-10-11 11:39:15 -04:00
src Fix fatal IndexOutOfBoundsException 2013-10-11 11:39:15 -04:00
tests Update the tests project. 2013-10-11 11:24:55 -04:00
tests-on-jvm Added tests on JVM. 2013-09-21 09:23:33 +09:00
tools Add script to sync localized strings.xml files with the master file 2013-07-09 17:16:23 +02:00
.gitignore Ignore Atlassian config from IntelliJ 2013-07-16 14:55:37 -07:00
.gitmodules Kill our use of submodules dead. They're too painful for new contributors 2012-11-24 17:15:01 -05:00
.project Simplify Eclipse setup. 2013-05-31 18:00:45 -04:00
ActionBarSherlock.iml IntelliJ IDEA: Update android support version per e796468256. 2013-01-09 13:24:30 -08:00
Android-PullToRefresh.iml IntelliJ IDEA: 12.0 updates. 2012-12-18 15:11:47 -08:00
Android.mk Merge ashleywillis' changes in https://github.com/k9mail/k-9/pull/97. 2011-11-14 14:00:15 -08:00
AndroidManifest.xml Bumped manifest to 4.700 2013-10-10 20:42:36 -04:00
ant.properties Upgrade to SDK 15 2012-03-11 14:31:35 -05:00
build_common.xml fixed location of ant-contrib.jar in build_common.xml when running ant from tests/. 2012-06-07 22:57:41 -05:00
build.gradle Update gradle version as required for Android Studio 0.2.x 2013-07-16 15:42:07 +02:00
build.xml Fixes for automated change log publication 2013-08-27 20:28:06 -04:00
ckChangeLog.iml IntelliJ IDEA: Project updates to drag in ckChangeLog. 2013-01-09 13:26:42 -08:00
HoloColorPicker.iml Add pom and IntelliJ configuration for HoloColorPicker 2013-01-17 02:16:24 -08:00
HTMLCLEANER_LICENSE Merge ashleywillis' changes in https://github.com/k9mail/k-9/pull/97. 2011-11-14 14:00:15 -08:00
k9mail.iml Add pom and IntelliJ configuration for HoloColorPicker 2013-01-17 02:16:24 -08:00
k9mail.ipr Add pom and IntelliJ configuration for HoloColorPicker 2013-01-17 02:16:24 -08:00
MODULE_LICENSE_APACHE2 Initial commit - This source code should be EXACTLY what the current version of the 'Email' application in the android repo looks like as of this date. 2008-10-28 01:04:44 +00:00
NOTICE Initial commit - This source code should be EXACTLY what the current version of the 'Email' application in the android repo looks like as of this date. 2008-10-28 01:04:44 +00:00
proguard.cfg Upgrade us to android-14 infrastructure 2011-10-27 12:41:24 -04:00
project.properties Update targetSdkVersion to 17 2013-05-24 22:33:09 +02:00
settings.gradle Add initial Gradle support 2013-06-28 23:59:08 +02:00