Bug 2136283.
Because of the mSourceMessageProcessed guard, the loading after a config change
was done exclusively by the default view hierarchy save/restore.
But this default view restore does not handle WebView content,
thus affecting the quoted text.
* Create logic to detect upsyncable messages in Sent
* Note: Drafts is now local only for IMAP - no sync, either way
* Rewrite MessageController.processPendingAppend for Provider world
* Write provider message -> legacy message converter
* Fixed bug in IMAP APPEND (it was not picking the right UID for the
uploaded message.)
* Better handling of server internaldate
* Add constants for new X-Android-Body-Quoted-Part header
* Add EmailContent routines to get each of the 5 parts of the body
* Remove "Load more" from unsynced message lists
* Add toString to MimeHeader for debug support
Bug # 2097471
TODO (next CL): Upload attachments records too
Change-Id: I209182f5adc6b6696919f559e3cbbdd58b3eed3a
* Add new introText column in the Body database
* Reply/Forward put the appropriate String into this new column
* Rfc822Output uses this when required when streaming the message
Change-Id: I34602fdb3f91692c46fc8bc31ba0e6f680d445a0
* Save reference to LoadMessageTask and cancel it in onDestroy
* Check whether we've already processed the source message
before calling processSourceMessage
* Fixes#2097361 (Duplicate addresses in reply/reply all)
* Fixes NPE (not in Buganizer) related to fast orientation changes
due to duplicated background task
Change-Id: Ib8115e29c9d88db1be009df4f549f925db8a1c19
* Move creation of final reply/forward text (i.e. new text plus
the original) to Rfc822Output, where it belongs.
* Prepares the way for use of SmartForward/SmartReply in
Exchange and replying w/ multipart/alternative in SMTP
* Moved test from MessageCompose to new Rfc822OutputTests, and note
that new tests should be added (this is not a regression; there
were never enough tests here)
Change-Id: Ibefb842f47cc9223714856d99b8d4f55b55f49e3
* Define new message-loaded state "FLAG_LOADED_DELETED" (used only for
POP3, which needs to write sentinel messages that are not displayed.)
* Also renamed the other flags to make the naming more consistent.
* Tweak MessageList query generation to inhibit display of deleted
message sentinels, and MessagingController won't try to resync them.
* Clean up implementation of Controller.deleteMessage()
* Add support for move to trash to MessagingController. This operates
in three primary modes:
* POP3 local delete (no server-side interaction)
* POP3 server delete
* IMAP server delete (and copy to IMAP trash mailbox)
* Add missing implementation in provider to delete all of the attachments
for a given message
* Fix progress reporting in activities (the test for error vs. progress
was inverted, which caused progress indicators to keep spinning
after errors.)
* Fix broken account settings UI (POP3 delete policy was not persisting)
Addresses bug 2097409
TODO delete from trash / empty trash
Change-Id: I00188e6dc2093823106e009f35b68c760227c9e6
* Set reply/forward flag and sourceKey as appropriate in MessageCompose
* Update provider tests accordingly
Change-Id: I7f49d80a735314a1a38f09fbf1f234257c41af8c
* Also create a bogus account if none exists to prevent setup failure
* Fixes#2087413 (Email large tests failing with Unknown URI)
* Fixes#2097361 (Duplicate email address when replying...)
Change-Id: I9ca2ac5f98db43e9009c22421c69956440356e34
- display "saved as draft" toast for save draft.
- don't display tost for send.
- don't cancel the sender task, let it complete.
- synchronize on mDraft although not sure that it's needed.
- fix bug 2080075, reply to message without text body.
- workaround bug 2077496 by temporarilly disabling the address adapter.
- unit test for MessageCompose.buildBodyText()
- use precompiled regex
This happens in two primary cases:
1. When a very large POP message was skipped during initial sync
2. When any message was interrupted during initial sync, e.g. by
a dropped connection.
Changes:
* Added loadMessageForView and callbacks to Controller (and touched all
files with Controller listeners)
* Rewrote loadMessageForView in legacy MessagingController to work with
provider.
* Update flow in MessageView to use loadMessageForView when needed.
* Restored the use of "loading.html" and "empty.html" assets (although
I think we should replace them with simple layouts & views.)
* Some random cleanup in MessageView
Satisfies bug # 2065563
* Finish IMAP/POP sections of Controller.sendMessage
* Rewrite MessagingController.sendPendingMessagesSynchronous
* Add deleteAllAttachmentFiles to AttachmentProvider, and unit test
* Rework sendMessage callbacks and integrate into MessageList UI
* Send pending from UI
TODO:
* Find other places from which to call deleteAllAttachmentFiles
* Rewrite service logic to select and update one account at a time
* Add checkmail API to Controller, and much rework/cleanup of existing
callback API's
* Rewrite notification posting code
* Rewire connection to MessageList to be opened by notifications, to
cancel notifications, and to reset the "new message" count whenever
an account is viewed.
* Boilerplate cleanup to a lot of activities because they share the
callbacks that have had minor changes.
* Remove old push controls from Store API
In progress:
* To provide notification mechanism for EAS pushed mail
- plus unit tests.
- and some attachment refactoring.
- move PROJECTION_ID up to EmailContent.
- add index on messageKey to Attachments and Body tables.
- add missing Columns.ID field in EmailContent.
* Now attempts folder list sync for exchange
(goto folder list and click sync)
* Folder sync never seems to call our callback - bug in EAS side?
* Now attempts mailbox sync
(go to an EAS mailbox and click sync)
Also:
* Cleanup start/stop/error path for IMAP/POP as well
* Small bugfix in SyncManager.java (was calling wrong callback)
* No longer trying to set mailbox read/unread count in IMAP/POP
* Use unified callback instead of per-call callbacks
* Remove per-call tag
* Rework MessageView to operate without tag
* Minor cleanups in service side
* Numerous classes modified to deal with this change
* Fixes bugs 1993292 and 1994671
* Renamed various setter and getter methods to reflect the underlying
field names
* Renamed syncFrequency to syncInterval in Account and Mailbox
* Convenience method added to AccountSettings to save only user settings
* Calls to content.update(context, content.toContentValues()), which save
all fields, should be double-checked for correctness, making sure that
content has current data and will not conflict with other threads that
might modify that data
* Ran all unit tests to confirm proper function
NOTE: The logic to enforce single default account no longer works,
because that logic is in Account.save() and does not run via
Account.update(). I have patched out a small section of the relevant unit
test and will file a bug to come back for this fix.
* Remove all references to Account.mIsDefault, which was not the right
way to find the default account (it is lazy initialized)
* Change Account.getDefaultAccount to getDefaultAccountId, which is more
efficient and suitable in most uses.
* Wrote unit tests for provider default account handling
This should resolve bug 1983390 as well as a few other issues with default
account management.
* Move relevant sources & resources to new name
* Convert from ListView to ExpandableListView
* No children yet - selecting account simply jumps to FML (temp)
* No other change to functionality (e.g. no menu changes yet)
* Generate compatibility UUID early enough to stick, so our localstore
db's are created correctly and not recreated over and over again.
* Compose menu items working
* Fix single-account mode (go straight to inbox)
* Lightweight Account projections where possible
* Properly show/hide default account checkbox (during new acct screens)
What works:
* All unit tests
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes
* Viewing messages
* Composing messages
What breaks (in approx order of planned fixes)
* Some details of account editing
* Import of existing accounts
What works:
* Unit tests, except for com.android.email.activity.setup.*
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes
What breaks (in approx order of planned fixes)
* Unit tests in com.android.email.activity.setup.*
* Viewing messages
* Composing messages
* Some details of account editing
* Import of existing accounts
Merge commit 'a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03'
* commit 'a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03':
AI 149664: Move escapeChar from MessageView to EmailHtmlUtil.
Merge commit '23a27697963642d6450b70dd83709492c1bdde72'
* commit '23a27697963642d6450b70dd83709492c1bdde72':
AI 149607: Add relevant title to attachment file chooser.