• Home
  • History
  • Annotate
  • only in /packages/apps/Email/src/com/android/email/
History log of /packages/apps/Email/src/com/android/email/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4c13e1cf4ac82d53093c99ecedf83fee738e8af8 02-Feb-2013 Vikram Aggarwal <viki@google.com> Make subject in actionbar smaller.

Make the Alice's change to Email this time:
https://googleplex-android-review.googlesource.com/#/c/269629/1

Bug: 8124338 Email message text in action bar seems larger

Change-Id: I96a0b62d1226174d0dd47b99b1ab83e512f07bec
ctivity/ActionBarController.java
09a09623952011e72b28d0fd3e6b9845477a6a52 26-Jan-2013 Paul Westbrook <pwestbro@google.com> Use standard actionbar when possible

When displaying the message subject or the "Folders" screen,
use the standard action bar. This allows Email to use the platform's
policy for click handling

Bug: 8030707
Change-Id: I73bed259476d73ed2b833811b9f4121d02967b01
ctivity/ActionBarController.java
ed060515f11fd22b2f8e32eacab28a720ea552ca 18-Jan-2013 Andy Huang <ath@google.com> alias clicks on inert ActionBar modes to 'up' action

When the action bar spinner is inert, allow taps anywhere in
the custom action bar view to do the 'up' action.

Bug: 8030707
Change-Id: I977b59384319a2113675c418663a98e06e17d524
ctivity/ActionBarController.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
3c0b8eeaeb194de986f8adf2fd882080938afd37 29-Nov-2012 Scott Kennedy <skennedy@google.com> Change Email vibrate setting from tri-state to checkbox

Migrate the old value as necessary.
Update the unit tests.

Bug: 7624838
Change-Id: I1c276ffde3496cbc66846ed4a007088d39f20382
otificationController.java
ctivity/setup/AccountSettingsFragment.java
4124f4a40e1fef90df0dec243ecd9bcdbb911738 29-Nov-2012 Paul Westbrook <pwestbro@google.com> Merge "Specify a timeout for the connection handshake" into jb-mr1.1-dev
397cce4229eb90a6582e1e5b7ce153536a986627 29-Nov-2012 Paul Westbrook <pwestbro@google.com> Specify a timeout for the connection handshake

Email hadn't been setting a timeout on the connection handshake, so
this could have stalled the thread indefinitely. We should use the same
timeout that we use for the connection itself.

Bug: 7583420
Change-Id: If8740b7f6c1d5fc18f40f0bb1ec7ed88d7b98af5
ail/transport/MailTransport.java
978959e6199410419792e89fcea16413f56aeb12 29-Nov-2012 Scott Kennedy <skennedy@google.com> Do not vibrate in vibrate mode if ringtone is silent

An empty string as the ringtone URI was triggering the system
vibration while in vibrate mode.

Bug: 7624838
Change-Id: Ide1cb2d8ac5d1295c18770bd053dd1cd0a50feb0
otificationController.java
a1f20122c9af99430f78a171e2ad552e0ea2cc63 15-Nov-2012 Mark Wei <markwei@google.com> Fix build caused by
https://googleplex-android-review.googlesource.com/#/c/252374/

Bug: 7545250
Change-Id: I4346e1bad7aad4da8d6919cebdf4d48c2c50df08
idget/EmailWidget.java
d5f267ed250e7c3c97ca5e6ac1902340771d168c 15-Nov-2012 Mark Wei <markwei@google.com> Email Widget will use startActivity instead of startService so that it works
correctly from the keyguard.

Reverts the workaround in
https://googleplex-android-review.googlesource.com/#/c/250126/

Bug: 7545250
Change-Id: Idf9305b0e74e56c13bdcde5548db20f08b20bae2
otificationController.java
ctivity/EmailActivity.java
ctivity/ShortcutPicker.java
ctivity/Welcome.java
rovider/WidgetProvider.java
idget/EmailWidget.java
458816b2c8c3bc684119adba8126584c45b468e8 07-Nov-2012 Mark Wei <markwei@google.com> Enable Email Widget on lockscreen. Work around keyguard detection issues.

Bug: 7488437
Change-Id: Id1eee0d295358a64ad5b6f31258acd66ec899165
otificationController.java
ctivity/EmailActivity.java
ctivity/ShortcutPicker.java
ctivity/Welcome.java
idget/EmailWidget.java
acd8e7868b8ee3e1811fcf9bfdc4a9fbfab0cd0d 07-Nov-2012 Mark Wei <markwei@google.com> Revert "Enable Email lockscreen widget"
https://b.corp.google.com/issue?id=7488437#ISSUE_HistoryHeader13

This reverts commit 8c7f8d747c9d9c6267c72285c24db66cdb856bad

Change-Id: Idf12b445f751894e79b96dd0ee0a931d5a8bfcd5
ctivity/EmailActivity.java
8c7f8d747c9d9c6267c72285c24db66cdb856bad 06-Nov-2012 Mark Wei <markwei@google.com> Enable Email lockscreen widget

Bug: 7478749
Change-Id: I2cf0bfd58a928acd7a507ec06929e955ff653d18
ctivity/EmailActivity.java
e1c41f849c60731432f08332a9bd279bc94735f5 04-Oct-2012 Marc Blank <mblank@google.com> Merge "Force user to accept new policies" into jb-mr1-dev
df982bdb471c4465885d05d177d4f8f183ae096f 04-Oct-2012 Marc Blank <mblank@google.com> Force user to accept new policies

Bug: 7280085
Change-Id: Ib6ac3eeac999707fc429851945e94c2c2b69b49b
ecurityPolicy.java
8e4fac46e148a712c8dab625c72f3294fb1749fc 03-Oct-2012 Marc Blank <mblank@google.com> Always call setActivePolicies() when creating SecurityPolicy

* Because we have no way of knowing whether or not keyguard
disable has been set (see b/7278738)

Bug: 7280085
Change-Id: I6bc0593979b7477a412c961232c06e2937931a7c
ecurityPolicy.java
ervice/EmailBroadcastProcessorService.java
98291458573fe5fc5abea1833e34c6c179d250f4 03-Oct-2012 Marc Blank <mblank@google.com> DPM doesn't support hasGrantedPolicy to keyguard widgets

Bug: 7277592
Change-Id: Ie54c25f0afc8daf24396486f3df2eece74e2b2bc
ecurityPolicy.java
5ef68c20bdd60d4813f307b4516ae68b1d05a248 02-Oct-2012 Marc Blank <mblank@google.com> Disable keyguard features if we're enabled and require password

Bug: 7271157

Change-Id: I930ef8f3824179fe729d04a50e8a8168e03572ed
ecurityPolicy.java
bc47398187c6ffd132435e51d8d61e6ec79a79db 25-Sep-2012 Paul Westbrook <pwestbro@google.com> Merge Email1 into MR1

Change-Id: I45289d46b65faffc7a3a3dd46382899162f3aaab
ttachmentInfo.java
ontroller.java
ontrollerResultUiThreadWrapper.java
mail.java
mailAddressAdapter.java
mailConnectivityManager.java
olderProperties.java
roupMessagingListener.java
egacyConversions.java
essageListContext.java
essagingController.java
essagingListener.java
otificationController.java
references.java
ecipientAdapter.java
efreshManager.java
ecurityPolicy.java
ingleRunningTask.java
hrottle.java
endorPolicyLoader.java
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/ActivityHelper.java
ctivity/AddressTextView.java
ctivity/AttachmentInfoDialog.java
ctivity/BannerController.java
ctivity/ChipsAddressTextView.java
ctivity/DeleteMessageConfirmationDialog.java
ctivity/EmailActivity.java
ctivity/EventViewer.java
ctivity/FragmentInstallable.java
ctivity/MailboxFinder.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessageCommandButtonView.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/NfcHandler.java
ctivity/RecentMailboxManager.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/ThreePaneLayout.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerSearchTwoPane.java
ctivity/UIControllerTwoPane.java
ctivity/UiUtilities.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/AccountSetupType.java
ctivity/setup/DebugFragment.java
ctivity/setup/EditQuickResponseDialog.java
ctivity/setup/EmailPreferenceFragment.java
ctivity/setup/ForwardingIntent.java
ctivity/setup/GeneralPreferences.java
ctivity/setup/MailboxSettings.java
ctivity/setup/PolicyListPreference.java
ctivity/setup/SetupData.java
ata/ThrottlingCursorLoader.java
ail/Store.java
ail/Transport.java
ail/store/ExchangeStore.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/ServiceStore.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapTempFileLiteral.java
ail/transport/CountingOutputStream.java
ail/transport/EOLConvertingOutputStream.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
rovider/AccountReconciler.java
rovider/AttachmentProvider.java
rovider/ContentCache.java
rovider/DBHelper.java
rovider/EmailProvider.java
rovider/FolderPickerActivity.java
rovider/FolderPickerCallback.java
rovider/FolderPickerDialog.java
rovider/FolderPickerSelectorAdapter.java
rovider/Utilities.java
rovider/WidgetProvider.java
ervice/AccountService.java
ervice/AttachmentDownloadService.java
ervice/AuthenticatorService.java
ervice/EasAuthenticatorService.java
ervice/EasAuthenticatorServiceAlternate.java
ervice/EasTestAuthenticatorService.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceStub.java
ervice/EmailServiceUtils.java
ervice/ImapAuthenticatorService.java
ervice/ImapService.java
ervice/ImapTempFileLiteral.java
ervice/LegacyEasAuthenticatorService.java
ervice/LegacyEmailAuthenticatorService.java
ervice/LegacyImapAuthenticatorService.java
ervice/LegacyImapSyncAdapterService.java
ervice/MailService.java
ervice/PolicyService.java
ervice/Pop3AuthenticatorService.java
ervice/Pop3Service.java
ervice/Pop3SyncAdapterService.java
ervice/PopImapAuthenticatorService.java
ervice/PopImapSyncAdapterService.java
iew/NonLockingScrollView.java
iew/RigidWebView.java
iew/SizeBoundingFrameLayout.java
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetConfiguration.java
idget/WidgetManager.java
335ba2c4ea9c93e8c59f8a2641b1bff149026ce4 24-Sep-2012 Paul Westbrook <pwestbro@google.com> am 986881ef: Fix multi message notifications

* commit '986881efe6029ad4382371e2da4e597312eda51c':
Fix multi message notifications
ee6ca4e7b28d496bdd738422df9729235e28c888 24-Sep-2012 Marc Blank <mblank@google.com> am 35177585: Merge "Remove Imap2 from AOSP tree" into jb-ub-mail

* commit '35177585a24b608582536c3d2c6633f8ee486511':
Remove Imap2 from AOSP tree
24e11036e76f735accb9bf812d2a657dce8f5c07 24-Sep-2012 Vikram Aggarwal <viki@google.com> am 016310a0: Fix account order.

* commit '016310a054d54c11490244f2725f5323f4b2ee35':
Fix account order.
d47027b92d07342223b6094748787414ce22e549 24-Sep-2012 Marc Blank <mblank@google.com> am 114e3149: Return contentUri for all attachments

* commit '114e314968f507b4237e693d279befe261b00f02':
Return contentUri for all attachments
bb34ef2d966590994ae424dbbaf626b0fd733aef 24-Sep-2012 Marc Blank <mblank@google.com> am 54347010: Allow legacy imap to sync

* commit '54347010fbbdd3ae1dea5b0e282514c640e16a5f':
Allow legacy imap to sync
2bbb93750f02d0b3ac534b03d4279c82ef28a3a7 24-Sep-2012 Marc Blank <mblank@google.com> am 9f05983f: Merge "Prevent duplicate imap folders" into jb-ub-mail

* commit '9f05983f28e0450e642063ceb4d86b98450deccd':
Prevent duplicate imap folders
986881efe6029ad4382371e2da4e597312eda51c 23-Sep-2012 Paul Westbrook <pwestbro@google.com> Fix multi message notifications

When multiple messages are received, now the View intent
will take the user to to contents of the mailbox, instead of
the viewing the last message

I have filed bug 7216375 to track the issue about receiving
multiple messages in different syncs

Bug: 7129870

Change-Id: I3fdf4680c62565615fcbefc75d72c2a721942604
otificationController.java
35177585a24b608582536c3d2c6633f8ee486511 23-Sep-2012 Marc Blank <mblank@google.com> Merge "Remove Imap2 from AOSP tree" into jb-ub-mail
0629f67215d1229088c406e32c34a1dd3789cc14 23-Sep-2012 Marc Blank <mblank@google.com> Remove Imap2 from AOSP tree

Bug: 7215459

Change-Id: I0808920c12d0b43455e213fd47c90f4eaee7ee1c
map2/AttachmentLoader.java
map2/EmailSyncAdapterService.java
map2/Imap2SyncManager.java
map2/Imap2SyncService.java
map2/ImapId.java
map2/ImapInputStream.java
map2/Parser.java
map2/QuotedPrintable.java
map2/SearchRequest.java
016310a054d54c11490244f2725f5323f4b2ee35 23-Sep-2012 Vikram Aggarwal <viki@google.com> Fix account order.

The combined account is added both at the top and the bottom
currently: Check L.3103 of EmailProvider.java.

Bug: 7100404 Order of accounts in email is broken

Change-Id: I1cbff04efbb0b50630c655918ffdfa4a5d11c2f7
rovider/EmailProvider.java
114e314968f507b4237e693d279befe261b00f02 22-Sep-2012 Marc Blank <mblank@google.com> Return contentUri for all attachments

Bug: 7189815
Change-Id: If76d3a2038b3260fa44a7662854b03f7b6a1696c
rovider/EmailProvider.java
54347010fbbdd3ae1dea5b0e282514c640e16a5f 22-Sep-2012 Marc Blank <mblank@google.com> Allow legacy imap to sync

* Remove old (and dangerous) constants

Bug: 7210754
Bug: 7212263

Change-Id: I6a1463a653c5c4823a96c9fbb9ca37e53a45b48a
ctivity/setup/AccountCheckSettingsFragment.java
rovider/DBHelper.java
ervice/EmailServiceStub.java
ervice/PopImapSyncAdapterService.java
6bbbc0d57c6aa074af3967d596ff420622815f17 22-Sep-2012 Marc Blank <mblank@google.com> Prevent duplicate imap folders

Bug: 7212259
Change-Id: Iad43956c4caaf5a61c483af6ade91fa046342879
ervice/PopImapSyncAdapterService.java
2b5e54f05926d4835f6c2a85eb5ef86df84d2a25 21-Sep-2012 Marc Blank <mblank@google.com> am 78b8c048: Add another test for "incomplete" accounts

* commit '78b8c04898c04890b757fbd83df9666e0a9068f5':
Add another test for "incomplete" accounts
78b8c04898c04890b757fbd83df9666e0a9068f5 21-Sep-2012 Marc Blank <mblank@google.com> Add another test for "incomplete" accounts

* We have been erroneously marking some accounts "incomplete" and
this can cause reconciliation to fail after deleting the
accounts in Settings.
* Still need to investigate why the flag isn't cleared at times...

Bug: 7148506
Bug: 7166598
Change-Id: I0059580a6e4b6a5c54c09b8409c4358ff707ff77
rovider/AccountReconciler.java
c10a57f9660be8b1eaf4f9f779abf2a079e2ff81 21-Sep-2012 Marc Blank <mblank@google.com> am b6992942: Merge "Restore Imap1" into jb-ub-mail

* commit 'b6992942aa1f7756160173c93533c7e8963b76a0':
Restore Imap1
5c523858385176c33a7456bb84035de78552d22d 20-Sep-2012 Marc Blank <mblank@google.com> Restore Imap1

* Restore Imap1 code
* Legacy users will use Imap1
* Existing Imap2 users will continue to use Imap2
* New accounts will be created in Imap1
* More to follow

Bug: 7203993

Change-Id: I8b86fcada59a854fd464d5269c94d00ebae85459
ctivity/setup/AccountSetupType.java
ail/Store.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/imap/ImapConstants.java
ail/store/imap/ImapElement.java
ail/store/imap/ImapList.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapResponse.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
ail/store/imap/ImapUtility.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceUtils.java
ervice/ImapService.java
ervice/ImapTempFileLiteral.java
ervice/LegacyImap2AuthenticatorService.java
ervice/LegacyImapAuthenticatorService.java
ervice/LegacyImapSyncAdapterService.java
ervice/Pop3SyncAdapterService.java
ervice/PopImapSyncAdapterService.java
f5bea52c5cb8280eadf379acaf180bec99d91bca 20-Sep-2012 Marc Blank <mblank@google.com> am ec0af782: Merge "Quote username and password in login command" into jb-ub-mail

* commit 'ec0af7822c2321cf52b311b2f6bfbc37c9ee14db':
Quote username and password in login command
ec0af7822c2321cf52b311b2f6bfbc37c9ee14db 20-Sep-2012 Marc Blank <mblank@google.com> Merge "Quote username and password in login command" into jb-ub-mail
6c477f5430480d11c31f80d3bd40146da20010a6 20-Sep-2012 Marc Blank <mblank@google.com> Quote username and password in login command

Bug: 7201914
Change-Id: Iff13a730c308198b01fdd3238149f54075b5d846
map2/Imap2SyncService.java
6e0816d9b0b79830aaab34dfddb3271d4a6160b5 20-Sep-2012 Paul Westbrook <pwestbro@google.com> am 652a9076: Hide reply all setting on tablets

* commit '652a907672165b63d715817ceb08bd010489dab2':
Hide reply all setting on tablets
652a907672165b63d715817ceb08bd010489dab2 20-Sep-2012 Paul Westbrook <pwestbro@google.com> Hide reply all setting on tablets

Since tablets have the space to fit both the reply and reply all buttons
there is no need to show this setting on these devices

Bug: 7190341
Change-Id: I8a911ee964be6af31b63286db53b335a9e4a8396
ctivity/setup/GeneralPreferences.java
63aafc94c9570ca4719d832b68b9ba025a405224 19-Sep-2012 Paul Westbrook <pwestbro@google.com> am 5e1db519: Fix crash when the Email process is killed

* commit '5e1db519d98cc53317008b4b92b52d6b2edd53f4':
Fix crash when the Email process is killed
5e1db519d98cc53317008b4b92b52d6b2edd53f4 19-Sep-2012 Paul Westbrook <pwestbro@google.com> Fix crash when the Email process is killed

If the Email process is killed during setup, the Account information
wouldn't be set. Specify this information in the intent as the intent will be delivered
again when the activity is restored

This is a short term fix. Ideally we would switch all of the intents for the setup
activities to use these extras to pass this information, or we would save the state of
SetupData in onSaveInstanceState

Bug: 7163201

Change-Id: Ic1758eb031cd113089073d03f3c2571e37a98b23
ctivity/setup/AccountSetupIncoming.java
c83f4fd04c9bde97a27e520dec1fd2cd12c4aa7b 19-Sep-2012 Paul Westbrook <pwestbro@google.com> am fb42a915: Merge "Fix crash with Email widget" into jb-ub-mail

* commit 'fb42a915e7f521d6fc7a95ad9f0e19d3b2d1bfe7':
Fix crash with Email widget
fb42a915e7f521d6fc7a95ad9f0e19d3b2d1bfe7 19-Sep-2012 Paul Westbrook <pwestbro@google.com> Merge "Fix crash with Email widget" into jb-ub-mail
48b4864840751bf68b44bad55e769be03deb2666 19-Sep-2012 Paul Westbrook <pwestbro@google.com> Fix crash with Email widget

Make sure the projection is correct for the sparse account
cursor

Bug: 7029165
Change-Id: If25ee7718fcd2577320404145de26a859fd4de0a
rovider/WidgetProvider.java
0b623fa7f823fcc730bc42afa4b480ba0779513e 19-Sep-2012 Mindy Pereira <mindyp@google.com> am 58e3a2da: Merge "Return Mindy\'s senders" into jb-ub-mail

* commit '58e3a2da4ce25251178ce6fbac5b8f673e54c45b':
Return Mindy's senders
58e3a2da4ce25251178ce6fbac5b8f673e54c45b 19-Sep-2012 Mindy Pereira <mindyp@google.com> Merge "Return Mindy's senders" into jb-ub-mail
d6243bd52ea6498c05ecd76e46d5c69ab56d0dea 19-Sep-2012 mindyp <mindyp@google.com> am 8ff282a2: Lots of fixes to line up with new multi/single move to folder dialog.

* commit '8ff282a260eef699c3e22e8809075191706a171a':
Lots of fixes to line up with new multi/single move to folder dialog.
af7d768e876943492a8aad3f15bcdf8f6248dddb 19-Sep-2012 Marc Blank <mblank@google.com> Return Mindy's senders

* Also prevent NPE

Bug: 7188573
Change-Id: Ic87e7b3411667262e2aa738a38cb2283c9340b03
map2/Imap2SyncService.java
8ff282a260eef699c3e22e8809075191706a171a 19-Sep-2012 mindyp <mindyp@google.com> Lots of fixes to line up with new multi/single move to folder dialog.

This leaves the picker with radion buttons for choosing the trash
and sent folders for imap.

Change-Id: I11bf32458b4d91bd21f2baf9260a69ac13026aaa
rovider/FolderPickerDialog.java
rovider/FolderPickerSelectorAdapter.java
7048ceb73c0c69855706b71181488002ab624e45 19-Sep-2012 Marc Blank <mblank@google.com> am b203b2b1: Remove useless class and crazy UIDL logging

* commit 'b203b2b1196bfd5507c83a4fe81d362de840ec0a':
Remove useless class and crazy UIDL logging
b203b2b1196bfd5507c83a4fe81d362de840ec0a 19-Sep-2012 Marc Blank <mblank@google.com> Remove useless class and crazy UIDL logging

* The logging makes it very difficult to debug POP3 issues

Change-Id: Ic3ffb9e5b3240918dff3e713fc2a7c49976efe84
ail/Store.java
ail/store/Pop3Store.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
d42afadc5af35e3c06c3f3024498e51b6928bf7f 18-Sep-2012 Marc Blank <mblank@google.com> am 887ea25e: Merge "Show display name in convo list" into jb-ub-mail

* commit '887ea25ed5a7074eddbe3a2fcf8c817269631ec1':
Show display name in convo list
887ea25ed5a7074eddbe3a2fcf8c817269631ec1 18-Sep-2012 Marc Blank <mblank@google.com> Merge "Show display name in convo list" into jb-ub-mail
d40524bbac2e55cafc7bf6d634dde093fd432b0a 18-Sep-2012 Marc Blank <mblank@google.com> Show display name in convo list

Bug: 7170872
Bug: 7144575
Change-Id: Iceaa0616b1fd2db842cd6af0d818a4cc2a2189cc
rovider/EmailProvider.java
668dd9211fef4214a7aa16b3b32ee3c80e4e3850 18-Sep-2012 Marc Blank <mblank@google.com> am eaf7e3bc: Don\'t smartsend reply inappropriately

* commit 'eaf7e3bce7a7f8f31c5677db188dec74072a43ca':
Don't smartsend reply inappropriately
bc5080fdb7668da367ecca1bcaf6edd72a87d517 18-Sep-2012 Marc Blank <mblank@google.com> am 67a33ca9: Merge "Properly check for deleted messages" into jb-ub-mail

* commit '67a33ca9e4979418ace6d5f46cee51d093cd3720':
Properly check for deleted messages
eaf7e3bce7a7f8f31c5677db188dec74072a43ca 18-Sep-2012 Marc Blank <mblank@google.com> Don't smartsend reply inappropriately

Bug: 7172780
Change-Id: Id43b75efab9c6f7a32e7c6bd42696547cc81f413
rovider/EmailProvider.java
e161ca513dbb812328af85e2172737895a9eaa3a 18-Sep-2012 Marc Blank <mblank@google.com> Properly check for deleted messages

Bug: 7011707
Change-Id: I9b977774e4b6d201dd96da1675bef7e3de88099c
map2/Imap2SyncService.java
60061a460f1a9cc90ba83e5c15e4bbd1a3a72ab7 16-Sep-2012 Marc Blank <mblank@google.com> am 00d17498: Merge "Make sure provider is initialized before setServicesEnabled()" into jb-ub-mail

* commit '00d17498c34776639369306791fd7f557605dfe4':
Make sure provider is initialized before setServicesEnabled()
00d17498c34776639369306791fd7f557605dfe4 15-Sep-2012 Marc Blank <mblank@google.com> Merge "Make sure provider is initialized before setServicesEnabled()" into jb-ub-mail
93bb868b870980cb7e62bb30a4d7e9b61528d90c 15-Sep-2012 Marc Blank <mblank@google.com> Make sure provider is initialized before setServicesEnabled()

Bug: 7142845
Change-Id: Idf793c5d07e3ea4c4a482696c5a27914fba66022
rovider/EmailProvider.java
1a34f565caa930bf3df78b3ac6a658e1eab80fa1 14-Sep-2012 Marc Blank <mblank@google.com> am f53dc340: Merge "Prevent infinite loops (ugh); fix list parsing" into jb-ub-mail

* commit 'f53dc340d68c13eca77e3db0f847f01037b3da9d':
Prevent infinite loops (ugh); fix list parsing
8fe771a9e352ed3e2b0c9a72d85a70aaf3f7d951 14-Sep-2012 Marc Blank <mblank@google.com> Prevent infinite loops (ugh); fix list parsing

* We weren't accounting for string literals in list
parsing
* We didn't account for a null result in bodystructure
parse

Bug: 7162595
Change-Id: Idf0ae135dcfb968c722ab9fb56d5d253e74bd623
map2/Imap2SyncService.java
map2/Parser.java
7570548840645e84d876215c5afffa9bd39a1f7b 12-Sep-2012 Marc Blank <mblank@google.com> am a98f024b: Merge "Remove duplicate classes; trim addresses in RCPT TO:" into jb-ub-mail

* commit 'a98f024b4035469a54efa2d3efb6425cfd2ec8db':
Remove duplicate classes; trim addresses in RCPT TO:
787c534f286f0267edb1a083ef191fac804060b5 12-Sep-2012 Marc Blank <mblank@google.com> Remove duplicate classes; trim addresses in RCPT TO:

Bug: 7133545

Change-Id: Ia1b928083246c5d54a5403b00168a20967517f09
map2/Imap2SyncService.java
map2/smtp/MailTransport.java
map2/smtp/SmtpSender.java
ail/transport/SmtpSender.java
212cac687e6ea179552529b1fb7aed2b5093e2c2 11-Sep-2012 Marc Blank <mblank@google.com> am 85805115: Handle loadMore when no messages are loaded

* commit '858051154111e8e725ea47d335adc3b3a0f095e9':
Handle loadMore when no messages are loaded
858051154111e8e725ea47d335adc3b3a0f095e9 11-Sep-2012 Marc Blank <mblank@google.com> Handle loadMore when no messages are loaded

Bug: 7129772
Change-Id: I9d2fd4f2bc488930c53e9fe44dc3fa852409b5c0
map2/Imap2SyncService.java
cd3824191a3065f6457745cf6f0c9003f9dbf9d2 11-Sep-2012 Marc Blank <mblank@google.com> am a88fb327: Merge "Modify intent names" into jb-ub-mail

* commit 'a88fb32724644bb33451b53be2c5a5187927e8ac':
Modify intent names
74c79a50432fcbf127fbfeadc1a461263ea92135 11-Sep-2012 Marc Blank <mblank@google.com> Modify intent names

Change-Id: Iad8b4842056a7f553363f9af47e65665c2b26a5d
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupBasics.java
9742518ac39206b5f88ecbeb951e55723cb3a7ba 10-Sep-2012 Marc Blank <mblank@google.com> am d8b2b8ae: Merge "Add "System Folders" settings" into jb-ub-mail

* commit 'd8b2b8aebd4437fecd757fce77040afd74fcd740':
Add "System Folders" settings
266064bcc7c6ed7318a284d59bb83d53edbf1921 10-Sep-2012 Marc Blank <mblank@google.com> Add "System Folders" settings

* Add this category and preferences for setting the trash
and sent items folders

Bug: 7100092

Change-Id: I964e02e5e319b3f04b030d36ed7dca30ed046362
ctivity/setup/AccountSettingsFragment.java
rovider/FolderPickerActivity.java
rovider/FolderPickerCallback.java
rovider/FolderPickerDialog.java
rovider/FolderPickerSelectorAdapter.java
rovider/FolderSelectionDialog.java
38bc84a105e9541841fe5875399dcbf5c08b60c4 09-Sep-2012 Marc Blank <mblank@google.com> am b621f625: Merge "Don\'t reset user\'s port number in settings" into jb-ub-mail

* commit 'b621f625efd2d94c7a4497f22626054b5acfb497':
Don't reset user's port number in settings
b621f625efd2d94c7a4497f22626054b5acfb497 09-Sep-2012 Marc Blank <mblank@google.com> Merge "Don't reset user's port number in settings" into jb-ub-mail
d3f928eee98664889ad4ac3491a6ae8f9968e073 09-Sep-2012 Marc Blank <mblank@google.com> am 19e9291c: Merge "Use correct attachment provider authority" into jb-ub-mail

* commit '19e9291c9ad42a3e6be10e5ff4a12f9bbe8adc05':
Use correct attachment provider authority
19e9291c9ad42a3e6be10e5ff4a12f9bbe8adc05 09-Sep-2012 Marc Blank <mblank@google.com> Merge "Use correct attachment provider authority" into jb-ub-mail
665b19e779cec4685c4d540abad4b03e1027cf97 09-Sep-2012 Marc Blank <mblank@google.com> Don't reset user's port number in settings

* Spinner onItemSelected is called prior to user input; this
reverts the port to the security-based default

Change-Id: I1cb67e519e9305ef2384b5f5f305bff1e950e7c4
ctivity/setup/AccountSetupOutgoingFragment.java
21e7e2c626eb9de890ba724f6084adb565f73f65 09-Sep-2012 Marc Blank <mblank@google.com> am 393b8595: dump is @hide; remove @Override

* commit '393b85957781baab7d648071b5b2288a26976881':
dump is @hide; remove @Override
393b85957781baab7d648071b5b2288a26976881 09-Sep-2012 Marc Blank <mblank@google.com> dump is @hide; remove @Override

Change-Id: I4df3a75a7d0747e62ddd4bbc23ab4008344e49a1
rovider/EmailProvider.java
7bc7ddf89146b6cdf13d76ec7ce06115c8646d8f 09-Sep-2012 Marc Blank <mblank@google.com> am 323954df: Merge "Create requireSetup attribute; use it for gImap" into jb-ub-mail

* commit '323954df41bb71076d11f52df6275a57ab2fd4dc':
Create requireSetup attribute; use it for gImap
f7030e76f647260b5010551ec18d11d507525d8a 09-Sep-2012 Marc Blank <mblank@google.com> am 16b07e11: Merge "Use resource based mime type for application" into jb-ub-mail

* commit '16b07e11c737edb362d968da12b42ad5a8b94f69':
Use resource based mime type for application
323954df41bb71076d11f52df6275a57ab2fd4dc 09-Sep-2012 Marc Blank <mblank@google.com> Merge "Create requireSetup attribute; use it for gImap" into jb-ub-mail
0413dae9a9baf6b9d3b5eb2a5e3c2d4464382ac3 09-Sep-2012 Marc Blank <mblank@google.com> am af092bd5: EmailProvider dump

* commit 'af092bd5f850653b0d237fb55ccc896f74dc7982':
EmailProvider dump
16b07e11c737edb362d968da12b42ad5a8b94f69 09-Sep-2012 Marc Blank <mblank@google.com> Merge "Use resource based mime type for application" into jb-ub-mail
6e5bccf2c984039da5ae1dc08cffa665b73b6474 08-Sep-2012 Marc Blank <mblank@google.com> Use correct attachment provider authority

* Make sure new code works with old Attachment rows

Bug: 7130972
Change-Id: Ia5d258930f39266517eead535a92bb4380fdb594
egacyConversions.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
81b0f74efa39d80b0aa18686c96499faf0e2691f 08-Sep-2012 Marc Blank <mblank@google.com> Create requireSetup attribute; use it for gImap

Change-Id: Id5f37861e4d6f2c2ed0fe98bd8b4d7eb73868c09
rovider/EmailProvider.java
ervice/EmailServiceUtils.java
7e5df63fc9771c7950d3f95da17cfb112ebbf7f3 08-Sep-2012 Marc Blank <mblank@google.com> Use resource based mime type for application

Change-Id: I41a3cbf5c810668f9b0885f6614b2e48215901b2
rovider/EmailProvider.java
af092bd5f850653b0d237fb55ccc896f74dc7982 08-Sep-2012 Marc Blank <mblank@google.com> EmailProvider dump

Change-Id: Id975c99427b41f4a56235dc6ba5ad515d6700fe5
rovider/EmailProvider.java
ervice/EmailServiceUtils.java
01779e18915cec6ee223e4bc1d950e2a4e2530ec 07-Sep-2012 Marc Blank <mblank@google.com> am fdb16358: More work on FolderPicker

* commit 'fdb1635868e9591c3bcaf107360a7eae2e09fe18':
More work on FolderPicker
fdb1635868e9591c3bcaf107360a7eae2e09fe18 07-Sep-2012 Marc Blank <mblank@google.com> More work on FolderPicker

* Only show for Imap2 (hard-coded now w/ STOPSHIP)
* Don't show more than once
* Make sure all folders are set up completely before showing

Change-Id: Ie745c7e2f155496482d213ecfc9eff2009bb23ee
map2/Imap2SyncService.java
rovider/EmailProvider.java
rovider/FolderPickerActivity.java
ba85cd68e469774531049107b13db76f751e404b 07-Sep-2012 Marc Blank <mblank@google.com> am 8c8a68a7: Prevent looping w/ exceptions during IDLE

* commit '8c8a68a717d8221404e1316ef0318e397dd5e9ad':
Prevent looping w/ exceptions during IDLE
8c8a68a717d8221404e1316ef0318e397dd5e9ad 07-Sep-2012 Marc Blank <mblank@google.com> Prevent looping w/ exceptions during IDLE

Bug: 7126413

Change-Id: If1d435a93845e0fd06be54328f6a0cbc161e5a9d
map2/Imap2SyncService.java
7b53e9c7aa4e4085aa88529648d09943daa438ac 07-Sep-2012 Marc Blank <mblank@google.com> am 9a341d85: Merge "Improve trash folder picker upon account creation" into jb-ub-mail

* commit '9a341d85f0027cac0f9dca0312d8c775738f9c73':
Improve trash folder picker upon account creation
9a341d85f0027cac0f9dca0312d8c775738f9c73 07-Sep-2012 Marc Blank <mblank@google.com> Merge "Improve trash folder picker upon account creation" into jb-ub-mail
512b1e31a33050700b166cda793cd5a6b32edfe8 07-Sep-2012 Marc Blank <mblank@google.com> am 14e5f567: Merge "Log capabilities (w/ STOPSHIP)" into jb-ub-mail

* commit '14e5f567ed09b0f5e4442038999d38a77593f658':
Log capabilities (w/ STOPSHIP)
14e5f567ed09b0f5e4442038999d38a77593f658 07-Sep-2012 Marc Blank <mblank@google.com> Merge "Log capabilities (w/ STOPSHIP)" into jb-ub-mail
983c78e92899b94b237c292968c1be2bf53c5d57 06-Sep-2012 Marc Blank <mblank@google.com> Log capabilities (w/ STOPSHIP)

Change-Id: Id448fd48ee1d7a2eabab8f3bd4dae34b6e401a7d
rovider/EmailProvider.java
26164054710375519ba7468987971a7a3340ba7e 06-Sep-2012 Marc Blank <mblank@google.com> Improve trash folder picker upon account creation

* Use setup intent uri
* TODO: More cleanup

Bug: 7077441

Change-Id: Ieab5b0ed33b73b7a0e9012aedd6becf867db1566
map2/Imap2SyncManager.java
map2/Imap2SyncService.java
rovider/EmailProvider.java
rovider/FolderPickerActivity.java
rovider/FolderPickerCallback.java
rovider/FolderSelectionDialog.java
8c4046a753d3c4196b0eebbb767b063d6bcc0323 06-Sep-2012 Marc Blank <mblank@google.com> am 2f589758: Merge "Clean up imap2 logging" into jb-ub-mail

* commit '2f5897589e791ebd854506a463233f48b06ed953':
Clean up imap2 logging
2f5897589e791ebd854506a463233f48b06ed953 06-Sep-2012 Marc Blank <mblank@google.com> Merge "Clean up imap2 logging" into jb-ub-mail
41e78c168ec53c46236163052827a19c75d656b9 06-Sep-2012 Marc Blank <mblank@google.com> Clean up imap2 logging

Change-Id: I53b522ea33d8bb1b070d994fd765d1eec2f60fb4
map2/Imap2SyncService.java
d0c2d8c80fd79c95b855f20e27d7aba857ed41d2 06-Sep-2012 Mark Wei <markwei@google.com> am 3487ae89: Merge "Add supplementary account info to outbound google.com links" into jb-ub-mail

* commit '3487ae89f27dcc5f54cf75ca025f19a06c6c8d5b':
Add supplementary account info to outbound google.com links
5b3fda11ded711042c5c2b9342a47bd2e2eb7d58 31-Aug-2012 Mark Wei <markwei@google.com> Add supplementary account info to outbound google.com links

Bug: 6661601
Change-Id: Ifae6d4a0f30c8233a1b51971168a19f1548718ca
rovider/WidgetProvider.java
8d8ae0290f72f84bab01d74c0b548c445684204e 05-Sep-2012 Marc Blank <mblank@google.com> am b210f3ad: Merge "Revert "Initialize mDatabase on provider startup"" into jb-ub-mail

* commit 'b210f3ad534c1215de17e95ce5f289dde9fad4a1':
Revert "Initialize mDatabase on provider startup"
b210f3ad534c1215de17e95ce5f289dde9fad4a1 05-Sep-2012 Marc Blank <mblank@google.com> Merge "Revert "Initialize mDatabase on provider startup"" into jb-ub-mail
c0a425027b4d01262bd85f73a5212179b4418b16 05-Sep-2012 Marc Blank <mblank@google.com> Revert "Initialize mDatabase on provider startup"

This reverts commit 6c319d78edc52cd4a6d2f53277d2e1cef1afc5bc

Change-Id: I57881b090a3c7efba79369702356b622d9a7aba8
rovider/EmailProvider.java
f41d00b4e847168ae95cc5b35954165ea8fa6545 05-Sep-2012 Marc Blank <mblank@google.com> am c0e2b147: Clear visibleLimit when folder entered

* commit 'c0e2b147e09dd0bf15f19e63807b1b3bab798f50':
Clear visibleLimit when folder entered
c0e2b147e09dd0bf15f19e63807b1b3bab798f50 05-Sep-2012 Marc Blank <mblank@google.com> Clear visibleLimit when folder entered

Change-Id: I39824dbff83ffcf109cbc1ffebf00cad5bce2498
rovider/EmailProvider.java
d0619890183b57a372484e7a6302cb485f88bef0 05-Sep-2012 Marc Blank <mblank@google.com> am d2bf25ac: Make sure body loading finishes when searching

* commit 'd2bf25ac8bf92501dab268eac586663609fca9a5':
Make sure body loading finishes when searching
d2bf25ac8bf92501dab268eac586663609fca9a5 05-Sep-2012 Marc Blank <mblank@google.com> Make sure body loading finishes when searching

Bug: 7107329
Change-Id: Ief78b1c31a7c363cd2e23ef1b7d4ff9e26c219b7
map2/Imap2SyncService.java
8d51344aaa14dafb2b7ab2d5e0de8bce97f839fc 05-Sep-2012 Marc Blank <mblank@google.com> am 7110183f: Merge "Put combined account last" into jb-ub-mail

* commit '7110183fe51cfb51819e9992f3e4700567c7b8e9':
Put combined account last
7110183fe51cfb51819e9992f3e4700567c7b8e9 05-Sep-2012 Marc Blank <mblank@google.com> Merge "Put combined account last" into jb-ub-mail
2651bcc7be2c5fbce23faa0b0d12db63caee5a45 05-Sep-2012 Marc Blank <mblank@google.com> Put combined account last

Bug: 7100404
Change-Id: Iff2884e635d030d840f297c15f5e2ee646185c5f
map2/Imap2SyncService.java
rovider/EmailProvider.java
a0f276f84927abe831836448373746b13333c288 05-Sep-2012 Marc Blank <mblank@google.com> am db1c8452: Handle mime encoded sender in convo list

* commit 'db1c845212b814b49bd347c9399413e69f7bce8b':
Handle mime encoded sender in convo list
db1c845212b814b49bd347c9399413e69f7bce8b 05-Sep-2012 Marc Blank <mblank@google.com> Handle mime encoded sender in convo list

Bug: 6901954
Change-Id: I5f9915592d4d859bd8ddd0185890015923390fbe
map2/Imap2SyncService.java
e41172e1974aaef40c80bfb9d3340e3e82ef067e 04-Sep-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 68e66351 to jb-mr1-dev

Change-Id: I7c5656289aaf14bdd5381893b4bade3160aea748
68e66351194f6881bf62009947b81a353be1ca74 04-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am 99aba18a: Merge "Make Pop3Store locale safe"

* commit '99aba18a1778d115914144dbe73d01bde906412f':
Make Pop3Store locale safe
a6d34de6015837b834273a231a42bc917a554acd 04-Sep-2012 Marc Blank <mblank@google.com> am 9765f7b2: Merge "Initialize mDatabase on provider startup" into jb-ub-mail

* commit '9765f7b284941fc542c285998e435a8844d0e582':
Initialize mDatabase on provider startup
9765f7b284941fc542c285998e435a8844d0e582 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Initialize mDatabase on provider startup" into jb-ub-mail
c8699108934b346f2df2563247aee1f201cb54a3 04-Sep-2012 Marc Blank <mblank@google.com> am 5a2b9579: Prevent possible NPE

* commit '5a2b9579de8353996df7cbd84cf0847c2ee075d3':
Prevent possible NPE
5a2b9579de8353996df7cbd84cf0847c2ee075d3 04-Sep-2012 Marc Blank <mblank@google.com> Prevent possible NPE

Change-Id: I0254812c55cf6c5e4825aa28f900b8030502e9f6
rovider/EmailProvider.java
6c319d78edc52cd4a6d2f53277d2e1cef1afc5bc 04-Sep-2012 Marc Blank <mblank@google.com> Initialize mDatabase on provider startup

* Try to prevent startup-related races

Bug: 6969684
Change-Id: I58ac16381bb71b8e21e01cb3ead0ba99f70c9873
rovider/EmailProvider.java
3348d6da67f07064dc22da74a8677906dec78f8f 04-Sep-2012 Marc Blank <mblank@google.com> am 9e4556ae: Merge "Revert "Initialize mDatabase on provider startup"" into jb-ub-mail

* commit '9e4556ae1c4ed0202e3b60c790d165945b4a0fc0':
Revert "Initialize mDatabase on provider startup"
9e4556ae1c4ed0202e3b60c790d165945b4a0fc0 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Revert "Initialize mDatabase on provider startup"" into jb-ub-mail
fcba7fa20a17e2c691a39d344d5c880d051a34e0 04-Sep-2012 Marc Blank <mblank@google.com> Revert "Initialize mDatabase on provider startup"

This reverts commit 33f3b0c1d5930c5420bdc366a6a361c248937265

Change-Id: Ia56d67f49b3b5d7569791d9d556e2f7eed13ee7d
rovider/EmailProvider.java
941e1c74fbd8c5ec0eba185c2035d52717f3f2d9 04-Sep-2012 Marc Blank <mblank@google.com> am 5bf0cef2: Merge "Show "Creating account..." dialog during account creation" into jb-ub-mail

* commit '5bf0cef203b2b47120e337a889372f3488f81e90':
Show "Creating account..." dialog during account creation
5bf0cef203b2b47120e337a889372f3488f81e90 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Show "Creating account..." dialog during account creation" into jb-ub-mail
156bf908ca9cd1505cefe71c13a322669feeffbd 04-Sep-2012 Marc Blank <mblank@google.com> am efb46b08: Merge "Clear visible limit when entering mailbox; enable imap load more" into jb-ub-mail

* commit 'efb46b08571aeffb62ec9cd913775a57be6b8407':
Clear visible limit when entering mailbox; enable imap load more
fa543af380da66536e1c9070abd55030c82bada5 04-Sep-2012 Marc Blank <mblank@google.com> am 644f172c: Merge "Initialize mDatabase on provider startup" into jb-ub-mail

* commit '644f172cde5bb39b383e42f61ea5c73ca0ea1671':
Initialize mDatabase on provider startup
88505b81d0fa935988fc8c247a96c543b47ef4f3 04-Sep-2012 Marc Blank <mblank@google.com> am b82437f5: Merge "Allow NULL values in genSelect" into jb-ub-mail

* commit 'b82437f563f814471c88e7977dca0ef888cdcaea':
Allow NULL values in genSelect
efb46b08571aeffb62ec9cd913775a57be6b8407 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Clear visible limit when entering mailbox; enable imap load more" into jb-ub-mail
d490f87697ebfd159e7eecee9b480755d3f2709b 04-Sep-2012 Marc Blank <mblank@google.com> am 0ef02e57: Merge "Decode base64 message text" into jb-ub-mail

* commit '0ef02e5773d76d614beaa461909cda08481a4845':
Decode base64 message text
644f172cde5bb39b383e42f61ea5c73ca0ea1671 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Initialize mDatabase on provider startup" into jb-ub-mail
b82437f563f814471c88e7977dca0ef888cdcaea 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Allow NULL values in genSelect" into jb-ub-mail
77401dc7b7eae926123f7dd8a999e60b2472dfe2 04-Sep-2012 Marc Blank <mblank@google.com> am ada7dfef: Merge "Reconcile all types of local accounts in MailService" into jb-ub-mail

* commit 'ada7dfef3f6e9ef049158a37248f389a3afb10ba':
Reconcile all types of local accounts in MailService
0ef02e5773d76d614beaa461909cda08481a4845 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Decode base64 message text" into jb-ub-mail
ada7dfef3f6e9ef049158a37248f389a3afb10ba 04-Sep-2012 Marc Blank <mblank@google.com> Merge "Reconcile all types of local accounts in MailService" into jb-ub-mail
f53490dc86f5a61ab09024dc4938ce8419c61fc5 03-Sep-2012 Marc Blank <mblank@google.com> Reconcile all types of local accounts in MailService

Bug: 7078247

Change-Id: I43eb5b8a85e40217893bdc08cd839450358d07ea
ingleRunningTask.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceStub.java
ervice/MailService.java
6eac1c9f1c15c8a9440fbf4c1854958c054b912b 04-Sep-2012 Marc Blank <mblank@google.com> Show "Creating account..." dialog during account creation

Bug: 7100373
Change-Id: Ic86d8b8c8fafe628a69e867d93719bb986c7c583
ctivity/setup/AccountSetupOptions.java
cc986cf3d75dd80f59e41b829bb41c369f973d7d 03-Sep-2012 Marc Blank <mblank@google.com> Clear visible limit when entering mailbox; enable imap load more

Bug: 7045530

Change-Id: I013c465dfbe992e9df104039e8576465805c9119
map2/Imap2SyncService.java
rovider/EmailProvider.java
33f3b0c1d5930c5420bdc366a6a361c248937265 03-Sep-2012 Marc Blank <mblank@google.com> Initialize mDatabase on provider startup

* Try to prevent startup-related races

Bug: 6969684
Change-Id: I5eb2bf2773c2809a27a7eeb461bf8fbfccc864a2
rovider/EmailProvider.java
df9c1f3aa54792cc65f95ddff8e36a34a9dcdda1 03-Sep-2012 Marc Blank <mblank@google.com> Allow NULL values in genSelect

Bug: 7050016
Change-Id: Ia70e2312e37e8a5adae62d045878a079e9195d00
rovider/EmailProvider.java
e6c576a629a40cb581390001cec2842f231308d3 03-Sep-2012 Marc Blank <mblank@google.com> Decode base64 message text

* Who the f*** sends text in base64. Oh, that's right - we do.

Bug: 7074378
Change-Id: Ic20c6e2aba0b700cbb2cd032f5e541c9a9f83239
map2/Imap2SyncService.java
8e104063da394d9eb507848a30af5e6d5d83a1df 03-Sep-2012 Marc Blank <mblank@google.com> am 96e13d4d: Don\'t logout of Imap while body loading continues

* commit '96e13d4d8c190004124246dcee86b959d7bf9cac':
Don't logout of Imap while body loading continues
96e13d4d8c190004124246dcee86b959d7bf9cac 03-Sep-2012 Marc Blank <mblank@google.com> Don't logout of Imap while body loading continues

Change-Id: Ibb79c8436851863dac582478fef32344b9269d3f
map2/Imap2SyncService.java
8116f576eb9ce8112f815f073fab4809e83423ed 02-Sep-2012 Marc Blank <mblank@google.com> am b82ae909: Add support for "load more" for Imap2

* commit 'b82ae909d7514bf06090ee3a120aef2154ab0296':
Add support for "load more" for Imap2
b82ae909d7514bf06090ee3a120aef2154ab0296 24-Aug-2012 Marc Blank <mblank@google.com> Add support for "load more" for Imap2

* Use new attribute in services.xml to indicate support
* Initial implementation

Change-Id: Ia8709d606d521c6d495c343a47ee074b5024d340
map2/Imap2SyncService.java
rovider/EmailProvider.java
ervice/EmailServiceUtils.java
ervice/LegacyImap2AuthenticatorService.java
e0b8fd27ac7bb273c6622f26c9aca57fc467236a 02-Sep-2012 Marc Blank <mblank@google.com> am e714bb9d: Convert authorities, intents, and account manager types

* commit 'e714bb9d153cfe13a7f0932e7d67ea08fa5a1d98':
Convert authorities, intents, and account manager types
e714bb9d153cfe13a7f0932e7d67ea08fa5a1d98 23-Aug-2012 Marc Blank <mblank@google.com> Convert authorities, intents, and account manager types

* Tested ok on wiped Nexus
* Tested ok on S3
* Upgrade verified on Nexus

Change-Id: If5d4ce594f8a309cdb59589d10b1d33f3b79326c
otificationController.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/SetupData.java
map2/AttachmentLoader.java
map2/EmailSyncAdapterService.java
map2/Imap2SyncManager.java
map2/Imap2SyncService.java
ail/Store.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/imap/ImapConstants.java
ail/store/imap/ImapElement.java
ail/store/imap/ImapList.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapResponse.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
ail/store/imap/ImapUtility.java
rovider/AttachmentProvider.java
rovider/DBHelper.java
rovider/EmailProvider.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceStub.java
ervice/EmailServiceUtils.java
ervice/Imap2AuthenticatorService.java
ervice/ImapAuthenticatorService.java
ervice/ImapService.java
ervice/ImapTempFileLiteral.java
ervice/LegacyEasAuthenticatorService.java
ervice/LegacyEmailAuthenticatorService.java
ervice/MailService.java
ervice/Pop3AuthenticatorService.java
ervice/Pop3Service.java
ervice/Pop3SyncAdapterService.java
ervice/PopImapAuthenticatorService.java
ervice/PopImapSyncAdapterService.java
ae678bac770a284e752d0909487c183c6c25bb5e 30-Aug-2012 Marc Blank <mblank@google.com> am 5ac8d387: Always return correct folder capabilities

* commit '5ac8d38796952a817f4693b38d62fc124651c121':
Always return correct folder capabilities
3f645c83d4a3198d65688b39620d16e665c8847a 29-Aug-2012 Johan Redestig <johan.redestig@sonymobile.com> Make Pop3Store locale safe

Using regular string concatenation instead of default String.format
since it is locale safe, and String.format was not used for anything
fancy.

Change-Id: I4995691518cc41b4751840f42808d414f0d6be3d
ail/store/Pop3Store.java
5ac8d38796952a817f4693b38d62fc124651c121 28-Aug-2012 Marc Blank <mblank@google.com> Always return correct folder capabilities

* This requires us to use a MatrixCursor based on individual
Mailbox queries

Bug: 7059516
Change-Id: Ie9481a519d3d876464985924e5e7ad6d987c3945
rovider/EmailProvider.java
38a8b719d39fb8cfcc9674d91e898d4a7ca796d1 22-Aug-2012 Marc Blank <mblank@google.com> am 70edcf05: Integrate Imap2 into Email

* commit '70edcf05387df33f4761b766add6b80999e425e9':
Integrate Imap2 into Email
70edcf05387df33f4761b766add6b80999e425e9 22-Aug-2012 Marc Blank <mblank@google.com> Integrate Imap2 into Email

* Also, convert imap accounts to imap2
* The original imap service remains, but is no used
* There remain some questions about how the upgrade
should work in terms of settings

Change-Id: I0e05edad6a1553f428a2c2fa3daf1df878d4b5f7
map2/AttachmentLoader.java
map2/EmailSyncAdapterService.java
map2/Imap2SyncManager.java
map2/Imap2SyncService.java
map2/ImapId.java
map2/ImapInputStream.java
map2/Parser.java
map2/QuotedPrintable.java
map2/SearchRequest.java
map2/smtp/MailTransport.java
map2/smtp/SmtpSender.java
ervice/EmailServiceUtils.java
ervice/MailService.java
806a48e33fa06568f54466cc9994c13380545e85 22-Aug-2012 Marc Blank <mblank@google.com> am 0b9f23ca: Merge "Report delete capability for all folders" into jb-ub-mail

* commit '0b9f23cae28a57730653af7be074a367e3ae4a09':
Report delete capability for all folders
0b9f23cae28a57730653af7be074a367e3ae4a09 22-Aug-2012 Marc Blank <mblank@google.com> Merge "Report delete capability for all folders" into jb-ub-mail
285cef8ad0af4727b53a7b79e709c0ecb5f40d4f 22-Aug-2012 Marc Blank <mblank@google.com> Report delete capability for all folders

Bug: 7034779
Change-Id: I5cd69739007a870d50e0f362945ca5aa62ae0cdc
rovider/EmailProvider.java
cf30d663493719d83c38f1396723df6f80ece488 21-Aug-2012 Marc Blank <mblank@google.com> am a6885ba9: Remember base64 decoding for IMAP attachments

* commit 'a6885ba97d9d45d3496c67b8142418cbdefee89b':
Remember base64 decoding for IMAP attachments
a6885ba97d9d45d3496c67b8142418cbdefee89b 21-Aug-2012 Marc Blank <mblank@google.com> Remember base64 decoding for IMAP attachments

* Also, add debugging class to EmailProvider

Bug: 6995516
Change-Id: Ia96415caa61f26d55f09beb76fb3f34a40b53691
rovider/EmailProvider.java
25dba76030a7fdb48d3748d22c60802b90524c83 21-Aug-2012 Marc Blank <mblank@google.com> am ae597ea9: Handle getExtras() from message list cursor

* commit 'ae597ea949e3351de0dc71ba4b4ab124afea7d96':
Handle getExtras() from message list cursor
ae597ea949e3351de0dc71ba4b4ab124afea7d96 21-Aug-2012 Marc Blank <mblank@google.com> Handle getExtras() from message list cursor

Bug: 6923453
Change-Id: Iceacf32ab195de47553243cdf16a75436057d995
rovider/EmailProvider.java
a592498f0fbf07bae4d07eb39dbecc15d86439a3 19-Aug-2012 Paul Westbrook <pwestbro@google.com> am 22e9efd4: Supports delete

* commit '22e9efd44238802cc76ac18ec0c717640898df67':
Supports delete
22e9efd44238802cc76ac18ec0c717640898df67 19-Aug-2012 Paul Westbrook <pwestbro@google.com> Supports delete

Make sure that all Email labels report supporting delete

Bug: 7006885
Change-Id: Ia73b37f456d749debdf5c186a8ae688b9d8525b7
rovider/EmailProvider.java
7475c999d43c9dcb4e3e17653285463e72845254 18-Aug-2012 Marc Blank <mblank@google.com> am 0d084651: Merge "Preserve SetupData state on orientation change" into jb-ub-mail

* commit '0d084651b06e998be7b31c4549aa0594efc08bc3':
Preserve SetupData state on orientation change
12a79eb4798093b7e8a276c4e96f07fd62e0933d 18-Aug-2012 Marc Blank <mblank@google.com> Preserve SetupData state on orientation change

* I suspect there are more bugs to be found here

Bug: 6956692
Change-Id: Id01d8e990b954505383d8218c05c192d658062cc
ctivity/setup/AccountSetupBasics.java
ctivity/setup/SetupData.java
866eaa6a218cc467855ba534092062b607aeca4c 17-Aug-2012 Marc Blank <mblank@google.com> am 0bac607e: Merge "Try to find cause for NPE" into jb-ub-mail

* commit '0bac607eff0503a69ae8cc579b474eb55c06fdbd':
Try to find cause for NPE
0bac607eff0503a69ae8cc579b474eb55c06fdbd 17-Aug-2012 Marc Blank <mblank@google.com> Merge "Try to find cause for NPE" into jb-ub-mail
8bcc07d645694b65719b305ba0abcebda4e93a8b 17-Aug-2012 Marc Blank <mblank@google.com> am 46656fce: Merge "Remove Imap2 warning" into jb-ub-mail

* commit '46656fceaaddf6823b0b9ffa475732cb5373f9b6':
Remove Imap2 warning
296d18c02b4397c320a273cc94c234620e13b3fd 17-Aug-2012 Marc Blank <mblank@google.com> Try to find cause for NPE

Bug: 7006995
Change-Id: I12d19fab0264b5d779f24df92274ad879237d254
rovider/EmailProvider.java
53d791d7a4d31b91254e16a18c122b36f5847e36 17-Aug-2012 Marc Blank <mblank@google.com> Remove Imap2 warning

Change-Id: Ic531ef1047ba1bf8da50cae9af147cf18332d8b8
ctivity/setup/AccountSetupBasics.java
b59beed668396f37ffe5a218d0d8e98afa54cb34 17-Aug-2012 Marc Blank <mblank@google.com> am bc53491b: Ensure that security notification is posted if not active

* commit 'bc53491b95e4de2e30b04e696f30d209539ec87a':
Ensure that security notification is posted if not active
bc53491b95e4de2e30b04e696f30d209539ec87a 17-Aug-2012 Marc Blank <mblank@google.com> Ensure that security notification is posted if not active

Bug: 7007658

Change-Id: Ia422c30c47b044279471e549541ac6279735828c
ecurityPolicy.java
c0737ee6bf696d327a651d36409eb054c1ec2774 16-Aug-2012 Marc Blank <mblank@google.com> am 49e60998: Merge "Use appropriate prefix to infer server address" into jb-ub-mail

* commit '49e609984060d602c68caeee61a2ac95e1b09b51':
Use appropriate prefix to infer server address
b89744ecfb92a4b8fc66a23b942531d39910de44 16-Aug-2012 Marc Blank <mblank@google.com> Use appropriate prefix to infer server address

Bug: 6999072
Change-Id: I71aa184b1cfa0b6926f4dae8861f071f27d3acb2
ctivity/setup/AccountSetupIncoming.java
ervice/EmailServiceUtils.java
fe009e333afc055c6a81fea07af7214ec61d2725 16-Aug-2012 Marc Blank <mblank@google.com> am cf3b3ae9: Prevent NPE while getting service

* commit 'cf3b3ae987e73453f2265673a7ba3a72a1a6b4ed':
Prevent NPE while getting service
cf3b3ae987e73453f2265673a7ba3a72a1a6b4ed 16-Aug-2012 Marc Blank <mblank@google.com> Prevent NPE while getting service

Bug: 6989095
Change-Id: I646e393ec77a2e31c92011868f705e0936e41d88
ervice/EmailServiceUtils.java
1b240f7016e2e25aba7f609dcf8e8d6d04ef2bcd 10-Aug-2012 Paul Westbrook <pwestbro@google.com> am 33858c77: Fix crash when validating email hostAuth

* commit '33858c77e9eaa688b43469de38439bd2107073f7':
Fix crash when validating email hostAuth
33858c77e9eaa688b43469de38439bd2107073f7 10-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix crash when validating email hostAuth

Bug: 6948287
Change-Id: I781a32a2da0b4248e7ee1e061393ebc2bdc4dd61
rovider/EmailProvider.java
8235253ea57da268e473e0a45bc1eb2c4200807c 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 454ac69f: Merge "Keep MessageCompose enabled if no accounts exists"

* commit '454ac69f05da3afe7610b5d2a0692c485ff35b0f':
Keep MessageCompose enabled if no accounts exists
14bd4a9123d3e5184e4315b075b75610603f1126 08-Aug-2012 Paul Westbrook <pwestbro@google.com> am 9439595e: Fix NPE when proceeding without selecting trash folder

* commit '9439595e582803ede8c4bb8634cf93457681edd7':
Fix NPE when proceeding without selecting trash folder
9439595e582803ede8c4bb8634cf93457681edd7 08-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix NPE when proceeding without selecting trash folder

Bug: 6948677
Change-Id: Iac846a8c4e992a02f5f5974ac623a99bee218b13
rovider/FolderSelectionDialog.java
db1ae92d3ef44629de3ae5db2c9f2682eacd908a 07-Aug-2012 Paul Westbrook <pwestbro@google.com> am 532bcf4a: Catch exception in monkey runs

* commit '532bcf4a522f91258c74604b74096c9b1f7c0510':
Catch exception in monkey runs
532bcf4a522f91258c74604b74096c9b1f7c0510 07-Aug-2012 Paul Westbrook <pwestbro@google.com> Catch exception in monkey runs

Bug: 6929910
Change-Id: I1d1703282af66bcba7e77277b8ea663fdebcc251
ail/transport/MailTransport.java
24617f7c95746bfa0b80a2bd7727d3974ce71ad7 04-Aug-2012 Marc Blank <mblank@google.com> am e340b1f4: Merge "Progress updates for POP3 message downloads" into jb-ub-mail

* commit 'e340b1f4df2aa2397262935f636edbff4e35a9c7':
Progress updates for POP3 message downloads
e340b1f4df2aa2397262935f636edbff4e35a9c7 04-Aug-2012 Marc Blank <mblank@google.com> Merge "Progress updates for POP3 message downloads" into jb-ub-mail
970fe5316b54cf6b60dbe9122e744eaa31772e10 04-Aug-2012 Marc Blank <mblank@google.com> Progress updates for POP3 message downloads

* Also, handle MessagingException when doing STAT

Change-Id: I5267b64f18a84fcc97fc2d003e49d4e373ea02c5
ail/store/Pop3Store.java
ervice/Pop3Service.java
e4fe67d7d8fb18053967ea42007d4f571d0c24c4 03-Aug-2012 Paul Westbrook <pwestbro@google.com> am b74f2204: Make sure to respect the projection from the client

* commit 'b74f2204672ae01e1b2954f5714031d369c332cb':
Make sure to respect the projection from the client
b74f2204672ae01e1b2954f5714031d369c332cb 03-Aug-2012 Paul Westbrook <pwestbro@google.com> Make sure to respect the projection from the client

The combined account query wasn't respecting the projection from the
client

Bug: 6930416
Change-Id: Iecda9b08caf6bb3e68a0d1cf79496b3d32b4b54e
rovider/EmailProvider.java
rovider/WidgetProvider.java
c4f0a7ee201d35c08b8072705240318de1d267ee 03-Aug-2012 Marc Blank <mblank@google.com> am cee98816: Fix typo in DBHelper

* commit 'cee9881650e01da155b3d7117357a15f49a7a4a1':
Fix typo in DBHelper
cee9881650e01da155b3d7117357a15f49a7a4a1 03-Aug-2012 Marc Blank <mblank@google.com> Fix typo in DBHelper

Bug: 6930157
Change-Id: Id98cb1772b3d2d58dcd3098566f1096b10ea66f2
rovider/DBHelper.java
6810283183c1265d36d37e1d526bde4f6b5d8cb3 03-Aug-2012 Marc Blank <mblank@google.com> am e68efceb: Merge "Handle server deletion of local POP deletions" into jb-ub-mail

* commit 'e68efceb9a192070799867f54867a98ceb84ead8':
Handle server deletion of local POP deletions
209ea738ad2db1ce9b2438c70e150a96ed803800 03-Aug-2012 Marc Blank <mblank@google.com> am 4ba99bfb: Prevent crash in Email while viewing message

* commit '4ba99bfb24aa884ad4aff2c8e40631e836398c2a':
Prevent crash in Email while viewing message
7f7f7e6402eec1baab6bedcb58da61369cae4097 03-Aug-2012 Marc Blank <mblank@google.com> Handle server deletion of local POP deletions

* Also avoid looping through zillions of messages when
checking uid's
* Always have 25 (or whatever the visible limit) messages
loaded

Change-Id: Ib2f02a59cc438e3fd14d7ac607fb01d9a5fa5282
ail/store/Pop3Store.java
rovider/EmailProvider.java
ervice/Pop3Service.java
4ba99bfb24aa884ad4aff2c8e40631e836398c2a 03-Aug-2012 Marc Blank <mblank@google.com> Prevent crash in Email while viewing message

* Due to new VIEWED column in UIProvider.ConversationColumns

Change-Id: I029d61b30eac96c4cb87cc7f8b6719ecdd987892
rovider/EmailProvider.java
28d940472d593f74149f99f0206a311971792b4d 03-Aug-2012 Marc Blank <mblank@google.com> am f6db592c: POP3 renovation

* commit 'f6db592c313c77190727c7cd72d3edda9d23a099':
POP3 renovation
f6db592c313c77190727c7cd72d3edda9d23a099 02-Aug-2012 Marc Blank <mblank@google.com> POP3 renovation

* Much, much faster
* Remove message length pass and lots of other useless code
* Create pseudo-attachment for long messages (click to download) that
includes size (so user can determine whether it's worth it)
* Handle download of message via pseudo-attachment; real attachments
are then created as necessary.

TODO: Add real UI with UX input (or modify existing to clean up the
loose ends)
TODO: Optimizations for loading the whole message
TODO: Get server delete working (isn't working currently anyway)

Change-Id: I31f3809fc5a2f9fd490d33cfed70d2930654e71d
egacyConversions.java
ctivity/setup/AccountSetupOptions.java
ail/Store.java
ail/store/Pop3Store.java
rovider/EmailProvider.java
rovider/Utilities.java
ervice/EmailServiceStub.java
ervice/Pop3Service.java
257fb7ab59de7c8ccaa30ef380daba908da8078c 01-Aug-2012 Vikram Aggarwal <viki@google.com> am e0015b28: Priority Arrows are always disabled for Email.

* commit 'e0015b2800eeefbf8aaf322645038907f37e62f1':
Priority Arrows are always disabled for Email.
e0015b2800eeefbf8aaf322645038907f37e62f1 01-Aug-2012 Vikram Aggarwal <viki@google.com> Priority Arrows are always disabled for Email.

Change-Id: If8617fc9c41467987aa572bfe2f93394757c4166
rovider/EmailProvider.java
c776b1f14686118f629d555d240e80f1e1d370d9 01-Aug-2012 Marc Blank <mblank@google.com> am 7d5e2a7c: Do "same certificate" checking when using "trust certificates"

* commit '7d5e2a7c08966ffd4a9e8c78f504cc4fd5be4216':
Do "same certificate" checking when using "trust certificates"
7d5e2a7c08966ffd4a9e8c78f504cc4fd5be4216 01-Aug-2012 Marc Blank <mblank@google.com> Do "same certificate" checking when using "trust certificates"

* Refactor/simplify Transport/MailTransport
* Add serverCert column to HostAuth table in EmailProvider
* During first connection to server, save the server certificate
in the HostAuth; on subsequent connections, ensure that the
certificate presented has the same public key as the one
stored
* For now, we'll just fail to connect (with a CertificateException)
if there's a mismatch

TODO: Add some UI to handle different certificates

Bug: 6888866
Change-Id: Ia79497e89eaad8d43617b50d3771121b2ed7f687
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
rovider/DBHelper.java
13858031306ea6fbaaadbd4b02ceae590f894955 31-Jul-2012 Marc Blank <mblank@google.com> am 942fea3c: Synchronize checkDatabases()

* commit '942fea3c97e0f8aa6420ecbc6201d4be27800d94':
Synchronize checkDatabases()
942fea3c97e0f8aa6420ecbc6201d4be27800d94 31-Jul-2012 Marc Blank <mblank@google.com> Synchronize checkDatabases()

Bug: 6538393
Change-Id: I5e4d532aa859d8a49805b74475275ad914e84b86
rovider/EmailProvider.java
dbcab3ca23e4f6f482d74ac962958a4fffc999ee 31-Jul-2012 Marc Blank <mblank@google.com> am 949fc3d8: Prevent NPE when the message has been deleted

* commit '949fc3d88338861dec8eac29fffaef5b17ae07e8':
Prevent NPE when the message has been deleted
949fc3d88338861dec8eac29fffaef5b17ae07e8 31-Jul-2012 Marc Blank <mblank@google.com> Prevent NPE when the message has been deleted

Bug: 6907706
Change-Id: I5d5f980856eed12242095527aa927d139c77db4d
rovider/EmailProvider.java
fb3ec1a84dfddae5f2a91d976e6eee7dabaf3413 31-Jul-2012 The Android Automerger <android-build@android.com> Merge remote-tracking branch 'goog/jb-ub-mail' into jb-mr1-dev
f986f44ecac2b65fa50dcd8543945ff85d3b2245 30-Jul-2012 Mindy Pereira <mindyp@google.com> Reduced the number of calls that did the same thing in the Folder class.

The new method is just Folder.toString

Change-Id: I28fe0cc6e0adb110645941acd4990957283e5b03
otificationController.java
125a2435d6f9dd4a49e1a66de35ad6bf39081202 29-Jul-2012 Marc Blank <mblank@google.com> Use Imap2 for auto-setup (if installed)

* And warn user (allowing her to switch to legacy adapter)
* This is temporary, for use in testing and marked STOPSHIP

Change-Id: I2510b0855a67c09add116d827185ff14596f44dd
ctivity/setup/AccountSetupBasics.java
1bd4630d3d7e4ea309a126b05b00fb1ccab283b8 27-Jul-2012 Marc Blank <mblank@google.com> Linkify and show URL's if they are incuded in ALERT messages

* Gmail does this, for example...

Change-Id: I3b8d7b38e490bbac286f688c11cb62e6874121c2
ctivity/setup/AccountSettings.java
dba0b20d955d88831ce94d96dbdadc49dba4761a 27-Jul-2012 Marc Blank <mblank@google.com> Handle ALERT response to login command

* Allow AccountService loginFailed API to take a reason string
* Present the reason string in the dialog shown from the login
failure notification
* Handle ALERTs in IMAP login responses (for example, some servers
will occasionally require web login and we need to inform them,
rather than simply saying the password is wrong)
* This fixes a longstanding bug in our Imap1 implementation

Change-Id: I8b270cd5d4746559b6c8a78bce02f0e7c525bdea
otificationController.java
ctivity/setup/AccountSettings.java
ervice/AccountService.java
ae57810e1e321991c454a4a6de4b88817c839315 27-Jul-2012 Marc Blank <mblank@google.com> Merge "Imap2 additions" into jb-ub-mail
0b6b83c6f90652b506c7761b923663c08f3af833 25-Jul-2012 Marc Blank <mblank@google.com> Imap2 additions

* Implement first-pass Imap2 server-side search
* Improve number parsing performance
* Better handle the BodyThread (loading message bodies)

Change-Id: I0ccd7377c80a0553b086d5204b211067896a2f49
rovider/EmailProvider.java
34d8a139ce9c7eb72ec92ba6861353f221301330 27-Jul-2012 Mindy Pereira <mindyp@google.com> Remove extraneous loop.

There better be just 1 folder!

Change-Id: I8f4431cb133b29a4d4f266d0a95b843b374f15cc
rovider/EmailProvider.java
709b4633eda47f81a689c3be623660d74cdad904 27-Jul-2012 Mindy Pereira <mindyp@google.com> We don't need this! Raw folders does everything for us.

Change-Id: I5e37ed79ce3dce02ffad6fbea184981dd6f4f40e
rovider/EmailProvider.java
97a198292e665fff5d27d727d415f35b0a0633e4 26-Jul-2012 Marc Blank <mblank@google.com> Notify on "all accounts" when an account is updated

Change-Id: If6bad046d10972dcf7aa76d73b18c8a0c655a6ce
ctivity/setup/GeneralPreferences.java
rovider/EmailProvider.java
b225298b13eb47c6251d73c28506b0a7ad56bf5c 26-Jul-2012 Marc Blank <mblank@google.com> Add swipe-to-delete general preference

Change-Id: I83aa62526ba7a74cea27930300340227b147340f
references.java
ctivity/setup/GeneralPreferences.java
rovider/EmailProvider.java
b1502c3cb2f9c2535da5e8fcd2d2366d3fa8e6ee 26-Jul-2012 Paul Westbrook <pwestbro@google.com> am 21959b3f: Support widget changes in UnifiedEmail

* commit '21959b3f297fe96c33b22b623a6c426e95d7effc':
Support widget changes in UnifiedEmail
21959b3f297fe96c33b22b623a6c426e95d7effc 25-Jul-2012 Paul Westbrook <pwestbro@google.com> Support widget changes in UnifiedEmail

Change-Id: I48ed403a7f1d61607b70c3ef260cc1f903e27a1b
rovider/WidgetProvider.java
298780dc3799ac79ab61500a43c54bcddbd643a7 25-Jul-2012 Marc Blank <mblank@google.com> am a4418762: Merge "Make sure account capabilities get set properly in UIProvider" into jb-ub-mail

* commit 'a4418762d4667dd8e76adfe45d905da9e228d1d5':
Make sure account capabilities get set properly in UIProvider
a4418762d4667dd8e76adfe45d905da9e228d1d5 25-Jul-2012 Marc Blank <mblank@google.com> Merge "Make sure account capabilities get set properly in UIProvider" into jb-ub-mail
54ae050ca7c75e02135aab2d2511e86cd3178940 25-Jul-2012 Andrew Sapperstein <asapperstein@google.com> am 6eee9e4f: Filtering attachments by content type.

* commit '6eee9e4f11d0dad2c2e965281c63146f7acd0d2f':
Filtering attachments by content type.
0b5f15d61ebf7c0e8428100637bc479ed93a4cb2 25-Jul-2012 Marc Blank <mblank@google.com> Make sure account capabilities get set properly in UIProvider

* Change getCapabilities API to take an account, rather than
the id of the account
* getCapabilities() can therefore execute even before Exchange
is fully up and running

Change-Id: Id4c2a9942ea7a21e0c56401c50206b680274b43e
rovider/EmailProvider.java
ervice/EmailServiceUtils.java
ervice/ImapService.java
ervice/Pop3Service.java
6eee9e4f11d0dad2c2e965281c63146f7acd0d2f 24-Jul-2012 Andrew Sapperstein <asapperstein@google.com> Filtering attachments by content type.

If the optional contentTypeQueryParameters is
set in the attachments URI, we only include attachments
that start with one of the contentTypes given in the
query parameters.

Change-Id: I97364b405b37174c02ba712009604b4dd122ae73
rovider/EmailProvider.java
9beba6424444ef103ab7f19942713bd114d6d7ec 09-Jun-2012 Roger Chen <cxr514033970@gmail.com> Keep MessageCompose enabled if no accounts exists

The 3rd-party app will throw the ActivityNotFoundException
if user sent the email by intent with the scheme "mailto"
when no account exits. It is caused by MessageCompose was
set "enable=false" when it initialized and disabled if no
account exits in EmailApp

Change-Id: I000eb5292ad2e523bf6b1bd9a38d5e4fd49ac992
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
mail.java
ea56e5eb503735a29737c4aef4d1da1b1ca53576 24-Jul-2012 Paul Westbrook <pwestbro@google.com> am 51693c5a: Migrate legacy widgets

* commit '51693c5a4ca3553f0a02a91fe1805fb895380e3e':
Migrate legacy widgets
51693c5a4ca3553f0a02a91fe1805fb895380e3e 20-Jul-2012 Paul Westbrook <pwestbro@google.com> Migrate legacy widgets

Bug: 6304532

Change-Id: I6a5cad036ec7d4746e396b580e4689c957a7ee18
rovider/EmailProvider.java
rovider/WidgetProvider.java
69c9213fd019fad55c49b29fa0bf86bd7b03b7b7 20-Jul-2012 Marc Blank <mblank@google.com> am 54b6b8b0: Prevent CME w/ sServiceList

* commit '54b6b8b072100551c1820d679108bd8356a0c8be':
Prevent CME w/ sServiceList
54b6b8b072100551c1820d679108bd8356a0c8be 20-Jul-2012 Marc Blank <mblank@google.com> Prevent CME w/ sServiceList

Bug: 6854037
Change-Id: I0b9aadfa0b347c62bf8a3b0c5ec88330871cce2d
ervice/EmailServiceUtils.java
377079b0ddf0dbbfd8d69e0260a4a4500ace791a 20-Jul-2012 Marc Blank <mblank@google.com> am 00287c4d: Remove unused code; rename some constants

* commit '00287c4d8f54ae07c89bb3893f440acdca09d728':
Remove unused code; rename some constants
00287c4d8f54ae07c89bb3893f440acdca09d728 20-Jul-2012 Marc Blank <mblank@google.com> Remove unused code; rename some constants

* Also handle large batch operations in chunks

Change-Id: Ie566cb8d8bb73e8edd663de5228e905c223f031b
rovider/EmailProvider.java
ervice/ImapService.java
e5990d1ad6b13f4b320b650f6dba523001585fa8 20-Jul-2012 Mindy Pereira <mindyp@google.com> am 51d4370b: Create ConversationInfo object with senders info for email.

* commit '51d4370b770ae56a4437bb68ed4729e5f1111a43':
Create ConversationInfo object with senders info for email.
51d4370b770ae56a4437bb68ed4729e5f1111a43 20-Jul-2012 Mindy Pereira <mindyp@google.com> Create ConversationInfo object with senders info for email.

Change-Id: Ibc789682d3bf0b19e026dcb629f94afee0405ec3
rovider/EmailProvider.java
48000826492a05809851d5af594a7fbe4da4ca4c 19-Jul-2012 Marc Blank <mblank@google.com> am 77a9966f: Merge "More work on Imap2" into jb-ub-mail

* commit '77a9966f462581707bc49ccbf3348ca65b5fa41d':
More work on Imap2
77a9966f462581707bc49ccbf3348ca65b5fa41d 19-Jul-2012 Marc Blank <mblank@google.com> Merge "More work on Imap2" into jb-ub-mail
a8b683cf3f2efe726220c0235368cf6ea899e3ba 18-Jul-2012 Marc Blank <mblank@google.com> More work on Imap2

* Handle sending mail and moving to sent folder
* Implement picker for sent folder
* Upload sent items to server
* Add support for "automatic" sync window
* Move some files from Email -> emailcommon
* The added files are copied directly from Email (and can be
removed if/when Imap2 is merged back with Email)

Change-Id: I3a6a3d224826e547748be2f1b567b6294ad5db89
ail/Store.java
ail/Transport.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/transport/CountingOutputStream.java
ail/transport/EOLConvertingOutputStream.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
rovider/EmailProvider.java
rovider/FolderPickerActivity.java
rovider/FolderSelectionDialog.java
358fe3ef75fbf6eec0f8d210f58d272183e09e34 19-Jul-2012 Vikram Aggarwal <viki@google.com> am ba6bf4e0: Merge "Default Inbox name for Email" into jb-ub-mail

* commit 'ba6bf4e0520ab8e5eb5e3ccdb0a41a241fab8f34':
Default Inbox name for Email
ba6bf4e0520ab8e5eb5e3ccdb0a41a241fab8f34 19-Jul-2012 Vikram Aggarwal <viki@google.com> Merge "Default Inbox name for Email" into jb-ub-mail
a0fef46aea16c1783f681bb0053eeb3f53d975ab 19-Jul-2012 Vikram Aggarwal <viki@google.com> Default Inbox name for Email

Change-Id: Iac4995d948d73c6a663331b0653453a916057189
rovider/EmailProvider.java
26dfca646dddff2929b53d7f48287896b82a111f 19-Jul-2012 Mindy Pereira <mindyp@google.com> am 49cbb813: Should be able to forward a message with no additional content.

* commit '49cbb81332769c97a19cd388dcfd88957c072328':
Should be able to forward a message with no additional content.
643eeeeb930c6724d5033242db07292187a164dc 19-Jul-2012 Marc Blank <mblank@google.com> am c9920716: Fix build break

* commit 'c992071671248761de44eff048ffb64554a5cb26':
Fix build break
38f0a06f031f6aa68429fa1cfb573a599c78dd33 19-Jul-2012 Marc Blank <mblank@google.com> am c6089bc0: Initial Imap2 implementation

* commit 'c6089bc01f2ae49fb11904a4b4f222811358254f':
Initial Imap2 implementation
49cbb81332769c97a19cd388dcfd88957c072328 19-Jul-2012 Mindy Pereira <mindyp@google.com> Should be able to forward a message with no additional content.

Change-Id: I6eccf2f2436303a0359027d3efd3763306f9f657
rovider/EmailProvider.java
c992071671248761de44eff048ffb64554a5cb26 18-Jul-2012 Marc Blank <mblank@google.com> Fix build break

Change-Id: I23cdd4c07faf97d471caf1e9dc37d81f412d8dab
rovider/FolderSelectionDialog.java
c6089bc01f2ae49fb11904a4b4f222811358254f 29-Jun-2012 Marc Blank <mblank@google.com> Initial Imap2 implementation

This CL includes the following:
* New Imap2.apk generation (not included in builds)
* "Push IMAP" option for accounts when Imap2.apk present
* Account creation/setup
* 2-way sync of messages, deletions, flag updates
* Push (messages, flags)
* Folder list hierarchy handling
* Message text (one plain or html part)
* Picker UI for trash folder (placeholder)
* Capabilities handling/UI command

Major Imap2 new features:
* Push
* Multiple folder sync
* Sync window (like EAS)

TODO:
* Picker UI for sent folder
* Upload of sent messages to server
* Search
* Multiple viewable parts
* Probably lots more, incl. unit tests

Change-Id: Ia5d74073d9c307e0bdae72a7f76b27140dde7d14
endorPolicyLoader.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupOptions.java
ail/store/ImapStore.java
rovider/DBHelper.java
rovider/EmailProvider.java
rovider/FolderPickerActivity.java
rovider/FolderPickerCallback.java
rovider/FolderSelectionDialog.java
ervice/AccountService.java
ervice/EmailBroadcastProcessorService.java
ervice/Imap2AuthenticatorService.java
ervice/ImapService.java
994fdfeafa3aa4c02c51ec4cafde0c05049d3aa9 16-Jul-2012 Mindy Pereira <mindyp@google.com> am ab076fa6: Account and Folder are both json objects now.

* commit 'ab076fa6334182bb93e3420b9459c201ffae5a88':
Account and Folder are both json objects now.
ab076fa6334182bb93e3420b9459c201ffae5a88 16-Jul-2012 Mindy Pereira <mindyp@google.com> Account and Folder are both json objects now.

We dont have a seperate parcelable account and serialized account
string (for pending and regular intents)

Fixes b/6805342 Email crash on opening message from notification bar

Change-Id: I5b310fbafefb8dd82b9e222421fb624703b1676b
otificationController.java
cdb12d2d052cebe829109483a3f16650f541ff88 14-Jul-2012 Nick Kralevich <nnk@google.com> Fix build.

Change-Id: I0a16293ac7958ffc98b9a55564716eab277d6d63
ecurityPolicy.java
c399b07999695879e172ffe243e74644471efa36 13-Jul-2012 Marc Blank <mblank@google.com> am 4c85cec8: am 48f9758e: Don\'t set DPM password expiration unless it has changed

* commit '4c85cec894d466a41ab2ca75b3b3d8148e4a8eca':
Don't set DPM password expiration unless it has changed
48f9758e1096b596bc8ab36ee1115bcd0730d0b9 13-Jul-2012 Marc Blank <mblank@google.com> Don't set DPM password expiration unless it has changed

* Because we push the expiration value frequently (not only when
policies change, but also after alerting the user to change his
settings), we're pushing this value further and further into
the future.
* In the referenced bug, the data IS being deleted, but then the
expiration is pushed out, putting us back into compliance with
policies (wrongly), which leads to the data syncing right back
again
* The fix is to only push the expiration when it has changed; the
fix is trivial

Bug: 6813598
Change-Id: Ibd238813e3f2f25e7f1f176c31cb31d00874dba6
ecurityPolicy.java
deddc0c2350fbbb366a3909cfc430cf3d37cfc44 13-Jul-2012 Andrew Sapperstein <asapperstein@google.com> am 13ba7c74: Merge "Adding the via column to email." into jb-ub-mail

* commit '13ba7c74f65b5e1c9c471cc46d78eddc3c9658bf':
Adding the via column to email.
b27348a80836d6f7daac2ece4b2e6620f8d315f4 13-Jul-2012 Andrew Sapperstein <asapperstein@google.com> Adding the via column to email.

Change-Id: I3d49f696a1262f22b0ebaf733b5a4f26ac270935
rovider/EmailProvider.java
61c37b0a3a151173aa6c3851ec7d7838225a0479 13-Jul-2012 Andrew Sapperstein <asapperstein@google.com> am bebb152c: Merge "Update to email2 for the new spam warnings." into jb-ub-mail

* commit 'bebb152ce0ddc84ad64fe595b75ef05cfa04c0e9':
Update to email2 for the new spam warnings.
de79ecbbe2356d21ab0b0d40a7ee00f4e18b4924 11-Jul-2012 Andrew Sapperstein <asapperstein@google.com> Update to email2 for the new spam warnings.

This feature being Gmail-specific, we simply
set the default values so that warnings never show
up for email clients.

Change-Id: Ie0a55762c1af73a9c9aa8836faadc23ac9af52cb
rovider/EmailProvider.java
cc0185f07c9198008d8dc685ae9979f3e35e8539 28-Jun-2012 Marc Blank <mblank@google.com> Manual merge of Email from jb-ub-mail

Change-Id: I564ddf433d371f45ba78a10f73bb182d484c56f2
ttachmentInfo.java
ontroller.java
ontrollerResultUiThreadWrapper.java
mail.java
mailAddressAdapter.java
mailConnectivityManager.java
olderProperties.java
roupMessagingListener.java
egacyConversions.java
essageListContext.java
essagingController.java
essagingListener.java
otificationController.java
references.java
ecipientAdapter.java
efreshManager.java
ecurityPolicy.java
ingleRunningTask.java
hrottle.java
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/ActivityHelper.java
ctivity/AddressTextView.java
ctivity/AttachmentInfoDialog.java
ctivity/BannerController.java
ctivity/ChipsAddressTextView.java
ctivity/DeleteMessageConfirmationDialog.java
ctivity/EmailActivity.java
ctivity/EventViewer.java
ctivity/FragmentInstallable.java
ctivity/MailboxFinder.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessageCommandButtonView.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/NfcHandler.java
ctivity/RecentMailboxManager.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/ThreePaneLayout.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerSearchTwoPane.java
ctivity/UIControllerTwoPane.java
ctivity/UiUtilities.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/AccountSetupType.java
ctivity/setup/DebugFragment.java
ctivity/setup/EditQuickResponseDialog.java
ctivity/setup/EmailPreferenceFragment.java
ctivity/setup/ForwardingIntent.java
ctivity/setup/GeneralPreferences.java
ctivity/setup/MailboxSettings.java
ctivity/setup/PolicyListPreference.java
ctivity/setup/SetupData.java
ata/ThrottlingCursorLoader.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/ServiceStore.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapTempFileLiteral.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
rovider/AccountReconciler.java
rovider/AttachmentProvider.java
rovider/ContentCache.java
rovider/DBHelper.java
rovider/EmailProvider.java
rovider/Utilities.java
rovider/WidgetProvider.java
ervice/AccountService.java
ervice/AttachmentDownloadService.java
ervice/AuthenticatorService.java
ervice/EasAuthenticatorService.java
ervice/EasAuthenticatorServiceAlternate.java
ervice/EasTestAuthenticatorService.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceStub.java
ervice/EmailServiceUtils.java
ervice/ImapService.java
ervice/ImapTempFileLiteral.java
ervice/MailService.java
ervice/PolicyService.java
ervice/Pop3Service.java
ervice/PopImapAuthenticatorService.java
ervice/PopImapSyncAdapterService.java
iew/NonLockingScrollView.java
iew/RigidWebView.java
iew/SizeBoundingFrameLayout.java
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetConfiguration.java
idget/WidgetManager.java
7c8f1c125aa5cd79f1f5f6048f8443eb084a6b2e 28-Jun-2012 Marc Blank <mblank@google.com> Fix handling of json in SQLite query

Bug: 6749576
Change-Id: I3cd85182d8c35e564f50ee7f9c787d797253e105
rovider/EmailProvider.java
c5afb16430a145f20d7c887e45f47b38687054da 28-Jun-2012 Marc Blank <mblank@google.com> Add a bunch of stuff missed earlier

Change-Id: I7f707446a963912fe5786dacb5569e68db572d1c
ctivity/EventViewer.java
ctivity/setup/AccountSetupType.java
ctivity/setup/EmailPreferenceFragment.java
ctivity/setup/ForwardingIntent.java
ctivity/setup/PolicyListPreference.java
rovider/DBHelper.java
rovider/Utilities.java
ervice/AuthenticatorService.java
ervice/EmailServiceStub.java
ervice/ImapService.java
ervice/ImapTempFileLiteral.java
ervice/Pop3Service.java
f419287f22ae44f25e1ba1f757ec33c7941bbfa8 28-Jun-2012 Marc Blank <mblank@google.com> DO NOT MERGE: Move emailcommon2 sources to emailcommon

Change-Id: I06df7e467cd2e0117df8b8db3ddc6ff9da13f1c7
ttachmentInfo.java
ontroller.java
ontrollerResultUiThreadWrapper.java
mail.java
mailAddressAdapter.java
mailConnectivityManager.java
olderProperties.java
roupMessagingListener.java
egacyConversions.java
essageListContext.java
essagingController.java
essagingListener.java
otificationController.java
references.java
ecipientAdapter.java
efreshManager.java
ecurityPolicy.java
ingleRunningTask.java
hrottle.java
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/ActivityHelper.java
ctivity/AddressTextView.java
ctivity/AttachmentInfoDialog.java
ctivity/BannerController.java
ctivity/ChipsAddressTextView.java
ctivity/DeleteMessageConfirmationDialog.java
ctivity/EmailActivity.java
ctivity/FragmentInstallable.java
ctivity/MailboxFinder.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessageCommandButtonView.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/NfcHandler.java
ctivity/RecentMailboxManager.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/ThreePaneLayout.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/UiUtilities.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/DebugFragment.java
ctivity/setup/EditQuickResponseDialog.java
ctivity/setup/GeneralPreferences.java
ctivity/setup/MailboxSettings.java
ctivity/setup/SetupData.java
ata/ThrottlingCursorLoader.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/ServiceStore.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapTempFileLiteral.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
rovider/AccountReconciler.java
rovider/AttachmentProvider.java
rovider/ContentCache.java
rovider/EmailProvider.java
rovider/WidgetProvider.java
ervice/AccountService.java
ervice/AttachmentDownloadService.java
ervice/EasAuthenticatorService.java
ervice/EasAuthenticatorServiceAlternate.java
ervice/EasTestAuthenticatorService.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceUtils.java
ervice/MailService.java
ervice/PolicyService.java
ervice/PopImapAuthenticatorService.java
ervice/PopImapSyncAdapterService.java
iew/NonLockingScrollView.java
iew/RigidWebView.java
iew/SizeBoundingFrameLayout.java
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetConfiguration.java
idget/WidgetManager.java
caf8f222f8f58c24b045b6d9b53cf435755c299a 08-Jun-2012 Marc Blank <mblank@google.com> am f16638ae: am d2ccbd44: Don\'t look for account id when coming from Settings

* commit 'f16638ae63c576571944cab3a67f9c959d9891af':
Don't look for account id when coming from Settings
d2ccbd4457e8ea921d8c77dbaa0bd18d412070ba 08-Jun-2012 Marc Blank <mblank@google.com> Don't look for account id when coming from Settings

Bug: 6627535
Change-Id: I34668a0f3da60b230b221be937a7b03e1c1b2dd1
ctivity/setup/AccountSettings.java
f694a6ded6e39b1490597cf9c9d750778bc2a504 05-Jun-2012 Marc Blank <mblank@google.com> Merge "DO NOT MERGE: Fix OOM crash" into jb-dev
143f9a07088663d2b77bca70ff970dff388f3012 04-Jun-2012 Marc Blank <mblank@google.com> DO NOT MERGE: Fix OOM crash

* Fix consists of removing one line of unused code

Bug; 6604743

Change-Id: I8f6412c441ea17166044af21f5ccdc1e6beb0bcb
ail/store/ImapFolder.java
3b6dbd428cee64655f5d11707935874d3c013649 02-Jun-2012 Marc Blank <mblank@google.com> am 61339161: am d47a766b: Merge "Fix crash when check settings finishes while paused" into jb-dev

* commit '613391612d0d38d25c90641e0581bfd0aa7c9cc0':
Fix crash when check settings finishes while paused
d47a766bfc4eb872b040fbd8aab2504720030484 02-Jun-2012 Marc Blank <mblank@google.com> Merge "Fix crash when check settings finishes while paused" into jb-dev
69bd1d8d7ee0a8886c81b3c0d2824486b1e67c8f 02-Jun-2012 Marc Blank <mblank@google.com> Fix crash when check settings finishes while paused

* Check for paused state in reportProgress; when the
activity is resumed, we'll continue where we left off

Bug: 6601387

Change-Id: I96aa59a4c13310d8d63b4476990682d08b5bc772
ctivity/setup/AccountCheckSettingsFragment.java
b3fdd93fa61a0857425342b6f60f4516242c5bf2 02-Jun-2012 Marc Blank <mblank@google.com> am d8995b33: am 2efd7849: Merge "Restore v20->v21, v27->v28 database upgrade code" into jb-dev

* commit 'd8995b33364a0cec0d019e11e937ea3e0bae063b':
Restore v20->v21, v27->v28 database upgrade code
297d006284f38be2296b232f5c3918cb345f5ca5 01-Jun-2012 Marc Blank <mblank@google.com> Restore v20->v21, v27->v28 database upgrade code

* Prevent crashes on GB->JB direct upgrade path

Bug; 6595177

Change-Id: Ib6732d197bdb11d983f62fe9863b3c601251e23f
rovider/DBHelper.java
15c9f712f78076befe3911f23370ccb8f0425d3a 31-May-2012 Marc Blank <mblank@google.com> am c5b573c3: am ad8d7aca: Fix inappropriate "Loading..." state

* commit 'c5b573c32e4b0b0e2f28b281e269ddc19f636edc':
Fix inappropriate "Loading..." state
ad8d7acae09e6dc9daae49fd54be71733961be8b 31-May-2012 Marc Blank <mblank@google.com> Fix inappropriate "Loading..." state

Bug: 6557666
Change-Id: I59dd017c39f8c8b3477215b25c6195a5e2226025
ctivity/MessageListFragment.java
a937425eb62324a96e53d3f991f38e19aa008193 25-May-2012 Mindy Pereira <mindyp@google.com> am a8e81e07: am 9bef4401: Merge "Don\'t need to override this; never did" into jb-dev

* commit 'a8e81e074b2d36451702aa0a116771161c5f52fc':
Don't need to override this; never did
f828f924217b72b41a6921bfc943065fd5719bca 25-May-2012 Mindy Pereira <mindyp@google.com> Don't need to override this; never did

Fixes build

Change-Id: I5a91fe3a3d8c305ab79205cd66ced63de89ae733
ecipientAdapter.java
b9a01384a8b3e301c1f29e6bdf15ee4b6c103cfb 23-May-2012 Mindy Pereira <mindyp@google.com> am 2cfdfcea: am e34bb0e0: If we are re-opening a forwarding draft, don\'t clear recipients.

* commit '2cfdfcea48cb305721bf2dadc51ef44ec30f1426':
If we are re-opening a forwarding draft, don't clear recipients.
e34bb0e0a69c78d4344a3dde9d8169cd4b0041a7 23-May-2012 Mindy Pereira <mindyp@google.com> If we are re-opening a forwarding draft, don't clear recipients.

Fixes b/6539970 All the recipients are getting deleted as soon as mail is opened from draft.

Change-Id: I661842dd44d2f4019014d3c1b79a23bb195a267b
ctivity/MessageCompose.java
c3da0bde3630fd44f8a19a2019fe71b3fc26e544 22-May-2012 Marc Blank <mblank@google.com> am ebbad39b: am f9e49d55: Merge "Prevent NPE with combined view and empty mailboxes" into jb-dev

* commit 'ebbad39b2396fab6b1b8e52ed95dc38bfc4bc3a6':
Prevent NPE with combined view and empty mailboxes
f9e49d5572b3ec11a9a7b6d06a86667d8401f9a5 22-May-2012 Marc Blank <mblank@google.com> Merge "Prevent NPE with combined view and empty mailboxes" into jb-dev
bedb27f98f8fefcb079652767dab71293f4fa44a 22-May-2012 Marc Blank <mblank@google.com> Prevent NPE with combined view and empty mailboxes

Bug: 6531528
Change-Id: I58586743df8fbbd2ebacfbe26359970c008ca328
ctivity/MessageListFragment.java
78425d9fd2eec6f54079e757cbfc9a931588db9c 22-May-2012 Paul Westbrook <pwestbro@google.com> am a9787544: am 1df1d1a1: Merge "Fix NPE with null subject" into jb-dev

* commit 'a9787544ea141fdf648fbd89f4606019a40f7232':
Fix NPE with null subject
12a2fd497d7abf93f7dd21846d1085571b775110 21-May-2012 Paul Westbrook <pwestbro@google.com> Fix NPE with null subject

Bug: 6529706
Change-Id: I3561361731d397045f1f7570b3c1bfeda460446d
otificationController.java
7b6d43af0269b517f0e487164fb92781089d520d 21-May-2012 Paul Westbrook <pwestbro@google.com> am c9d21e71: am 96d5f9e0: Notification fixes

* commit 'c9d21e7137949c802ceb990b1d16fc8ff45ac0ac':
Notification fixes
f10a3d6d6ad1d78c10f0b16fd5cd8f02fafc14ae 21-May-2012 Paul Westbrook <pwestbro@google.com> am 511ba6f7: am fc25f0be: New notifications for email

* commit '511ba6f732f969b55e3939e887be0dfb95110473':
New notifications for email
96d5f9e0ae987a8cca6e5ea59aec4fb4f09dc005 17-May-2012 Paul Westbrook <pwestbro@google.com> Notification fixes

1) Limit the number of digest items that are added
2) Fix the subtext in the big text single notification
3) Scale contact photo in notification to fit

Bug: 6507595
Change-Id: I46591c88b17499f5d0ac4dca6935892e18c363e2
otificationController.java
fc25f0be25abf59be21fdb99a126e5deb25258d5 17-May-2012 Paul Westbrook <pwestbro@google.com> New notifications for email

Bug: 6507595
Change-Id: Ic77d91670d81360ff90d9b0343255e77e545353a
otificationController.java
b5bfc050a84b474944ae944c587ce5cdec5e43af 16-May-2012 Mindy Pereira <mindyp@google.com> am c52d4d0d: am ce484b32: Merge "No need to throw an exception here, just log." into jb-dev

* commit 'c52d4d0dd097561d3af509626a59c3834a43132d':
No need to throw an exception here, just log.
ce484b3208690c2abd19c1ee940ed7e4cca7e076 16-May-2012 Mindy Pereira <mindyp@google.com> Merge "No need to throw an exception here, just log." into jb-dev
a9c8d8f14deadacadea4e225abaffbde7f63c3db 16-May-2012 Mindy Pereira <mindyp@google.com> No need to throw an exception here, just log.

At this point, its possible that mAction hasn't been set yet, since
it gets set as a result of onCreate, and loading the message is done
asynchronously. However, once the action is set, there is a follow up
call to updateActionSelector that will set everything correctly.

Fixes b/6505340 java.lang.IllegalArgumentException: Invalid action type for spinner at com.android.email.activity.MessageCompose$ActionSpinnerAdapter.getActionPosition(MessageCompose.java:1919)

Change-Id: I8b75b3d1a7d5b755afb073ea70fb0c7710e55464
ctivity/MessageCompose.java
5b7d0df7c72527cd52d2fdd161a2d5aec90f9a09 15-May-2012 Marc Blank <mblank@google.com> am 754b86c8: Run resolveAccount() on UI thread

* commit '754b86c8a0965370fd673f60953f7064d49123a2':
Run resolveAccount() on UI thread
754b86c8a0965370fd673f60953f7064d49123a2 15-May-2012 Marc Blank <mblank@google.com> Run resolveAccount() on UI thread

Change-Id: I542a8452116ab382494a79e04f50bad7bd5bba06
ctivity/Welcome.java
921784031ef61c69a206d2910981270c8b4e485d 15-May-2012 Marc Blank <mblank@google.com> am 570ca261: Merge "Don\'t use a repeating alarm for AttachmentDownloadService" into jb-dev

* commit '570ca2611d7aa4c65d709b879b069bcc02282f54':
Don't use a repeating alarm for AttachmentDownloadService
570ca2611d7aa4c65d709b879b069bcc02282f54 15-May-2012 Marc Blank <mblank@google.com> Merge "Don't use a repeating alarm for AttachmentDownloadService" into jb-dev
154d220e3b6b74d446a27119dfb6ef8732f7ed39 15-May-2012 Marc Blank <mblank@google.com> am de4901bc: Move db access off UI thread in Welcome

* commit 'de4901bcc3c2e1e7012bf647afbc5e8bfb2c1f58':
Move db access off UI thread in Welcome
de4901bcc3c2e1e7012bf647afbc5e8bfb2c1f58 15-May-2012 Marc Blank <mblank@google.com> Move db access off UI thread in Welcome

Bug: 6485013
Change-Id: I37de2977d4bc54e090ccb740d7e97d4ba047b0d2
ctivity/Welcome.java
e7a5482e2e3704164c62278b1f020d089ca7363a 15-May-2012 Marc Blank <mblank@google.com> am 66995a0b: Merge "Make extra sure we have an account for MessageCompose" into jb-dev

* commit '66995a0b65465c0f8024ddc510f3994ddc7da4b5':
Make extra sure we have an account for MessageCompose
0fa059d4222318e50d45df9fc3ebee3b692d1fcc 15-May-2012 Marc Blank <mblank@google.com> Don't use a repeating alarm for AttachmentDownloadService

* Guarantees we can't have runaway alarms

Bug: 6494254
Change-Id: I3d4fb77fc0cc5965f3c78a65440538f960f66f0b
ervice/AttachmentDownloadService.java
b321bbb51060e74dbe39571942183d4272ad1234 15-May-2012 Mindy Pereira <mindyp@google.com> am e3aa22bf: Avoid race conditions between widgets.

* commit 'e3aa22bfa58f0f21fc4be3acd78c11d7455702cc':
Avoid race conditions between widgets.
66995a0b65465c0f8024ddc510f3994ddc7da4b5 15-May-2012 Marc Blank <mblank@google.com> Merge "Make extra sure we have an account for MessageCompose" into jb-dev
89864754612841eddf9ee045915f75dc56a3cd0f 14-May-2012 Marc Blank <mblank@google.com> Make extra sure we have an account for MessageCompose

Bug: 6484467
Change-Id: I5daa6e47c93b2f1086a92327dc3f47e2da071e4b
ctivity/MessageCompose.java
e3aa22bfa58f0f21fc4be3acd78c11d7455702cc 12-May-2012 Mindy Pereira <mindyp@google.com> Avoid race conditions between widgets.

Seems like calendar and gmail both lock on the cursor, since it would
appear it can be changed in a binder thread

possibly fixes b/6464453 Nakasi: Email1 crash, possibly widget related
without a repro case, cant be 100% sure

Change-Id: Iad22f0236bd4bc16d0eaf53ad20d8db040535d6a
idget/EmailWidget.java
2a9c98050cbfc467c70425130fa6344b26f62ed1 14-May-2012 Mindy Pereira <mindyp@google.com> am 62985ba7: Merge "Use dropdown spinner instead of tabs on tablet for switching compose mode." into jb-dev

* commit '62985ba73378d0e5f75398ee8a606b52374dcc9f':
Use dropdown spinner instead of tabs on tablet for switching compose mode.
5a6c0eab9c7560940d4e5e1f46a0a07bfd757d25 13-May-2012 Marc Blank <mblank@google.com> am 5041ac1c: Add logging re: ANR\'s in endTransaction()

* commit '5041ac1cdc3bf042867670816f047a010ae21ea6':
Add logging re: ANR's in endTransaction()
62985ba73378d0e5f75398ee8a606b52374dcc9f 11-May-2012 Mindy Pereira <mindyp@google.com> Merge "Use dropdown spinner instead of tabs on tablet for switching compose mode." into jb-dev
ce2c05f50b0859b3a1306ef0a4e2bcd4cabb553f 11-May-2012 Mindy Pereira <mindyp@google.com> Use dropdown spinner instead of tabs on tablet for switching compose mode.

Fixes b/6483455 what happened to tabs on nakasi portrait?

Change-Id: Ic4b38c03a93049ea6f5bc7d8ec30c52634f47301
ctivity/MessageCompose.java
5041ac1cdc3bf042867670816f047a010ae21ea6 11-May-2012 Marc Blank <mblank@google.com> Add logging re: ANR's in endTransaction()

Change-Id: I813cd09816d1a3abdde19c45a5786db6b28fa9a7
rovider/EmailProvider.java
b8664acdefcb7efa7bf57c3c6ba37e51471e6ac8 11-May-2012 Jeff Brown <jeffbrown@google.com> am 7715248f: Ensure provider ends transactions even if an error occurs.

* commit '7715248fa32977d8b02c26fc9069e1570c57705b':
Ensure provider ends transactions even if an error occurs.
7715248fa32977d8b02c26fc9069e1570c57705b 11-May-2012 Jeff Brown <jeffbrown@google.com> Ensure provider ends transactions even if an error occurs.

The previous code swallowed the exception and sometimes left one
or both database transactions open causing subsequent queries
to hang indefinitely.

Bug: 6479301
Change-Id: Ice0d986ed17cd6cbd2fec1e8a3d9a7758f0a62ed
rovider/EmailProvider.java
da29d1b4ee14739c96d37c152fadf79e2d1989d9 10-May-2012 Marc Blank <mblank@google.com> am 9e548e4a: Fix NPE found by monkey

* commit '9e548e4a5ce588dc8d6e5a7cd26d13e6f1f54716':
Fix NPE found by monkey
c3c653459cad844a530f603de234208eb19192c0 10-May-2012 Marc Blank <mblank@google.com> am d7ec758a: Merge "Make sure widget is notified on message-related changes" into jb-dev

* commit 'd7ec758a4a039a1ca92b1c23f21a2848ede86a6a':
Make sure widget is notified on message-related changes
3ada6e46895f95ba1481dda54f9aacab8e20f431 10-May-2012 Mindy Pereira <mindyp@google.com> am 62267055: Change the toast when the reason a widget can\'t be added is that mailboxes aren\'t synced.

* commit '622670552f32aa2a3f74da2098d26b5cc25eda88':
Change the toast when the reason a widget can't be added is that mailboxes aren't synced.
71c133d1a98a5df28b6f3881a20d3297be2442e7 10-May-2012 Mindy Pereira <mindyp@google.com> am 804b4dc1: Merge "Always forcibly enable the widget service." into jb-dev

* commit '804b4dc1bcfe2a289c67c660cba9a33f3850b072':
Always forcibly enable the widget service.
0c6b168a0e876001b88caba4306e3c9693bcf7f4 10-May-2012 Marc Blank <mblank@google.com> am 462631b6: Support port selection for Exchange

* commit '462631b616c762f4298ed9066e33512b9f47855d':
Support port selection for Exchange
9e548e4a5ce588dc8d6e5a7cd26d13e6f1f54716 10-May-2012 Marc Blank <mblank@google.com> Fix NPE found by monkey

Bug: 6476572
Change-Id: Iec3b2399fb8d1221af59ec5b62a32f75666d3f2d
ctivity/setup/AccountSetupIncomingFragment.java
d7ec758a4a039a1ca92b1c23f21a2848ede86a6a 10-May-2012 Marc Blank <mblank@google.com> Merge "Make sure widget is notified on message-related changes" into jb-dev
542000fec569341cf5bf00f03a0502f71c5b5e02 10-May-2012 Marc Blank <mblank@google.com> Make sure widget is notified on message-related changes

Bug: 6472628
Change-Id: I0e77b379e06dda64f506f54833cd52a8982dadae
rovider/EmailProvider.java
622670552f32aa2a3f74da2098d26b5cc25eda88 10-May-2012 Mindy Pereira <mindyp@google.com> Change the toast when the reason a widget can't be added is that mailboxes aren't synced.

Fixes b/6467643 "You haven't setup an account yet" msg pops up when creating email widget onto Home screen

Change-Id: Id3d521cd80749e8a4dac3482454b40e3f3e128c6
idget/WidgetConfiguration.java
804b4dc1bcfe2a289c67c660cba9a33f3850b072 10-May-2012 Mindy Pereira <mindyp@google.com> Merge "Always forcibly enable the widget service." into jb-dev
462631b616c762f4298ed9066e33512b9f47855d 09-May-2012 Marc Blank <mblank@google.com> Support port selection for Exchange

* Support different client connection managers (by ssl/port pair)
* Realistically, there will rarely be more than one

Bug: 6469962

Change-Id: Ie4ee052442af70acf8b320122a5f048d22837901
ctivity/setup/AccountSetupExchangeFragment.java
f33489db2bd06e38612d95fcad952d09945b0fab 10-May-2012 Mindy Pereira <mindyp@google.com> Always forcibly enable the widget service.

Something else is turning it off (perhaps the service info is cached?)
if there was an existing email app and the user upgraded

fixes b/6470174 Unable to create email widget even when an account is present

Change-Id: I84c3bc6adcf039069ea39053a4493ff4444d9857
mail.java
32d3337459fc5c69281632b295885710e2ea9234 09-May-2012 Mindy Pereira <mindyp@google.com> am 4443b4b5: Merge "Show a no accounts toast and cancel widget setup when there are no email accts." into jb-dev

* commit '4443b4b5ed722c7afef6e9cd868a36218f23770e':
Show a no accounts toast and cancel widget setup when there are no email accts.
bf074c7163399374f312aa2f487d5023c31d8786 09-May-2012 Marc Blank <mblank@google.com> am 6e4aa237: Handle Settings.Secure.INSTALL_NON_MARKET_APPS better

* commit '6e4aa237c01cec7b1ee2915ccdec1df7737d2339':
Handle Settings.Secure.INSTALL_NON_MARKET_APPS better
cf29a2fd6796ed093440a6ee6005a4fbd06e4361 08-May-2012 Mindy Pereira <mindyp@google.com> Show a no accounts toast and cancel widget setup when there are no email accts.

Fixes b/6455961 Can't create Email widget

Change-Id: I834cd06fd45940fdbf33404fa4fd2baeb3172a9d
mail.java
6e4aa237c01cec7b1ee2915ccdec1df7737d2339 08-May-2012 Marc Blank <mblank@google.com> Handle Settings.Secure.INSTALL_NON_MARKET_APPS better

* A new value (2) is being added, so change the check from == 1
to != 0

Bug: 6369901
Change-Id: I22bcb76fc3b5669a295efff4cf0772f05f7071fd
ttachmentInfo.java
d4fa6ed763bccd07582d6fbb1dca1dda75a73fc7 07-May-2012 Marc Blank <mblank@google.com> am b3ec7724: Prevent NPE

* commit 'b3ec7724e7ee4c8219bed9182cd9dadecd4cfdf4':
Prevent NPE
b3ec7724e7ee4c8219bed9182cd9dadecd4cfdf4 07-May-2012 Marc Blank <mblank@google.com> Prevent NPE

Bug: 6445602
Change-Id: Id1dd1536d46fd01f14ce2597810ebce920fd3c89
mail.java
2a5080ef51ba236078e10b8bacd575c8c27678e0 04-May-2012 Marc Blank <mblank@google.com> Fix policy handling in Email1

Bug: 6414045
Change-Id: I1b6300243e061d8500d29849c4734fdbf69041ba
ontroller.java
ecurityPolicy.java
ervice/AttachmentDownloadService.java
ervice/EmailServiceUtils.java
ervice/PolicyService.java
7ca4458799d08f469d70c529667471c2c3ab811a 03-May-2012 Mindy Pereira <mindyp@google.com> Merge "Make sure we have messagelistfragment/ context before checking for search results." into jb-dev
70652dfca8ed14d7cb15fdac3270efa9f7b41314 03-May-2012 Mindy Pereira <mindyp@google.com> Make sure we have messagelistfragment/ context before checking for search results.

Fixes b/6438753 Email Crash on different scenarios

Change-Id: I930759402503a1b0d6076424a6b3823bb6fe0ab6
ctivity/UIControllerTwoPane.java
a0212c4de964362509aef6bce68bcf61d5498b53 03-May-2012 Mindy Pereira <mindyp@google.com> Followup fix for crash when have no host prototcol setup.

Fixes b/b/5725834 Email stops suddently when rotating device during login and checking incoming server - IKXEVERESTLTE-3147

Change-Id: I5f75504a14083d196cf58cd0162143ad42e3e64c
ctivity/setup/AccountSetupOptions.java
3f76ac98580ae5412ea48026deace63334ae0c0e 03-May-2012 Mindy Pereira <mindyp@google.com> Use getter for host auth info.

This protects against nulls correctly.
Fixes b/5725834 Email stops suddently when rotating device during login and checking incoming server - IKXEVERESTLTE-3147

Change-Id: Id29dd221b8c05e40e3d97a6d88511e464178ac16
ctivity/setup/AccountSetupOptions.java
3a738dadfd91a40ea1aebdab0563eba0ee5819c3 03-May-2012 Mindy Pereira <mindyp@google.com> Make tapping the widget header open the inbox.

The logo was just the tap target before.
Fixes b/6434727 Email widget top area not clickable inconsistent with gmail

Change-Id: Idf2d2e4afdf581ee76f134142f9d7d5034e2eab9
idget/EmailWidget.java
bb80eac5f4627b39f341bce4dd40ffac1709a160 03-May-2012 Mindy Pereira <mindyp@google.com> Merge "make search specific menu options; fix rotation issues" into jb-dev
570a2f75be21af378601abc0ae829bfaa71c2674 03-May-2012 Mindy Pereira <mindyp@google.com> make search specific menu options; fix rotation issues

Fixes b/6434523 Follow gmail for search list view in portrait and move the refresh action to the overflow
fixes b/6435004 In Search list view switching from portrait to lanscape puts the serach results on the right side

Change-Id: I2f3fc97c1bfd6eacdda93ee575c1aa8f3d42d821
ctivity/ThreePaneLayout.java
ctivity/UIControllerSearchTwoPane.java
ctivity/UIControllerTwoPane.java
1c4fcb9534eccb98fcab5bc42a6d24f332bf81db 03-May-2012 Mindy Pereira <mindyp@google.com> Just use constants to determine which mode (normal/wide) to show

fixes b/6434415 Email Wide view is displayed for nakasi landscape
fixes b/6433887 Email - Message view portrait shouldn't have sync options in the overflow

Change-Id: I81d43d933dfdf048a45c8312509e7e9f502a75b2
ctivity/MessageListItemCoordinates.java
212b6ead712c2788ab456bf5557bc4b164bf4a6a 02-May-2012 Marc Blank <mblank@google.com> Make sure all columns are added on database create

Bug: 6431197
Change-Id: Ibe4154f990328f0ab146968ea0dc58164eb5ba69
rovider/DBHelper.java
34ddd02ede5cf01855c9e9730718f0d0e441379b 01-May-2012 Mindy Pereira <mindyp@google.com> Restore pane state on orientation change.

This allows us to keep the correct view state when swapping between
land/portrat in search.
Was previously always bouncing back to the first msg in the cursor.
Change-Id: I89ed8e844441e153ad25190591b4fb3ccc37462c
ctivity/MessageListFragment.java
ctivity/ThreePaneLayout.java
4e0ea620b93ca718867ff4cf1aa4f12900b4e5aa 01-May-2012 Mindy Pereira <mindyp@google.com> Merge "When showing conversation in portrait, show title in the action bar." into jb-dev
0c7d57137b7f2a09de9d560631acc27608fee1f8 01-May-2012 Mindy Pereira <mindyp@google.com> Merge "Add newer/ older buttons to portrait message view." into jb-dev
d84edaada4da595c48d787f79c1a7570fc916c4f 01-May-2012 Mindy Pereira <mindyp@google.com> When showing conversation in portrait, show title in the action bar.

Change-Id: I5439d940402ca9f238a546bd0182c57dfdee2e2e
ctivity/UIControllerTwoPane.java
0bfa70eba853818f48ca757ed3c007b2787efe50 01-May-2012 Marc Blank <mblank@google.com> Merge "Move EmailContent, EmailProvider, DBHelper from Email2" into jb-dev
62bb6ee7c2210356ac35754749e89d0962a3c487 01-May-2012 Mindy Pereira <mindyp@google.com> Add newer/ older buttons to portrait message view.

Without the collapsed conv view, there is no way to get between messages.

Change-Id: I70abb65d3efc0663a0dadd3c58175b0f039230a1
ctivity/ThreePaneLayout.java
ctivity/UIControllerTwoPane.java
72094b59e0bf19395b00ef82de0866dc9c8296be 01-May-2012 Mindy Pereira <mindyp@google.com> Search results view layout tweaks.

Change-Id: I5a703cd62d39f470adf121777cf2ee6af8416845
ctivity/MessageListFragment.java
d6decef1d2a8d14aa8a65229bc784e6fdbb31864 01-May-2012 Mindy Pereira <mindyp@google.com> Make search interaction match gmail.

shows results list in portrait on tablet.
shows split in landscape on portrait.

Since email currently has no concept of saving the currently
selected message on orientation changes, there are some issues changing orientation
and restoring to the correct search state.

fixes coming in the next cl.
Change-Id: Ib0b98c4018c2ae0fabc2c78dfce4d3a197837d4f
ctivity/EmailActivity.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessagesAdapter.java
ctivity/ThreePaneLayout.java
ctivity/UIControllerSearchTwoPane.java
ctivity/UIControllerTwoPane.java
ctivity/UiUtilities.java
db48fcbe056f5d621e0a64cf1f05aa92db40b97d 01-May-2012 Marc Blank <mblank@google.com> Move EmailContent, EmailProvider, DBHelper from Email2

* Remove UIProvider related code/data
* Establish compatibility with Exchange2

Change-Id: I5971978b53cda73eb52b30b0c1d0eba8f82a1c7a
rovider/DBHelper.java
rovider/EmailProvider.java
0ec5d6f307d2ed9a5a809dccc24021641475b3dd 30-Apr-2012 Mindy Pereira <mindyp@google.com> There is no longer a collapsible conversaton list pane.

Change-Id: I2a9e4c4156c13ad43cfdb554f9bd4e51f5789e72
ctivity/ThreePaneLayout.java
ctivity/UIControllerTwoPane.java
592f128a10026abf9d58b908e906de1aea9fd1fa 30-Apr-2012 Mindy Pereira <mindyp@google.com> Init handled; fix build

Change-Id: I19744277556cd6d8b13ec7a7b1d86e0248a610d7
ctivity/UIControllerTwoPane.java
e0e0defb1eb07bc3582170155151d2250e1133d7 30-Apr-2012 Mindy Pereira <mindyp@google.com> Update 2 pane menus for email.

Change-Id: I8733e9679674195d881ee6decb7a3ebab075ad53
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/ThreePaneLayout.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
d658fb6cac242e793df7e8269d9e96518392cb5e 27-Apr-2012 Paul Westbrook <pwestbro@google.com> Set clear_when_task_reset flag on get content intent

Bug: 6401627
Change-Id: I546d51e605bf9483bd36f56adf5b21c1b3cd4c70
ctivity/MessageCompose.java
65432baf25d06b58a9b50d3df9952c4eedc9b8a5 27-Apr-2012 Paul Westbrook <pwestbro@google.com> set FLAG_ACTIVITY_TASK_ON_HOME on notification intent

Bug: 6384825
Change-Id: I9fc577ab3acdc608ce6e1781d438cc049c6ddcd6
otificationController.java
03cd72805dab0379ed255d151f1c17cc60655fc3 25-Apr-2012 Marc Blank <mblank@google.com> Revert to old Email app

* These are the last sources in the ICS-MR1 tree

Change-Id: Ida4651bddd92a06a518d00f3e1f275ab3a80c8ae
ontroller.java
ontrollerResultUiThreadWrapper.java
mail.java
roupMessagingListener.java
egacyConversions.java
essagingController.java
otificationController.java
ecipientAdapter.java
efreshManager.java
ecurityPolicy.java
ingleRunningTask.java
ctivity/AccountSelectorAdapter.java
ctivity/EmailActivity.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessageListFragment.java
ctivity/RecentMailboxManager.java
ctivity/ShortcutPickerFragment.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/DebugFragment.java
ctivity/setup/EditQuickResponseDialog.java
ctivity/setup/EmailPreferenceFragment.java
ctivity/setup/GeneralPreferences.java
ctivity/setup/PolicyListPreference.java
rovider/AccountReconciler.java
rovider/ContentCache.java
rovider/DBHelper.java
rovider/EmailProvider.java
rovider/Utilities.java
ervice/AttachmentDownloadService.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceStub.java
ervice/EmailServiceUtils.java
ervice/ImapService.java
ervice/MailService.java
ervice/PolicyService.java
ervice/Pop3Service.java
ervice/PopImapSyncAdapterService.java
05ba9724087aa032c120cfba64ff1a997a9cba7f 06-Apr-2012 Paul Westbrook <pwestbro@google.com> Move settings into account

Change-Id: I0e791ead6c54af96afbfdf1d38457fb2fb41c4dc
rovider/EmailProvider.java
6f627965d00bbe137f848cf6593556ce66a53372 21-Mar-2012 Paul Westbrook <pwestbro@google.com> Removed some UI provider code from EmailProvider

Leaving this in was breaking the build, as new files were required.

This change is just to keep this version of Email building.
Eventuually Email2 will replace this one.

Change-Id: I96fbed63a18a11bcdc64c2f0bbe8b100fdb273d9
rovider/EmailProvider.java
e7dc6a34d481e509021432d501585dd30fa7cd01 16-Mar-2012 Vikram Aggarwal <viki@google.com> AutoAdvance.OLDER always

Change-Id: Ifaf1ab14db0a3415d91b910b726bf9c8e0fec1ea
rovider/EmailProvider.java
05b99a0d8cbf6e9eab0b12e596e9afbff4cec9d4 16-Mar-2012 Vikram Aggarwal <viki@google.com> AutoAdvance.LIST is safer than AutoAdvance.NEWER

Change-Id: I72ba37cb8a7259c13afcfaabb70a11d65f536b69
rovider/EmailProvider.java
a7d788d54a602bfdfd4111b1de119404101a3ef4 14-Mar-2012 Mindy Pereira <mindyp@google.com> Fix build.

Change-Id: I077de029e1da06e3dcd6dae438a6c64b58e9e127
rovider/EmailProvider.java
4bf4edcf64c0b1cb8aabfb2e16ec29f4b19921d2 13-Mar-2012 Mindy Pereira <mindyp@google.com> Send uri of folder this item is in instead of just the id.

Change-Id: I5b7ba10497ac2f5081de02074d525e39d73ba9b0
rovider/EmailProvider.java
1d202e274d4c4f83d01c83abc909e1e331cd7df6 13-Mar-2012 Paul Westbrook <pwestbro@google.com> Support new folder id

Change-Id: If971ca60e5029487dd1c12b4664c6b64f3133f4a
rovider/EmailProvider.java
ebbf8e1040ef9742e3ea20b3e3c6b07a08812b58 13-Mar-2012 Marc Blank <mblank@google.com> Merge "Add support for "Load more" for search results"
6550ae97731282e2427c3130c4ea316dfce5538b 13-Mar-2012 Marc Blank <mblank@google.com> Add support for "Load more" for search results

Change-Id: Ie16e11ced34c85de02980c85e2db9d61faed5b6f
rovider/EmailProvider.java
dd32d141878d0e1018f2f0b8b02b34208e81ff1c 10-Mar-2012 Andy Huang <ath@google.com> cross-project refactoring

Attachment.mimeType -> contentType
Attachment.contentUri(String) -> contentUri(Uri)

Change-Id: Id35fb698d120013c00878f416f9b68a2f0095fca
rovider/EmailProvider.java
34943d241d189b80d2f825f7577c7e8e509901c4 12-Mar-2012 Marc Blank <mblank@google.com> Trigger load of full msg when opening partially loaded msg

Change-Id: Ia49aa7f423ceac6697d95abf66e10bb5998c5747
rovider/EmailProvider.java
824f7763653cd9c15f400301de53f5023ae37762 12-Mar-2012 Marc Blank <mblank@google.com> Fix up load of IMAP attachments

Change-Id: I2f55fc2c3d92eff72ebfd50ff3f782928f3a85a2
egacyConversions.java
ervice/EmailServiceStub.java
e2166f75486da0a1b70b804ea34f11f600f11cfd 11-Mar-2012 Marc Blank <mblank@google.com> Add totalCount to Mailbox; send to UIProvider

Change-Id: If01868eb27a97540683f25148f32b8c41ae59c17
rovider/DBHelper.java
rovider/EmailProvider.java
ervice/ImapService.java
ervice/Pop3Service.java
9e266d12fb5f09fb309b60f2d1eaaa4a1a0a4a8e 11-Mar-2012 Marc Blank <mblank@google.com> Implement "load more" for POP/IMAP

* Search not yet implemented

Change-Id: Ic808d3adcb48a2b4370fda77d7b108ea656de5c4
rovider/EmailProvider.java
25fe72687df8fd3aa4d7dc81054cbf9f2be7f1f3 10-Mar-2012 Marc Blank <mblank@google.com> Notify on attachment's message when updates occur

Change-Id: I23d537992fbf8b0f0dab3afaf37cacfd5587d1f3
rovider/EmailProvider.java
55d0e821eaecb5e454812a30c1137dbc95db98e2 09-Mar-2012 Marc Blank <mblank@google.com> Report search result total to UI

Change-Id: Ic88e7594b98548a96c8c6f96d2f8a585e539f520
rovider/EmailProvider.java
ebb79619e8ed3c9f0c051e7f323e3971bce7508d 09-Mar-2012 Marc Blank <mblank@google.com> Move account delete logic to EmailProvider

* This functionality had to move away from Controller

Change-Id: I557918a325eab8c83a9728fa1ce33dde8b86158f
ontroller.java
ecurityPolicy.java
ctivity/setup/AccountSettings.java
rovider/AccountReconciler.java
rovider/EmailProvider.java
ab6321e2c470596b9d8e4f97a23160788d917590 09-Mar-2012 Marc Blank <mblank@google.com> Fix SMTP sending

Bug: 6134036
Change-Id: Id48e4bd17e7493d873d888027e68c7eb86d23198
rovider/EmailProvider.java
ervice/EmailServiceStub.java
ervice/ImapService.java
ervice/Pop3Service.java
ervice/PopImapSyncAdapterService.java
3408ad11132d8fffc9cc3aa51f67406096499aae 09-Mar-2012 Marc Blank <mblank@google.com> Use proper column in loadAttachmentCallback

Bug: 6138389

Change-Id: Icd9b3454670d29e1fbd1dfc309700eb1643cc9ee
ervice/AttachmentDownloadService.java
97e4651c454fbab5e81853d78ca8463e1a34352d 09-Mar-2012 Marc Blank <mblank@google.com> Repair brain damage

Change-Id: I1f2367476f78c5cd78d8a59e099debabceb95e3a
ervice/AttachmentDownloadService.java
c3643cf2b561a345040645951cb107bb7daf01a9 09-Mar-2012 Marc Blank <mblank@google.com> Fix search to work with IMAP

Change-Id: Ic3d9dfec0e30323e258e59630c2ca42bb1c7e98c
rovider/EmailProvider.java
26195ef64d9588b1d5f42ee93913bb1222ed9641 08-Mar-2012 Marc Blank <mblank@google.com> Handle searchUri (first pass)

Change-Id: I75f7a757322e1d4f9b4eac92b9ecbb6a0cc6580b
rovider/EmailProvider.java
06a382f26fe80931359dba4872a2563e6a8e5732 08-Mar-2012 Marc Blank <mblank@google.com> Fix up delete to handle trash/drafts deletions

* Also, while we're here, create default "last touched time" for drafts and
sent so that they appear in the initial recent list

Change-Id: Ie2fe20b34625b5616dac5581f9bbd015f52a82bc
rovider/EmailProvider.java
92f9de3c5c550696d50f801e40f5b2692d0a4732 08-Mar-2012 Marc Blank <mblank@google.com> Merge "Return searchUri with accounts; return empty cursor for now"
ef94d9285ea58e3db47871cd73b0e9270c673021 08-Mar-2012 Marc Blank <mblank@google.com> Return searchUri with accounts; return empty cursor for now

Change-Id: I160676a492ef359007676c3aa9f56f9015b64c64
rovider/EmailProvider.java
6b4cdee94f415aeacdc35a2d9751a26f4153a10b 08-Mar-2012 Brian Muramatsu <btmura@android.com> am 938ec79a: am d163332b: am d5fdf404: Merge "Fix STARTTLS handshake error in Email\'s SmtpSender class"

* commit '938ec79ac92ef9119ad75b49691b2121886d867b':
Fix STARTTLS handshake error in Email's SmtpSender class
420e97f0f82afe0db64c3651eaf3cb15e149ba01 07-Mar-2012 Marc Blank <mblank@google.com> Support attachment commands from UIProvider

Change-Id: Ib457808bdb424275c0abe6e1d86e3b9d33406780
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
70bbe5ec3cabfc711cf4486318a04bb18e34ebf3 07-Mar-2012 Marc Blank <mblank@google.com> Add columns to Attachment for UIProvider use

Change-Id: I7f85431f409dbd6a5bd6d111b18d1fc89c00b9b2
rovider/DBHelper.java
b4a4ca99a9bd5aa357cdbc8530e3b3d861af9197 07-Mar-2012 Andy Huang <ath@google.com> Attachment SYNCED column is going away

Change-Id: I19476bc5a9a9e557e61a7347689129ce552b3ff9
rovider/EmailProvider.java
af8f8a48ee8a974862802a39a001390937a3cfb7 07-Mar-2012 Marc Blank <mblank@google.com> Reconcile accounts in deleteAccountPIMData

Change-Id: Ifd17ef76e13ddcfa07c84429dca7bf19e6cbcfab
ervice/EmailServiceStub.java
d163332bc58cb1b2f09fd061e51e50ecbc40eb73 07-Mar-2012 Brian Muramatsu <btmura@android.com> am d5fdf404: Merge "Fix STARTTLS handshake error in Email\'s SmtpSender class"

* commit 'd5fdf40490033bbafbd946e92094b18e931c1a76':
Fix STARTTLS handshake error in Email's SmtpSender class
71b57354c1e9df99d121a6725358311b3450c859 06-Mar-2012 Mindy Pereira <mindyp@google.com> Listen for application/email-ls so we can distinguish between email2/gmail2.

Change-Id: I1b30738b0d8a3f6830dfc6d67b6db385771bba15
rovider/EmailProvider.java
6ae4b080d498fbf8b9c750ea4289ddd15908f1f1 06-Mar-2012 Mindy Pereira <mindyp@google.com> Set compose to email2 until we get rid of the email app.

Email2 supports the compose intent.

Change-Id: I739ccb95b63806ed46dfa74b721b5a43665aa1c4
rovider/EmailProvider.java
27282ed34ae1a7f636bd5d85b859e38ee692b5bd 06-Mar-2012 Paul Westbrook <pwestbro@google.com> Change the authority for Email2's account cache provider

Allow the account cache cursor to have the notification uri set

Change-Id: I8b01ada0b787fe7a709ad7feacacb91acc3da826
rovider/EmailProvider.java
bc7f451442d008e4b3c8e1d28546f1831c7f9d7e 03-Mar-2012 Marc Blank <mblank@google.com> Fix IMAP/POP notifications

* Make sure the default Inbox is always notified
* Use correct "new" count for mailbox

Change-Id: Id66c76e415589f6eb6fdad0649ae039fd45c1205
otificationController.java
rovider/EmailProvider.java
258ab6ee842d619588b0f5f3ab48efe74de10b0f 02-Mar-2012 Marc Blank <mblank@google.com> Prevent NPE in AccountCheckSettings

Bug: 5911793
Change-Id: I2834ab6d139e734baed6790098f0405e6a4e957a
ctivity/setup/AccountCheckSettingsFragment.java
e1a6088ee4e3f0e4344dd9bc38029b6d01431eab 02-Mar-2012 Marc Blank <mblank@google.com> Don't try to refresh combined inbox

Bug: 6022440
Change-Id: I182c0da80debff5579b850c20015253864a0cf9f
ontroller.java
ervice/EmailServiceUtils.java
eccf7ee9a4c4b9bf78af9a679827542ec5c42161 01-Mar-2012 Marc Blank <mblank@google.com> Hook up attachment queries; use more specific notifications

Change-Id: I01198b9ddf63e1edd9a35a81c15e0cf791702184
rovider/EmailProvider.java
ceedaa3c546bd84eccc9c44eff2f1bc09d61ec8a 01-Mar-2012 Marc Blank <mblank@google.com> Fix settingsQueryUri

Change-Id: I519f9e52ebe6a2eeeed78913e0f2b0c01539161e
rovider/EmailProvider.java
d5187106d1b0e0e387bc020e1d8e1c4aab8ed3ef 01-Mar-2012 Marc Blank <mblank@google.com> Handle account settings query in EmailProvider

Change-Id: Iae33b00c3fa17fe381c0c66d9e159a2717e0f201
rovider/EmailProvider.java
c7a10613b321cfa136f64ae80a68fdb75f921f14 01-Mar-2012 Marc Blank <mblank@google.com> Clean up updated messages in non-syncing mailboxes

* We'll just delete the updates for that mailbox

Change-Id: I6eec384334c9b1ea42ec064a49f938c772c44489
ervice/PopImapSyncAdapterService.java
c31e2555bf84a1f923fa98359ebc08447bf6905b 29-Feb-2012 Misha Nasledov <misha@nasledov.com> Fix STARTTLS handshake error in Email's SmtpSender class

The Email.apk checks for "-STARTTLS" in the SMTP server's EHLO response
but SMTP servers may respond with STARTTLS on the last line as such:

250 STARTTLS

Or even as part of a line as such:

250-XSECURITY=NONE,STARTTLS

Checking for "-STARTTLS" in this case will break. The fix is to simply check
for "STARTTLS" instead.

See http://code.google.com/p/android/issues/detail?id=19109
And http://code.google.com/p/android/issues/detail?id=2309

Change-Id: I3a590a4398cb664f46875650550986a67f320f76
ail/transport/SmtpSender.java
108f7b639a78ba772dcdc2747e480935bb5c052a 29-Feb-2012 Paul Westbrook <pwestbro@google.com> Support the always_show_images column

Change-Id: I4817ca936cc2775cd22b878d17045e0ede0af04d
rovider/EmailProvider.java
27be3474a2a6df6d5f1eec3c63d6937c92559a86 28-Feb-2012 Marc Blank <mblank@google.com> Actually put composeUri into the cursor; d'oh!

Change-Id: I1295bb7501c3481f0d5e21e7cc76c1b19ab3047d
rovider/EmailProvider.java
d9201da55bd57032651ba84207cf95c938d2123d 28-Feb-2012 Marc Blank <mblank@google.com> Setup composeUri for accounts in EmailProvider

* Add intent filter in manifest

Change-Id: Ifbacfcb6109d76d48dabb87eb45ea28ec4278ad8
rovider/EmailProvider.java
8c4b6e40cf0d258cb15a032cfa3d45e17c21b305 28-Feb-2012 Marc Blank <mblank@google.com> Hook up settingsIntentUri in EmailProvider

Change-Id: Icc47a7dd29f6707443f5b56bdc6df86818295662
rovider/EmailProvider.java
fd077592ee06b27ad70281f05a6239d9c943b52f 27-Feb-2012 Marc Blank <mblank@google.com> Use EmailProvider to create account list

Change-Id: Iedd99ecb95066c3b7e089e3b987a0caed44b97e5
rovider/EmailProvider.java
9a5e2a798e11b666670281d64c1039483ad60546 26-Feb-2012 Marc Blank <mblank@google.com> Fix clearing of mailbox notifications

Change-Id: Ieb98a8908ec067229dd449790da55085585ef17b
otificationController.java
ctivity/MessageListFragment.java
rovider/EmailProvider.java
bf5caf97c547c8fa4bbdc2b500e8d43ee6322fcf 24-Feb-2012 Marc Blank <mblank@google.com> Notify by mailbox, rather than account

* Update EmailProvider, removing two no-longer-used columns in Account and
Mailbox

Change-Id: Ie0f10eb0ca315d73e82be968f7760a51a239ba3f
otificationController.java
ctivity/MessageListFragment.java
rovider/DBHelper.java
rovider/EmailProvider.java
98412cadfb8d8a9ff1f09cf0d4a73a636e478818 24-Feb-2012 Marc Blank <mblank@google.com> Use account id instead of name for queries

Change-Id: I49f870491d2b090df345b956280dbb477436be60
rovider/EmailProvider.java
99dfd1edfd0151a1aa608d96f26a605d972a8a95 23-Feb-2012 Mindy Pereira <mindyp@google.com> Merge "Remove folder sync_frequency column. UI doesn't need it."
b61bd298bd24f33a70d17e3936927a39e69fa960 23-Feb-2012 Mindy Pereira <mindyp@google.com> Remove folder sync_frequency column. UI doesn't need it.

Change-Id: I2a696115aed048f854174a8c4dc7666165b6ae1f
rovider/EmailProvider.java
87c84a6d96a360b2310f44ff4ae2e181c7a4479a 23-Feb-2012 Marc Blank <mblank@google.com> Send sync status updates from POP3/IMAP

Change-Id: Ia1bb5d1a302d6dde8b8979e03a762d6d45ee8cd3
rovider/EmailProvider.java
ervice/EmailServiceStub.java
ervice/PopImapSyncAdapterService.java
6b9d94bf397757b5f6654d0a0c56f562ad62a5b2 22-Feb-2012 Marc Blank <mblank@google.com> Make mailbox change notifier less noisy

Change-Id: I6eb7ac4f60acf6d92f4c094a373038fef222d97a
rovider/EmailProvider.java
1dc7772d4313bec45af4a4d7609bc36f6e3a247b 22-Feb-2012 Marc Blank <mblank@google.com> Support syncStatus and lastSyncResult in EmailProvider

* Also, trigger a sync on refreshUri

Change-Id: Ia8dee593decfc2101873071ad64fcc3fd1fd5f23
rovider/DBHelper.java
rovider/EmailProvider.java
7db23e6acb1dbfd04a4a544de7754bc587265c4b 22-Feb-2012 Marc Blank <mblank@google.com> Fix build break; support folder query

Change-Id: Ic2a62e2d00e0fe46a1a488d665818c47243c9d8d
rovider/EmailProvider.java
9227dbbf0f1c467762c44119d7cb1140c7191a88 19-Feb-2012 Marc Blank <mblank@google.com> Add back attachment loading callbacks for IMAP

* Remove newly unused code

Change-Id: Ifea2193deaf35734a031500c807ce9e3abd88fb1
ontroller.java
ontrollerResultUiThreadWrapper.java
roupMessagingListener.java
efreshManager.java
ctivity/EmailActivity.java
ervice/EmailServiceStub.java
59e10b6b3dbc14884b032b1843413b08adaaf288 18-Feb-2012 Marc Blank <mblank@google.com> Support folderUri and statusUri in EmailProvider

* Implementation of status to be completed later

Change-Id: I9dc2b1144b8186341f1c032906145f3d899b2a0b
rovider/EmailProvider.java
078daa692e09a0b94bb7e38b538bd58321b6591d 17-Feb-2012 Marc Blank <mblank@google.com> Hook up "load more messages" to service implementation

Change-Id: I15b102bacb4a68c3c006d1b3c1feffb7f14a8697
ontroller.java
7ac38af790f272a92d18dc858d0e0bba124849be 17-Feb-2012 Marc Blank <mblank@google.com> Re-attach mailbox sync callbacks and refresh status

Change-Id: I45de04f59f83757186f30d6ff53395a639a1d740
ontroller.java
efreshManager.java
ervice/ImapService.java
ervice/Pop3Service.java
0e5b4d35dd2b8f3d855aea63192ca6ff43a26132 16-Feb-2012 Marc Blank <mblank@google.com> Fix build break

Change-Id: Ib9725587f32b8d8a6e64e9ee083d0b4e980b7e05
ontroller.java
4f813fb12937de74d3ccec730b8de0c9de7a87e0 14-Feb-2012 Marc Blank <mblank@google.com> Convert POP3 to service

* Remove MessagingController and (almost all of) MailService

Change-Id: I8953b58b237de6a71fda770f1727bd94081fec55
ontroller.java
mail.java
essagingController.java
ctivity/setup/DebugFragment.java
rovider/Utilities.java
ervice/AttachmentDownloadService.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceStub.java
ervice/EmailServiceUtils.java
ervice/ImapService.java
ervice/MailService.java
ervice/Pop3Service.java
ervice/PopImapSyncAdapterService.java
d57e096b2cf9c85a3c2df733f92e7f8b2d26402a 15-Feb-2012 Marc Blank <mblank@google.com> This time for sure!

Change-Id: I98a0a8dcc37f52ac29d87379a886c9ca966e923c
rovider/EmailProvider.java
abad2efba849d1c590581767c704deb412c748cd 15-Feb-2012 Marc Blank <mblank@google.com> Oops! Handle subfolders query.

Change-Id: I62628fb8bdb25b96f023788271508d65fd8b4cdd
rovider/EmailProvider.java
1e138516eb980352af8ce70338bee4823b2adbc7 15-Feb-2012 Marc Blank <mblank@google.com> Handle query for subfolders from UIProvider

Change-Id: Ic448324a5a87b6679978426ec639fe4c3d8d77d7
rovider/EmailProvider.java
c0272961e1afff760191f8f6e0ebbed132d9cb0a 15-Feb-2012 Marc Blank <mblank@google.com> Return only top-level email folders for uiFolders query

Change-Id: I9480f8263ded7d1eb3eaecc92564130b498a558d
rovider/EmailProvider.java
c84467afe1b5e0a657ed7d6a9fa1e3fe1ff259a0 09-Feb-2012 Marc Blank <mblank@google.com> Start of IMAP conversion to Service architecture

* Handle startSync and loadMore
* Use SyncManager rather than MailService for periodic sync
and upload sync
* First of many CL's to disentangle sync from UI
* Note that the large majority of this CL is a refactoring
of IMAP specific code out of MessagingController and into
ImapService; MessagingController will eventually be
removed entirely from the app, as will much of Controller

Change-Id: I13546d0694479b33cf93c25920dedc1d38227f6c
ontroller.java
essagingController.java
efreshManager.java
ervice/AttachmentDownloadService.java
ervice/EmailServiceUtils.java
ervice/ImapService.java
ervice/MailService.java
ervice/PopImapSyncAdapterService.java
69d952c3debabf44fce642d95c04a3248480e33a 13-Feb-2012 Marc Blank <mblank@google.com> Add folder list to conversation list fields in query

Change-Id: Ieea84693196796175a1bdea8ecd3dbdf4a229c66
rovider/EmailProvider.java
1e162747761e644cc2368c7c0f2108902bcb0f11 04-Feb-2012 Marc Blank <mblank@google.com> Set the CAN_ACCEPT_MOVED_MESSAGES capability as appropriate

Change-Id: Ifa6e098352afb5feaa277ed0614628eb1765992f
rovider/EmailProvider.java
83dae570ed7decef4e0be46a0f88cfee142b993f 04-Feb-2012 Marc Blank <mblank@google.com> Handle undo for "move to folder"

Change-Id: Ie3847fe4919fc49411b8465e2600f85efb174d0a
rovider/EmailProvider.java
e2488c3f02b95c3b7857a9260b6a86911969fede 03-Feb-2012 Marc Blank <mblank@google.com> Handle move-to-folder from UI

Change-Id: I2165b9f83459c0b8f8817108dc294c7882730df8
rovider/EmailProvider.java
63d60d9eb182d583d08e6d4b6dc11b392dede6f1 03-Feb-2012 Marc Blank <mblank@google.com> Split EmailProvider into two classes (and about time)

Change-Id: Ia72e8c83ea16718077ffe8b8d284d18b6f9f0786
rovider/DBHelper.java
rovider/EmailProvider.java
87d7a604172d0e15454e8b615b163377e67050c1 02-Feb-2012 Marc Blank <mblank@google.com> Handle update of draft

Change-Id: I15c2b2b85afeff19e4ae7520c36a6119ab1e5cca
rovider/EmailProvider.java
3a8291b3e02de754da4886ba40fdd0cd0fe54ad2 02-Feb-2012 Marc Blank <mblank@google.com> Oops; generating bad URI for save message!

Change-Id: Iaf10108dee202c23abc6a18b9e5e8673c4813d0f
rovider/EmailProvider.java
12142f430ebbc81f29ac17da5944786c4c1eee4c 02-Feb-2012 Marc Blank <mblank@google.com> Support save/update draft and change of convo URI usage

* For now, update not working (it's complicated)

Change-Id: I9df440338ac167f03ce4f2f4b36ad286adad318e
rovider/EmailProvider.java
5adc6c0be9193632673dc66c8d220776972adfa4 01-Feb-2012 Marc Blank <mblank@google.com> Support undo for message deletes

Change-Id: I55d8950ca782babc00b28ced7c4d23042882b05e
rovider/EmailProvider.java
9c440c8b8078a47d340647ea86062c1446ffb579 26-Jan-2012 Marc Blank <mblank@google.com> am 17c089fb: am ecaa9774: If we\'re stopped, make sure watchdog alarm is also stopped

* commit '17c089fb7b02bbe755a47f917f92394df6cbef03':
If we're stopped, make sure watchdog alarm is also stopped
17c089fb7b02bbe755a47f917f92394df6cbef03 26-Jan-2012 Marc Blank <mblank@google.com> am ecaa9774: If we\'re stopped, make sure watchdog alarm is also stopped

* commit 'ecaa97741332e506afade647402896993ba64fba':
If we're stopped, make sure watchdog alarm is also stopped
ecaa97741332e506afade647402896993ba64fba 25-Jan-2012 Marc Blank <mblank@google.com> If we're stopped, make sure watchdog alarm is also stopped

Bug: 5647625
Change-Id: I33e94107f2d6e4a38a5a221df72ed83596ca7c54
ervice/AttachmentDownloadService.java
5520221f60e6ef2739a1898e24e0ef9d26a2c94f 24-Jan-2012 Marc Blank <mblank@google.com> Handle insert instead of update for "send mail"

* Return proper Uri from insert

Change-Id: I5439fff9872a14c63504a17a2bfef34ff19f99c6
rovider/EmailProvider.java
7f667159c9ecf44fe7f3da8741e537a6d20f5c60 24-Jan-2012 Marc Blank <mblank@google.com> Merge "Handle convo read/starred/deleted"
5e392205dcbb4e45529fba93dfde7e4103871474 19-Jan-2012 Marc Blank <mblank@google.com> Handle convo read/starred/deleted

* Send UIProvider notification when changes are made by sync engine

Change-Id: I3076c739b13b40e931277f1b5ac08447c814ff6f
rovider/EmailProvider.java
d16fa893d1a24497147fd91b32698ff7bf695600 20-Jan-2012 Andy McFadden <fadden@android.com> Use Map.Entry, not HashMap.Entry

Map.Entry is the defined return value from entrySet(). HashMap.Entry
shouldn't be used directly.

Change-Id: I855f7a4e855776deb83754ca89c2a4128e9e04a2
rovider/ContentCache.java
c8afa2f5cbdcc9b3c59d93e9a8ab1bc1e75dd91f 18-Jan-2012 Marc Blank <mblank@google.com> Send attachments w/ UnifiedEmail outgoing mail

Change-Id: I471816dcaac1ab53aea1465dd69ae4453a1a0268
rovider/EmailProvider.java
1d3f98c5229d0cb9f270a1601b71b8d887cf5416 17-Jan-2012 Marc Blank <mblank@google.com> Merge "Store UI-friendly addresses in EmailProvider database"
36ed276f7a97529d5ffdd42d4e9a89ce14d8a2f9 17-Jan-2012 Marc Blank <mblank@google.com> Store UI-friendly addresses in EmailProvider database

* Currently, we store a generally incompatible packed string format
for to, from, bcc, cc, and reply-to columns
* Change this to UI-compatible, comma-separated RFC822 strings
* Upgrade database to use new format

Change-Id: I42c01d72b49531c4324d3956edf5ff362d5c9120
rovider/EmailProvider.java
ce1791abf3326c50da41ab3631738ff28e9a1a54 13-Jan-2012 Mindy Pereira <mindyp@google.com> Update to new message column names.

Change-Id: Ie24fc8e0529ff363dc8bf7a5f6522b601560b91a
rovider/EmailProvider.java
6605115ec4bd02f9adf190e0b390ceed783bde5b 14-Jan-2012 Marc Blank <mblank@google.com> Set notify uri for queries; trigger notify on message inserts

Change-Id: I9fdf2f83670ec72937deebe352e962632f37b519
rovider/EmailProvider.java
788d52d831cbc5ec0288655bee2cfe2d0616a1b1 12-Jan-2012 Marc Blank <mblank@google.com> Send new columns for message header; real data for msg counts

Change-Id: I88f560beafdf8cf9194664a63cf74436be281056
rovider/EmailProvider.java
bb760d73f08041f2f2e813054a02698b3ea17960 13-Jan-2012 Marc Blank <mblank@google.com> Sort message (conversation) list properly

Change-Id: Id208890abf4c646fe8eba01bbfe22de35c610e3c
rovider/EmailProvider.java
bdf32afa644f566e8be90048ed631e0e70332ac5 13-Jan-2012 Marc Blank <mblank@google.com> Hook up primitive email sending to UIProvider

Change-Id: I5fe949c3cdf3d04514976d029d966caa912ec5be
rovider/EmailProvider.java
96d0323cfa841361f5a53ef96a66fad9155a5c8b 13-Jan-2012 Andy Huang <ath@google.com> remove CLIENT_CREATED usage

Change-Id: Icb102ef554e9e945bdf4866d0038892556fcf739
rovider/EmailProvider.java
ca6f713e71ce3734bc688b9821fc6838b5d70de1 12-Jan-2012 Marc Blank <mblank@google.com> Oops; fix order of TABLE_NAMES

Change-Id: I994b31c05c640f61444ae3d66c5b94e1d147e698
rovider/EmailProvider.java
e9e865345eb5f586e3f972db8c3c714fb6bb5aad 12-Jan-2012 Mindy Pereira <mindyp@google.com> Set c to the result of the query.

Change-Id: I5b8c935aedcdd86d756ee7de70088f2c8db179d5
rovider/EmailProvider.java
0c550c343fecaec3e04fba274d1ac08bd722d311 12-Jan-2012 Marc Blank <mblank@google.com> Return "0" for unknown columns in UIProvider queries

* For now, let's avoid exceptions

Change-Id: I5758f3aefb458c00fd3fc1865e63df92e9ba1650
rovider/EmailProvider.java
3594ac81469c55c1ee6ee4594c2ca52942a7c354 12-Jan-2012 Marc Blank <mblank@google.com> Implement initial UIProvider operations (UnifiedEmail)

* Add support for folder list, conversation list, and message view
queries
* Open up EmailProvider (temporarily) to allow access from
UnifiedEmail (signatures don't currently match)
* Modify make file so that we can reference definitions in
UIProvider

Change-Id: If73c59aa9edfdac5619ff2c6b9cedfdfe4e93d6f
rovider/EmailProvider.java
75987dbe0ca7609bf4f11f2d7edfe4bcd70a4fe5 10-Jan-2012 Paul Westbrook <pwestbro@google.com> am 17d522b5: am 07676012: Fix widget updates

* commit '17d522b51c9aa564e1989095e0264264642c2432':
Fix widget updates
17d522b51c9aa564e1989095e0264264642c2432 10-Jan-2012 Paul Westbrook <pwestbro@google.com> am 07676012: Fix widget updates

* commit '07676012f7e4060faa0d23dc6068e9dcdd4a4106':
Fix widget updates
07676012f7e4060faa0d23dc6068e9dcdd4a4106 09-Jan-2012 Paul Westbrook <pwestbro@google.com> Fix widget updates

Fix widgets that stop updating. If the Launcher got killed, the Email
widget service gets unbound. When this happens the cursor loader for the
widget is stopped. Since widget is relying on the loader to update the data,
when the loader is stopped, the widget would never update.

Now when email recognizes a change, it will send a broadcast intent, which
will cause the widget service to be started, if it isn't.

Bug: 5811810
Change-Id: Ia840e58f10e780b94440119662c2e48e7785c507
rovider/EmailProvider.java
rovider/WidgetProvider.java
idget/EmailWidget.java
93bc609c9e2d02b6a0ae8a6f6cf8489336aeb135 04-Jan-2012 Marc Blank <mblank@google.com> am 9b4240f7: DO NOT MERGE: Handle UI part of email lookback limit

* commit '9b4240f7c5647c2952b050bb74f18eba274f51f8':
DO NOT MERGE: Handle UI part of email lookback limit
9b4240f7c5647c2952b050bb74f18eba274f51f8 21-Dec-2011 Marc Blank <mblank@google.com> DO NOT MERGE: Handle UI part of email lookback limit

Bug: 5792217
Change-Id: Iccd6b1db30e8fb1fbdb514ed2de6d1e789a6280a
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/MailboxSettings.java
d85413e946d19d11a53136780bf1ee255665f371 22-Dec-2011 Marc Blank <mblank@google.com> Merge "Handle UI part of enforcing email lookback limit"
919e59044b5c6a3d3947af05ddf241f51f65def4 21-Dec-2011 Marc Blank <mblank@google.com> Handle UI part of enforcing email lookback limit

Bug: 5792217
Change-Id: I4351ae4d8505965a32690ecb5e6338765fb3770f
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/MailboxSettings.java
e3def6c9c4294e9f537d499911b792c89bec2b3c 20-Dec-2011 Conley Owens <cco3@android.com> Make TAG field package-private in several classes

Specifically, several internal classes.

This makes a little more sense since they are accessed outside of the
class that they are defined in.

In addition, this fixes errors created by proguard when building with
OpenJDK.

Change-Id: If2e2f90558e04e777a0c4dbc2ccd1f6c46dd8228
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupBasics.java
58ce2d0c3a1d693825eb3a8cb9c4ea8ea32d6d65 20-Dec-2011 Conley Owens <cco3@android.com> Make TAG field package-private in several classes

Specifically, several internal classes.

This makes a little more sense since they are accessed outside of the
class that they are defined in.

In addition, this fixes errors created by proguard when building with
OpenJDK.

Change-Id: If2e2f90558e04e777a0c4dbc2ccd1f6c46dd8228
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupBasics.java
d5109cf7f08a76efca11e81dfb5f08fcf54c4233 15-Dec-2011 Mindy Pereira <mindyp@google.com> Use static library resources from chips.

Change-Id: I4261004dda1bd106d0c0ad0aec8348920ffd8c7e
ecipientAdapter.java
6d7eef22cd2634bd0da8de8e38635dd92b3e5a48 08-Dec-2011 Mindy Pereira <mindyp@google.com> DO NOT MERGE. Fix issue where back stack is not cleared when opening email from a notification.

Fixes b/5716835 back stack in email gets messed up in certain circumstances

Change-Id: I499a1c19f1ebbb7e4debde690cacf17f9f6c3454
otificationController.java
2df61456f4aef692316acbb39b69de4c78a9f8bb 08-Dec-2011 Mindy Pereira <mindyp@google.com> Clear back stack and make this the top level stack.

Fixes b/5716835 back stack in email gets messed up in certain circumstances

Change-Id: I6fb593a520931b16e973f025c00709f7e76bb4d9
otificationController.java
a7d1b5c58ce52ed63a935d07d46906a78632ceb6 08-Dec-2011 Andy Huang <ath@google.com> Fix various text size problems when system font size is huge

This CL to replace Iafd5d1dc.

* use common styles for spinner anchor and dropdown text
(introduced in I3063cfea)
* allow dropdown item height to scale beyond fixed height to fit
huge text

Other fixes:
* use Gmail's color for dropdown and folder list header text
* remove spurious divider in dropdown items that precede a
header

Bug: 5687252
Change-Id: I3e46cff736a045c4a59a0ff8810977e39f903a14
ctivity/AccountSelectorAdapter.java
970e9b70db30e0cb00e101bfb4f346ec8e0bf82e 08-Dec-2011 Mindy Pereira <mindyp@google.com> Merge "Revert "Fix various text size problems when system font size is huge""
c75638981761bfc9cb1c042bdd3dcc4d66e17eb9 08-Dec-2011 Mindy Pereira <mindyp@google.com> Revert "Fix various text size problems when system font size is huge"

This reverts commit 19bc1921f2e15bebbde2b4172f94e9d226ab2845
ctivity/AccountSelectorAdapter.java
d8296ff4f2137c1e72324760afc93517350450c2 08-Dec-2011 Vikram Aggarwal <viki@google.com> Merge "Fix various text size problems when system font size is huge"
19bc1921f2e15bebbde2b4172f94e9d226ab2845 08-Dec-2011 Andy Huang <ath@google.com> Fix various text size problems when system font size is huge

* use common styles for spinner anchor and dropdown text
(introduced in I3063cfea)
* allow dropdown item height to scale beyond fixed height to fit
huge text

Other fixes:
* use Gmail's color for dropdown and folder list header text
* remove spurious divider in dropdown items that precede a
header

Bug: 5687252
Change-Id: Iafd5d1dc7c3809393c3892138b42b7274fb03a27
ctivity/AccountSelectorAdapter.java
4c49b4a2205da555c93e7d506af0d71218690039 08-Dec-2011 Marc Blank <mblank@google.com> Use LOCALIZED collation for mailbox names

* Our mailbox sort order varies from that of other clients due to
our not having used LOCALIZED collation

Bug: 2347066
Change-Id: I334feb9fa5690118401e2fe2b4a767eb3f29b25f
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxMoveToAdapter.java
ctivity/RecentMailboxManager.java
ctivity/ShortcutPickerFragment.java
bb86a95acdd99f99bcc756826cd4f3c6803ba1dd 02-Dec-2011 Mindy Pereira <mindyp@google.com> Like Gmail, we only want to set activated text to a diff color for two pane.

Fixes b/5699511 Draft message is showing in white color text

Change-Id: I9f15807936db8864a1752d56056b08ddfb32f121
ctivity/MessageListItem.java
dc931441d879ede625a073755bfac40f93de6d10 02-Dec-2011 Mindy Pereira <mindyp@google.com> Merge "Fix layout for edit quick response dialog."
d637dc245b3b08c9bc1e24f2b33652dda6c0dbc6 02-Dec-2011 Mindy Pereira <mindyp@google.com> Fix layout for edit quick response dialog.

Fixes b/5528659 Quick Response "create new" dialog is janky

Change-Id: Ib78d677114f9af1969ce8314e6f58002d2ad727f
ctivity/setup/EditQuickResponseDialog.java
bc6625ef73d52f207cb68b6d7a982abb3a30b8f5 02-Dec-2011 Mindy Pereira <mindyp@google.com> Merge "Make sure to check for a null account before using the account."
ceca4751b26b5da91cd8b2038a679be214d3b7db 02-Dec-2011 Mindy Pereira <mindyp@google.com> Make sure to check for a null account before using the account.

This is a common root cause with monkey crashes.

Fixes b/5628984 com.google.android.email: java.lang.NullPointerException: Unable to start activity ComponentInfo{com.google.android.email/com.android.email.activity.setup.AccountSetupIncoming}: java.lang.NullPointerExceptionat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)

Change-Id: Ib3ac5c62b72662402c7d5df4e5d895beaf324197
ctivity/setup/AccountSetupIncomingFragment.java
3714243c0d1774216b357b980334d18207f50bf6 02-Dec-2011 Vikram Aggarwal <viki@google.com> Merge "Consolidate Preference.OnPreferenceChangeListener objects in AccountSettingsFragment"
4016ea1ae9a08ac9710d0035029421451421f86d 23-Nov-2011 Vikram Aggarwal <viki@google.com> Consolidate Preference.OnPreferenceChangeListener objects in AccountSettingsFragment

Fixes b/5642876

Change-Id: I74b9e06107ea89d7b3acf74c6c676dcc85125abc
ctivity/setup/AccountSettingsFragment.java
e18e8f45dabc1bbb36f6f4d7541d5cfad4fb691c 29-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Show correct error when adding widget with no email accts on device."
30003e582f03f98d656fe4f0b5feb40f9b2361ba 29-Nov-2011 Mindy Pereira <mindyp@google.com> Show correct error when adding widget with no email accts on device.

If the WidgetConfiguration service is disabled until the user adds an account,
adding the widget just fails badly as there is no service registered
to handed an APPWIDGET_CONFIGURE intent.
Fixes b/5613821 App isn't installed toast message when creating widget for Email without any account

Change-Id: I98003eadf71fb944d3c0902f7e132ca7c5b67571
mail.java
fe402a80816f2fe12d9fac78474b093ffb4515b1 28-Nov-2011 Mindy Pereira <mindyp@google.com> Check for account before launching welcome screen.

If this is running via monkey, might not have an account yet.

fixes b/5518958 java.lang.NullPointerException at com.android.email.activity.MessageCompose.onBack(MessageCompose.java:1797)

Change-Id: I17fb606a2fd3aad685a855ae8bd9eda551296ca3
ctivity/MessageCompose.java
fd81e1977954a710cd3630ef3a9ab6aebff1094c 21-Nov-2011 Marc Blank <mblank@google.com> Don't save Policy with Account

Change-Id: Ib3601daee8780640a07db573f623e99279c9f9b1
ecurityPolicy.java
5789a78af324f7e7541334817c6811d3981a21c7 19-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Add account should be shown on all Email prefs screens and subscreens on tablet."
f579eb8ac3c0deacf248468b1648ef971fb65c16 18-Nov-2011 Mindy Pereira <mindyp@google.com> Add account should be shown on all Email prefs screens and subscreens on tablet.

For phone, should match Gmail and just show it at the top level.
Fixes b/5621803 "Add account" button disappeared - IKXEVERESTLTE-3051

Change-Id: I143043485cbb912023fe015a768c6f37c8cad3f5
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/EmailPreferenceFragment.java
ctivity/setup/GeneralPreferences.java
8957df83d454dcf9f18450c55fe46302a58a4cb4 19-Nov-2011 Vikram Aggarwal <viki@google.com> am dd4f501b: Merge "Accurately update the preference summary string when changing the vibrate setting." into ics-mr1

* commit 'dd4f501b44e1f15f8ba33488a63d0d4731e93317':
Accurately update the preference summary string when changing the vibrate setting.
7a7f544c0cb7b4aafc64586308d34d1537a4c185 19-Nov-2011 Mindy Pereira <mindyp@google.com> am 9eeb535f: Merge "Make message items aware of the various modes." into ics-mr1

* commit '9eeb535f6f8d940447755a0a31f7b0cc805b1028':
Make message items aware of the various modes.
dd4f501b44e1f15f8ba33488a63d0d4731e93317 18-Nov-2011 Vikram Aggarwal <viki@google.com> Merge "Accurately update the preference summary string when changing the vibrate setting." into ics-mr1
d22cf7bda7018f7040d21b0ea5c81ca8af038fc8 18-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "DO NOT MERGE ListView eill always show dividers below items if all items in the adapter are enabled." into ics-mr1
9eeb535f6f8d940447755a0a31f7b0cc805b1028 18-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Make message items aware of the various modes." into ics-mr1
7d28a1c27936fce22af99d0ae5ec63e609eeac3e 18-Nov-2011 Vikram Aggarwal <viki@google.com> Accurately update the preference summary string when changing the
vibrate setting.

Fix b/5639748

Change-Id: Ice6d4770c156104495d476826a636487f4df5f1b
ctivity/setup/AccountSettingsFragment.java
e4202e782c91075c09cd5c348517a90620622a7f 18-Nov-2011 Mindy Pereira <mindyp@google.com> Make message items aware of the various modes.

On two pane tablet in portrait mode, the message list items may not
be wide enough to be considered "WIDE_MODE", however, when they are shown
in the message list mode, they should ALWAYS use message list mode backgrounds.

Fixes b/5641014 email portrait: missing the vertical divider between folders and messages

Change-Id: Ied05386f1ab62c48b1824647c95a6f72baabc859
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessagesAdapter.java
ctivity/UIControllerTwoPane.java
85791394731a03a3577c516552dd787e254126ee 18-Nov-2011 Mindy Pereira <mindyp@google.com> DO NOT MERGE ListView eill always show dividers below items if all items in the adapter are enabled.

It seems like it should not show a divider on the last item when there are headers
OR infer not all items enabled when there are headers, but it doesn't.

Fixes b/5517092 extra divider line between last label and next header in label list

Change-Id: I3f70bbf0d33883df4c60596411481504f627f350
ctivity/MailboxFragmentAdapter.java
6fc728b7cd963ef7ed1e6d8749cd50ccd9b24f38 18-Nov-2011 Mindy Pereira <mindyp@google.com> ListView eill always show dividers below items if all items in the adapter are enabled.

It seems like it should not show a divider on the last item when there are headers
OR infer not all items enabled when there are headers, but it doesn't.

Fixes b/5517092 extra divider line between last label and next header in label list

Change-Id: Ib0f0361e672edcc36c973166c062b67e61ec59c4
ctivity/MailboxFragmentAdapter.java
db3dc58fce381d276ca38d5f7e4b160bf66295c6 16-Nov-2011 Marc Blank <mblank@google.com> am bcadbc5f: Merge "Fix ICS setup regression" into ics-mr1

* commit 'bcadbc5fce10278f1a557a876ebf0eb60afdf051':
Fix ICS setup regression
bcadbc5fce10278f1a557a876ebf0eb60afdf051 16-Nov-2011 Marc Blank <mblank@google.com> Merge "Fix ICS setup regression" into ics-mr1
c196e05ee15ba72ed993bf498897c2be121ccad1 16-Nov-2011 Marc Blank <mblank@google.com> Fix ICS setup regression

Bug: 5612276
Change-Id: Ic9ab3cb075be7ff4e0e5138a453a71cfcbe655b5
ctivity/setup/AccountCheckSettingsFragment.java
5117621aab778b27ab4f4c2a8e47d08990db3436 15-Nov-2011 Vikram Aggarwal <viki@google.com> am fb9c860a: Remove hard-coded references to zoom values and set them as resource arrays instead.

* commit 'fb9c860ae2fafffd95931ded199e8c07ed3831bb':
Remove hard-coded references to zoom values and set them as resource arrays instead.
fb9c860ae2fafffd95931ded199e8c07ed3831bb 15-Nov-2011 Vikram Aggarwal <viki@google.com> Remove hard-coded references to zoom values and set them as resource arrays instead.

Change-Id: I2af4bad3611a6f5c1580980d6ccee25910085f84
references.java
ctivity/MessageViewFragmentBase.java
e6772f7c75c4aa06cb1a6522d3064d06e77a5874 15-Nov-2011 RoboErik <epastern@google.com> am 438a54a9: Merge "b/5613906 Don\'t show account picker for 0 or 1 account" into ics-mr1

* commit '438a54a9007b49793930acbbe41d2283e1d9cd4b':
b/5613906 Don't show account picker for 0 or 1 account
7d0d51e981eacd9c79e892cc501ecf2f0e41023b 15-Nov-2011 Mindy Pereira <mindyp@google.com> am a91aff96: Merge "Revert "Dont take density into account when setting initial zoom values."" into ics-mr1

* commit 'a91aff96565ddb2b52700427303478f0ef3b660b':
Revert "Dont take density into account when setting initial zoom values."
e285f7da80f9ac19c8eea454f55c5e4f3d3c9b58 15-Nov-2011 Marc Blank <mblank@google.com> am 7fd8ebef: Merge "Reduce max in-memory size of IMAP text from 16MB to 2MB" into ics-mr1

* commit '7fd8ebef9f65eac8f1e1e21c8fe1f94e069cbbdd':
Reduce max in-memory size of IMAP text from 16MB to 2MB
c2b4b68a413a408a203205fac34680370d8bb97d 15-Nov-2011 Mindy Pereira <mindyp@google.com> am 8b30d335: Merge "Highlight the first result for search." into ics-mr1

* commit '8b30d335c1d2abe9e7ee79f97b834fdcb7a2c9c3':
Highlight the first result for search.
42cc693ccd365a8c2fdca60e19f56dabe5fd46e1 15-Nov-2011 Mindy Pereira <mindyp@google.com> am e103e90f: Dont take density into account when setting initial zoom values.

* commit 'e103e90fa1fe7c440a99d3f5484adc45097f3caa':
Dont take density into account when setting initial zoom values.
438a54a9007b49793930acbbe41d2283e1d9cd4b 15-Nov-2011 RoboErik <epastern@google.com> Merge "b/5613906 Don't show account picker for 0 or 1 account" into ics-mr1
a91aff96565ddb2b52700427303478f0ef3b660b 15-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Revert "Dont take density into account when setting initial zoom values."" into ics-mr1
6599af135788ba415e84e13c02a9549de2a6d792 15-Nov-2011 Mindy Pereira <mindyp@google.com> Revert "Dont take density into account when setting initial zoom values."

This reverts commit e103e90fa1fe7c440a99d3f5484adc45097f3caa
ctivity/MessageViewFragmentBase.java
7fd8ebef9f65eac8f1e1e21c8fe1f94e069cbbdd 15-Nov-2011 Marc Blank <mblank@google.com> Merge "Reduce max in-memory size of IMAP text from 16MB to 2MB" into ics-mr1
8b30d335c1d2abe9e7ee79f97b834fdcb7a2c9c3 15-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Highlight the first result for search." into ics-mr1
d39cf1938a468bb1ba77538140bc2ef80d634e36 14-Nov-2011 RoboErik <epastern@google.com> b/5613906 Don't show account picker for 0 or 1 account

This hides the activity when dropping an email widget until we
get some data back and can decide which picker to show.

Change-Id: I200b035a45d079285d1b84b273ddd7ce2ffda24c
ctivity/ShortcutPickerFragment.java
dceb2884ea913f3e692f683997278968c7df4a4d 15-Nov-2011 Marc Blank <mblank@google.com> Reduce max in-memory size of IMAP text from 16MB to 2MB

* Even 2MB is probably high, but it's far better than 16MB

Bug: 5573863
Change-Id: I00d6d84ebc538d41dbf5683bd078a6bcd802e584
ail/store/imap/ImapResponseParser.java
bed1b4fa7ae3f9a4a546f2aa367a8f2e7ba4b7b1 14-Nov-2011 Mindy Pereira <mindyp@google.com> Highlight the first result for search.

Fixes b/5614128 Email doesn't auto display first search result after result list appears

Change-Id: I1843471bc3fe018151ed2a30ceb3e19eb2af24e9
ctivity/MessageListFragment.java
e103e90fa1fe7c440a99d3f5484adc45097f3caa 14-Nov-2011 Mindy Pereira <mindyp@google.com> Dont take density into account when setting initial zoom values.

WebView takes screen density into account when setting the initial
webview zoom value as of cl:
https://android-git.corp.google.com/g/#/c/146916/

Fixes b/5593688 Message text size is set to Large in Email

Change-Id: I442eb91c825a7ad7a42d3d2772b625c662df6ec1
ctivity/MessageViewFragmentBase.java
dbd8c443dfe7ba9b230e5836d4ba032f689aa360 11-Nov-2011 Mindy Pereira <mindyp@google.com> am 30fd3107: Merge "Make the dropdown width larger/ matching Gmail." into ics-mr1

* commit '30fd3107c4445b7974e83704bc9dfbce905e654c':
Make the dropdown width larger/ matching Gmail.
7c9c70c9441866702920961db834aff5a7986f48 11-Nov-2011 Mindy Pereira <mindyp@google.com> am 8eff05da: Merge "Make account spinner styles match gmail style." into ics-mr1

* commit '8eff05daa877a75229bf98bf57cd1ed647d58b20':
Make account spinner styles match gmail style.
30fd3107c4445b7974e83704bc9dfbce905e654c 11-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Make the dropdown width larger/ matching Gmail." into ics-mr1
8eff05daa877a75229bf98bf57cd1ed647d58b20 11-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Make account spinner styles match gmail style." into ics-mr1
c31736c0d772b1fc4d6624a75139d99f91146563 11-Nov-2011 Marc Blank <mblank@google.com> am af637589: Fix typo in CL; sigh

* commit 'af6375894fe4b405f205a22a7ee9118a36fef428':
Fix typo in CL; sigh
070277d9fcf30bb63dc89955f04323972b1fdc1a 11-Nov-2011 Makoto Onuki <omakoto@google.com> am 22e4f6b6: Merge "Fix bug 5594054 Crash seen while syncing Exchange" into ics-mr1

* commit '22e4f6b671ab5cfa56fe0aa40df029effcc5a060':
Fix bug 5594054 Crash seen while syncing Exchange
af6375894fe4b405f205a22a7ee9118a36fef428 11-Nov-2011 Marc Blank <mblank@google.com> Fix typo in CL; sigh

* Facepalm

Bug: 5582884
Change-Id: I060518a4bbb2c08e1abef934c81d72ec4fbcb565
rovider/EmailProvider.java
22e4f6b671ab5cfa56fe0aa40df029effcc5a060 11-Nov-2011 Makoto Onuki <omakoto@google.com> Merge "Fix bug 5594054 Crash seen while syncing Exchange" into ics-mr1
2764af42693716334c435d184de5b77756481778 11-Nov-2011 Marc Blank <mblank@google.com> am de6b6db9: Merge "Don\'t crash in EmailActivity if no accounts exist" into ics-mr1

* commit 'de6b6db9951637147ae4288d386995ac07c87f26':
Don't crash in EmailActivity if no accounts exist
de6b6db9951637147ae4288d386995ac07c87f26 11-Nov-2011 Marc Blank <mblank@google.com> Merge "Don't crash in EmailActivity if no accounts exist" into ics-mr1
c1d9be5dc36f64b104fcaf041dd38c28ed4d05a0 11-Nov-2011 Makoto Onuki <omakoto@google.com> Fix bug 5594054 Crash seen while syncing Exchange

bug 5594054

Change-Id: Id14598c4da66c0f2c78a7c892f653b6cee781f3b
ctivity/MessageListItem.java
4ce8274b86d0afe1533a7271be301f014ea8b655 10-Nov-2011 Mindy Pereira <mindyp@google.com> am 69fc89b1: Merge "The quick contact should only open when the usr taps the photo." into ics-mr1

* commit '69fc89b118f1da9bb97b3a2c8284bf9f70f7e844':
The quick contact should only open when the usr taps the photo.
c40ccf4cc98bfc4d042227497e7a7b484db5c4ce 10-Nov-2011 Minh Pham <phamm@google.com> am e7ee5bd6: Fix search UI

* commit 'e7ee5bd608b44b123cca12a9f198118927a838c7':
Fix search UI
656ebc2982437edae6b45198bde25e0e73fde39f 10-Nov-2011 Marc Blank <mblank@google.com> Don't crash in EmailActivity if no accounts exist

Bug: 5044497
Change-Id: Ied760ea385015a3c7df0a0d1e68ebc32dc5fb957
essageListContext.java
ctivity/EmailActivity.java
1720f8251379a23d7b81bf15a304bec6643adab0 10-Nov-2011 Mindy Pereira <mindyp@google.com> Make the dropdown width larger/ matching Gmail.

part of b/5520685 update account switch spinner to match Gmail layout

Change-Id: I727d318f3f10199399b61fc4455e44d302fb8e2f
ctivity/ActionBarController.java
0730c4fcd008a7b7835240b790c3b11847845018 10-Nov-2011 Mindy Pereira <mindyp@google.com> Make account spinner styles match gmail style.

Fixes b/5520685 update account switch spinner to match Gmail layout
Change-Id: I06c262f16d8629696bb761b005a3728406ccce53
ctivity/ActionBarController.java
69fc89b118f1da9bb97b3a2c8284bf9f70f7e844 10-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "The quick contact should only open when the usr taps the photo." into ics-mr1
81d234aa8cff470e5543bda2bd4b3ac068537478 09-Nov-2011 Mindy Pereira <mindyp@google.com> am cc9845e8: Make sure we show/ hide all quoted text views.

* commit 'cc9845e86ef500b4e4c65c141cac45f88d426696':
Make sure we show/ hide all quoted text views.
406641ce0978a3d9f7ae5e47d0528118e85a5075 09-Nov-2011 Marc Blank <mblank@google.com> am 00099da1: Merge "Make EAS Email syncable after GB/HC -> ICS upgrade" into ics-mr1

* commit '00099da1b3b9d91574187e70182e5384debb3731':
Make EAS Email syncable after GB/HC -> ICS upgrade
8a90477033dba4dfe5d46a67467d33a5c83c4f1d 09-Nov-2011 Mindy Pereira <mindyp@google.com> am aff4bdac: Merge "Activated text should be white. Shares resources with gmail." into ics-mr1

* commit 'aff4bdac07041ec3bbdedda09390b01f07c61e1b':
Activated text should be white. Shares resources with gmail.
626c28997746ff1a8545a0a1f94d5e15f9a8d4ef 09-Nov-2011 Mindy Pereira <mindyp@google.com> am 4beab88c: Share font colors and sizes with gmail.

* commit '4beab88c92226628bf743070f88affb701968ce0':
Share font colors and sizes with gmail.
0ee798579c5a74df89537eedcccdceb8e2e6acda 09-Nov-2011 Mindy Pereira <mindyp@google.com> am 21e4fe49: Share background styles with gmail.

* commit '21e4fe49b68738523ebdc8c340469a46d79ed691':
Share background styles with gmail.
9599bca7c9dbac5abfebc98e09f4bd951dee3045 09-Nov-2011 Mindy Pereira <mindyp@google.com> The quick contact should only open when the usr taps the photo.

Fixes b/5520783 turn off quick contact tap handler on message header

Change-Id: If5efe6c69946784fe6cc9e25bfdc6018247c19c1
ctivity/MessageViewFragmentBase.java
e7ee5bd608b44b123cca12a9f198118927a838c7 09-Nov-2011 Minh Pham <phamm@google.com> Fix search UI

- Message list is collapsed by default in 7 inch and 10 inch portrait. It can cause confusion when searching.
- We should uncollapse the list in this case.
Bug: 5587501

Change-Id: I2a272e28e1cad7895049c4aa4ee1d8d2918efba9
ctivity/ThreePaneLayout.java
ctivity/UIControllerTwoPane.java
cc9845e86ef500b4e4c65c141cac45f88d426696 09-Nov-2011 Mindy Pereira <mindyp@google.com> Make sure we show/ hide all quoted text views.

Leftover part of b/5517524 compose on tablets needs redline

Change-Id: I73aabb7ad02a64aa9413cdf7a0ea8f147fa2994f
ctivity/MessageCompose.java
00099da1b3b9d91574187e70182e5384debb3731 09-Nov-2011 Marc Blank <mblank@google.com> Merge "Make EAS Email syncable after GB/HC -> ICS upgrade" into ics-mr1
aff4bdac07041ec3bbdedda09390b01f07c61e1b 09-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Activated text should be white. Shares resources with gmail." into ics-mr1
fde8089157ae2def89d0e4a03f5f6f2bcdf538fa 09-Nov-2011 Mindy Pereira <mindyp@google.com> Activated text should be white. Shares resources with gmail.

part of b/5520533 activated text should be white

Change-Id: Ia6f79bed2277185eca100bd6c65884a2cd574e22
ctivity/MailboxListItem.java
4beab88c92226628bf743070f88affb701968ce0 08-Nov-2011 Mindy Pereira <mindyp@google.com> Share font colors and sizes with gmail.

part of b/5520048 unread/ read contrast is bad for conversation list items on tablet

Change-Id: I06d0d560ce32714afe9229d1e009b9b09dc11df8
ctivity/MessageListItem.java
21e4fe49b68738523ebdc8c340469a46d79ed691 08-Nov-2011 Mindy Pereira <mindyp@google.com> Share background styles with gmail.

Part of b/5520048 unread/ read contrast is bad for conversation list items on tablet

Change-Id: I0a5848852b15ead11bef3d56a2c1e1b324f6da73
ctivity/MessageListItem.java
idget/EmailWidget.java
8ff1842ab123721b66f2ed1e14e92244a51b0b99 08-Nov-2011 Marc Blank <mblank@google.com> Make EAS Email syncable after GB/HC -> ICS upgrade

* In the same upgrade step in which we add AccountManager accounts
to IMAP/POP accounts, we now make Email syncable for EAS accounts
* This step is hit by all users upgrading from GB/HC -> ICS

Bug: 5582884

Change-Id: I11a06e2ad72ffed20c31f5d8be81705642f552a5
rovider/EmailProvider.java
bf036b9e1a86c08ef967830219e8508f48a3a619 05-Nov-2011 Mindy Pereira <mindyp@google.com> am 1b6e1ae3: Fix padding on reply quoted text area and ids.

* commit '1b6e1ae3066f1a8ac32917e0c05739aa368af145':
Fix padding on reply quoted text area and ids.
1b6e1ae3066f1a8ac32917e0c05739aa368af145 04-Nov-2011 Mindy Pereira <mindyp@google.com> Fix padding on reply quoted text area and ids.

Part of fixes for b/5517524 compose on tablets needs redlines

Change-Id: I7b526c21f1a11532b8b0d598a309174bb38a9cf6
ctivity/MessageViewFragmentBase.java
6747b51e11951a935293f29837968ebf3e9ce8fb 04-Nov-2011 Mindy Pereira <mindyp@google.com> am aa90b4f2: Update attachment styles.

* commit 'aa90b4f2ebc3f7b3c1e31cfdaf2b8433d5495b4d':
Update attachment styles.
aa90b4f2ebc3f7b3c1e31cfdaf2b8433d5495b4d 03-Nov-2011 Mindy Pereira <mindyp@google.com> Update attachment styles.

Part of fixes for b/5517524 compose on tablets needs redlines

Change-Id: I286c6fa57229e993660dd307fc14b929b701b47f
ctivity/MessageCompose.java
fdff68d5dd1dd06a9ff83a8ac184e02a6c328168 03-Nov-2011 Mindy Pereira <mindyp@google.com> am 31e5beba: Create tablet compose view.

* commit '31e5beba35287258e20b0fff5b9138a3b0892221':
Create tablet compose view.
31e5beba35287258e20b0fff5b9138a3b0892221 03-Nov-2011 Mindy Pereira <mindyp@google.com> Create tablet compose view.

part of Fixes for b/5517524 compose on tablets needs redlines

Change-Id: I107b58dfda3f228457a3a3b90c8f41e832007c9d
ctivity/MessageCompose.java
ctivity/MessageViewFragmentBase.java
3074ba91f6f1c30a41bd7248bfeb114131d64bef 03-Nov-2011 Mindy Pereira <mindyp@google.com> resolved conflicts for merge of 80966740 to master

Change-Id: Iab18d4cd7c85b0ef4467bcf745d0c84bde7b3846
809667407c96310210d2ae1e86355f5506ca90ba 01-Nov-2011 Mindy Pereira <mindyp@google.com> Create a require manual sync dialog.

Fixes b/5533550 [Verizon Reported Issue]Add one-time notice to user when auto sync is disabled due to security policy

Change-Id: I1d5380928429a829dbcb31d5f7309f9bc98e8dff
references.java
equireManualSyncDialog.java
ctivity/UIControllerBase.java
d0e7f538cbb9306f5c705bb09bf597c352e0dd8d 02-Nov-2011 Mindy Pereira <mindyp@google.com> resolved conflicts for merge of 565e94cd to master

Change-Id: I424541a5c8d1d74b78e19170e40edb071fa68c0e
b4b2933b1e27dffbc56d1708420d39caa6dc7911 02-Nov-2011 Mindy Pereira <mindyp@google.com> resolved conflicts for merge of f4d30527 to master

Change-Id: Ia79af94545c878595dcd1bb4e2fec98d49d94838
649eaedd7394165ca7ec3a182928b60cd73e7e3b 02-Nov-2011 Mindy Pereira <mindyp@google.com> Revert "Create a require manual sync dialog."

This reverts commit 5ae8d889a82db0f45f0336b73e76ad6675c8a7e0
references.java
equireManualSyncDialog.java
ctivity/UIControllerBase.java
5ae8d889a82db0f45f0336b73e76ad6675c8a7e0 01-Nov-2011 Mindy Pereira <mindyp@google.com> Create a require manual sync dialog.

Fixes b/5533550 [Verizon Reported Issue]Add one-time notice to user when auto sync is disabled due to security policy

Change-Id: I90e295158136def96502f78c94a5e3ec00a059bc
references.java
equireManualSyncDialog.java
ctivity/UIControllerBase.java
52cd41af58cd58f98f79c8071cf5e29df98e2621 27-Oct-2011 Marc Blank <mblank@google.com> Merge "Remove unneeded logging"
9e2330e473eeec9d3baa67f3f1569e4f02dd6cae 27-Oct-2011 Marc Blank <mblank@google.com> Remove unneeded logging

Change-Id: I9866a678b58728f5e0ddcbb3596beb2e53c9a7fa
essagingController.java
ingleRunningTask.java
7efde8632df2a41c5c88c6e7a863e8831cbaa0bc 26-Oct-2011 Marc Blank <mblank@google.com> Provide four default "quick responses" for new accounts

* These are added during account creation; existing accounts are
not affected

Bug: 5220629

Change-Id: I906e7b886ead9fdb269d9d44a245cc01c1cf260d
ctivity/setup/AccountSettingsUtils.java
2736c1a11ce3ecdcd9d19aa9c324fb9ce0910c7b 20-Oct-2011 Marc Blank <mblank@google.com> Rewrite of security policy handling and service code

* Remove PolicyService APIs policiesRequired, policiesUpdated,
isSupported, clearUnsupportedPolicies, and isActiveAdmin
* Add PolicyService API setAccountPolicy, which is the sole
method by which security policies are promulgated
* Add protocolPoliciesEnabled and protocolPoliciesUnsupported
to the Policy class; these are packed, localized strings
indicating policies that the protocol itself have enabled
and/or cannot support (i.e. these are policies that are
unknown to the DPM, e.g. don't load attachments)
* Differentiate in security notifications between three kinds
of policy changes - changes that don't require user
intervention (e.g. reducing requirements), changes that
require user intervention (the legacy notification), and
changes that make the account unsyncable (e.g. the server
adding an unsupportable policy). Handle all possible policy
changes cleanly.
* Make security notifications per account (with multiple
accounts, notifications would get arbitrarily munged)
* Expose ALL enforced policies via the account settings
screen in two categories: policies enforced (including
both policies enforced by the DPM and policies enforced
by the protocol) and policies unsupported (note that these
can only be seen if policies are changed after an account
is created; we do not allow the creation of an account
when any required policies are unsupported). Add a
button that forces a sync attempt, for accounts that
are locked out, but whose policies have changed on
the server (this would otherwise require a reboot).
* Updated unit tests

Bug: 5398682
Bug: 5393724
Bug: 5379682
Change-Id: I4a3df823913a809874ed959d228177f0fc799281
otificationController.java
ecurityPolicy.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/PolicyListPreference.java
rovider/EmailProvider.java
ervice/PolicyService.java
6629f6b67caa525dc5bf5efb3d066951d4a6b977 22-Oct-2011 Marc Blank <mblank@google.com> Merge "onMove in CachedCursor shouldn't call the underlying cursor's method"
037e00b97d78773b3b7e887d7249b022a6ba9c40 21-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Disable widget creation if there're no accounts"
d94522c6d9b3afad6b6796bc58d5a31b11d7b16d 21-Oct-2011 Ben Komalo <benkomalo@google.com> Make Email widget more accessible.

Bug: 5480096
Change-Id: I58fe6bd070c7d8058f2a920012c3260bfed614b9
idget/EmailWidget.java
227514c1cfe0f5ddafb84ddc10afb88c3839cfa1 21-Oct-2011 Ben Komalo <benkomalo@google.com> Remove stale strings in widget.

We can't tap to configure anymore, at least not according to the old
method.

Bug: 5451924
Change-Id: I997e96a9bab36aecf68a5daeedff6e7442a848a4
idget/EmailWidget.java
1fb0b605e265ae784ef0da9dd360d8065647476d 21-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Request focus in field when cc/bcc is toggled."
d69fab905dadf8edecc36555e06d281d2d5f7286 21-Oct-2011 Ben Komalo <benkomalo@google.com> Prevent insert quick response crash.

Monkeys can click really fast, before the data is finished loading.

Bug: 5067086
Change-Id: I7f9248b0fb694a83ecb793570b2a17f91a49ad85
ctivity/MessageCompose.java
ea73911291eea49fa65e1c70109b8d942d419237 21-Oct-2011 Ben Komalo <benkomalo@google.com> Disable widget creation if there're no accounts

Bug: 4571798
Change-Id: I4b496c12b6c8a2123f9b3d9e28ecf098ca374a74
mail.java
2f105a0543ea293e7a0f3515d0c900ab65e2b7ba 21-Oct-2011 Ben Komalo <benkomalo@google.com> Request focus in field when cc/bcc is toggled.

Bug: 3090788
Change-Id: I184dfe586199af9bcb016f60bf97bcd4382b4f73
ctivity/MessageCompose.java
c5c44eed77b851e71803b972fb76fd91d5338fef 20-Oct-2011 Ben Komalo <benkomalo@google.com> Fix account creation issues.

This is a theoretically dangerous issue that has surfaced only as a
monkey bug so far. The issue is that callers that create an Intent set
some global state, expecting that state to still be valid when the
Intent is handled. However, if the process was killed before the Intent
could be handled, or if that global singleton was not saved properly,
that state was lost and SetupData was never initialized properly.

Bug: 5337276
Change-Id: I6bd08a0dec13f54c7ba8d536ebdc87e6c559c483
ctivity/setup/AccountSetupBasics.java
ctivity/setup/SetupData.java
2ca9441e8c362d14ecc684c26d00049e2789f4c4 19-Oct-2011 Ben Komalo <benkomalo@google.com> Update Intent passed to contacts.

Reduce the number of intent keys so that a more compact dialog can be
used.
Bug: 5483848

Change-Id: I4d3da4a2a1480996bb14c5f2698a6530508ba7e7
ctivity/MessageViewFragmentBase.java
a91f33b44b967496d16ef5ed443219df3d97d8c4 19-Oct-2011 Marc Blank <mblank@google.com> onMove in CachedCursor shouldn't call the underlying cursor's method

Bug: 5472277
Change-Id: Ida5a840d2d27941bb8b548a4d2d985b1082e93b6
rovider/ContentCache.java
3285fb3cfdb209257ed5fb8f36a4d98c67b0d53e 18-Oct-2011 Marc Blank <mblank@google.com> Prevent NPE with badly-timed account deletion

Bug: 5473621
Change-Id: I0956540de0de172bc3519a301598e197b449b9a8
essagingController.java
ail/Store.java
1bc90d3ed9f7749a1de1d80dc588e3a1194fb887 18-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Fix touch interceptions."
98c968d178bfaaa756d86f0fa55518145d9b2126 15-Oct-2011 Ben Komalo <benkomalo@google.com> Fix touch interceptions.

We were unfortunately passing through all touches and never intercepting
events from the message ScrollView. This was desirable when the drag was
over the message content, but in the surrounding chrome it would lead to
pressed states while dragging, sometimes accidentally causing text
selection. This change makes that logic special cased to WebViews only.

Bug: 5361173
Change-Id: Icf535c015cec4a79a5ad7eba3d6c5aa7bd572a8a
iew/NonLockingScrollView.java
2e3d46cbde7a04211e7fbecb9f0836aac7bc22ba 17-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Fix NPE in move messages"
a007d79c3f5189463463e42693c985ecdde80ab2 17-Oct-2011 Ben Komalo <benkomalo@google.com> Fix NPE in move messages

Bug: 5452020
Change-Id: Id8fca21692ad1a70a2114eaa7fec6bcecab6cab6
ctivity/MessageListFragment.java
561004883da8d1c5507c163eab7237262e4abbaf 14-Oct-2011 Ben Komalo <benkomalo@google.com> Fix widget update to properly refresh.

Bug: 5413224
Change-Id: Id66c7dc8aac8b5e24c7d5c5b1633c9c3ab981b15
rovider/WidgetProvider.java
idget/EmailWidget.java
idget/WidgetManager.java
1f6769faccad7691bcf2a5369ce373725e0dc0e1 14-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Always pop back to main app from widget."
28e496daef8be15def1de3787845a22bed0c8b79 13-Oct-2011 Ben Komalo <benkomalo@google.com> Respect system font size in message list.

- This makes dimensions according to scaled font sizes, and also resets
the activity properly (invalidating drawing caches) when that font size
happens.

Bug: 5287961
Change-Id: I04cf117b027befd6a065edeadf95187f62fffc8a
ctivity/EmailActivity.java
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
3532e56591ad3e76da678ad9004f060a1c963bb2 13-Oct-2011 Ben Komalo <benkomalo@google.com> Always pop back to main app from widget.

Bug: 5445267
Change-Id: I992a8a1c4402ba756787957766e8be3c68e064f8
ctivity/MessageCompose.java
idget/EmailWidget.java
7d1324a6df00caa50b18c6937ddbf5ecac5d55c2 13-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Keeps track of "last account used""
513486cfb5d446f098b1c97d16932e51e316d1a7 13-Oct-2011 Ben Komalo <benkomalo@google.com> Fix per account starred mailboxes.

We always switched to combined view when we tapped "Starred" in a
mailbox list. This was confusing since tapping to show the mailbox list
will take you to the mailbox list for the combined view, even if there's
only one account on the device! Other confusing things happened like
showing coloured account chips, even if there's only one account.

This fixes it so that we pass the account ID when building the
selection. Lots of wiring to make it happen, but very little change
overall.

Bug: 5388326
Change-Id: I1fe52f211cceca0c1b26581e200f3c7adcd0734a
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageOrderManager.java
ctivity/MessagesAdapter.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
47bf70cf7bb109ee44757194c34fc8549d8b9086 11-Oct-2011 Ben Komalo <benkomalo@google.com> Keeps track of "last account used"

This only applies for the main EmailActivity. The compose window still
uses the user-visible setting for "Default account" as the default
account when handling intents like "mailto:" links.

In the future, we should probably just remove that setting, now that we
remember the last account in the reading-email case.

Bug: 4460450
Change-Id: I4b3e7c9e13b7e89320891346383780cd670492ae
references.java
ctivity/UIControllerBase.java
ctivity/Welcome.java
160bbc8288e21eec9148dc0add7ac7c9bc998e5c 11-Oct-2011 Marc Blank <mblank@google.com> Merge "Don't show "mailbox not found" toast on "back""
d9cdd88702750291ca348a11ce738ea399454834 11-Oct-2011 Marc Blank <mblank@google.com> Don't show "mailbox not found" toast on "back"

* We'll only show this on a first load of the
MessageListFragment

Bug: 5396997
Change-Id: I9a93bfd6e2c31d1ed8f75f1ec486da060712dffd
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
c35c4b14c9e7d68137d8a958b64c773e7ec5d150 08-Oct-2011 Ben Komalo <benkomalo@google.com> Fix persistent "empty name" error.

We were never clearing the error state when typing in a field that
needed to be non-empty.

Bug: 5422268
Change-Id: Iabe8c6f6c348b4210695c3eeff98e79e60f83d08
ctivity/setup/AccountSetupNames.java
6e8e49d5f7866fd681e5a2be594cf94fe6337399 07-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Ensure proper mailbox is highlighted."
ce4ebc52a6fd7e2084eb6b54f9147269329aa87b 07-Oct-2011 Ben Komalo <benkomalo@google.com> Ensure proper mailbox is highlighted.

Bug: 5424565
Change-Id: I1436568aa1c7d7d2becce27ee068d88deb217496
ctivity/MailboxListFragment.java
f9b566c10981fca190a6347eff1217e557ffa6f6 06-Oct-2011 Ben Komalo <benkomalo@google.com> Fix message list pressed state color

Also do some cleanup - we were creating a background task for opening a
message, when in the common case we don't need to hit disk for any
reason. This was also an issue since the async opening of the message
caused the list item to go into an "active" state, changing its colour
(this problem still exists in starred view now, though)

Bug: 5222509
Change-Id: Ie94109df42406fd6eec1e1255bb0827626ba0628
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
cd75eef4de0ae822e565bf0011092c8ab6b717e9 04-Oct-2011 Marc Blank <mblank@google.com> Merge "Handle possible NPE in MessageListItem"
bcf5d5825fe69bf8bd7edfd077027a52abd2c8eb 04-Oct-2011 Marc Blank <mblank@google.com> Handle possible NPE in MessageListItem

* I don't know how the timestamp can be zero for a message, but we
shouldn't crash, and it's late for adding new localizable text

Bug: 5410814
Change-Id: Idf1c8b0d4c0b7e0e2b2466643ea52e5244d1bb5f
ctivity/MessageListItem.java
1c4b62a0edb459fc37cae239c968eaa599c82cef 04-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "Always update adapter's cursor."
35d92429afcb4774c04726d489455f4606a48256 03-Oct-2011 Marc Blank <mblank@google.com> Merge "Enforce "auto-sync app data" setting for POP3/IMAP"
5aedd2586985a456386679fa6cabd3355b36eb78 03-Oct-2011 Ben Komalo <benkomalo@google.com> Always update adapter's cursor.

In cases where the account gets removed, we accidentally hold a stale
cursor. This leaves a ticking bomb, which generally explodes when the
list tries to save state.

Bug: 5367199
Change-Id: Ibcd0c281c9668778f7d1d2abba472ffff8b22879
ctivity/MessageListFragment.java
faf9ecc992c34de53969335f9fb403d2b17f3163 03-Oct-2011 Marc Blank <mblank@google.com> Enforce "auto-sync app data" setting for POP3/IMAP

* We were using the deprecated ConnectivityManager for this; we should now be
using the setting in ContentResolver
* Also, remove broadcast receiver code that is no longer relevant

Bug: 5405352
Change-Id: I985a95071aea92d235a2708925f775b817ba2328
mailConnectivityManager.java
ervice/AttachmentDownloadService.java
ervice/MailService.java
d75ac0d3579bf215d51d8333e9154e4c392dd2a9 03-Oct-2011 Ben Komalo <benkomalo@google.com> Don't touch views in the background.

Bug: 5404366
Change-Id: I8aca89c032db41aaf95d3a94dc8047fbacbd47a9
ctivity/setup/AccountSetupNames.java
b19a76c4525feca3f65483dc8c12b0299d4b36aa 23-Sep-2011 Ben Komalo <benkomalo@google.com> Don't show move to dialog until data is ready.

The data is usually really quick, but it's enough to cause it to flicker
if we set it with an empty adapter first.

Bug: 5087874
Change-Id: I2fc37751edcaa8ffeee144b85417b48e94b4ba4f
ctivity/MoveMessageToDialog.java
0dc7886f474cd2ed38c76064a60b14a84a7cc67d 29-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Make draft loading happen on serial executor"
fb83cef9ade8b4295bffff44be5b2e4af5a30eff 29-Sep-2011 Ben Komalo <benkomalo@google.com> Hide attachment progress bar on complete.

Also fix up styles to (mostly) match mocks and be consistent
with Gmail

Bug: 5205957
Change-Id: Iea7e9706464a8050255a7be78fca471cb7f9f6cf
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
8f56f41a0774c0b52ad36b75656caad9696e2774 28-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Prefill account names."
b3a72b51dd500dbffb0cabc853970d0bf4807d66 27-Sep-2011 Ben Komalo <benkomalo@google.com> Prefill account names.

- default to e-mail address for account description
- try to use the phone's profile info for the user name

Bug: 5369190
Change-Id: I01cb567f31999bce79426eee58de8fbbc09e344d
ctivity/setup/AccountSetupNames.java
c82c1caf0138dbcef044ee41d24791f2ebeeb88a 28-Sep-2011 Marc Blank <mblank@google.com> Include external storage in remote wipe

* Apparently, this is required via Microsoft specifications, though
there had been an earlier decision not to do this

Bug: 5384246
Change-Id: I05b6c2d21d3b295ad696f26a7a13cba6f1974e83
ecurityPolicy.java
5fc0aa79f64dc6bbbc549a27b8801dc6fb28d7fc 27-Sep-2011 Ben Komalo <benkomalo@google.com> Make draft loading happen on serial executor

This fixes an issue where it loads drafts too quickly on orientation
change (and a previous save has not completed). The save was explicitly
put on the serial executor for this reason, but the load task was
missed. whoops.

Bug: 5361711
Change-Id: Ic764e15deb7cd8b88fa4f87e7cbdf435d7d79c80
ctivity/MessageCompose.java
112f39692cbb1624e719f161752651df85a9c9ba 27-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Fix "always show pictures""
3432bdb757c4195fb4726c8b401f2261e78d75a7 27-Sep-2011 Ben Komalo <benkomalo@google.com> Fix focus behavior in setup screens.

- properly put actionNext on most fields
- make sure actionDone doesn't do funky things with focus so that a
non-editable field gets focus. we may want to consider not making this
focusable in the future.

Bug: 5367827
Change-Id: I4e7bb13801d96a4f1e6fd02a2d43713200738b18
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
5bcb32a0d3bf700fc73749fbb1333ce9abb55eeb 27-Sep-2011 Ben Komalo <benkomalo@google.com> Fix "always show pictures"

- stopped using the confusing checkmark
- consolidated tablet/phone view - removed some needless views

Bug: 5224399
Change-Id: I944459881f04bf1103db98bb15a597bdfcc07cd9
ctivity/MessageViewFragmentBase.java
92922ea4a4a6226aca0f464542a1b98cde144169 26-Sep-2011 Mindy Pereira <mindyp@google.com> Provide an empty constructor for orientation changes.

Fixes bug:5369868 Email crash while changing orientation when there is a security exception pop-up

Change-Id: I8fc530c994d5015cb76039d2f309d98ed2c3761f
ctivity/setup/AccountCheckSettingsFragment.java
b9b6ce1d36c33e5663c33db191d5dded27df0d5f 23-Sep-2011 Marc Blank <mblank@google.com> Don't show -1 as a search result count

* We'll show zero in this case

Bug: 5361745
Change-Id: Id969fa9895520382de11a47a302792d3431e451c
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
0c56eedae5ead0bb470480230dc7072900174849 22-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Try to avoid cases when we flicker "No messages""
075817ff689b7dd12b137bd625f5807df1a29d5a 22-Sep-2011 Ben Komalo <benkomalo@google.com> Try to avoid cases when we flicker "No messages"

Bug: 5205196
Change-Id: Ide4b9ebc02c294ee3c031cc0b69ecba32877e2eb
ctivity/MessageListFragment.java
8506afff2848d1e9b8c36dc9e1012ceedcc2f921 21-Sep-2011 Ben Komalo <benkomalo@google.com> Avoid building/rebuilding the action tabs.

Doing this on a tab callback confuses the action bar rendering.

Bug: 5288508
Change-Id: Ifbba2c2a30f5def04ec36ea2395c0d6da2bdf00d
ctivity/MessageCompose.java
2fa301710fca241fa92242fbede9c8d637905c61 21-Sep-2011 Marc Blank <mblank@google.com> Fix oopsie on startup with no accounts

Bug: 5208939
Change-Id: Ia001dcacdb1dd014bdc480432d1eb7cbf7f56454
ctivity/Welcome.java
d6bd622299abf9c393f4119d9c171e1c0d277c34 20-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent flicker in opening Email."
002a1802cad235ffa8f7152e0d0a5a2ebad14f63 16-Sep-2011 Ben Komalo <benkomalo@google.com> Prevent flicker in opening Email.

Welcome had some assumptions that some things had to be done
asynchronously, such as checking inbox status.
This can now be done on the UI thread and so transition into Email can
be done immediately in onCreate, except if there's reconciliating to
be done

Bug: 4599569
Change-Id: Iaaac21e73c985c60e1b7974fb0429948b35968e4
ctivity/Welcome.java
rovider/AccountReconciler.java
ervice/MailService.java
51dc9593bb8a708f269834b8a4be955aee06ac1e 16-Sep-2011 Ben Komalo <benkomalo@google.com> UI improvements to cert selection

Bug: 5286334
Change-Id: I2c6184740364ae60f9df81119c11479e142f63c3
iew/CertificateSelector.java
3415be2078f3a0ac8a7c8e7d439f95cb91d9f0bd 16-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "Minor cleanups to message list item rendering."
ba0008b669146f808f5e250bf0c140fc3a638049 16-Sep-2011 Ben Komalo <benkomalo@google.com> Minor cleanups to message list item rendering.

- cached font colors
- cached date layouts
- remove unneeded text size sets
- change layout flow to be using standard layout mechanisms

Bug: 5186135
Change-Id: I9c6a659ef50b9e37a51e2463fe2bdf01974291b7
ctivity/MessageListItem.java
a49da871916edf525edf366ec754b1db60ba4796 15-Sep-2011 Marc Blank <mblank@google.com> Handle internal push states when showing sync interval

* We turn them into "push", which is the external representation
of those states (ping and push/hold)

Bug: 5327559
Change-Id: I843f37e4619f1c33cdafbf8a3a6a39abb8e8834c
ctivity/setup/MailboxSettings.java
7683a431173d242e55afced34175e1178764e757 15-Sep-2011 Ben Komalo <benkomalo@google.com> Prevent NPE in check settings fragment.

Bug: 5324512
Change-Id: I9366eb33c5acfe079c023ee4bc8c2026cde46ae9
ctivity/setup/AccountCheckSettingsFragment.java
5602ba92a03f6c9f99cfb20685439d4a16707d62 15-Sep-2011 Marc Blank <mblank@google.com> Merge "Allow multiple wildcards in providers.xml; add hotmail domains"
1b65e834c3d3281de9e0eb74e04def6ded8baa14 15-Sep-2011 Marc Blank <mblank@google.com> Allow multiple wildcards in providers.xml; add hotmail domains

* Change handling of the providers.xml file to allow asterisk
as a placeholder for an individual domain name part
(the previous behavior was a very greedy wildcard)
* Add hotmail aliases using the new scheme
* Update unit tests

Bug: 5318329
Change-Id: I73a0dfcb956830b18c5460a1b3ddfc58459d08c9
ctivity/setup/AccountSettingsUtils.java
bfbf0dd853182bd5d644a88363414a4287616781 14-Sep-2011 Michael Chan <mchan@android.com> Add setting for ReplyAll

Also show/hide the right icon and item in overflow menu depending on setting

Bug: 5298445
Change-Id: I950025cab0aeb57d18769b137eeca418d581c5f9
references.java
ctivity/MessageViewFragment.java
ctivity/setup/GeneralPreferences.java
2c57e7036decceb3767ccc3714e9e9e417217b49 14-Sep-2011 Ben Komalo <benkomalo@google.com> Fix upgrade code.

In HC MR2 we introduced a column for a parentKey, but AFAICT, did not
use it. It was populated with a null value. The first upgrade code in
ICS assumed it was '0' which failed to upgrade it properly.

This prevents IMAP accounts from being broken when upgrading from GB ->
ICS.

Bug: 5252620
Change-Id: I000253b7c02ac1706710bdb21a820293f09cbea5
ail/store/ImapStore.java
rovider/EmailProvider.java
715ee4ec4c5a7893b89c28b8569a7a109a5be970 13-Sep-2011 Ben Komalo <benkomalo@google.com> Wire a custom error code for cert errors

This addesses UX's #1 concern about the UX flow for servers that require
certs - users don't know what to do after an error, so they want to kick
them into the certificate selection flow.

Bug: 5280071
Change-Id: I566707b9e680b3ef0b4c0cc8a07a8ad2c825ecaa
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
afdec1caf1216342ac5d811eeb321f408ccc42aa 12-Sep-2011 Ben Komalo <benkomalo@google.com> Tweak message header actions.

Once again, I missed an asset in the drop, since there is actually a
sepcialized one for the message view.

Also, use styles to fill out the entire height to the header to make the
touch targets bigger, as consistent with Gmail.

Bug: 5290357
Change-Id: I6754b3ef986dbf57c7c68bc595cf54cc9d76123a
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
891da84a254d55c68df21998fbce9c1772eb6172 01-Sep-2011 Ben Komalo <benkomalo@google.com> Misc visual fixes to Email

- dropped in bigger assets for mailbox triangle
- dropped in bigger assets for checkbox for xhdpi
- dropped in proper star asset for message list
- fixed some padding issues for message list item
- remove the color label from "Combined view" in the account drop down

Bug: 5248125
Change-Id: Ic15d98013f2afb42bf55c327654009ef8baa1b78
ctivity/AccountSelectorAdapter.java
ctivity/MessageListItem.java
cbaaa85aba8d75da9dfcaf7f6385fb68f056d500 01-Sep-2011 Ben Komalo <benkomalo@google.com> Merge "increase MessageListItem touchslop"
2076fa7a3b088ed220d9fa0607a457d2829afb8c 31-Aug-2011 Ben Komalo <benkomalo@google.com> increase MessageListItem touchslop

Bug: 5237832
Change-Id: Ic651cb23b25041195a226a301b9111c5e8d831ec
ctivity/MessageListItem.java
c3249d8f34388ec7f640b36b740119821fd6f322 31-Aug-2011 Ben Komalo <benkomalo@google.com> Ensure we can pan around in two directions.

This introduces a ScrollView that doesn't "lock" scrolling in one
direction, which makes it really difficult to view messages on a phone.

Bug: 5039459
Change-Id: I75e6824952c843140844873bec77af55b194f776
iew/NonLockingScrollView.java
b7d137bfb6b59b1a4da4b14eb6022ce0df7cf637 31-Aug-2011 Ben Komalo <benkomalo@google.com> Refresh account list in settings.

Since account deletion is async, the deleted account still shows up for
a split second. We can do something smarter about this later, but not
for ICS, and not worth it for such a rare event

Bug: 5116203
Change-Id: I82cced09b7a098e4a1a960f2d8ad75c1979b0649
ctivity/setup/AccountSettings.java
f97ec4d1e8b9c19033db06c16e2854773f90753c 30-Aug-2011 Ben Komalo <benkomalo@google.com> Hide search icon in search mode.

This is a kludge - the real solution is to use the proper action modes
in the framework. That's too large to do this late.

Bug: 5232787
Change-Id: I76b68b250c384bdabf51e8831f833afd65c0c73b
ctivity/ActionBarController.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
8466f79a06433bf3d05a770578c72b2b60e1bd7c 26-Aug-2011 Ben Komalo <benkomalo@google.com> Asset drop.

- this syncs up the UX repo with the developer repo so that the assets
now match. We should be able to do wholesale drops/diffs from now on.
- lots of changes to widget so that it is (mostly) up to spec now, and
matches the preview

Bug: 5225385
Bug: 5205578
Bug: 4320895
Change-Id: I8ccbadcfc17cdb406599497edc91165809f55d68
olderProperties.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
idget/EmailWidget.java
e86d8af163ada4d0b3f7c5cb0b32cfeb12da473c 29-Aug-2011 Marc Blank <mblank@google.com> Password history changes do NOT require user intervention

* A change in history requirement is not intended to force a new
password immediately; we just tell the DPM what the new
requirement is...
* This is one cause of the below-referenced bug

Bug: 5221119
Change-Id: I890b42d4eab4fbd9d34665fbea138f179d5d3215
ecurityPolicy.java
9bcdd58a09d844a7551de49fc968fcf2f95b251f 27-Aug-2011 Marc Blank <mblank@google.com> Merge "Be careful before setting account's delete policy"
81a5ba47c67c75e92772bf8adb04a5361fc79b91 27-Aug-2011 Marc Blank <mblank@google.com> Be careful before setting account's delete policy

* We were using the getSelectedItem() from the deletion spinner to
set the account's deletion policy, even if that spinner was
invisible (which it would be for IMAP).
* The result of this is indeterminate; sigh
* The fix is to make sure the spinner is visible before using its
value

Bug: 5216422
Change-Id: I7e44b5e8127f5277693f7e962899e8642be55239
ctivity/setup/AccountSetupIncomingFragment.java
ccb247cf2d7111c2080414741a7531905ce280f3 24-Aug-2011 Nick Pelly <npelly@google.com> Update for NDEF push API change.

Change-Id: I2a51c8c39cd23f90bc35133b2f50b01a82fe1ce4
ctivity/NfcHandler.java
ctivity/UIControllerBase.java
b8dd117002a97f37260518d85d73634b71c55bce 25-Aug-2011 Ben Komalo <benkomalo@google.com> Remove needless clearView()

- this is leftover from a time where we re-used a single WebView for
multiple messages. The current architecture does not rely on that, so
the clearView() is actually not useful. Worse - it's causing issues
because the operation in the WebView is asynchronous, so a clearView and
a load of the content in quick succession causes a race condition,
causing items not to load

Bug: 5205296
Change-Id: I5ee6697bdf53a033ba1c7f21170820259bf830d1
ctivity/MessageViewFragmentBase.java
32bed4bb8e23d7322ab338773d135845f392d3cf 24-Aug-2011 Ben Komalo <benkomalo@google.com> Fix unit tests.

- make attachment download service injectable
- fix assertions for account manager account checks
- update message compose ID's so they're consistent on tablet/phone

Bug: 5198343
Change-Id: I9976f5b9e5590dd61fb0a62937d3f9203fefe236
ctivity/MessageCompose.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
4520d35e7c4122c731b82ae9db3e6aeec2a4cd1d 23-Aug-2011 Ben Komalo <benkomalo@google.com> Slight reordering and add settings to compose menu

Bug: 5189476
Change-Id: I91fc0a718859fb55c79157236268dd6976ac0427
ctivity/MessageCompose.java
ce582527bbdce6e7a5c255123e9f2b743467919e 22-Aug-2011 Marc Blank <mblank@google.com> Fix dont-allow-camera in Email DPM

* We weren't checking for it in determining whether our policies
were active; because of this, we never actually SET the policy
in the DPM

Bug: 5193399
Change-Id: I276901be21be681f66891f5374ec58cf1ea7b4be
ecurityPolicy.java
89dd731a90ad5b616f77671caabe2941a0f01697 19-Aug-2011 Mindy Pereira <mindyp@google.com> Update attachment ui to look like Gmail attachment ui; fix from padding.

Fixes Bug:5184434 Compose view doesn't match pixel perfects
Change-Id: I7217eb4a63beedfd0bc00dffe9e0f29a5af6214c
ctivity/MessageCompose.java
a3e8adac9585cde68d3a97ffeafcbb9ace22327a 18-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Add in missing return statement"
28a48b6001bb4f41376cab1a912d2b08ebd4cf33 18-Aug-2011 Marc Blank <mblank@google.com> Merge "Support IMAP search in UTF-8, in addition to US-ASCII"
d766e72450a4f04ae0af56fafab55360f77a066b 18-Aug-2011 Ben Komalo <benkomalo@google.com> Add in missing return statement

This caused an unintended fallthrough

Bug: 5183930
Change-Id: Iff2100be13a242bfc576c1cb737d8777f4b8065a
ctivity/MessageViewFragment.java
2ae341bfa1e8e05528946f070470ddad14b91355 18-Aug-2011 Ben Komalo <benkomalo@google.com> Fix messagelistitem logic.

We had two separate "height" values in XML that weren't consistent - one
was used for the coordinates and one was used for the actual item i nthe
adapter. This made things off slightly when the values didn't match
(i.e. on tablet wide mode).

Also fixed an issue with paperclip icon not aligning with date on wide
mode

Bug: 5184169
Change-Id: I1d80bb9c685fdd8216fcaef26bf6ad715eb74c4c
ctivity/MessageListItemCoordinates.java
899e481fd11053a8496d58ca45432c59c094af9a 18-Aug-2011 Ben Komalo <benkomalo@google.com> Fix up action bar items.

- vertically centers mailboxes
- fixes subject lines from extending beyond 2 lines and getting cut off

Bug: 5183775
Change-Id: I8f6367edeafdfcf361cafa7e542f4028e955f7f1
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
f13fee5d78e8975e05a7379eb7972282242c68b7 18-Aug-2011 Ben Komalo <benkomalo@google.com> Drop in notification for multiple new mails

Bug: 5058000
Change-Id: Ic852004f8f154943742cf40ccfb6063a736d4cae
otificationController.java
20bf1f632f47c1ba408d23d87b7d9dc3fc5ba5ec 17-Aug-2011 Marc Blank <mblank@google.com> Support IMAP search in UTF-8, in addition to US-ASCII

* The existing IMAP search code is well-known to be primitive and
largely broken. In particular, it fails with any non-ASCII
character and with a variety of symbols (e.g. quotes, slashes,
etc.) Basically, it's an accident waiting to happen, returning
empty data sets even when the query might reasonably be expected
(or known) to return valid data.
* The current CL uses the IMAP literal string format to represent
the query text; this string can be sent either in ascii or in
UTF-8, and since it is sent as an octet (byte) count followed by
8-bit data, it also solves any quoting issues that might come
up. So, we kill two birds with one stone.
* The bug in question was punted to a subsequent MR; however, I
think it would be a mistake to ship the code without this
CL, which has been tested against the three common IMAP servers
that we aim to support.

Bug: 4690713
Change-Id: Iaa542bfc56737871f3cbc9c83f0e768415a7f2b6
ail/store/ImapConnection.java
ail/store/ImapFolder.java
8b54f09c7b365abab7c069224ecd6eb5b518a964 17-Aug-2011 Ben Komalo <benkomalo@google.com> Prevent NPE when opening starred on tablets

The MessageListFragment doesn't guarantee to return a non-null Mailbox -
it can be null for virtual mailboxes. We weren't checking this properly.

Bug: 5171577
Change-Id: I272f6a71633680d3424b049d730500fb5f04935e
ctivity/UIControllerBase.java
5ef235193b7241a4cf96b1231e7d604644186e9f 17-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Minimal changes to make invite UI less broken"
3ae361182a4bd7061ea4a31773cec11cd3b74d87 16-Aug-2011 Marc Blank <mblank@google.com> Fix SMTP validation with TLS/accept certs

* Typo in the code. Oopsie!

Bug: 5163119
Change-Id: Ic5aab21b79a0ae30d45a760f7c52cf65b150ccb9
ctivity/setup/AccountSetupOutgoingFragment.java
340ff45ba0f812bbb02ec9112e0b5268834bb0b3 16-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Fix crash in account selector adaptor"
7a3b64d56e3c3c37d02b50051b8a57f067856c2e 16-Aug-2011 Ben Komalo <benkomalo@google.com> Fix crash in account selector adaptor

Removal of the accounts header broke code that assumed the list of
accounts started at index 1. Change code so that it doesn't rely on that
assumption.

Bug: 5171557
Change-Id: Idde445cac914c4a742c54e291d808b991e612c5f
ctivity/AccountSelectorAdapter.java
5e88869393727790a1b7c070873fbdf3b3477771 16-Aug-2011 Mindy Pereira <mindyp@google.com> Merge "We must have unique id's in order for the state to be saved automatically by the widget."
ac9975e745a3cbd0617d73e3c20361547c4eadc9 16-Aug-2011 Mindy Pereira <mindyp@google.com> We must have unique id's in order for the state to be saved automatically by the widget.

Also turned off extract mode for subject/ body as we already
did this in gmail at request of ux.
Fixes b/5161118 TO field drops all entry chips on rotation

Change-Id: Iada93bbf7ee457801340167aa1086b03b87b4268
ctivity/MessageCompose.java
22cc33158d1336fe39b44046bc584c0f1c4838f5 15-Aug-2011 Ben Komalo <benkomalo@google.com> Use proper style for account spinner

- also removes the "Accounts" header as requested by UX
- also tightens up width on tablets a little.

Bug: 5160847
Change-Id: Ie8da1f9d2ec0e53421a435897fc9bb50991a20b6
ctivity/AccountSelectorAdapter.java
285b6bb303e7aa16db2b7eb49299ed26a83f6c23 15-Aug-2011 Ben Komalo <benkomalo@google.com> Minimal changes to make invite UI less broken

- tweaked padding for 7" portrait tablets (required copying tablet
layout to two spots so that the 10" portrait tablets still work
normally)
- removed checkboxes on phones and toyed with fonts

Bug: 5165210
Bug: 5156282
Change-Id: Idd3a1c53dc32fefc14854b08a0a9eaebeb5d2f44
ctivity/MessageViewFragment.java
4256bdfce7d81ac20eff1e8890c3541fa234fe72 13-Aug-2011 Ben Komalo <benkomalo@google.com> Suppress toast when adding attachment.

The "message saved as draft" toast is distracting when the user is going
to pick an attachment. Stop it from happening.

Bug: 5156507
Change-Id: I3c02ec9c0a17c9d5ea3d02377cfc6d6cd8870a49
ctivity/MessageCompose.java
4b75ac992d349105b71864be156a46d19fc049bb 13-Aug-2011 Ben Komalo <benkomalo@google.com> Update visuals for new fonts.

- tighten up action bar spinner
- fix up message list senders/padding

Bug: 5159050
Change-Id: I00033d994a23f7fbb81cd72f53b9d66faa7570f9
ctivity/ActionBarController.java
526fadbaa0f677a95866f516cbec875fdf1a1376 12-Aug-2011 Ben Komalo <benkomalo@google.com> Fix build

Change-Id: I366dad8d13dac5a157758a59d9d89552cd8d8084
ctivity/ContactStatusLoader.java
6f96c779cf572b1680c2cbd68ae9858ca78f101e 11-Aug-2011 Ben Komalo <benkomalo@google.com> Hide presence icon when unknown.

- the "offline" icon isn't much use for a lot of our (non-gmail) users
anyways and it takes precious real estate in the header

Bug: 5147565
Change-Id: Iea3df0c1c3756ff749e50ce46a7437488dc169e7
ctivity/ContactStatusLoader.java
ctivity/MessageViewFragmentBase.java
7c98d359907227608b02aea83cabb01af3e66069 12-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent infinite resizes in webview"
bd0d2a899ed32035ba2bf659e4390ffecc16cbaf 12-Aug-2011 Ben Komalo <benkomalo@google.com> Prevent infinite resizes in webview

Bug: 2349275
Change-Id: Iea502beafcc232105486dfdd5a2d93229313bc45
iew/RigidWebView.java
c165092ea2840cecdcfb1d3f8d330a5cfdc9b7a6 12-Aug-2011 Mindy Pereira <mindyp@google.com> Merge "Update styling of chips fields."
ce39730da0d1956b037abbc95ac54dbdb8a971da 11-Aug-2011 Mindy Pereira <mindyp@google.com> Update styling of chips fields.

Fixes b/5122133 replace recipient background with new multiline background

Change-Id: Icbdb1e885526ccbe1bbbb5e332db8532988a749e
ctivity/MessageCompose.java
90a3f1e08bcd85f873aa2f6d90bedb08c4df2782 11-Aug-2011 Ben Komalo <benkomalo@google.com> Ensure message actions aren't available for EML

Bug: 5150912
Change-Id: I189eeed903d1af9b9da42b27acb91dd3e836c357
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
c18843d746a21e2fe81a3499d9b54c12f5982e6b 11-Aug-2011 Ben Komalo <benkomalo@google.com> Prevent EML messages from reloading indefinitely

- openMessageSync for EML files touches the provider since it copies
things into the Message table from temporary attachment data. Therefore,
acting on a reload of an EML message will trigger the observer, and do
the same thing.
- still unsure when or how this regressed, but I can't see the previous
behavior being correct regardless

Bug: 5150886
Change-Id: Icfcea7beb95b0fbb026184d6fdecc93c810569ef
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragmentBase.java
b9e8c2def1a2992535882e90967e7fee0b173552 11-Aug-2011 Marc Blank <mblank@google.com> Merge "Remove STOPSHIPs in Email/Emailcommon"
a9f1631fb83200a59e40e23ed366f810d08b6f52 11-Aug-2011 Marc Blank <mblank@google.com> Remove STOPSHIPs in Email/Emailcommon

Bug: 5142183
Change-Id: I1f6e31bfd2e7c32bdd7886e54b02fd4640a96e6f
ctivity/UIControllerBase.java
ctivity/setup/AccountSetupOptions.java
ervice/AttachmentDownloadService.java
6f50b7c3f06206be778fd073748a0ff4b87dabc5 11-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Fix issue where subject stays bolded when read."
217dc144bd967f21850cefc6e1a84e9d35a67f85 11-Aug-2011 Ben Komalo <benkomalo@google.com> Fix issue where subject stays bolded when read.

Bug: 5145057
Change-Id: I8ac88b219b2a2b84faf2707805b57eca5c960c80
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
d3ced7cce9c576dc3a1c7a82ac021f3b2436ac68 11-Aug-2011 Ben Komalo <benkomalo@google.com> Show helpful messages when no accounts configured

Bug: 5145213
Change-Id: I350d59e8afc72d1bad64cf7cf3d44750e8365a99
mail.java
idget/WidgetConfiguration.java
c3d9dba1096ea11e7c988a85cc994730e1e9403e 10-Aug-2011 Marc Blank <mblank@google.com> Merge "Fix SMTP validation code"
7751b42f82731ca1ca828643d0720994583f8ca8 10-Aug-2011 Marc Blank <mblank@google.com> Fix SMTP validation code

* Caching Senders isn't a great idea; during validation, it causes
the bug referenced below. It's a small optimization anyway, so
we'll just get rid of the cache.
* Also, remove unused code

Bug: 5144603
Change-Id: I539284dfa6d457fffd5cb011b8e1db5881249636
ail/Sender.java
3f1a171f0bb8044f838868f39d0731632076e106 10-Aug-2011 Ben Komalo <benkomalo@google.com> Prevent NPE when arg cache is not init

Bug: 5146630
Change-Id: I5d90f4c915f1cbb437be88849e179efd29a4b9a9
ctivity/MessageListFragment.java
2468b54db5bd505a253aa03e9a0734073087aa52 10-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Fix search styling."
75c86362e00c96cfa7c47e170dd0ea99cae462e3 10-Aug-2011 Mindy Pereira <mindyp@google.com> Merge "Add single chip copy."
4693fecab2806ec6134a7eead7f5311f3831cfc3 10-Aug-2011 Mindy Pereira <mindyp@google.com> Add single chip copy.

Fixes b/5143564 implement single chip copy

Change-Id: Ibcf058d7a1e8c18258a3117e9968d24a8723953f
ecipientAdapter.java
56593af65ad25a69f81fb471d346c7519b58fbc4 10-Aug-2011 Jorge Lugo <jlugo@google.com> Pre-populate contentDescription for MessageListItems

Always populate the contentDesription rather than only
when dispatchPopulateAccessibilityEvent() is called. Makes
life easier for testing.

Bug: 5129286
Change-Id: Ide897b81ff30708b9d637cebbf8eb63f06084a74
ctivity/MessageListItem.java
757c73634d60744b6039f73dab07394067aea03f 09-Aug-2011 Jorge Lugo <jlugo@google.com> Merge "Allow pre-populating of content descriptions when testing"
70a3f210418d060c4e1616f2692c728564cae9e4 09-Aug-2011 Jorge Lugo <jlugo@google.com> Allow pre-populating of content descriptions when testing

Creates isTesting flag in MessageListItem. When set to true,
populates the contentDescription of each message on initialization
rather than on touch.

Bug: 5129286
Change-Id: Ia0df93bf7399859a750a3fa01e5429436b9daf16
ctivity/MessageListItem.java
03bc225d08570f3a09197171b0691bc0d4914de1 09-Aug-2011 Ben Komalo <benkomalo@google.com> Show color chips in account spinner.

Bug: 5011742
Change-Id: I6aa3d24b83ee1378bf30fb8466a52c6787d27277
ctivity/AccountSelectorAdapter.java
2c4a6855bad7e2e92f0d02789b22dda0ed4386c7 09-Aug-2011 Ben Komalo <benkomalo@google.com> Make isInboxList check robust to combined views.

rookie mistake :(

Bug: 5141774
Change-Id: Iafc4907a4717143ccf8251a1fb452e1ff00aa5ff
ctivity/MessageListFragment.java
ctivity/UIControllerOnePane.java
e91ff527ed5c076a10b6be077210bc4f22409792 04-Aug-2011 Ben Komalo <benkomalo@google.com> Update backstack model.

This makes "Inbox" the top level with the mailbox list one level under.
All "up"/"back" navigation is now identical and will take you upwards
towards the inbox before falling off to the launcher.

This uses a kludge and the "backstack" of the activity is not actually
represented now by the mPreviousFragment variable; it just uses tricker
in the onBackPressed()/shouldPopFromBackStack() calls to do the right
thing.

Bug: 5111629
Change-Id: Ide88efc78fe4f40d89b5ab83c480318e81902554
ctivity/MessageListFragment.java
ctivity/UIControllerOnePane.java
ed494cd6bb071efd1bf290b98c977debc7d15022 09-Aug-2011 Ben Komalo <benkomalo@google.com> Fix search styling.

This eliminates the excessive padding on the left and makes the hint
text behave according to the new spec (since it uses the new action view
expanded mode).

A later CL will actually change the item to use the action view
facilities of the framework (so we don't have to manage our own custom
views).

Bug: 5109953
Change-Id: Ia3e4a1e64e65b3b8bb3e708b31636f4186acfd46
ctivity/ActionBarController.java
547cae3c8efbce05b24dd2333b7f0c3909a9ebd3 09-Aug-2011 Ben Komalo <benkomalo@google.com> Move reply/replyall/forward spinner to actionbar.

Bug: 5126487
Change-Id: I56cd8861d6d616d1c4590f06c6f949cd84e5a42b
ctivity/MessageCompose.java
3fdf92c977f50a90ba481c7a2a8a86f60ef9ccd2 09-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Move IntentUtils to emailcommon."
cf8a36531f4c41c8cf646623e8c63040718e17d6 04-Aug-2011 Jorge Lugo <jlugo@google.com> Remove done button from edit quick responses

Removes done button from edit quick resposnses fragment and
centers the "create new" button.

Bug: 5111173
Change-Id: Ia847725e5d3bdc67426f76dd386f2263befe4189
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
0e6a521747970d5427f10c25cdc070d2341dc93a 08-Aug-2011 Ben Komalo <benkomalo@google.com> Move IntentUtils to emailcommon.

This is needed so Exchange can fire up Email activities.
No change other than the move.

Bug: 5122497
Change-Id: I6ee3f61654745fafd444314ecf75eb8ae6bbd01d
ctivity/EmailActivity.java
ctivity/IntentUtilities.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
e9dad11e1abc7df13324131c348628f04205a0e1 08-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Avoid NPE when subject/snippet are null."
86ed3c07a8cc53591db7de40475c476c3ec6d349 08-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Compose UI fixes"
dce6aafe4edc5668cdcb2d60d097c84e078adc54 08-Aug-2011 Ben Komalo <benkomalo@google.com> Avoid NPE when subject/snippet are null.

There are cases when subject and snippet re null. If the MessageListItem
is not being recycled (i.e. it's the first time), this can be detected
as "no change from the previous state (of being empty)", which doesn't
initialize mText.

Bug: 5129307
Change-Id: I6df910fb365b7e8c1dd298f787d21fbb438830fd
ctivity/MessageListItem.java
03cb4a2135fce98109290e35093f73941c0dc10d 08-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Hide sync options and search icon when appropriate"
37a74697164b3e74fb10e0bf51bed7c064b275bc 06-Aug-2011 Ben Komalo <benkomalo@google.com> Hide sync options and search icon when appropriate

- hide sync options for mailboxes that aren't actually syncable
- hide search icon for any mailboxes that don't have any server
counterparts

Bug: 5086134
Change-Id: I60d5e5d1225a946464c5ea273c7d4b9299f433e5
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
b86da6b913364cfd076e25c10af53e1b55d2429b 05-Aug-2011 Ben Komalo <benkomalo@google.com> Compose UI fixes

- don't show error message if there are chips

Bug: 5126958
Change-Id: I65a22555260b00ded1df49668cde09b03d7f7d90
ctivity/ChipsAddressTextView.java
ctivity/MessageCompose.java
5b4a214240460cce547676b5e6d233184e91faf6 08-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Fix SSL certificate selection for exchange."
994343b14bfba216969a9d9e86b53312686f7832 05-Aug-2011 Ben Komalo <benkomalo@google.com> Fix SSL certificate selection for exchange.

- Since the Email and Exchange processes do not share UID, we need to
ensure the call to the KeyChain to request the certificate happens in
the Exchange process
- Misc UI fixes so it's not so ugly

Bug: 5117682
Change-Id: If80698850902e0178eb0998493b4cf4b89e2a15c
ctivity/setup/AccountSetupExchangeFragment.java
iew/CertificateSelector.java
330b1273af3e3efdd6a858eb4e936b5862d97956 05-Aug-2011 Ben Komalo <benkomalo@google.com> Fix show pictures to not look broken.

- this still needs an asset for the "checkmark" button when showing
"always show pictures" prompt - using a checkbox on state as a
placeholder but it's probably not the best thing for it

Bug: 5037485
Change-Id: Iaa1d0f865bf0c01fde0b0cb37ea1c395345ed582
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
a08f654a1a44fb87b2afbef721ec931c1faed302 05-Aug-2011 Marc Blank <mblank@google.com> Merge "Catch case where provider reports returning null in error"
577e604df009df025ae3a5c5fa151c47f7877a43 05-Aug-2011 Marc Blank <mblank@google.com> Catch case where provider reports returning null in error

* Missed this one

Change-Id: I080bd3b910827336fcfde818564067db5b4ec3cc
rovider/EmailProvider.java
20b511ff6812837e7dc11db3f9ce398959307c09 02-Aug-2011 Marc Blank <mblank@google.com> Handle GB->ICS upgrade of POP3 accounts properly

* Heh.
* We were using the login from the HostAuth in creating the Account
Manager account, but it should be the email address from the
Account itself; in IMAP (and usually in POP3) these are the same
* But not for juno.com!
* Updated unit test coming in another CL (tests are broken in a
strange way, and the bug is FAST-blocker)

Bug: 5110013
Change-Id: Id11799e8b30a0420804f00c2d2f265e44e39c4c0
rovider/EmailProvider.java
6be8cceaddb93f5f9467854c8d11fa518e95c52b 04-Aug-2011 Ben Komalo <benkomalo@google.com> Update sync settings UI to specs

- minor text changes
- use light holo theme
- slight order changes

Bug: 5110452
Change-Id: Icf558ee495860dc97048765d3b8d09d31161dd32
ctivity/setup/MailboxSettings.java
4418596f9bcc1ca47faa7637861f759920f4482a 03-Aug-2011 Marc Blank <mblank@google.com> Merge "More whack-a-mole in AttachmentDownloadService"
c74874c4afed8471cb54e8185bba180a3be2d886 03-Aug-2011 Marc Blank <mblank@google.com> Merge "Fix NPE in NfcHandler"
433b0ed9fef3e424563df70f22164508c970e4d5 03-Aug-2011 Marc Blank <mblank@google.com> More whack-a-mole in AttachmentDownloadService

Bug: 5115008
Change-Id: I6e5236e08331cfd6a9a11868d97bf5caaf68f6fe
ervice/AttachmentDownloadService.java
2208f5dce9749b3e7a98bd3bcd445503b0c35c00 03-Aug-2011 Marc Blank <mblank@google.com> Fix NPE in NfcHandler

Bug: 5115848
Change-Id: I8e581aa77363bc1f33eb3267be5c924fba772aae
ctivity/NfcHandler.java
5497cae94ce548c2743b9a708126aad324b1bfff 03-Aug-2011 Ben Komalo <benkomalo@google.com> Fix issues with state restoration in messagelist

- immediate issue was the the mIsFirstLoad flag was on the Loader
instead of the list - since the Loader is retained on rotation, we
didn't the initial list setup after rotation leaving the list in an
infinite "loading" state
- second issue was that list scroll state was being handled poorly - it
was always saved and restored needlessly. However, if two subsequent
loads happened prior to a layout, saving the list state actually saved
bad values (the restored state only seems to take effect after layout)
- third issue was the footer mode was being handled poorly as well - it
was always updated, which required re-setting the adapter every time,
which reset the scroll position. This was why we were always trying to
save/restore scroll position.

Overall this should speed up the list loading and data updates in the
list by a bunch.

Bug: 5110000
Change-Id: Id2f6db928c095ae10ee55b40e7e9241d70e0bebe
ctivity/MessageListFragment.java
0a12a6636c86133b7ec3a5aaa148e2d1c3b75d82 03-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Minor visual fixes in message list"
2313f48bdc34409a1d17bd841d440d8215eb9528 02-Aug-2011 Ben Komalo <benkomalo@google.com> Minor visual fixes in message list

- changed activated font to white
- ensure activated bg is set even for wide (as it shows for a split
second when you select a message right before the slide animation)
- attempt to make the animation not so abrupt

Bug: 5110992
Change-Id: Ie05e0a6a09afb97155b26d28672d4a2fb79cc563
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessagesAdapter.java
ctivity/ThreePaneLayout.java
263d0ec707fa8eede6eeaaf54caed889d2663f2e 02-Aug-2011 Ben Komalo <benkomalo@google.com> Fix account spinner width.

- make it take up different size on phones and tablets (also landscape
phone/portrait phone)
- move unread count outside of the spinner area

Bug: 5108972
Bug: 5111250
Change-Id: I2c16bbb52ce53bbf1c8fe08fd78f1a4b4afd4ccf
ctivity/ActionBarController.java
171d7303c8860b915efef028adb8f53c4aabb3c2 02-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Update message list item redlines."
383279a1c5e0cba982645a5ed06e06534d12159e 29-Jul-2011 Ben Komalo <benkomalo@google.com> Update message list item redlines.

- reduces number of "modes" to just two: normal and wide
- consolidate the normal/narrow modes for phone and tablet (as per spec)
with the only diff on the tablet being side paddings
- fix issue with "white arrow" visual being shown in phone when tapping
on a message
- make touch computations be resilient to padding values instead of
assuming that the check/star icons are right at the left/right

Bug: 5103823

Change-Id: I23f967454f7744d9c59256625e302e54a353994a
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
36aef9fb7434bb9fa01dc28038358a4d411a4f00 02-Aug-2011 Marc Blank <mblank@google.com> Add logging to v21->v22 upgrade; small cleanup

Change-Id: I6659998a3ad2490c923061aab5328469c3222e25
rovider/AccountBackupRestore.java
rovider/EmailProvider.java
c1312ff65fd1a71104fcd04657e40ef5e8af30ad 02-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Save IMAP prefix."
bcd1339610ed47cc8ac971f50acf6c7b2d993b8f 01-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Minor changes to actionbar for message view"
b6e2bd85a46142f675bf48a7e29ad6c4f1dcf68e 01-Aug-2011 Marc Blank <mblank@google.com> Merge "Make "security required" notification ongoing"
3baefc2da0c5ef6d386ac6ff77f270215cd788d3 01-Aug-2011 Ben Komalo <benkomalo@google.com> Minor changes to actionbar for message view

- hides the unread count and account name
- makes the subject two lines

Bug: 5103483
Change-Id: Ied537a0c7d8142ecebe49638a814010790433299
ctivity/ActionBarController.java
5125c06cef67447a0ef5881d8fbfd6b73e1dfd0a 01-Aug-2011 Ben Komalo <benkomalo@google.com> Save IMAP prefix.

Bug: 4517078
Change-Id: I4f4a1e490abc78088ec8ded4e4627e5da1ac3fd2
ctivity/setup/AccountSetupIncomingFragment.java
27a04fecfb267e3498d7e0d621443176cd6e1474 30-Jul-2011 Marc Blank <mblank@google.com> Fix EmailProvider database upgrades

* Two of the upgrades (v21->v22 and v25->v26) need to be fixed so
that they don't reference columns that might not exist.
* Oops

Bug: 4439595
Change-Id: I4a8c556be22bb85fb78807416cd1d6b81c6ef118
rovider/EmailProvider.java
8bdfee9eec8ffc82f95604874518d2258bb77430 29-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Update assets"
d9e8dcae2f863fcb4a5fc91a167e8cf261151163 28-Jul-2011 Ben Komalo <benkomalo@google.com> Update assets

- updated checkboxes (new ones for sw600dp and phone)
ones for phone)
- updated stars (new ones for sw600dp and phone)
- added existing cc/bcc icon to menu item
- updated reply/replyall/forward actions to dark themed items (renames
involved)
- update message list backgrounds (new ones for hdpi,xhdpi, renamed
everything so that there is no message_ or conversation_
suffixes, also added missing states for some of the selectors)

Change-Id: I1b4f49f206b846566870f5b430e3c6386e621a0c
ctivity/MessageListItem.java
ctivity/MessageViewFragment.java
1f825aa5382c8a3ab958e46b43ce31b9c0f4675f 28-Jul-2011 Marc Blank <mblank@google.com> Merge "Catch NPE in AttachmentDownloadService"
d9b2a8f237492951f71abeb8f2ce359311862f21 28-Jul-2011 Marc Blank <mblank@google.com> Make "security required" notification ongoing

* While investigating the referenced bug, it was discovered that
canceling the "security required" notification (with "X", rather
than the "cancel" option in the dialog) causes the notification
to be unavailable until a reboot
* This puts the account needing a security update in the position
of being unsyncable, and might explain the referenced bug (we
have no confirmation of that step; on the other hand, the tester
can't now reproduce the problem, so an unusual action like this
is to be expected)
* The fix consists of making this particular notification "ongoing",
which prevents the user from dismissing it; arguably, this should
always have been the case anyway...
* Consider this fix for backport into LTE and MR2 branches

Bug: 5072343
Change-Id: Ia7419236cf9389380d1e079b1a9a6f425015c487
otificationController.java
0306da14e33d5ba0a169be82925e797a9f03e4db 28-Jul-2011 Marc Blank <mblank@google.com> Correct recently added EmailProvider logging

Change-Id: Ica61b7bcbe455448a1a261c83defa840ab1abf3e
rovider/EmailProvider.java
f64fd6fe71af9595ba9ab5b3ed9448cf966dd6c4 28-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Search delay fixes."
7390b187767b559f693666156b8ca5c7c25bcfe4 28-Jul-2011 Marc Blank <mblank@google.com> Log return of null from query()

* This shouldn't happen, but ... log it just in case

Change-Id: I8b8df3fec84c9dd14ebb222ee665b0712f63f213
rovider/EmailProvider.java
41c63a05eb04e5e1c6e12676768fd6e40dcbe913 28-Jul-2011 Marc Blank <mblank@google.com> Catch NPE in AttachmentDownloadService

%$!@#*&%

Bug: 5055519
Change-Id: Ie155c8d0f9931b51613f7d77e4545531bc148964
ervice/AttachmentDownloadService.java
391b9d4abd935cf19e530972544946889b932fb6 27-Jul-2011 Ben Komalo <benkomalo@google.com> Search delay fixes.

- adds a loading state to search so the user isn't left with a blank
screen for several seconds
- adds a timeout so that a warning message is shown for results that
take over 10 seconds
- use default loading/no message views in ListFragment so we don't have
to manager our own stuff

Bug: 5014107
Bug: 5037618
Change-Id: I8b03fa0967055989156c7777901affc777c4fae7
ctivity/MessageListFragment.java
1340b2f82b42e9d6afc7ff7ed4468aefcc8d5bc9 26-Jul-2011 Ben Komalo <benkomalo@google.com> Hide irrelevant options in mailboxlist.

Bug: 5080327
Change-Id: Ief9544b9d8a70a16b90f268bca1342b697fc6962
ctivity/UIControllerOnePane.java
c34e2dcb3d7a16495aa687e8f1ca83d40732b029 26-Jul-2011 Martijn Coenen <maco@google.com> Merge "NFC zero-click sharing for Email."
1278df63dedaed22cfdd235766a87fc2e63a8544 26-Jul-2011 Marc Blank <mblank@google.com> Merge "Ignore watchdog alarms for stopped service"
cb2f0a8bb9ff6728a111b1f790c12555ac7086fb 26-Jul-2011 Marc Blank <mblank@google.com> Ignore watchdog alarms for stopped service

Bug: 5055519
Change-Id: I35352364f3f2842932ad40e47d70646bb6d42349
ervice/AttachmentDownloadService.java
e5b15cd3c8450c935ce43ca9be83a23bcdd565a2 01-Jul-2011 Martijn Coenen <maco@google.com> NFC zero-click sharing for Email.

This shares the e-mail address of the currently shown account
over P2P NFC links. Note that the currently set account must
be updated actively, because the callback to create the message
comes from one of the NFC threads, which don't have permissions
to retrieve the account and the correspondig e-mail address.

Change-Id: I12e48a3787d469179e7ca074429106ed24e3a212
ctivity/NfcHandler.java
ctivity/UIControllerBase.java
1f02d123d27e88ae29621bd03b520f63dafcb516 26-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fix mailbox finding and unit tests."
cb1d65c47825dc7a45c7954cd93669296b35305e 26-Jul-2011 Ben Komalo <benkomalo@google.com> Fix mailbox finding and unit tests.

We seemed to not properly fallback to querying the database if the cache
did not contain a mailbox of a specific type. We may want to consider
caching mailboxes related to PIM data, but for now this is a quick fix.

Also fixes unit tests.

Bug: 5019661
Change-Id: Idcac0a6f15aa7f174890ae586f478fbb8f6e05b7
ontroller.java
79198b913f6cf0bc8ad391594d010bffeaa691e4 25-Jul-2011 Mindy Pereira <mindyp@google.com> chips: Use view instead of string.

This allows us to get the correctly styled more view.

Change-Id: Ifebea40eb2b0a27a5aba772c628cf95d22445e38
ecipientAdapter.java
50f4fbf2f6e698da105aa13fbf7ee827c76498ed 25-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Add in settings menu in Welcome."
74acf8d9de946f010bc3f2aa71ee2c35653996ec 25-Jul-2011 Ben Komalo <benkomalo@google.com> Add in settings menu in Welcome.

This will avoid cases where the user is permanently stuck, if we fail to
error out when a failed sync occurs or for any reason.

Bug: 5032763
Change-Id: Ib82a62add767d13dc844a90e5ea4147d3ada59dd
ctivity/Welcome.java
ec44a479409981cd740e35903f82cc8e8d772b06 25-Jul-2011 Mindy Pereira <mindyp@google.com> chips: the seperator methods are no longer needed.

Check this in after:
https://android-git.corp.google.com/g/#change,123745

Change-Id: I3228251debfd4a81cd2dc16f05636d64533f9c6d
ecipientAdapter.java
30183e536ea20a30550e5fbf04af75fb88f35178 23-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Always show from field in compose"
72a24f12a2a0a48528cf0f826397e2348fe8ace2 23-Jul-2011 Ben Komalo <benkomalo@google.com> Misc settings UX fixes.

Bug: 5068602
Change-Id: I02acf3690e98ce747ddb4d3a745ac2fa59948c70
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
2903be7f3e05b3d2f7d690db5f85d3a6c80ba522 23-Jul-2011 Ben Komalo <benkomalo@google.com> Always show from field in compose

This info used to be shown in the top right of the status bar in GB but
that is no longer there. So before this change there was no way to tell
who you were sending as.

Bug: 5069124
Change-Id: I10d687a5fd221e65ecfc71b61cccf306492e27b8
ctivity/MessageCompose.java
48a3a1c51c11e3a752d7178e5c12c6caec842526 22-Jul-2011 Ben Komalo <benkomalo@google.com> Ignore notifications for unloaded messages

Seems like POP envelopes could get into the database and tickle the
NotificationController even before we got the full subject/sender. Just
ignore those things until the basic info is loaded.

Bug: 5061271
Change-Id: Iadfbff8a1615d2644880f5cae3727768f4f9549a
otificationController.java
ccb70fcad9e75a2dd3f41a488dc2795e77bad17f 22-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fix notification issues."
23a4b15e08bfe57be3242790d1a92db8dd4b9980 22-Jul-2011 Ben Komalo <benkomalo@google.com> Fix notification issues.

- use title as ticker text
- also properly play notification sounds on new messages. Before, if you
left a notification unread, and a new message comes in, no sound would
be played. Since fixing that, it introduces another issue where on
initial sync, tons of new messages come in (and the sync could take > 1
min). We throttle them with a 15 second interval. The notification is
always updated to reflect the most up to date information, but sounds
will never be played closer than 15 seconds together.

Bug: 5020191
Bug: 5067059
Change-Id: I5ca474fd3b210ee856035bd78bd72931da80fe40
otificationController.java
a10d4a8e4532f879cf1ab3163ece2c41457d9e13 22-Jul-2011 Ben Komalo <benkomalo@google.com> Prevent crash when composing a message on tablets.

We were hiding the cc/bcc menu option, but on tablets that is a visible
button on the UI and not in the menu. whoops.

Bug: 5067057
Change-Id: I10ecaf115b589b9200529f6ea7703428456b8f0f
ctivity/MessageCompose.java
6a902861e91c7ccd3a74187a49e34477c2350e6d 22-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Don't touch the cursor in the background"
b30d635dd019db8d8b69621b888ea5e0a4164fe5 22-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Guard against null items in NotificationController"
a926c32aa202efa1b44618e2bdcd7019c412314b 22-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Improved shortcut name"
7496b5ba2b08db3a23e8205cd437474372a8dafc 22-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Display message when no quick respones available"
5fb6c5d4de550d083acd7977cd108579ef0445f4 22-Jul-2011 Ben Komalo <benkomalo@google.com> Don't touch the cursor in the background

This prevents accessing a potentially closed cursor when doing batch
operations that will inevitable cause the the list to be reloaded (and
cursor to be invalidated) as the first of the messages are
touched

Bug: 5051730
Change-Id: I90328ee02eafe6ad238d8c57e88a3d96259f6547
ctivity/MessageListFragment.java
4ca1ca862202100f89b7ce24509ab7e310bf7191 01-Jul-2011 Jorge Lugo <jlugo@google.com> Display message when no quick respones available

When editing quick responses, displays an appropriate
message letting users know that there are no quick responses.
Additionally, the MessageCompose activity will only show "insert quick
responses" when at least one exists.

Bug: 4948180
Change-Id: I1191bd54d6e64f990b6d6830f0837579d7a6918c
ctivity/MessageCompose.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
79fab5ae623ea75ba526e2673fe6749066b177e4 21-Jul-2011 Jorge Lugo <jlugo@google.com> Improved shortcut name

Shortcut name is now the name of folder when it's a non-inbox
folder; otherwise it's the account name. Previously was
always account name.

Bug: 4903490
Change-Id: I15b4024d28db6a48464e423db887bdca99132423
ctivity/ShortcutPicker.java
af5826cc7a25c26200af192207a14284e41f3b01 22-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Optimizations to startup."
80b817714f692ee22163dfcbc730bb09fdce8aed 22-Jul-2011 Ben Komalo <benkomalo@google.com> Optimizations to startup.

- don't inflate search views - inflate them on demand
- kill some unneeded containers

Bug: 4996847
Change-Id: I7747e194e7c0939ad6416f351096639b283f4899
ctivity/ActionBarController.java
ctivity/MessageListFragment.java
9867d8a160fc0705209e738bb7abb905f18f516b 21-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent touching closed cursor"
87d8ab4bb42c67a7a273c1ae76d94bf60cb3132a 21-Jul-2011 Ben Komalo <benkomalo@google.com> Prevent touching closed cursor

Bug: 4595568
Change-Id: Ic3087dc5f194aa879a3fea9d45fe77a1e285bde0
ctivity/MailboxFragmentAdapter.java
5479f061abed6998a358d5e421194b24d350f195 21-Jul-2011 Ben Komalo <benkomalo@google.com> Remove cc/bcc option from menu when used.

Bug: 5055403
Change-Id: I3a349ddf7b5b186bb6daccd7151b8b352cab0050
ctivity/MessageCompose.java
eb9dcfaf18fcc8c1bf0a51238fc6e13873e8334e 21-Jul-2011 Ben Komalo <benkomalo@google.com> Guard against null items in NotificationController

If the account is in the process of being deleted, large parts of its
data may be being removed in parallel with notification processing. We
never handled this very well.

Bug: 5058333
Change-Id: Ic588b68438a9c5829e7e3fd5c8d52e21a037b9f4
otificationController.java
9d0bb2e3a07144517e6449aa9fcdc6c79ea99be5 21-Jul-2011 Ben Komalo <benkomalo@google.com> Hide attachment size info if unknown.

Bug: 5011871
Change-Id: Ide56b79c036b16a66720228660f3eed76a9c9ba2
ctivity/MessageCompose.java
8d8814ed35bbb724fbcad02a9944e3655059e311 21-Jul-2011 Ben Komalo <benkomalo@google.com> Consider attachments for empty messages

Since we thought the message was empty, tapping on back doesn't save the
draft.

Bug: 5057044
Change-Id: I99d903430b0e0a40dc23eb805cf24961e9ca2301
ctivity/MessageCompose.java
3f0ac78eab12a0634a3eedd10c3b7c3230e39311 21-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Remove "Move" action on POP."
81a153463bd9d2e4f71a0985a102548b16a88ec0 20-Jul-2011 Ben Komalo <benkomalo@google.com> Remove "Move" action on POP.

Bug: 5010614
Change-Id: If0a94840e9dc104566ba39d2e3240883dab5bba0
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MoveMessageToDialog.java
7688300055a4ea84cd95768145f773d7c3259948 20-Jul-2011 Ben Komalo <benkomalo@google.com> Fix sync window settings for EAS setup on phones

- the container is the one that should be visible/gone - individual
fields should just be visible
- also do drive by javadoc fixes

Bug: 5052310
Change-Id: I45c4b6b7f94b2b62ac94eeff0ab97bf34c9e117a
rovider/AccountReconciler.java
ervice/MailService.java
6496562610bec202c605ec377a254344d520cdd3 20-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent search on POP"
5aa3d71209130bc3189440523d51dc4615446bbc 20-Jul-2011 Ben Komalo <benkomalo@google.com> Prevent search on POP

We were hiding the search icon from the actionbar but didn't take into
account the use of a hardware button.

Bug: 5051691
Change-Id: I2e0bfd1d0bb4faa3238e567c02189894db5f6c44
ctivity/UIControllerBase.java
1ecfb5311b0315edf86a450398a8712dbfd86772 20-Jul-2011 Ben Komalo <benkomalo@google.com> Remove illegal references to IsolatedContext

This fixes a crash on account deletion, leaving around bad accounts that
were in limbo
Also remove a test for an unsupported operation

Bug: 5051951
Change-Id: Ieebc7f769075614ae1a656cf123d8ce0313e611d
ontroller.java
e12c0522f84b4cd9080c85f5f53dd9d07ae57336 20-Jul-2011 Marc Blank <mblank@google.com> Merge "Remove NotificationService; use Account columns for data storage"
aca94265813e72e692eace527f43eb4c02b09c76 20-Jul-2011 Marc Blank <mblank@google.com> Remove NotificationService; use Account columns for data storage

Bug: 5023662
Change-Id: I84df3b474dd6320327851003af985144cc16348e
mail.java
otificationController.java
rovider/EmailProvider.java
ervice/NotificationService.java
c01ce156e8447ba707f802b01a7625375ff8b230 20-Jul-2011 Ben Komalo <benkomalo@google.com> Minor change to keep same account if possible.

On second thought, it's probably best to stick with the same account if
I can't find a particular folder. This at least is less jarring if the
user has multiple accounts.

Change-Id: Ifd5d631b220e260399681008ac17203f5451c8ff
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
1ef8ec61c9e4d717c6d4dff6136f85f84c387856 20-Jul-2011 Ben Komalo <benkomalo@google.com> Misc STOPSHIP cleanups.

Apply the same logic to mailboxnotfound for two pane.
also remove some obsolete callbacks.

Change-Id: I942c2b557fce2601a0e46878cfe4d5ce2cc83850
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
0413edd6261f3879894840ff017c3c933ddb586d 20-Jul-2011 Ben Komalo <benkomalo@google.com> Remove STOPSHIP

- ensure that the commitAllowingStateLoss is actually not dangerous - we
only had one case I could see where we were actually doing a transaction
from a loader callback and I fixed that just now to not do any
transactions.

Change-Id: I21e11138f70eb2ce953a5ba54119ca46555f465d
ctivity/UIControllerOnePane.java
6edddbf714dd83bcc2bcc4560293caa31091cd45 20-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Misc attachment code cleanups"
dfff72f731fe0704cc0b6f17e086edd72219e7ca 20-Jul-2011 Ben Komalo <benkomalo@google.com> Misc attachment code cleanups

Change-Id: I612b3ed1280d4d057834d3d3e67c8ac17c2bafb6
ctivity/MessageViewFragmentBase.java
c6df1d605fb3e235df6d4a21ae00632c9d6e3cc2 19-Jul-2011 Marc Blank <mblank@google.com> Prevent NPE's in AccountSecurity

* This CL fixes the referenced bug, but it does NOT explain how
mAccount; best guess is that the process was killed and then
restarted when the result from DPM was available.
* Assuming this is the case, we remove the background task loading
mAccount, avoiding a possible race.
* Also, it's not clear why clearNotifications didn't use the
account id argument; what if there's more than one account that
uses security? Filing a bug about this.

Bug: 5048912
Change-Id: I734834337ab6e409d77624e7c7370350de76becb
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
d1f03736e60340e6792c05ffa3ff085735b49e2c 19-Jul-2011 Marc Blank <mblank@google.com> Merge "Clean up account reconciliation"
4e4aba9ebc43c6a83190f3a883fa05bb7d5100b3 19-Jul-2011 Marc Blank <mblank@google.com> Clean up account reconciliation

* Move AccountReconciler to the Email app (from EmailCommon)
* Ensure that Controller.deleteAccountSync() performs ALL actions
needed to clean up after an account deletion (delete attachment
files, reset policies, refresh the UI, etc.)
* Add reconcileAccounts() API to AccountService
* Remove accountDeleted() and restoreAccountsIfNeede() from the
AccountService API
* Remove unused callback

Bug: 4883073
Bug: 4767084

Change-Id: I43ffaf009db1a6f306bb0f2a74fb4dd3b2c4b966
ontroller.java
ontrollerResultUiThreadWrapper.java
rovider/AccountReconciler.java
ervice/AccountService.java
ervice/MailService.java
5ce13dba1f85c515247078f36f8d250b22024c33 19-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Preference panel screen titles don't change on rotate"
18811dfb457eff8ba8b5436bd2641a4215480cdf 19-Jul-2011 Ben Komalo <benkomalo@google.com> Add touch slop to message list items

Bug: 5016987
Change-Id: Iddeb9a7bc244d3215a418f0897778b9ddcb3e955
ctivity/MessageListItem.java
776997e62ec1a20d741e78d8e646b6fc38901f4c 19-Jul-2011 Ben Komalo <benkomalo@google.com> Update message compose to phone spec

- move cc/attachment to overflow menu
- misc layout fixes

Bug: 5011868
Change-Id: If17a36c9e7f13115828a957163af5969b6f8f93e
ctivity/MessageCompose.java
ae594dc0ca4748a97ee8ae05c5f5c828121934e8 16-Jul-2011 Jorge Lugo <jlugo@google.com> Preference panel screen titles don't change on rotate

Incoming settings, outgoing settings, exchange settings, and
edit quick response preference panel titles no longer
change to "Account settings" when screen is rotate.

Bug: 5011355
Change-Id: Ibaf68bc836a61777de929623bff2bf2dd4ae0c3b
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
ecf8672df290ca996a5126532b72f8f22920c277 18-Jul-2011 Marc Blank <mblank@google.com> Merge "Fix NPE in onStartCommand"
b31b798b4675a632c837415a89597589c3aa0074 18-Jul-2011 Marc Blank <mblank@google.com> Merge "Don't allow actions on empty sets"
b8f672465a87362ccc6d8db2a94773a695cdac7d 18-Jul-2011 Marc Blank <mblank@google.com> Merge "Remove unnecessary EmailAsyncTask"
90a48115517c49a954eaa1b79b72a23b4486107a 18-Jul-2011 Marc Blank <mblank@google.com> Fix NPE in onStartCommand

Bug: 5041436
Change-Id: Ib7462e5c8cb040b7526d9a655c5ab3f41cd159b8
ervice/AttachmentDownloadService.java
21cbdd88e1c285044773f10d9784c1718ce4d584 18-Jul-2011 Marc Blank <mblank@google.com> Merge "Start/stop AttachmentDownloadService as needed"
b2a8c2ce4c617d59cb4876951cb952fc97e8382b 15-Jul-2011 Marc Blank <mblank@google.com> Start/stop AttachmentDownloadService as needed

Bug: 5033646
Change-Id: Ic0e75b28d0d8d5665c3f3ca864a9532fee05df8c
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
e71a19a52313a0fb615700e52a336b65f3c305da 15-Jul-2011 Ben Komalo <benkomalo@google.com> Build default mailboxes for POP3

Bug: 4580535
Change-Id: Ic800eed387d3e9e64e95cce691d13d98b4a48045
ontroller.java
ail/store/Pop3Store.java
2126caf0765e0fe078a356ac8ad96b741d65d715 18-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fix NPE in MailboxListFragment"
48f4df09115d8dfbdd459df130dd6328c6b6c1ae 18-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fixup settings entry points."
3c4061ae61fd2ea713d94e9fd1233b961b57ad84 18-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Filter out inbox from recent mailboxes"
1d0609d386cbaeb986cd14bbd849940052dba39b 18-Jul-2011 Marc Blank <mblank@google.com> Don't allow actions on empty sets

* Not sure how this could have happened, except possibly for some
race condition
* Let's make sure it's impossible

Bug: 5032454
Change-Id: Ibd4de22dc5298fbaaf224cf4286f63bdc50aa7b9
ctivity/MessageListFragment.java
9f05f72ab3c92fd539dc6353a8fa1e59f5f09e4a 18-Jul-2011 Ben Komalo <benkomalo@google.com> Fixup settings entry points.

- include settings in menu in message view
- remove "show all mailboxes" from message view
- rename "Account Settings" to "Settings"

Bug: 5039294
Change-Id: Ic2dcbe8fe6e2bd10cc5d790a74c49a7159b59cab
ctivity/EmailActivity.java
ctivity/UIControllerOnePane.java
2be03be9b39a328b81d3e79af932a6f142b28ddf 18-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Remove temp code that was causing an NPE"
64a6a1f488e49397c969baa181c398973a1f7283 18-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Show proper quick contact mode."
6b4a20730f104df284c1b0226b53565a7f3db3da 18-Jul-2011 Ben Komalo <benkomalo@google.com> Show proper quick contact mode.

- doesn't repeat the name
- shows status and right icons instead

Bug: 5039507
Change-Id: Id86d84a8ed54032f283454c83212ae962e8fc179
ctivity/MessageViewFragmentBase.java
0932da35f5696f99cbba9abf8d98818576b784fb 18-Jul-2011 Ben Komalo <benkomalo@google.com> Filter out inbox from recent mailboxes

Bug: 5039553
Change-Id: I9b58e9331028250f9bc3027429d2a6ec418186d6
ctivity/RecentMailboxManager.java
afbba1bcbb63559e8c6a3090494c7830311021e3 18-Jul-2011 Ben Komalo <benkomalo@google.com> Fix NPE in MailboxListFragment

Bug: 5037646
Change-Id: I74420d68398446f602ebe858760d9aaf5f88c107
ctivity/MailboxFragmentAdapter.java
3793ec24632dca2815723a12af96342e2dd99fe4 18-Jul-2011 Marc Blank <mblank@google.com> Merge "Handle message sets in a single EmailAsyncTask"
e2d28a06077ac0c394f1989b97a9f8d0019daa01 18-Jul-2011 Marc Blank <mblank@google.com> Clear "security needed" notification when releasing holds

* This fixes the issues with erroneous notifications remaining
active

Bug: 5039388
Change-Id: Ib1cd506e732e34f6368036a131d79270b22d4a4b
ctivity/setup/AccountSecurity.java
14ea7d7bbce6397b34e205c1ed14b26c91083de7 18-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fix possible NPE for messages with no subjects"
f29221efc921b91ffbe89a790277d4ef56389749 17-Jul-2011 Marc Blank <mblank@google.com> Remove unnecessary EmailAsyncTask

Change-Id: Ifb13f2f57016191f7ef409aa656bf9cb840f42c9
ctivity/EmailActivity.java
b81a31b29b22b1b11e8ad636638d2b8213e9f199 17-Jul-2011 Marc Blank <mblank@google.com> Handle message sets in a single EmailAsyncTask

* This prevents the possibility of RejectedExecutionException when
selecting large numbers of items

Change-Id: I8f9ba287d69021fdb99b4a8a30cc79755f669b97
ontroller.java
ctivity/MessageListFragment.java
7f876c0375fd65d8796a96f137481a4c28593617 16-Jul-2011 Ben Komalo <benkomalo@google.com> Fix possible NPE for messages with no subjects

Bug: 5038097
Change-Id: I0952158017c0d512998f423ecd38722a5b6b8afc
ctivity/MessageListItem.java
eb642812bf5a6baf42a0f8c022e44115d565ee84 16-Jul-2011 Marc Blank <mblank@google.com> Merge "Clear account incomplete flag properly; handle unusual flow"
2845d72af03b26804fb305202646a9ede234e38e 16-Jul-2011 Ben Komalo <benkomalo@google.com> Remove temp code that was causing an NPE

- since listContext can be null, this code was not safe.
we also filter out the search mailbox too, so it's no longer needed.
- don't ask to highlight a mailbox if doing a search
- remove a call in MailboxListFragment that was unconditionally telling
callbacks that something was selected when we started loading - this was
technically lying and if the item isn't in the list that was selected,
nothing should be called (as in the case of search). This was just an
optimization anyways and that callback is invoked later when the mailbox
list load completes.

Bug: 5037629
Change-Id: Id31c6795af9e64fa8682b67de9ab90540ee660df
ctivity/MailboxListFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerTwoPane.java
0796b8aa61d6782a425e68cd77763ea1e701e592 15-Jul-2011 Ben Komalo <benkomalo@google.com> Don't save empty drafts.

Note: all unicode sending unit tests are broken due to chip issues. I've
filed a separate bug on that.

Bug: 5012204
Change-Id: I17392f65e5bd8349780b79d9cbe10492d8e7a7d9
ctivity/MessageCompose.java
8df9af0df3ea8d987b06364f388cd5de57c7bea9 15-Jul-2011 Marc Blank <mblank@google.com> Clear account incomplete flag properly; handle unusual flow

* We waited to clear the incomplete flag until security was agreed
to, but this can lead to accounts left incomplete; we now clear
the flag as soon as the AccountManager account is created (by
convention, this is when the EmailProvider account is complete)
* Also, allow onDone() to be called more than once with a saved
account, leaving cleanly, rather than throwing a runtime
exception

Bug: 5016792
Change-Id: Ib5fc44ac045a1dd9bd5d63f922c037ed637d5341
ctivity/setup/AccountSetupOptions.java
1086830bae3d16026136fc40e926eb26e47e449e 16-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Improve accessibility for stars and settings"
fad737803113c13a32aca0346b54da0790ce49d9 16-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Don't save empty quick responses; show keyboard on phone"
cbfbe1db2d9cae835ae1cf64f92057998c574c66 15-Jul-2011 Ben Komalo <benkomalo@google.com> Toggle selection on list item on long press

Bug: 5020642
Change-Id: I31498122a4fe41cc81e5dbad5550a5e6620924c4
ctivity/MessageListFragment.java
8e779e627a2185320ab168fdce09477a73bf5f22 23-Jun-2011 Jorge Lugo <jlugo@google.com> Accessibility improvements

TalkBack functions properly with MessageList items, as well as
"reply," "reply-all," and "forward" buttons while viewing messages.
It is now also possible to switch accounts using only a dpad
or trackball. Finally, EditText fields in account setup also work
with TalkBack now.

Checkmarks don't work with Talkback, but this I have confirmed and
reported it as frameworks bug.

Change-Id: I7f72682a517eef4fa122241c675026fe7997ac64
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
5e52339306c80b0b78f9869d752e14ee9269556b 15-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Update message header actions for phones."
91f1d451a661a2806d943dd33ecc46c8a376cbcd 15-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Put "show all folders" in action bar"
1917bcbc17b8fd262fb8e78d8906359d5b3cf8b9 15-Jul-2011 Ben Komalo <benkomalo@google.com> Put "show all folders" in action bar

Change-Id: I4af74342b3b1eae3a94ebf6616280ebf47d14e5f
ctivity/UIControllerOnePane.java
08f068c9cef4370c8ca6e21d5e7d3aaca1f22f25 15-Jul-2011 Ben Komalo <benkomalo@google.com> Update message header actions for phones.

- This creates a "more" icon in portrait and shows all three actions
(reply/replyall/forward) in landscape.
- also makes the star visible by default (hiding it in EML view)

Change-Id: Iefff7c0717cfda4dc91218b0d490775294c96103
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
68ce7f3d6000a104f8e81d8ae92f85911453cb01 15-Jul-2011 Marc Blank <mblank@google.com> Merge "Send proper parameter to startSync (via EmailService)"
7920f5809cdd21744ce628c9520539bd6b1d91e9 14-Jul-2011 Jorge Lugo <jlugo@google.com> Don't save empty quick responses; show keyboard on phone

While creating or editing a quick response, disables the save
button when the edit text is empty. Also, now shows the keyboard
on the phone as soon as the dialog box pops up to edit/create
a quick response.

Bug: 5011277
Change-Id: I9926d07cae0e527a7c08a4cc556a9569a91d2f33
ctivity/setup/EditQuickResponseDialog.java
b507ece493d109be14948bf995ac46ad3f5edcdf 14-Jul-2011 Ben Komalo <benkomalo@google.com> Remove stale STOPSHIPs

Change-Id: I2364e1dbf25b9df20ef9fa9014e19cbbab278a3b
ctivity/UIControllerTwoPane.java
83b0f4434c85a88bd5c28214b652bc5fbac5dae2 14-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fixup recent mailboxes."
d6ad9b8c0315e7718d1713cec1a81b5a82d768ac 14-Jul-2011 Ben Komalo <benkomalo@google.com> Fixup recent mailboxes.

The default recent list should be pre-populated and fall off the list as
normal. The previous implementation showed a default list if there were
no touched mailboxes, but then the default list disappeared as soon as
there was one touched.

Bug: 5020673
Change-Id: Ifad607a9d36feff837ab42d039ce9209f223f345
ctivity/MessageViewFragmentBase.java
ctivity/RecentMailboxManager.java
7667632eb24653ef208261651298996f5fdf6911 08-Jul-2011 Jorge Lugo <jlugo@google.com> Improve accessibility for stars and settings

Adding and removing a star triggers the appropriate accessibility
In incoming/outgoing settings, added EditText contentDescriptions.

Change-Id: Ibab461f1425b3ebf3579ebc1d0b36d1a9a5efdb2
ctivity/MessageViewFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
21913ced328b341cc11de7e49eb07433bb460b4c 14-Jul-2011 Marc Blank <mblank@google.com> Send proper parameter to startSync (via EmailService)

Bug: 5014063
Change-Id: If236a02e92adef06f2a9ca3779d08778915ed6e9
ctivity/UIControllerTwoPane.java
b9d835a2bbbc6612c5b640b089f094ab665367a8 14-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Don't display warning message on edit incoming settings"
cf194df05c31045ec734ace84ce2b739639bf12e 24-Jun-2011 Jorge Lugo <jlugo@google.com> Don't display warning message on edit incoming settings

On phones, opening "incoming settings" no longer immediately displays
the warning message associated with editing the username field. It now
only displays when the username is focused by the user.

Bug: 4282856
Change-Id: Ic0a74fa91a0f9cff66565372872e182a0eaec779
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
53dddf3c5522e03117a3fdd7820bc0d1f7fe1634 14-Jul-2011 Marc Blank <mblank@google.com> Fix loss of client updates in IMAP when no connectivity

Bug: 5014965
Change-Id: Id5c6696ea1add598f180e739398ab14f60e382a3
ail/store/ImapFolder.java
f8dbd95695648c758ccb84235a2fab74ed80b56a 14-Jul-2011 Jorge Lugo <jlugo@google.com> Don't show To/Cc/Bcc hint text on tablet

Since tablet already has to/cc/bcc labels, don't show the hint
text -- only do so when labels don't exist.

Bug: 5019806
Change-Id: I039de06e2576688e654fb0504a027cd9b9b67def
ctivity/MessageCompose.java
abec4e631ce7de385a707538d2797f4ea8790eff 14-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Prevent account flip flopping from compose"
47e854868274d2a6f1bc08699957a70126c6f75f 14-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Remove dead code"
4de538be2d17545fb63e781412b8565f0d0d97d4 13-Jul-2011 Ben Komalo <benkomalo@google.com> Prevent account flip flopping from compose

There were two issues:
- the default account ID from the provider wasn't consistent: it was
using a snapshot from the cached data but that simply returns a Map, and
the values aren't guaranteed to be sorted (and indeed I saw that the
order was different on consecutive calls!)
- hitting app up from Compose always just kicked you out to the inbox
for the default account, but it probably should have used the account of
the compose screen, since it can be specified in the Intent

Bug: 5012008
Change-Id: Ic9a753b261e047790453bc1a9417bc0c6d2f87f9
ctivity/MessageCompose.java
rovider/EmailProvider.java
2a33dde4d16f0468890a4852f5e4017a973a2342 13-Jul-2011 Marc Blank <mblank@google.com> Delete PIM data, etc. on device admin disable

* We were deleting secured accounts when device admin is disabled,
but we were not deleting associated data, which means that
contacts, calendar, and attachment data were left on device

Bug: 5021062
Change-Id: Iabeec2dcd6ef4f52dc52e43d62803e61f7881c0d
ontroller.java
3cfb3d50774eaaca9759b671ef6c963e5023c155 13-Jul-2011 Ben Komalo <benkomalo@google.com> Remove dead code

Change-Id: I66bec3975b3f028081071b9bbd26206ec369da26
ata/NoAutoRequeryCursorLoader.java
ail/NoSuchProviderException.java
4c0e5c0d0a74b1bf2712ec4a75cabd76c0ea0059 13-Jul-2011 Marc Blank <mblank@google.com> Remove unneeded (and harmful) test in MessagesAdapter

* This fixes the case in which messages are being loaded upon
initial sync, but do NOT appear in the message list (at least
until leaving and re-entering the app/mailbox)
* The problem was that MessagesAdapter was checking the state
of the HOLDS_MAIL flag, which might not have been set at the
time the Inbox was created; it turns out that the check is
not necessary, so we remove it here

Bug: 5008696
Change-Id: I009ddf7d82d938758b99c855dfd0271596c5248a
ctivity/MessagesAdapter.java
6fc054daa6061041022d6bb50a8160d3f7f17d74 12-Jul-2011 Marc Blank <mblank@google.com> Merge "Add support for TrafficStats; use with IMAP/POP3"
4e32489c5532d746aac591b96d2c0c8336f718d8 12-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Support SMTP servers not requiring auth"
190b2fb8a1be1d72475e2a60d0f00422712ee094 07-Jul-2011 Marc Blank <mblank@google.com> Add support for TrafficStats; use with IMAP/POP3

* All IMAP/POP3 functionality uses TrafficStats except for
attachment loading (subsequenc CL)

Bug: 4988322

Change-Id: I91d826e0f7151a2101b642c868ab8c37e9660332
essagingController.java
b4983afcec6460fbdb4b0817a8888268797bb079 12-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Reflect changes in chips library"
c456c257aac9ac48c92633f0654fb05ca47dd86f 11-Jul-2011 Ben Komalo <benkomalo@google.com> Fix missing imports from bad eclipse settings

Change-Id: Iebc2faa4cb8b125a5ee8071119daa771c66b54b2
ctivity/MessageCompose.java
9753d2fde1b549ba109a198b6c768280833cd6d0 10-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Reflect changes in chips library

Must be with Iad5b8444f4b1949666d93ad43a34de057aba560e

Bug: 4996797
Change-Id: I5f83103628c14dd5079515c46c42a6f43d4f194c
ecipientAdapter.java
7a29fb97b1aa031fab8d71933edf01881dd589df 11-Jul-2011 Ben Komalo <benkomalo@google.com> Misc compose bug fixes.

- empty subjects should still be prepended with "Re:" and "Fwd:" when
replied/forwarded
- the compose body was being vertically centered

Bug: 5008785
Change-Id: I28e4fac8457c4fd18c764daa35d9deea1646474b
ctivity/MessageCompose.java
b03d8088f690e3afa4a32207bf6d758b2bb2dc44 11-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Filter out Search mailbox from recents."
cf7cd933dba6845b365c4bed28ae53580fefbef0 11-Jul-2011 Ben Komalo <benkomalo@google.com> Filter out Search mailbox from recents.

Bug: 5015109
Change-Id: I4e4982bbedc388529eb2f3a9c06ecac47a0a85f0
ctivity/RecentMailboxManager.java
e05f511a4ea9ae28841b385987531d8be1d2d87f 11-Jul-2011 Ben Komalo <benkomalo@google.com> Add entry in settings to clear trusted senders

Bug: 5011682
Change-Id: I09a557e4bb0ce3e17f796bcc5693e405f23e8c7e
references.java
ctivity/setup/GeneralPreferences.java
396a425d799334c0242ba2d29e4b5715e0360f7e 11-Jul-2011 Ben Komalo <benkomalo@google.com> Make search icon appear again.

The CL I just checked in to reduce the invalidateOptionsMenu calls
removes the search icon because it expects the message list to be ready.
Instead of just invalidating the menu a bunch more, just make it so that
the icon is always shown, but we can't actually search if the message
list isn't ready. The time between the icon being shown and the list
being ready should be miniscule.

Change-Id: I5dfe9363cc904833253cf1fceeeb2af2ec389217
ctivity/UIControllerBase.java
490708b0796a1942afe967d6f32f5e6db8824c81 11-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent wasteful calls to invalidateOptionsMenu"
b0a14e4f1adf96b72e68370b6f3146306167e0a5 11-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "SmtpSender: Send EHLO that adheres to RFC2821"
025d29fd4b9dd8351fe2e0428a585cf327ddaca4 11-Jul-2011 Ben Komalo <benkomalo@google.com> Fix some missed account setup flags.

There were two places where account flags were being set on setup: one
was in manual setup when the user selected the account type
(pop/imap/eas), and another was when it was automatically determined
from XML. The two paths were inconsistent and one was setting bits like
SUPPORTS_SEARCH but the other wasn't.

This fixes being able to search in IMAP

Bug: 5011932
Change-Id: I50eada7485aaef4e2a85d25fa7eb9ac7ab03093a
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
6f31573f00d85bb1d24536c917d72ed80156fd6c 11-Jul-2011 Ben Komalo <benkomalo@google.com> Support SMTP servers not requiring auth

We were unconditionally setting auth credentials even if the checkbox to
require credentials was unchecked. This prevented setup for certain
outgoing servers

Bug: 4291105
Change-Id: I27f94f02b85b097d2c6dbb896254367e8a15415b
ctivity/setup/AccountSetupOutgoingFragment.java
cac58e590c418159fe4c0f5e5a48d3b3ef0b72eb 10-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fix notification Intent."
e9188307f27eb0b088ad1d3e4cd0eb0d4b514b39 10-Jul-2011 Ben Komalo <benkomalo@google.com> Fix notification Intent.

This changes it so that the message list is shown if there are multiple
unseen messages.

Bug: 5011855
Change-Id: I14cbcfaa32cc5e2b4cb718449c62b8f39b290d4d
otificationController.java
7dd70efb5c9c25b5f7ecb166924a1fbe0a0277d9 10-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Per-mailbox settings"
1ddc2ca4a7e59189099d273bd1d364838dd7ce35 02-Jul-2011 Makoto Onuki <omakoto@google.com> Per-mailbox settings

- Use PreferenceActivity, in the old style, meaning without PreferenceFragment.
- If setting Inbox, change the account settings instead of mailbox settings.
- Use the DialogWhenLarge theme, meaning it's a full-screen avitity on the
phone and a dialog on the tablet.
- Also fixed the bug that we the menu items that are made invisible by
UIControllerBase may be made re-visible by the 1-pane controller.

TODO The menu item shouldn't be shown for non-syncable mailboxes.

Change-Id: I02b2faf6f593e1e2eb370217c27801aa58ca7e6c
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/setup/MailboxSettings.java
986a0d91dad246b6c9273bef1641538133abee98 10-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Fix bug 4982804 / nested fragment transaction"
2ac164f609faea134b8fa1d6c0ebc90ccda91166 01-Jul-2011 Makoto Onuki <omakoto@google.com> Fix bug 4982804 / nested fragment transaction

Post MessageOrderManager callbacks instead of calling them directly
to break the loop.

Change-Id: I033121f7bdbadf6edd7a0fab87b960b737da820e
ctivity/MessageOrderManager.java
3db100da4606f51703421647368508124b13d28b 10-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Make nested folders selectable again"
a3ce177fa42bad62d4082f469b72b90b0aab037f 09-Jul-2011 Makoto Onuki <omakoto@google.com> Make nested folders selectable again

Bug 5009065

Change-Id: I58bcb748848592414ec2334951e57693ac24cd39
ctivity/MailboxFragmentAdapter.java
46cdd47e83cdeeda83d885f127662209a5ea7267 07-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Use the proper server ID for the message."
9ec3bcb3b61c28430974edb80dbb50032a9ee136 07-Jul-2011 Ben Komalo <benkomalo@google.com> Use the proper server ID for the message.

This was accidentally using the server ID of the folder when being
fetched.

Bug: 5002236
Change-Id: Id0df5fb1d18afd8e0cd05157e8033f08dcf084fe
essagingController.java
50a092c3d6155fcd704990450640cf159072b1a2 24-Jun-2011 Marc Blank <mblank@google.com> Add IMAP support for the "replied" state in messages

* Handle replied in new messages and updates
* Code added for upsyncing replied state, but the CL for
setting this state isn't yet submitted

Change-Id: I6f3ff56475d70f686f96ed6a84fae3468f42b1c8
ontroller.java
egacyConversions.java
essagingController.java
ail/store/ImapFolder.java
7891106a7d6b4c406792a8a9144e5148e6bf5ddb 06-Jul-2011 Ben Komalo <benkomalo@google.com> Write reply/forward flags on Controller.sendMessage

- also fix some mixups with the actual icon states

Bug: 4947145
Change-Id: Iec1bbfc46ac956a6bf050e4fb162b94ea3c6b316
ontroller.java
ctivity/MessageCompose.java
ctivity/MessageListItem.java
33d6307d4b6bc085308763207470c5f82eaf372c 05-Jul-2011 Ben Komalo <benkomalo@google.com> Prevent wasteful calls to invalidateOptionsMenu

The app is spending a lot of time in startup inflating XML. I suspect a
lot of it is due to the refreshActionBar() calls.

On a normal startup with NO refresh, the action bar was rebuilt 6 times.
If a refresh happens, the refresh callbacks get called in rapid
succession (20+ successive calls is not uncommon), which seemed really
wasteful.

Change-Id: I05feb56ba7fafb109d820328f591526945ca0a5f
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
d8ab562d0dd44660e2e2404d00db756748dba6d8 05-Jul-2011 Ben Komalo <benkomalo@google.com> Reduce startup time via Welcome.

In the common case, we don't need the "waiting for sync..." message, so
avoid inflation in those cases and just inflate on demand.

Also do a quick drive-by fix for the error message being pushed in way
too much on phones

Change-Id: Ie7a8472194659a52069d1ee21e0a0cb9b6fc91ba
ctivity/Welcome.java
ea11bfd6fcc73cffc1f2ef314133513e5291e6db 23-Jun-2011 Jon Starling <jstarling@star.net.uk> SmtpSender: Send EHLO that adheres to RFC2821

Adhere to RFC2821 Sec. 4.1.3 Address Literals should be enclosed by brackets and
prefixed with 'IPv6:' if the sender is an IPv6 host

Original author: Jon Starling

Bug: 4207470
Change-Id: Id327930001188186713e38d1ce8ecc1dad8cfbc0
ail/transport/SmtpSender.java
e76962b1b9c66ecc3fd49cd4c956f234365bfe5c 01-Jul-2011 Ben Komalo <benkomalo@google.com> Revert "Enable SD card encryption policy when emulated"

This is a manual cherry-pick of c379ebe3722b5d21201246a714eeea99d8679b96
This reverts commit 7fd14be80447de15bd5360321fa80e34f60fa251

The introduction of proper SD cards breaks the invariant that "external"
storage can be encrypted. Unfortunately, this means that accounts with
that policy bit set will have to be removed for now.

Accounts with the security policy set will be forced to go through
security provisioning on the next sync, using the regular mechanisms of
showing a notification with "Security update required", and then having
it fail. :(

Bug: 4466311
Change-Id: I68119b14f8d198779c2073296e228bc6772136ee
ecurityPolicy.java
0268581de23dea476b55d212a6f42676e6aab37e 05-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Be explicit about disabling drag n drop in search"
96e084e67a38cba86f592d733525de659f96dd78 02-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Work around for bug 4674712"
1b4b6cf560a5ce9968a103b7c25cb402cdb7d396 02-Jul-2011 Ben Komalo <benkomalo@google.com> Be explicit about disabling drag n drop in search

It was accidentally happening because search doesn't show the mailbox
list, but explicit > implicit.

Change-Id: Ifb8354dbb366f4c8328bef31d4e251166ae6876a
ctivity/ThreePaneLayout.java
ctivity/UIControllerTwoPane.java
ec9e903ce236a6afbd9bd329371b3d23c9ac22f2 02-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Fix some stale TODO's"
fdd99f5486d15d4cf5bd634ed81559d0181facc6 02-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Remove some stale stopships and TODO's"
8b72c7eb8defbf32fde6f650dc855bdf06e801a2 02-Jul-2011 Makoto Onuki <omakoto@google.com> Work around for bug 4674712

Seems like we're getting onItemClick() on header rows, which are
supposed to be disabled.

Change-Id: I03b108c508f46368cc420049eed67438af7a7735
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
130bf263da5b69ccc6f6054cc02a833d9993a7e8 02-Jul-2011 Ben Komalo <benkomalo@google.com> Remove some stale stopships and TODO's

Change-Id: I3221b3c35c5ffb464756f9de288bf36f560cf8fb
ctivity/MailboxFragmentAdapter.java
ctivity/MessageCompose.java
4abf58237ac3b812df318f1d79ab41bcfb57c80a 02-Jul-2011 Ben Komalo <benkomalo@google.com> Fix some stale TODO's

- also bail search mode if we can't find an account. it probably doesn't
matter _that_ much since the UIController will also bail, but just in
case...

Change-Id: I0b601186362e048de83b53617e529bbada1e8db5
ctivity/ActionBarController.java
7d243000d4f9241e7c3428d7f3eef9096697505f 02-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Added "replied to" and "forwarded" icons in message list"
e2f6f18396f27d2fee1149d6a3896721297bf7f3 25-Jun-2011 Jorge Lugo <jlugo@google.com> Added "replied to" and "forwarded" icons in message list

When a message has been replied to or forwarded by the user in
Exchange or IMAP, it now displays the appropriate symbol in the
message list view. (Right now it's just a test image based on the
reply/forward/replyall images until the assets come in.)

Bug: 4313491
Change-Id: I525e55179d62b6ab08df37cb9bfe9fdd9fefb908
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ctivity/MessagesAdapter.java
6a712721b1fd80123029c0037961cd31b0a0cf11 01-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Fix all NoSuchMethodErrors"
745b33b8ff55e9a9c4871f07f9d97db893f784b2 01-Jul-2011 Makoto Onuki <omakoto@google.com> Fix all NoSuchMethodErrors

Change-Id: I05adf2b99c819d6aa2d3b52c52a8c655d9307337
ctivity/AccountSelectorAdapter.java
ail/store/ImapFolder.java
ail/store/Pop3Store.java
7107d8e821b73504c0610647a3ee4ae7a501ad28 01-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Use parallel executor"
bc2eaadde987044027b57d241e635de014bdb8ba 01-Jul-2011 Makoto Onuki <omakoto@google.com> Use parallel executor

We should eventually replace all with EmailAsyncTask, but it's the safest thing
we can do now to avoid regression.

Change-Id: I78bfc4fb2be1dcfadeb7f90092ec7adb35c1d393
efreshManager.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupNames.java
1600adab970cdf4e5a9418417bb93b0b06e30926 01-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Fix bug 4978035 Precondition failure: Not combined mailbox"
a6212c88e0fb5906cb4065c775c1f4c0b83b7ca4 30-Jun-2011 Makoto Onuki <omakoto@google.com> Fix bug 4978035 Precondition failure: Not combined mailbox

Also added test.

(For some reason the message count doesn't get set properly on tests...
I'll investigate it when I get around to it...)

Change-Id: I83f3b6f2079da06b2d4973419d2296e6492de1d3
olderProperties.java
ctivity/AccountSelectorAdapter.java
ctivity/MailboxFragmentAdapter.java
45bfb104643de6a1bdb4767432f174f71a1ff38f 01-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Fix bug 4901592 Do not drill-in to inbox by default"
983fd116b133dcfb5888f4f00975c7e1dc05f7df 01-Jul-2011 Marc Blank <mblank@google.com> Merge "Delete orphaned mailboxes/messages/policies at provider startup"
2bdf7ee0f0f4a2b11b5f7c0f8b193080600fefd8 01-Jul-2011 Marc Blank <mblank@google.com> Delete orphaned mailboxes/messages/policies at provider startup

Bug: 4972132

Change-Id: Icc756a9e28b77de052261903089b040d229e7b5d
rovider/EmailProvider.java
c01db92acf0b6bb8b5b3fc09aa3d329a91990049 01-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Widget logo opens up mailbox"
9630e31bac9232528ab9a25d7fcc96fda647f165 01-Jul-2011 Makoto Onuki <omakoto@google.com> Fix bug 4901592 Do not drill-in to inbox by default

If the initial mailbox has child mailboxes, we should show the drilled-in
view by default, EXCEPT if the initial mailbox is inbox, in which case
we want to show the root view.

(And we drill-in if the user taps Inbox.)

Bug 4901592

Change-Id: Idc1462030cf8d971dd4dcbba647ac3a64cab6819
ctivity/MailboxListFragment.java
6fc2585327025d4e1ef7a488a7a075284c71773d 01-Jul-2011 Ben Komalo <benkomalo@google.com> Fix account settings crash.

The check settings fragment could potentially take a while to finish,
and may finish after the activity has shut down. Ensure that the
callbacks don't go through if that happens (usually means the user
backed out before it finished)
Bug: 4689161

Change-Id: Ie8e052f03a8f8f2884c0fe1e334a91c02444f96c
ctivity/setup/AccountServerBaseFragment.java
1f59271769e372c509d87e3a3adb47be196fb6f6 24-Jun-2011 Jorge Lugo <jlugo@google.com> Widget logo opens up mailbox

Pressing the email widget's logo will open up the account's inbox.
Also, composing a new email open the compose window for that
account instead of an arbitrary account as before.

Bug: 3366819
Change-Id: I03c0d6973f5428b2044e755f41fcc6f4da225afa
idget/EmailWidget.java
09e7fffb2ae97d8707cdb7f1ad1911bbb224fc2c 30-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Fix b/4905749 using workaround"
85cfc9c0bdaea35177db2440c00aa41029db95c8 30-Jun-2011 Ben Komalo <benkomalo@google.com> Fix b/4905749 using workaround

We suspect the underlying bug is b/4981556 but it is a framework issue
which needs time to fix. Some fragment state is not restored properly
when going through orientation change, so navigation shortly after that
will always crash.

Change-Id: Id6b8714c2aeac5f6bf09e82aea5459bb19d0054d
ctivity/UIControllerBase.java
3aa7fd74f8233c5d9f3a03238908b903fd7c5f21 30-Jun-2011 Makoto Onuki <omakoto@google.com> Fix bug 4978032 Can't get out of "starred" mailbox

Even with CL the account spinner on the starred mailbox looks still a bit
weird because the spinner turns into the combined mode even if you select
the starred mailbox from a normail account's mailbox list, but at least
you'll be able to get out of the starred mailbox.

Change-Id: I26a256be39f070acece67f4a308a8525a6be1d3b
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
698aa92e6fe4d711466d8b242d6ff7dd5df1176c 30-Jun-2011 Ben Komalo <benkomalo@google.com> Fix actionbar for message view

- shows the title of the message in the action bar (visuals not final -
need to extend the width and hide the account name)
- ensures that tapping up/back from a message view from a search result
list doesn't exit search
- ensures that tapping "app up" from a collapsible tablet view doesn't
exist the search unless the left pane is uncollapsed

Change-Id: I2b21a430d12148cf72237060c05312c7a23e2b3b
ctivity/ActionBarController.java
ctivity/MessageViewFragmentBase.java
ctivity/ThreePaneLayout.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
8de5bda81594182757c1aa94a65cfb8c7b360b34 30-Jun-2011 Makoto Onuki <omakoto@google.com> Close cursor properly.

Also, don't issue separate query()s for each recent mailbox.

Bug 4977956

Change-Id: I3ccd437a7efd5c3599c4a1952ba091a7b3b815bf
ctivity/AccountSelectorAdapter.java
ctivity/RecentMailboxManager.java
5fbc5025f085517caf810c877009ac3f3239236b 30-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Remove opener IDs from message view fragment."
6da2b981dac09a3337ef345df466e121da2f0245 30-Jun-2011 Marc Blank <mblank@google.com> Merge "Oops; fix NPE"
569785b4f9dd804dd3239f9e307b0fa79a5f1871 30-Jun-2011 Marc Blank <mblank@google.com> Oops; fix NPE

Bug: 4977755

Change-Id: I117eb3a061628ee572f37123631c3da301b5e50b
ail/Store.java
918860b8e0825830879b3675ae7d7aca02aa0826 29-Jun-2011 Makoto Onuki <omakoto@google.com> Remove opener IDs from message view fragment.

There are needed for the back navigation when a message
is opened from a deep link, but now that we always have a list context
they're not necessary.

Change-Id: Iba2d0b2f31f4539f6e872970b514574347e248c5
ctivity/MessageViewFragment.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
87fce70d0f0ef607ee3127ed186785883ac75340 30-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Newer/older + auto-advance for one-pane"
22d1a794cd9636634bb31689f53603c0ae64c522 29-Jun-2011 Makoto Onuki <omakoto@google.com> Newer/older + auto-advance for one-pane

- Moved MessageOrderManager code from 2-pabe to the base class.
- Most of the code is shared between 1-pane and 2-pane.

- Also fixed the bug where we re-created MessageOrderManager every time
the user taps newer/older, which was the reson the newer/older button
temporarily got disabled when you tapped them.
Before this CL we stopped MOM in uninstallMessageViewFragment, but now that
we don't reuse fragments this means we stops MOM when we remove the current
message view, and re-created a new one when a new message view is created.
Now we stop MOM when the right pane gets hidden (2pane) or when showing
the mailbox/message list (1pane).

- Also removed a now unused callback onMessageShown() from MessageViewFragment.
We used to update MOM on this event, but now we do this in
installMessageViweFramgment().

Bug 4575586

Change-Id: Idc4aba184f318e0c086afc29dcbe42364e2b51b3
ctivity/MessageFileView.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
17f7ffae4c4712e94a8d57a2a1471475811d7f4e 30-Jun-2011 Marc Blank <mblank@google.com> Merge "More Store cleanup"
4b39d7ccff82f54f6ac53075de70ac8ded9f4ca1 29-Jun-2011 Makoto Onuki <omakoto@google.com> Fix for "Unknown uri: .../mailbox/-4

It was caused by the fact that we show the combined starred mailbox
on each account's mailbox list.

Beacuse of this, when you open the starred mailbox on non-combined view,
we pass a normal account ID + the combined starred mailbox ID to the
AccountsLoader, which then thinks that because the account ID is not
ACCOUNT_ID_COMBINED_VIEW the mailbox ID must be of a regular mailbox,
issues a query to get mailbox info, and crashes because the mailbox
is virtual.

- Also fixed the issue that we don't show message count on the account
spinner for combined mailboxes.

bug 4971181

Change-Id: Iaa13b362505b8babc7f7ea8a03ddf5494736dc2d
olderProperties.java
ctivity/AccountSelectorAdapter.java
ctivity/MailboxFragmentAdapter.java
0b8e04c84def3a06ef45126b48efc485fa0a7628 29-Jun-2011 Marc Blank <mblank@google.com> More Store cleanup

Change-Id: I8f542175b4468c7a320322a57bfdaf19a7320165
ontroller.java
ail/Store.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
aa46bc39190624e354c8bf9c96b83eeffea343a7 29-Jun-2011 Marc Blank <mblank@google.com> Merge "Remove redundant and unused constants"
6fea021e3dbe71aaa93512aba699d1bfda3d520d 29-Jun-2011 Marc Blank <mblank@google.com> Remove redundant and unused constants

Change-Id: Ie8658f86737880e3127a0a2c3b7f0557dde98b29
ctivity/MailboxMoveToAdapter.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ail/Store.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ervice/EmailBroadcastProcessorService.java
29c89ad17a0983ddc4eb2b4922c93a53aff2d735 29-Jun-2011 Ben Komalo <benkomalo@google.com> Just mark search mailbox as not visible

This way we don't have to explicitly filter it in all the different
places we do selections on mailboxes.

Note that I didn't create an upgrade path for this. The only people with
search mailboxes are probably developers right now, and worst case for
people who experimented, they will just get the search mailbox visible

Change-Id: I9a0bf6df9985418d467a7348ed99a36521641b89
ontroller.java
ctivity/MailboxFragmentAdapter.java
659f60f73428eb7f7b393689d1a74bfddd9a0cc2 29-Jun-2011 Ben Komalo <benkomalo@google.com> Wire through logic for searched mailbox

- update hint based on the mailbox being searched
- ensure that we use the original searched mailbox as the mailbox to
search for subsequent search (i.e. a search while we're viewing search
results) and not the search mailbox

Change-Id: Ic8663272173ce386dcd13fdf0369e918fb895be8
olderProperties.java
ctivity/ActionBarController.java
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
244d306ebb0addbc5d87008af9412b76c80e861e 29-Jun-2011 Marc Blank <mblank@google.com> Remove more useless code

* Strike another blow for sanity!

Change-Id: Id95b441f9577abda66f04113793d6b1c60500ebe
essagingController.java
ail/Store.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
77160c8c08df90c8e9992596197e3438e46d41e5 29-Jun-2011 Marc Blank <mblank@google.com> Merge "Don't cache ImapFolders"
2720a818d5de169734434b114adfdf824a485f55 29-Jun-2011 Marc Blank <mblank@google.com> Don't cache ImapFolders

* ImapFolder is currently very unsafe for use by multiple threads,
causing, among other things, the referenced bug
* Since ImapFolder is very lightweight, there's no particularly good
reason to be caching them anyway
* Rename isOpenForTest to isOpen

Bug: 4972084
Change-Id: I2bf17b9cfc8549a222e991f3e59abfd00a4d3afd
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ea8034affadcf645202d03eac3965d4a86fced58 29-Jun-2011 Marc Blank <mblank@google.com> Merge "Clean up Store implementation"
35b0e95ca795e17b6dc8dd98c7ab847d65d9aa0c 29-Jun-2011 Marc Blank <mblank@google.com> Clean up Store implementation

* Remove unused argument from newInstance/constructor
* Create ServiceStore class, the superclass of ExchangeStore (and,
eventually, all Stores, until they can go away completely)

Change-Id: Ic5237236c5349ecf006538c58b63c1efe8e4ea61
essagingController.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettings.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/ServiceStore.java
b859a3b61e8a491b53255b31bffa12cd312288a1 29-Jun-2011 Ben Komalo <benkomalo@google.com> Filter search mailboxes so they're not visible

Change-Id: I99edcb19ce9e320676dff55f219370730e74239b
ctivity/MailboxFragmentAdapter.java
488308b35406888a1c7fb7d4e5fc8a48a5c801be 29-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Fix the "onPostExecute executed even when cancelled" issue"
5d811ecf18602b7880dbe5fcb652d3c342b7f02b 29-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Re-enable hw acceleration and fix webview cleanup"
50d934360d51392ac2aa6f11de4d6e1446cf78c9 29-Jun-2011 Makoto Onuki <omakoto@google.com> Fix the "onPostExecute executed even when cancelled" issue

Renamed onPostExecute to onSuccess and made sure it won't called
if a task is cancelled in time.

Also removed isCancelled(). To implement it right we should make sure
that onPostExecute() isn't finished when setting mCancelled, but it's a bit
of a pain to implement right, and we don't really have to use it.

Change-Id: I3a0baf504506ffc4952a5553f7098a8415842fa3
ctivity/EmailActivity.java
ctivity/MailboxFinder.java
ctivity/MailboxListFragment.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerTwoPane.java
ctivity/Welcome.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
a6e15b13eff7fd8ac11092d4dba87943997a0de1 25-Jun-2011 Ben Komalo <benkomalo@google.com> Re-enable hw acceleration and fix webview cleanup

Bug: 4886133
Change-Id: Ib59e560a6e1ef3eecc15ff0073a3c0f34688835a
ctivity/ActivityHelper.java
ctivity/MessageViewFragmentBase.java
4a893e60b468e0b67db522c047fa7fab057cfd6f 29-Jun-2011 Makoto Onuki <omakoto@google.com> Switch to EmailAsyncTask

Also remove the isCancelled test in onPostExecute, where it should
never return true.

Change-Id: Ica2b07db22d73769c2ead5f232f4890bd3bb87da
ctivity/MailboxFinder.java
ctivity/MessageListFragment.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerTwoPane.java
6cf76d94c8895e9ae557efaef75e1227252b5b9a 29-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Fix one-pane navigation/UI bugs"
1f6acaf39678b69a2d7a72e75ff5929d73ca9c77 29-Jun-2011 Ben Komalo <benkomalo@google.com> Hide footer when we hit the end of a search

Change-Id: Iec082a9f9560819c034f91706229b1efb7303ba2
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
6b256f1fa10b858ae2bea827b65c8608592e4ba3 29-Jun-2011 Ben Komalo <benkomalo@google.com> Wire through results count in search header.

Change-Id: I817236d9c3294acb25b62724cc8c99d47df7f354
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
ecd9c93cfaad7c64201777fa5d62e3a5b6665720 28-Jun-2011 Makoto Onuki <omakoto@google.com> Fix one-pane navigation/UI bugs

- Back from the starred mailbox now works.
- Combined view now has the "show all folders" in the spinner.
- Null-out the list context when opening the mailbox list.
- Properly restore the list context when popping from the back stack.
- Disable the account spinner dropdown on the mailbox list.
- Hide the little triangle thing at the right bottom corner of the spinner
when it's not selectable.

Bug 4836064
Bug 4689313

Change-Id: I41d1b6c7024953407b260f5b4b63fbc366e538ca
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
06421df25d8c6641c4f4cf5099c5097290ffdea7 28-Jun-2011 Marc Blank <mblank@google.com> Merge "Return total number of results from IMAP search"
5a9c95f94eaaed326d3116b539b7005ab4f3f8c7 28-Jun-2011 Marc Blank <mblank@google.com> Return total number of results from IMAP search

Change-Id: I44eb83042774294aa5aaa8f45a46b82dd78b0141
ontroller.java
essagingController.java
2213a79c36fe9c4e54dcc375dc56d5be22e136b9 28-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent monkey crash on attachment load."
c0a9fa9c68a92bb8971b3506ba390ea20f424213 28-Jun-2011 Marc Blank <mblank@google.com> Fix NPE

Bug: 4969186
Change-Id: I27fbdf7a496ee73caf36a90bf56b91c90133b3b7
rovider/EmailProvider.java
efbb408dbbd9ce31c68a53e3e5ffa189214b0a38 28-Jun-2011 Ben Komalo <benkomalo@google.com> Prevent monkey crash on attachment load.

Bug: 4969655
Change-Id: Ie1cbeaab4b9335aa4b0c2c972647072df21fccec
ctivity/MessageViewFragmentBase.java
5d7ff8577d7efd938390ddc5d5476717203d0a55 28-Jun-2011 Marc Blank <mblank@google.com> Synchronize access to mailbox type map

Bug: 4967543
Change-Id: I71380d0d2d5664cf92a9b698bfdad516eeb5c80f
rovider/EmailProvider.java
8935f6d39ebbd7089eb7e7c67476ceb81226b459 28-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Show a search results header."
9b4f11a4ed73b8c6575eb9a32e279d39d87d3ba6 28-Jun-2011 Ben Komalo <benkomalo@google.com> Show a search results header.

The count will be wired in and shown in here.

Change-Id: I2f496dcd86d748ee1c17c8e819b65c61c098a8ba
ctivity/MessageListFragment.java
257c037bb5de26688edfeea7c1beecb91b47b109 28-Jun-2011 Makoto Onuki <omakoto@google.com> Use DelayedOperations in ABC

Change-Id: Iadb4def22176cf28bc3a0b78f95b1c7cc9f52f69
ctivity/ActionBarController.java
f8acc296281342ef3036c1978f67474adac499a5 28-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Introduce a SearchCursorLoader"
37c8a70d644ffc91a880f67a80a8558b4c53d5c3 28-Jun-2011 Ben Komalo <benkomalo@google.com> Introduce a SearchCursorLoader

This loader will abstract away the waiting for the controller to cleanup
the existing contents of the search mailbox

After some additional, to-be-done plumbing, I'd like
Controller.searchMessages to return some results info (like # of results
at the least) so that the SearchCursor returned can relay that
information to the client (which can then do a lot more interesting
things at that point).

Change-Id: Ifcba0ddf7170c56dac9f3b44128988a5aa4ca887
ctivity/EmailActivity.java
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
bc1fa230319bbc4b0facda5ef2eb651779ce71d1 27-Jun-2011 Marc Blank <mblank@google.com> Merge "Clean up/simplify ExchangeUtils/ExchangeStore"
d538d4bce1ab618ae36b5b88988392d2e9959458 27-Jun-2011 Makoto Onuki <omakoto@google.com> 2pane: Show/hide fragments *before* animation starts

To fix "IllegalStateException: Can not perform this action after
onSaveInstanceState".

Bug 4522010

Change-Id: I640fab0d51b02467f2f91d0d33091e1daac356fd
ctivity/ThreePaneLayout.java
569083fab37f8179cf140c40dfa7222fab7c7258 27-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "New account spinner"
4689cb7100a8b1cfa188499a9910912d15b3dad3 27-Jun-2011 Makoto Onuki <omakoto@google.com> New account spinner

- Don't use the action bar spinner.
Instead use a custom view to show the current account.
(It's not a spinner; now we show the dropdown list by ourselves,
which gives us more detailed control.)

- Also show the current mailbox name/unread count with the account name.

- Removed the mailbox info loader in ABC.
Instead, now the AccountSelectorAdapter loader loads the current
account/mailbox name, and the unread count as extras.

- Now ABC.Callback.onMailboxSelected passed an account ID as well
as a mailbox ID.

- There's new code paths that can cause the "fragment transaction in
onLoadFinished" exception. We need to fix this properly, but
for now we just use commitAllowingStateLoss().

Bug 4948352

Change-Id: I73bb8b7530f8328ca1c86382ac0a54086ad061d7
olderProperties.java
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/MailboxListFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
66a47b8dac5e97e37c30b928bc5a227d74baada9 27-Jun-2011 Marc Blank <mblank@google.com> Clean up/simplify ExchangeUtils/ExchangeStore

* Rename ExchangeUtils to EmailServiceUtils
* Create calls for Exchange to use (eventually remove these)
* Get rid of lots of nonsense in ExchangeStore

Change-Id: Ic538cfe1de57eca24088ee1f590264283d12f511
ontroller.java
xchangeUtils.java
ctivity/Welcome.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/DebugFragment.java
ail/Store.java
ail/store/ExchangeStore.java
ervice/AccountService.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailServiceUtils.java
9e4a4149c89d7f6fd0d7d35f16b3e26b2a092720 27-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Persist trusted sender set to preferences"
b1f3c2d73fe51b9aebc064a3bd8f55aaa5407bc6 27-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Improved "show pictures" support."
ca22a51a9c41e39304422dda009128272ed0ad97 27-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Replace details dialog with expando subheader"
04795828d97727a4514487adc58f330aa950485e 26-Jun-2011 Ben Komalo <benkomalo@google.com> Persist trusted sender set to preferences

This makes it so that "always show pictures" from a sender works

Change-Id: I6e6c6d8dc78746d0828428b6c6256c4fff3eb111
references.java
ctivity/MessageViewFragmentBase.java
66282fb6ffa2af159d0e2f878439074ac5ee3067 13-Jun-2011 Ben Komalo <benkomalo@google.com> Improved "show pictures" support.

This is the UI part for remembering to show images based on senders.
It does not persist anything yet.

Change-Id: Iec40d9d1ace3661dabca2eed31ea6d0893be71e0
ctivity/MessageViewFragmentBase.java
312b2fb561a65a6fff469e5d186fac14eb31e4fc 24-Jun-2011 Brian Carlstrom <bdc@google.com> Replace KeyChainActivity placeholder UI with more polished dialog (4 of 5)

frameworks/base

Extended KeyChain.chooserPrivateKeyAlias to allow caller to supply
preferred choice to be selected in chooser. This allows Email
settings to highlight the current choice when allowing user to
change settings.
keystore/java/android/security/KeyChain.java
api/current.txt

Implemented KeyChain functionality to pass host and port
information to KeyChainActivity for display.
keystore/java/android/security/KeyChain.java

KeyChain now sends a PendingIntent as part of the Intent it sends
to the KeyChainActivity which can be used to identify the caller
in reliable way.
keystore/java/android/security/KeyChain.java

Moved .pfx/.p12/.cer/.crt constants to Credentials for reuse.
Added Credentials.install variant with no value for use from KeyChainActivity
keystore/java/android/security/Credentials.java

packages/apps/CertInstaller
Source of extension constants now in Credentials
src/com/android/certinstaller/CertFile.java

packages/apps/Browser
Have browser supply host and port information to KeyChain.choosePrivateKeyAlias
Tracking KeyChain.choosePrivateKeyAlias API change
src/com/android/browser/Tab.java

packages/apps/Email
Tracking KeyChain.choosePrivateKeyAlias API change
src/com/android/email/view/CertificateSelector.java

packages/apps/KeyChain

KeyChain now depends on bouncycastle X509Name for formatting
X500Principals, since the 4 X500Principal formatting options could
not format emailAddress attributes in a human readable way and its
the most important attribute to display for client certificates in
most cases.
Android.mk

Changing the UI to a dialog, make the activity style transparent.
AndroidManifest.xml
res/values/styles.xml

Layout for chooser dialog
res/layout/cert_chooser.xml

Layout for list items in chooser
res/layout/cert_item.xml

New resources for dialog including comments for translators.
res/values/strings.xml

New dialog based KeyChainActivity. Now also shows requesting app
and requesting server. Now can preselect a specified alias. New
link directly to CertInstaller.

src/com/android/keychain/KeyChainActivity.java

Fix KeyChainTestActivity to work with TestKeyStore changes that
were causing network activity on the UI to look up the name of
localhost. Also track KeyChain.choosePrivateKeyAlias API change.

tests/src/com/android/keychain/tests/KeyChainTestActivity.java

Change-Id: I131f7708cede39669491a23ead3860907460d31f
iew/CertificateSelector.java
5cba9c10ac7428287a26c0f322ae4ee14ac9012c 26-Jun-2011 Ben Komalo <benkomalo@google.com> Replace details dialog with expando subheader

Change-Id: I7b0f63b7b5ce7172ac32b8c00891005b9f2e28ee
ctivity/MessageViewFragmentBase.java
ctivity/MessageViewMessageDetailsDialog.java
f9a9f5289769c88b437155ae84c05d3ada96e727 25-Jun-2011 Makoto Onuki <omakoto@google.com> Fix header text on mailbox list fragment

Bug 4946676

Change-Id: I829c8df4a4e268e8807a3ec686dca5afdd173713
ctivity/MailboxFragmentAdapter.java
6390b06e3b97ebfc946f74eddeae9129f488ed6e 25-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Add debug log to investigate bug 4905749"
d8a2e33998a2959d28441e609e915f7e5ad07b7f 25-Jun-2011 Makoto Onuki <omakoto@google.com> Add debug log to investigate bug 4905749

Change-Id: I1cfe12b0150490ec08caa02332bcca88521ff5fd
ctivity/UIControllerBase.java
329ca184e75d188c69d511628ecd7770e5764170 25-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Yet another action bar fix..."
94c002349f2ac653712c625d89c50153795fe23a 25-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Set list context through a central place."
12b793299633dcfb4e1851d52017907cc4768030 25-Jun-2011 Marc Blank <mblank@google.com> Merge "Clean up search handling in Controller"
bad39b2e00dcd9127f5e0aed96ab31cf0817be76 25-Jun-2011 Marc Blank <mblank@google.com> Clean up search handling in Controller

* Use same code for handling search mailbox for IMAP and EAS
* Allow "Load More" for EAS search mailbox

Change-Id: Id4a009c79a95302d627ff25f85e9c65bc461826f
ontroller.java
ctivity/MessageListFragment.java
f4622a8ac78299dc16cb857c5270a2c48f3a7fc0 25-Jun-2011 Makoto Onuki <omakoto@google.com> Yet another action bar fix...

It's a temporary fix. Proper fix underway...

Change-Id: I225e04168f7fae6a3b411659a27e79b28022ac40
ctivity/ActionBarController.java
78c450ab14bc040f84b65563456433b809f2db02 25-Jun-2011 Ben Komalo <benkomalo@google.com> Set list context through a central place.

Bug: 4946658
Change-Id: I3f283088697b282b98a1c4e15ddf1f9641991806
ctivity/UIControllerBase.java
ctivity/UIControllerTwoPane.java
a8779053e585203ad0140c7b4189f4db4d6e4eb7 24-Jun-2011 Gilles Debunne <debunne@google.com> Merge "Changed unknown source setting link"
3c76df4f1f4f4f4e7c068d8f6ea0da17f009916c 24-Jun-2011 Makoto Onuki <omakoto@google.com> Workaround for bug 4946695

Proper fix on the way.

Change-Id: I22549d0e90b521d27271a8160fe8e43dae18defa
ctivity/ActionBarController.java
9722c1bfeda694b1ff62c3add4bd1fc009187924 24-Jun-2011 Gilles Debunne <debunne@google.com> Changed unknown source setting link

This settings has been moved to Security.

Change-Id: Ifbb6edf28d258303bad5b39e0df34b9e8ea20d99
ctivity/AttachmentInfoDialog.java
3db7f76fef8701fcce90c2cff63def30c9440251 24-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Update notification text according to design"
a05b6e1e92253333b790e4a69778983f1c7b0d2b 24-Jun-2011 Marc Blank <mblank@google.com> Merge "New search implementation for IMAP in MessagingController"
9a01353f14f718c5447d6a3dc25b413be0f175d9 23-Jun-2011 Marc Blank <mblank@google.com> New search implementation for IMAP in MessagingController

* Add protocolSearchInfo column to Message table; this can be used
to store information related to search results. For IMAP, we
store the serverId of the mailbox that the message lives in on
the server
* Add upgrade code for this column
* Change MessagingController to use the proper serverId for remote
operations, depending on whether the Message is a search result
or not
* Fix some smaller issues with earlier code

Change-Id: I0c7f1d89a4659b95701d02646c0e8426680e2f6a
ontroller.java
essagingController.java
ail/store/ImapFolder.java
rovider/EmailProvider.java
6f93d2edca7e699503089def8935042cedbbcdf4 24-Jun-2011 Ben Komalo <benkomalo@google.com> Update notification text according to design

- "UNSEEN new messages" is the title for multiple new messages
- the small number in the right shows the unread count

Change-Id: I48f761b727ea8abc9277d737a08789fa63d10871
otificationController.java
1ce33fd93f2ba211c6762871551b17f416bf0a7c 24-Jun-2011 Makoto Onuki <omakoto@google.com> Revive the security hold check on the UI side.

Bug 4901767

Change-Id: Id8ccd3346f2d3008543df2107bab97ebe1a20fa6
ctivity/ActivityHelper.java
ctivity/UIControllerBase.java
ctivity/Welcome.java
80d3875d306c60da83e547c573427627911f8a99 23-Jun-2011 Makoto Onuki <omakoto@google.com> Action bar: Use laoder to get current mailbox info

Before this CL, we had this crazy plumbing from MailboxListFragment
to ActionBarController to update the current mailbox name/message count.

This wouldn't work on 1-pane, so now ABC just gets the current mailbox id
from UIC and loads the name/count with its own loader.

Also...
- Fixed bug 4904450 and bug 4460470: Now we consistently use FolderProperties
to get proler display names and message counts.

- Renamed some confusing names in AccountSelectorAdapter

Change-Id: Ic7bea6da6d2859006fb8f9263024c7d5e62b1e7f
olderProperties.java
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxMoveToAdapter.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
bf3e65b667621f7f7ff82ab2945ae7911624a07b 23-Jun-2011 Ben Komalo <benkomalo@google.com> Disable hw acceleration temporarily

Bug: 4886133
Change-Id: I0f9efc200712815610ddc9013acc7eec25631180
ctivity/ActivityHelper.java
bcdcc0458f90588567a77fb0f3d29c1040857c0b 23-Jun-2011 Ben Komalo <benkomalo@google.com> Pass the entire list context to the listfragment

This allows us to read search properties and other things to determine
rendering state

Change-Id: If73269128a60e9992822774ebdba3d90a44d2d76
ctivity/MessageListFragment.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
53300963ff0d2cefa94a7170bfb4a6418f5b5b17 23-Jun-2011 Ben Komalo <benkomalo@google.com> Save/restore message list context

This fixes opening messages after rotations. Oops.
Bug: 4905495

Change-Id: Ibb9984245f7a040b65d472ad4103da587c28c83b
essageListContext.java
ctivity/UIControllerBase.java
ed839dce7764267339889349da48c2f74f5ccc41 23-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Fix some things with shortcuts/widgets."
e10215eaff7c06b44b95de87ea46030065ecbee5 23-Jun-2011 Ben Komalo <benkomalo@google.com> Fix some things with shortcuts/widgets.

- All mailboxes will be shown when selecting a shortcut for a normal
account.
- Combined unread won't show up in shortcuts for combined accounts
- only inbox is allowed for IMAP/POP widgets
- all mailboxes allowed for EAS widgets

Bug: 4725896
Change-Id: I5c77c2f5443e330ed451179761b1d9c8c0dd7619
ctivity/EmailActivity.java
ctivity/MailboxListFragment.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/UIControllerBase.java
idget/WidgetConfiguration.java
65cab2baa76fc26371db732769bb4f38c0d0a1af 23-Jun-2011 Marc Blank <mblank@google.com> Merge "Prevent NPE when creating account..."
d6efb08c4d6e2ba0e169ea02a170116ca7939498 23-Jun-2011 Jorge Lugo <jlugo@google.com> Merge "Quick response clean-up"
9863dac3ee1af2b5f81e77245410e21e5db5613f 23-Jun-2011 Marc Blank <mblank@google.com> Prevent NPE when creating account...

* Yet more whack-a-mole

Bug: 4544677
Change-Id: I35eb0850b3abb13ca82dc5b19bb5511d894b5722
ervice/MailService.java
deb345acebce19996726262f7825c39a784b9fa8 23-Jun-2011 Marc Blank <mblank@google.com> Support FLAG_SUPPORTS_SEARCH for IMAP accounts

* Update existing database to add this flag for IMAP accounts
* Set flag when creating IMAP accounts
* Change temporary UI to use the flag exclusively

Change-Id: Idefccd3a74d2222fe8a0ba47116dee981a0ae1f5
ctivity/UIControllerBase.java
ctivity/setup/AccountSetupAccountType.java
rovider/EmailProvider.java
bc42ab77068947ec5cf7caa9043ade70bc03dd34 23-Jun-2011 Jorge Lugo <jlugo@google.com> Quick response clean-up

Highlighting now appears when selecting a quick response. On "insert
quick response" dialog has exactly two lines of quick response shown.
Done also works properly now on the phone.

Known bug: text is not ellipsized. However, this is dependent
on bug 3389545 being fixed by frameworks team.

Change-Id: I7490e139267963d1508fa0573144a10c9190e11c
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
2de21278f8f4d937bbb792515afbc2aea665863b 23-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Search state improvements."
f5bbef0b160444ea1512f0769f8550ad91389b31 23-Jun-2011 Marc Blank <mblank@google.com> Merge "When looking for default account, check for empty cursors"
c09ca39cde44bcb18e9a4d9c7cc3c6f7ee4297eb 23-Jun-2011 Marc Blank <mblank@google.com> When looking for default account, check for empty cursors

* At present, we will cache empty cursors (i.e. where the query
result had zero rows)
* If a widget (or shortcut) references a deleted account, this will
create a cached entry for that account, and the defaultAccountId
code will try to retrieve the isDefault column from that (empty)
cursor
* To fix this, we simply skip over empty cursors when looking for
a default account
* We will also look into whether it makes sense to cache zero-
length cursors

Bug: 4883043
Change-Id: Id998506f77bd6cda6cb1f5d8ce65d689dde4d2c5
rovider/EmailProvider.java
b0b6eb56f716f3ac0c153b1d4a1b7b2bdfba4335 23-Jun-2011 Ben Komalo <benkomalo@google.com> Search state improvements.

- actually fires off a new instance of our Activity for search, instead
of killing the old one
- exiting search mode from a search result now works and pops the
activity stack
- doing a new search clears the input box as expected
- the search term is actually shown at the top in the results list

Change-Id: Ia6b92042e26a2e44b8cb45fe1d5b3bfb40cfd6da
ctivity/ActionBarController.java
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
383d6ead227b6a6dea724820050df05c5e3581b4 20-Jun-2011 Ben Komalo <benkomalo@google.com> Use new message list in controllers.

Change-Id: Iaf4bf90add855f556a2e61521618924e13f60347
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ef02676a1639193ce403bd58e7067ab95260e1aa 23-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Fix drag & drop"
d5dfd76cb90a3c73a4d4f82ddfc6b2c7cfcc95e1 23-Jun-2011 Makoto Onuki <omakoto@google.com> Fix drag & drop

There was an assumption that the list view would only contain MailboxListItem's.
Now it's not always the case with the headers like "recent folders".

Also killed the timer thing for the nested navigation during DnD.

Bug 4904006

Change-Id: I4ee756775d0115f3a39086758be69100c19163c9
ctivity/MailboxListFragment.java
106e3ad16d2dd3a55f909fc2eb39259ae7d627c1 23-Jun-2011 Marc Blank <mblank@google.com> Merge "Fix problem with getDefaultAccountId() with no explicit default"
192f9b6396845bbf2070eff5a8078cddc346c351 23-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Improve 1-pane message visual"
846763bd68c791ad0266ae8c68c0c1577761b419 22-Jun-2011 Makoto Onuki <omakoto@google.com> Improve 1-pane message visual

Also fixed the text alignment in the tabs on the 2-pane message view.

We don't yet to have the full-spec for this, so it's still temporary.

Now we again wrap the webview in a scroll view, so we'll have the "message
keeps growing" issue again. I'll file a bug for this.

It's still temporary, so I didn't remove the scroll views for the
each section (e.g. the attachment tab). Also I had to make up some
colors/dimensions which were unspecified. Also I didn't always define
styles when I should. Let's clean up these things later when we
get more detailed spec.

Change-Id: Ibdb78543f5ec7300f92091d1f8b800ca5edc74b2
ctivity/MessageViewFragmentBase.java
63537746479f4b65517bd217c1a5f76d697367eb 23-Jun-2011 Marc Blank <mblank@google.com> Fix problem with getDefaultAccountId() with no explicit default

* This wasn't working with the new code and the unit test wasn't
testing this case.
* Updated code in EmailProvider and added a test case

Change-Id: I75c23423c4f43e4201d446886d92a5312fa8a084
rovider/EmailProvider.java
67cd9eb0d9e22c1df49b054877aff3c92d476ba1 22-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Introduce MessageListContext."
18410ed346e9969054797c9dca2dce48074008c5 20-Jun-2011 Ben Komalo <benkomalo@google.com> Introduce MessageListContext.

This will encapsulate meta information about a message list. Notably the
mailbox it's showing OR the search parameters that were used to build
its contents.

Change-Id: Ibe078a700860e7b9426c865e843e899f82306a96
essageListContext.java
ctivity/EmailActivity.java
a30861850945e96f756d70e05c3e3f7be2c108ed 22-Jun-2011 Ben Komalo <benkomalo@google.com> Pushes some search behavior to base controller

This enables search on one pane with the same caveats as on two pane

Change-Id: I80ab6ada0f718367fe6d584b18bc84d04a27bf7b
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
f3d07fb3e6ea7f40537c8bc45daae38d2d31853e 22-Jun-2011 Ben Komalo <benkomalo@google.com> Consolidate some menu item toggling.

- fixes search button being shown for pop accounts
- cleans up some duplicated code

Change-Id: I498f0140eb2f3ffa7d3ad7f0da0e1d357f80e9b9
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
41609adc237cbb970ae5239b464fd943b415fb43 22-Jun-2011 Marc Blank <mblank@google.com> Merge "Fix cursor-related errors:"
d12f78d6bac81590f97fc190723865ffe65e5d69 22-Jun-2011 Marc Blank <mblank@google.com> Fix cursor-related errors:

1) Have CachedCursor implement CrossProcessCursor; still need to
figure out how this ever worked
2) Close cursor used internally in findMailboxOfType

Bug: 4869024
Change-Id: Id20d37b7b83e133aa4d5fe9293a42ae217024f01
rovider/ContentCache.java
f1d9367909005883021a4aa48197fcf73d1c0a64 22-Jun-2011 Jorge Lugo <jlugo@google.com> Merge "Fix behavior if replying to own sent message"
69b50d46ecf4417839c0febbfe53d5b2ac198e8e 22-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Kill InboxFinder in the UI controller"
0404a331ad14f3473be5905f73956626896b05c8 22-Jun-2011 Marc Blank <mblank@google.com> Merge "Improve EmailContent caching..."
3873111033969c04e63d7beb2d0eb452680411bd 22-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Fix search bar sizing."
6e418aa41a17136be0dddb816d843428a0a1e722 19-Jun-2011 Marc Blank <mblank@google.com> Improve EmailContent caching...

* Guarantee that up to 16 Account (with HostAuths), and Policy rows
are always cached. Also, 6 commonly used Mailboxes per Account
(Inbox, Outbox, Drafts, Sent, Trash, and Search)
* Precache these rows when EmailProvider starts up
* Ensure that newly added, precachable rows are cached when created
* Clean up some inefficient/wrong caching code
* Fix a commonly called method in NotificationManager in which we
load a single Mailbox row using selection vs withAppendedId
* Confirm that we don't read from the database in typical use and
heavy message loading
* Add a special URI for finding mailbox by type (using the cache)
* Add special-case code for EmailContent.count(Account.CONTENT_URI)
which is used in a number of places (including on the UI thread)
and whose value is easily determined
* Add a special URI to get the default account id
* Confirm that all unit tests work

The goal here is to be able to load all Account, HostAuth, Policy,
and Mailbox objects (by id) without worrying about disk access.
There will still be a single disk read for uncommon Mailbox reads,
but this should be considered acceptable.

Change-Id: Ibc9aa7acc73185e360b0b6f3053b90a985e97210
TODO: Unit tests
otificationController.java
rovider/ContentCache.java
rovider/EmailProvider.java
1116194d9fcfb038faa8d606cbbf744b8377648a 22-Jun-2011 Ben Komalo <benkomalo@google.com> Fix search bar sizing.

On phones it was being pushed out beyond the width of the phone.
Make it so that it fits the whole width in phone portrait, and is fixed
size in landscape / tablets.

Change-Id: Ifc712002c4df38ceb4bd3577f0cbb48114b41115
ctivity/ActionBarController.java
a817543efbb2e706c701c2776aaf750c3bd6e7ef 22-Jun-2011 Ben Komalo <benkomalo@google.com> Show lookback settings for onepane.

This doesn't fix the fact that it's temporary, but at least makes the
temporary UI functional

Change-Id: If8d3e3cabe15d2ff0970d418113738f8479cbb8c
ctivity/UIControllerOnePane.java
f46a8f205380b26ff9c55fa4a74653196592db34 21-Jun-2011 Makoto Onuki <omakoto@google.com> Kill InboxFinder in the UI controller

Instead, in switchAccount, if the account doesn't have Inbox, we'll
redirect to Welcome and close EmailActivity.

(This will easily happen if you add a second account from the system settings,
launch the app and switch to the new account.)

Change-Id: Ia03d8e6697b58f6fcf10fd95fbcb5e310a5b5305
ctivity/UIControllerBase.java
b8b560f3151eb121b130ba60d88f302acdc1edef 22-Jun-2011 Makoto Onuki <omakoto@google.com> Improve Welcome

- Show "Your email will appear shortly" during the initial sync
- Don't close self in onStop if it's because of configuration changes.

Change-Id: Ic60f25c58712c599c735b2bede1627d4e102eb6b
ctivity/Welcome.java
67be1d5f6b413221ac8e261c7697865d9aa12892 21-Jun-2011 Jorge Lugo <jlugo@google.com> Fix behavior if replying to own sent message

If the address of the account is in the reply-to: field (or from: field
when reply-to: is empty), now populates the To: field with the same To:
field on reply.

Bug: 3504182
Change-Id: I17d7fe4be002b302decb8f0dae95f33d452b7adc
ctivity/MessageCompose.java
c9af8b2dbf830135d154b6336b9bb54959ca2a54 21-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Wait for initial sync in Welcome."
95ad0f0e93d290b2c630a49a254e61f10b2783c8 21-Jun-2011 Makoto Onuki <omakoto@google.com> Wait for initial sync in Welcome.

Change-Id: I5052e8a3e3af5565184c391200b9ab63dff4b50b
ctivity/UIControllerBase.java
ctivity/Welcome.java
59f921a21cfd111f127a2c0eb74e1c5b3c72b173 21-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Some fixes to the action bar."
0fd968623d714ba7fca5286a61d9108a937f6115 21-Jun-2011 Marc Blank <mblank@google.com> Merge "Fix MailService unit tests"
cbc842c5c91f90517b6766e15aafc051b75af872 21-Jun-2011 Marc Blank <mblank@google.com> Fix MailService unit tests

* These broke when we split Email/Exchange
* We now use a test authenticator and a test account type, which
is actually far cleaner than dealing with actual accounts

Change-Id: Ib7c9f884eac484c33642a8036f47466ce641c567
ervice/EasTestAuthenticatorService.java
f69bcd0123dff62ec916376470c6dd9a71e0d443 21-Jun-2011 Ben Komalo <benkomalo@google.com> Some fixes to the action bar.

This hides the main navigation controls when the search view is shown.
It also fixes issues with rotation when in search mode.

Change-Id: I5ffed8eb7549fc603fc4e4d1868d114be65112c3
ctivity/ActionBarController.java
ctivity/UIControllerBase.java
d7d49548607a0de7c0d89ef95897fd140181f272 21-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Fix failing tests"
ce4cce05b2ee5ea2d9629c189a79f7f30778f534 21-Jun-2011 Makoto Onuki <omakoto@google.com> Fix failing tests

Fixed activity tests and and activity.setup tests.

Bug 4762098
Bug 4766087
Bug 4590590

Change-Id: Ifbd49f38c59854c65b6c48a1b03ca8153bfa558b
ctivity/AccountSelectorAdapter.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
72fad84fc367fd3787a6fb82919469e0aa64587b 21-Jun-2011 Jorge Lugo <jlugo@google.com> Merge "Improved saving of drafts when back key is pressed"
369905c95d8b069205f30726edc54122e6bc388f 21-Jun-2011 Makoto Onuki <omakoto@google.com> Fix crashing tests

Some of the tests are still failing, but at least now we can go through till
the end.

- Fixed NPE in WelcomeTests (caused by the mock context not returning a proper
layout inflator.)
- Removed the rainy day test from MessageFileViewTest.
(Not setting a proper intent will result in the argument check in
MessageFileViewFragment)
- Removed unnecessary null check in EmailProvider.getDatabase()

Bug 4766072

Change-Id: I48b92cc91d0417cd9980c131fda8f63a9a6eb990
ctivity/MessageFileViewFragment.java
rovider/EmailProvider.java
09a0e9b5dca78244e3cc365d99263e7c2402b25d 21-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Move restore account to EmailProvider."
9dad9ad973ccf8255228a41acc0ee78af989a651 21-Jun-2011 Makoto Onuki <omakoto@google.com> Move restore account to EmailProvider.

In order to reduce the UI initialization code, move
let EmailProvider restore accounts when it opens the DB.

Backup can be moved too, but I just leave it as a TODO.

Change-Id: Id5c1810904db6abaecbfecbaa8d2d53834ebf07b
ctivity/Welcome.java
rovider/AccountBackupRestore.java
rovider/EmailProvider.java
ervice/AccountService.java
ervice/MailService.java
ae95fbf4d0238ee5a6fcd5892d9a9105e8db9249 21-Jun-2011 Jorge Lugo <jlugo@google.com> Merge "Added quick responses."
2441dd5cbb9a8b3102e9abe065bfc13edb8a7fe3 20-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Cleanup and collapse some methods together."
5a3888f35b669ffb3cc785d7dfe4862879a3896c 01-Jun-2011 Jorge Lugo <jlugo@google.com> Added quick responses.

Added "Insert quick response" button to MessageCompose's action bar. Clicking
it opens dialog with available quick responses. Selecting one of the responses
will insert it into message body at the current cursor location. Also added
menu in account preferences to create, edit, and delete quick responses.

Change-Id: I85f3f6b36801cf112ec9d7c31135a917456173d7
ctivity/InsertQuickResponseDialog.java
ctivity/MessageCompose.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsEditQuickResponsesFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/EditQuickResponseDialog.java
rovider/EmailProvider.java
d5fe04822406fc4dac12e8f90eeb214b7b285425 18-Jun-2011 Jorge Lugo <jlugo@google.com> Improved saving of drafts when back key is pressed

In MessageCompose, pressing reply, reply all, or forward and then selecting
back without writing or modifying any part of the message will no longer
increase the draft count. Additionally, entering the compose window and
immediately rotating the screen before pressing the back key no longer
increases the draft count either.

Bug: 4584605
Bug: 4501806
Change-Id: I74db3f05d696b23fa7d0d64ae87e06fade4c57ee
ctivity/MessageCompose.java
a355a4abe2abb9d09c1d2cfb61d62c2006d19289 20-Jun-2011 Ben Komalo <benkomalo@google.com> Cleanup and collapse some methods together.

Change-Id: Ida38b63362c50052064d7a5342febfe9e4a9c89e
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
99401ebea71f4ff15fc017edd0ab98cad05bbcd6 18-Jun-2011 Ben Komalo <benkomalo@google.com> Remove a layer of callback in inbox finder.

I'm changing it so that inbox finding happens at an earlier stage so
that the UIController.open() methods can be simpler. Specifically: I
want them to just always accept a mailbox, and not have to deal with an
intermediate state where it's still looking for a mailbox.

Change-Id: I1c5be783859a3bee7e46007e778de13eb1685cbe
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
facd131fad65cf251e8939547672853f13a6b77e 18-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "some brain dead typing shortening"
36f89da544a2a960ede047051c0d7b114d6d7717 18-Jun-2011 Ben Komalo <benkomalo@google.com> some brain dead typing shortening

Change-Id: I9342e8da52b412fd844b98ff76e61a9e4f9c5af7
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ed1dc9ee72410e07de24bc4a072d066981611a48 17-Jun-2011 Marc Blank <mblank@google.com> Support "Load More" for IMAP search

Change-Id: I47e5fd1fab421026ee52af72ba56338c69e9b467
ontroller.java
essagingController.java
ac11e3bb99aba883cbbdaccfc2524862a8989701 17-Jun-2011 Ben Komalo <benkomalo@google.com> Some re-arrangements in UI for search.

This moves the logic for performing the search closer to where it will
actually happen (i.e. on Intent resolution). A lot of this is still
temporary code. I will follow up with some larger changes to extend the
UIController API so it doesn't have to do hacks internally.

Change-Id: I1eb84d26ee3dcbfa0b68dbd37dcb0a6180452962
essagingController.java
ctivity/ActionBarController.java
ctivity/EmailActivity.java
ctivity/UIControllerTwoPane.java
f62fd3fd177a79579cde30e43a85eb9709eb348b 17-Jun-2011 Ben Komalo <benkomalo@google.com> ensure that search mailboxes don't have parents

This causes issues in the mailbox list when trying to auto navigate to a
search mailbox

Change-Id: Ie4e43f20ec662a7c9304dd906ba5a58560cba9f5
ontroller.java
0b346432043e5871ab683da53550f755f82df0b9 17-Jun-2011 Marc Blank <mblank@google.com> Merge "First implementation of IMAP search"
627bc6ed57ee06cc588e64ff959bfd7870b659b6 13-Jun-2011 Marc Blank <mblank@google.com> First implementation of IMAP search

* Broke up synchronizeMailboxGeneric into three pieces; it's still
horrible, but this at least stops my eyes from bleeding
* Remove unused method/tests from Folder interface

Change-Id: Ib4d979536be657137cf70ca535cf429d707be41b
ontroller.java
essagingController.java
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ail/store/ImapFolder.java
ail/store/Pop3Store.java
579d8d5da5a06e576f1586fe99358ffeab9acc5c 17-Jun-2011 Mindy Pereira <mindyp@google.com> Merge "Integrate chips into Email."
87763f0ae851c76d5e7cf672a6e3acf21705549c 16-Jun-2011 Mindy Pereira <mindyp@google.com> Integrate chips into Email.

Change-Id: Ice037a55a169037f725a667fad7714c7e9580b86
mailAddressAdapter.java
ecipientAdapter.java
ctivity/ChipsAddressTextView.java
ctivity/MessageCompose.java
cb24e515b7983133133ca38bd3e3e6354daaab76 16-Jun-2011 Ben Komalo <benkomalo@google.com> Add one more error state to certificate process

When the KeyStore fails to give us back a certificate for any reason (it
was removed from the keystore perhaps), propagate the error back up.

Change-Id: I4f0ef783c1665589cc8ccb43d95da43a297a3e9a
ontroller.java
essagingExceptionStrings.java
ctivity/setup/AccountCheckSettingsFragment.java
8401dba4048dfc0c1e40e9cfca749878ec087831 17-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Handle upgrade from existing device admins"
aa0a3553974972561e089f2780fb7f6743b3303e 16-Jun-2011 Ben Komalo <benkomalo@google.com> Handle upgrade from existing device admins

This ensures old admins that can't control the camera doesn't try to do
so

Bug: 4686257
Change-Id: Ia2bb8bf2ccf9fb3d1d45ce1ba0affd2ccc9822a9
ecurityPolicy.java
1579b7864acfec1a9436ae5631de2caf79330447 16-Jun-2011 Marc Blank <mblank@google.com> Merge "Fix Store caching"
c16d060bda3dfe534be92d07d82ebc9277a826d3 16-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Switch to synchronous transaction."
2a292e235cbe7ce33367ba549d4da6cb4764ffe9 16-Jun-2011 Makoto Onuki <omakoto@google.com> Switch to synchronous transaction.

Change-Id: I02639276e4cedd62d288433acb0dfaf34c7a4e76
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
f4dbbf10996e6bca926a5825bbc69e1e172c20c0 16-Jun-2011 Ben Komalo <benkomalo@google.com> Indicate to the user when a cert error happens.

This introduces an exception which needs to be thrown from a KeyManager
when it tries to establish a connection with a server requesting a
certificate.

Change-Id: I06dfad7789ed5d320b630e7e4380e15da42a48df
ctivity/setup/AccountCheckSettingsFragment.java
d09cff08882e553afce919865a2cc60b657d4659 06-May-2011 Ben Komalo <benkomalo@google.com> Make "don't allow camera" a supported policy.

This sends the bit to the DPM. Separate changes have been/will be made
to change the provision parser and support it in the DPM.

Bug: 4185316
Change-Id: I44872ceb095a28539b047a0641cc499c7186a9b3
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
f65bdbdaf5960951452b148f801c51feca864bfe 16-Jun-2011 Marc Blank <mblank@google.com> Fix Store caching

Bug: 4671090
Change-Id: I07413eb713c564f6dbcac45091357153cfe19a5d
ail/Store.java
b40bdb17dfd9cf2972d42aab8b2d20c9c1291acb 15-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Introduce a cert selector in exchange settings UI."
48e977aab670741134bf1e2ae8f600c1beabf069 15-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Send email usage feedback to ContactsProvider"
82e0e1c4c5c3d526823cf3d8d69bf12c1d44a06a 15-Jun-2011 Ben Komalo <benkomalo@google.com> Show sync window prefs for EAS only.

Bug: 4651025
Change-Id: I1633a2a94e28466686e90df4ff0cdebaaa1a81df
ctivity/setup/AccountSettingsFragment.java
3975a28918769e3f9bf43264ec167b0b4bed2f2c 02-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Send email usage feedback to ContactsProvider

This enables the provider to count the number of contacted
per email address basis, which should improve auto-complete
quality.

Bug: 4371572
Change-Id: I4f0e586d3edff5a460e33dc7d9f9680119a8d568
ctivity/MessageCompose.java
e4ca576ab0ff1087645400aac134f66b27cb0eef 15-Jun-2011 Ben Komalo <benkomalo@google.com> Low-cost minimal fixes to make phone UI usable

This is a stopgap fix prior to getting designs in to at least make the
various message view components visible on screen so people can at least
use the app.

Note that this also removes reply all/forward, as per the design (the
idea is you can switch in the compose view, so we don't want to waste
real estate in the message view).

Bug: 4644072
Change-Id: I86f041678373a0fbc79a2e135a47cd1e5b1357c7
ctivity/MessageViewFragment.java
7014f7d3299203bd83fa893ab2d850b129ec6dc7 14-Jun-2011 Ben Komalo <benkomalo@google.com> Introduce a cert selector in exchange settings UI.

This simply allows the user to select a certificate from the KeyChain to
use for credentials.

Text and UI not finalized.

Change-Id: Ib86abc3c2e899640218122caa12308dc9646dab6
ctivity/setup/AccountSetupExchangeFragment.java
iew/CertificateSelector.java
6f8ed24c09e044ba3f7722e86b917fc7e5bb018a 15-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Add "search mode" to the action bar"
0f2763274922e15d4baba7e7228f5765034b9c0d 14-Jun-2011 Makoto Onuki <omakoto@google.com> Add "search mode" to the action bar

- Instead of the search dialog, show the search widget on the action bar.
- Launches a new activity for search, but still uses the temporary search code
- Search still works only on two-pane.

Change-Id: I1d36ad3416c7dff9579cf37e40e49e31c9d99219
ctivity/ActionBarController.java
ctivity/EmailActivity.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
22409fcffae4c6e551fb3e6ead4cdc92e33fded1 14-Jun-2011 Ben Komalo <benkomalo@google.com> Pass HostAuth when validating an account.

Since HostAuth is fully Parcelable, no sense passing the individual
fields.

Change-Id: I4d8fd2bbe7b47e8f1e2ff00c8c0cad8429eec159
ontroller.java
xchangeUtils.java
ail/store/ExchangeStore.java
f5418f1f93b02e7fab9f15eb201800b65510998e 14-Jun-2011 Marc Blank <mblank@google.com> Move Account into its own top-level class

Change-Id: Ide7c991b7d4d418dbe17164421425bf898ba64ee
ontroller.java
mail.java
mailAddressAdapter.java
essagingController.java
otificationController.java
ecurityPolicy.java
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/ActivityHelper.java
ctivity/EmailActivity.java
ctivity/IntentUtilities.java
ctivity/MailboxFinder.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/SetupData.java
ail/Sender.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/transport/ExchangeSender.java
ail/transport/SmtpSender.java
rovider/AccountBackupRestore.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
ervice/EmailBroadcastProcessorService.java
ervice/MailService.java
ervice/PopImapSyncAdapterService.java
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetConfiguration.java
idget/WidgetManager.java
69111b1e19456c4e861b031da3b3b7f26893d664 12-Jun-2011 Marc Blank <mblank@google.com> Fix broken account creation

* What the heck is mCacheLoginCredential for??

Bug: 4597765
Change-Id: Idcb6d323ba0e90f3fe6828f59fe36ec54e4cf40c
ctivity/setup/AccountSetupIncomingFragment.java
e1fe562e2603c4637f8bc6e17e46c062aed95299 10-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Don't include sourc mailbox in the move-to dialog"
0f747de9a71fecbcb24f5c9fca3d73f1683affe0 10-Jun-2011 Todd Kennedy <toddke@google.com> Don't include sourc mailbox in the move-to dialog

When moving messages using the move-to dialog, exclude the source folder from
the list of valid targets.

bug 4585929

Change-Id: Id02c05f38d1623f0c059d84e50ee1b51a1cdec1a
ctivity/MailboxMoveToAdapter.java
ctivity/MoveMessageToDialog.java
541e98a4e4769a5970d7cbed810fdf0a537928b2 10-Jun-2011 Marc Blank <mblank@google.com> Merge "Remove storeUri's except during auto-setup"
0ec545048a66e3af465a0f1c28d13435886dbfc1 09-Jun-2011 Todd Kennedy <toddke@google.com> Add recent header if there are zero recent items

For the one pane view, it's possible that an account has zero items in the
recent list (this is only possible for accounts that do not have neither
a "drafts" nor a "sent" folder). In such situations, we will still want to
have some header to distinguish between the accounts and the "show all
folders" item.

Change-Id: Ic5d6368b88ba4a28904c3b78a6489d06345a901e
ctivity/AccountSelectorAdapter.java
85e4c101b014857fe40f87c3837b82564cfc5b6c 08-Jun-2011 Marc Blank <mblank@google.com> Remove storeUri's except during auto-setup

* Remove per-store limitations
* Use constants for VISIBLE_WINDOW, rather than having the
potential for differences between Stores

Change-Id: Idd5e0874bba6e3390e4f093bcb03f4b1bb399c11
ontroller.java
essagingController.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoingFragment.java
ail/Store.java
ail/store/ExchangeStore.java
e1e63d438797247bf9f97d59a40347dca3752edf 09-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Set proper default values for new mailboxes"
9d2dae67506983c64f72350a4fb5967cfd85b9a8 09-Jun-2011 Todd Kennedy <toddke@google.com> Set proper default values for new mailboxes

When creating mailboxes (specifically 'drafts' or 'sent'), we need to ensure
that its default values for flags & server key are set correctly. In most
cases this is "okay" because the mailbox will be created on the server and
the values for these fields will be reset. However, in cases where system
mailboxes cannot be created on the sever (for example, the 'drafts' folder
on any POP3 account or an IMAP gmail account), these default values do not
get updated and we are unable to view the contents of these mailboxes.

bug 4356871

Change-Id: I9e6a394145f471b555c5827d5114bca243dbc37c
ontroller.java
479fdf03aa575ad843e7192a98b098e511b230de 09-Jun-2011 Ben Komalo <benkomalo@google.com> Guard against invalid selections in spinner

This is a stop gap fix for b/4584196
There was a race condition in which the actionbar callback happened
prior to the fragments being ready, and so any callbacks on a mailbox
would explode (and the spinner mistakenly thought the header was a
mailbox)

Change-Id: Id0a24d252472faf97088175b5c413ef554dc3b76
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/UIControllerOnePane.java
b4f6404cd1a8e96d177995cad797e9f440fc979e 09-Jun-2011 Todd Kennedy <toddke@google.com> ignore state loss during fragment transaction

We don't need to worry about state loss here. If the fragment state is already
saved, the loader will re-fire when the fragment resumes and we'll proceed to
mailbox selection / account list as expected.

Also; only add the account selection fragment to the back stack if there is
more than one account.

bug 4558901

Change-Id: I38290fa378ac80ef5a5c8cf25c38b6e820715366
ctivity/ShortcutPickerFragment.java
964c0caf74564c39f207afc67fa95c2d76ac7e90 09-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Don't display count for items with invalid IDs"
a26fe0f1507e754b8c1d31a587f84f043c9cee64 09-Jun-2011 Todd Kennedy <toddke@google.com> Don't display count for items with invalid IDs

Change-Id: Id82b0a96a718f27d51d205b066a282444d6bd939
ctivity/AccountSelectorAdapter.java
3b91d0ce0f387d1fe96c46bc4aeb39b15e7712a0 09-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Use fragment transition animation for 1pane."
7986cf67375a14741d58f08ebdc2f2c38abe8b4f 09-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Fix where recent mailboxes are displayed"
519b4881231b1a7737c010e5f19073286e8b1dda 09-Jun-2011 Makoto Onuki <omakoto@google.com> Use fragment transition animation for 1pane.

Change-Id: I5f62abf87580876c75c8578da1d4a46cb92bce94
ctivity/UIControllerOnePane.java
3e343286d7235e99101222b37ffa3c3c1262bbc5 08-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Back navigation on 1 pane"
e06e1224414c181e729f7952d80bb70d59fedc20 08-Jun-2011 Makoto Onuki <omakoto@google.com> Back navigation on 1 pane

- Allow going back from the message view to the message list with restoring
all the state on the message list. (batch selection and scroll position)

- Also make "back" work for the message list <-> mailbox list navigation,
but only 1 level at most.
(Only the system back key works for this; the action bar home icon will
not.)

- As discussed offline, it uses our custum "back stack" (which can hold
at most 1 fragment) using the new fragment APIs, attach and detach.

- Removed commitFragmentTransaction() from the base class, as now there's
nothing really in common between the two UI controllers in terms of how
they use the fragment transaction.

Change-Id: Id626ce99beb1f4dceb999dc04bf7d3e5d57a8198
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
85bd26e21069b6ee3188be034025c207f4686684 08-Jun-2011 Todd Kennedy <toddke@google.com> Fix where recent mailboxes are displayed

For the non two pane devices, we only show the recent mailbox list in the
account spinner (and not on the mailbox list fragment).
For two pane devices, we only show the recent mailbox list in the mailbox
list fragment (and not on the account spinner)

Change-Id: I1094626532ad6d6548ef441929d94546c97304a3
ctivity/AccountSelectorAdapter.java
ctivity/MailboxFragmentAdapter.java
ctivity/RecentMailboxManager.java
3161f1a3f21d7ae7eea5bfa00c12004150195e21 08-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Lock cache puts while running tests"
78849fd388041d8727325aa654de31dcb8088786 08-Jun-2011 Todd Kennedy <toddke@google.com> Lock cache puts while running tests

Change-Id: I04c88ee70f9d72252fd1c5114d560a28fcee1b56
rovider/ContentCache.java
313586c8eb4e23ceec068b82f3dc0be1c8a7045f 07-Jun-2011 Ben Komalo <benkomalo@google.com> Introduce client cert alias for HostAuth.

Some email servers require client certificates to be presented to
establish an SSL connection. While this certificate will be maintained
by the system key store, we need to store the "alias" of the certificate
stored in that system store.

Wiring up to use the actual alias will be done in future CL's. It is
currently unused.

Change-Id: I8d1290151342daea9ceb0df8a4088405b44faa81
ctivity/setup/AccountSetupBasics.java
ail/transport/MailTransport.java
rovider/EmailProvider.java
4431a74be500081264c35fe7fff29b8c49342782 08-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Message list: Hide CAB when in back stack."
ab2dba417a277cfee4410f281307b635a2ff2e68 08-Jun-2011 Makoto Onuki <omakoto@google.com> Message list: Hide CAB when in back stack.

Because isViewCreated() is used by updateSelectionMode() which is called from
onDestroyView(), we can't use getView() to determine if the CAB should be
shown.

Change-Id: I8d868998031115800766000fb0128f1d1d3541cd
ctivity/MessageListFragment.java
7305cf5c8e8332e720da758d3a81267cf8bb7d4b 08-Jun-2011 Todd Kennedy <toddke@google.com> update account spinner properly

Fixes two issues:
1. if a recent folder was selected from the spinner, the user could not
re-select it (even if they navigated to another mailbox using the mailbox
list) unless they manually selected another element in the spinner
2. the recent item "show all folders" did not set the associated account
position, so, when selecting that item, the spinner was not showing the
correct view.

Change-Id: I469f9f28aebd36a348534def28a4c476c0df366d
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
dc6928d798d61049a47f4babeaa5aab90c091cc1 08-Jun-2011 Todd Kennedy <toddke@google.com> Add recent mailboxes to the mailbox list

Change-Id: I84ee9d0da43ccac4d10e5122f57583c4b39cf65d
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
1b404f4fff39977e4f8edc9258c1bd1075da11c6 07-Jun-2011 Todd Kennedy <toddke@google.com> Collapse MailboxAdapter & MailboxFragmentAdapter

MFA was the only subclass of MA and the abstraction no longer made sense.
Collapse the two into a single adapter class.

Change-Id: I32c6f027bc37f3da08626f743c3f494e5f48c3f0
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxMoveToAdapter.java
ctivity/MailboxesAdapter.java
96e44859cf280941c9eacbef6d1dc0d9538281c6 07-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Always add "recent" header for one pane view"
f329665e1081207a0327f1f93978f50eb20647d2 07-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Remove "Show all folders" menu item."
f1097ba7e9b3eb91cd1e2537f626e93544ecca17 07-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Revive message view specific menu options"
ed14960af5def97fa00a899f9cd19fadb55a49bc 07-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "New method to see whether 1-pane or 2-pane UI..."
c6bb2ab553c41ef357f548a35840043955b33088 07-Jun-2011 Makoto Onuki <omakoto@google.com> Revive message view specific menu options

Revive the delete, move, mark unread options

This was lost during the refactoring.

Bug 4483764

Change-Id: Ic8d79f926aac303b3ff7477019cd05c29d614627
ctivity/MessageViewFragment.java
101f929b3cc7c0646ed38db2e0c4693e09c919d9 07-Jun-2011 Makoto Onuki <omakoto@google.com> Remove "Show all folders" menu item.

Now the account spinner has this.

Change-Id: I95e771e512f6c70ea9ddd8084c29a2f99b4cd758
ctivity/UIControllerOnePane.java
347ae23b6932fe994b03909bf90854888c438517 07-Jun-2011 Makoto Onuki <omakoto@google.com> New method to see whether 1-pane or 2-pane UI...

should be used.

From now on, UiUtilities.useTwoPane() should be used to see which UI
should be used.

You can pass the DEBUG_PANE_MODE extra when launching Welcome
to force which UI mode to use. (See the comment inside Welcome.)

Change-Id: Iefa3737e4979eb55f7986a9033ff9c6266d32f52
ctivity/AccountSelectorAdapter.java
ctivity/EmailActivity.java
ctivity/UiUtilities.java
ctivity/Welcome.java
132307281dd22802c774234d4f6a9d8902a659b7 07-Jun-2011 Todd Kennedy <toddke@google.com> Always add "recent" header for one pane view

The one pane view will always have something in the recent list (either the
default recent list or the "all folders" item).

Change-Id: Ic264b59dc25504a8ce75bea6efae53a0d5dede87
ctivity/AccountSelectorAdapter.java
da3d04ea31a8452d3e34003b699a02ea02e3632b 07-Jun-2011 Todd Kennedy <toddke@google.com> Add ability to create headers in the mailbox list

Change-Id: I9d1054056db7b6ac993570adcc4adc4cc6699e9c
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxesAdapter.java
ab40c988216b32ed145c0cad45c25e9cf2509c85 06-Jun-2011 Makoto Onuki <omakoto@google.com> More work on fragment install/uninstall.

- Now we "uninstall" a fragment in Fragment.onDestroyView.
i.e. a fragment transaction is actually executed.
- Maintain our own "about to be removed" fragment list to avoid
double removal of a fragment.

Change-Id: I61328e0a09a7af00cbb0e6ba10a2d39c11b5c3dc
ctivity/EmailActivity.java
ctivity/FragmentInstallable.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/UiUtilities.java
cb530b4e9139a8049cf639c28613630e9a9dbc48 07-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Use the CursorWithExtras pattern for the message list."
a09ac7d41704e7d39a40824b3869c537266c7666 07-Jun-2011 Todd Kennedy <toddke@google.com> Implement account spinner recent list for one pane

This adds the default recent list and 'show all folders' to the one pane UI.

Change-Id: I877f854ff4f9c7440cbd40f2a9ded8aba4002656
ctivity/AccountSelectorAdapter.java
ctivity/UIControllerOnePane.java
a757aaa055825bb3547ab35f49ccc5227340b4d9 07-Jun-2011 Todd Kennedy <toddke@google.com> Properly display spinner when necessary

Previously, we were deciding whether to show the spinner if the returned cursor
had more than 1 element. However, the cursor would _always_ have more than one
element because it contains a header in addition to the account information.

We now save away the number of accounts and the size of the recent list into the
cursor so we can use those counts to determine if the spinner should be shown.
Both of these counts are necessary as we want to show the spinner even if there
is only a single account as long as it has at least one recent mailbox.

Change-Id: If428c496a548a25f6b5cd7301ddb5c0d6876750c
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
e3924188409b631c9ed53cf0b8f1fb455c3ef67d 07-Jun-2011 Todd Kennedy <toddke@google.com> Add recent mailboxes to the account spinner

The ability to change mailboxes using the spinner is currently only implemented
for the two-pane UI. one-pane implementation will come in a future CL.

Change-Id: If72e9d9d607508553c918f5523e748e8a481ff84
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
63a206ea56ba549f3bca255a152b0ac476ec9cbe 07-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Manually restore list view state."
41878c2813d9948af5d333e2bf4d063c538d3c19 03-Jun-2011 Makoto Onuki <omakoto@google.com> Use the CursorWithExtras pattern for the message list.

This will make the message list a lot snappier.

We were using two different loaders for the message list; one is to load
the meta information and the other to load the actual message list.

Unify them using the CursorWithExtras pattern.

Change-Id: I02957bbca1b1fb74ca6eca14ad2535dfdbf03a5a
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
ata/MailboxAccountLoader.java
345a61d0b97411e9c26d9ec7a79bc6cd1afebd1d 03-Jun-2011 Makoto Onuki <omakoto@google.com> Manually restore list view state.

Bug 4532222

Change-Id: I6f3394b7ffd55b32e1932e3e425cc0d0ae720e27
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
47806a2244223760b5552ce6ee21a31650d3b7fe 07-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Fix filtered query"
3a1e874a9cedf1a579c44d9342937777c8f21d18 06-Jun-2011 Todd Kennedy <toddke@google.com> Fix filtered query

we need to return 5, post filtered, results. previously, we were returning
5, pre filtered, results. Also add a test to catch this condition.

Change-Id: Id25f4bf79081c42a2012e0e51b36142120c83b20
ctivity/RecentMailboxManager.java
d42b3222fb7dfb10f89f61ecbd46cc0156099013 06-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Make message list behave nicely when it's in back stack"
69461503fb5faa24c37c86cd54012fb2ec2308be 06-Jun-2011 Todd Kennedy <toddke@google.com> Add "Accounts" header to the AB spinner

Change-Id: I35e4b7295db16db803ede084cf65fa3f2115f770
ctivity/AccountSelectorAdapter.java
ctivity/ActionBarController.java
296d7d3614fec5f6ecfb3c9ca9fd4cd630482566 06-Jun-2011 Makoto Onuki <omakoto@google.com> Make message list behave nicely when it's in back stack

- Hide CAB when it has no views.
- Stop pending tasks and refresh callbacks when it's paused.

Change-Id: Idaae9061237ce9f923c002d659e8e12407e4bad1
ctivity/MessageListFragment.java
f04c832f23b14aa26bf584eb9a82f9bc06279524 04-Jun-2011 Todd Kennedy <toddke@google.com> Add ability to track mailbox recency

Change-Id: I1bcc7928ea7065a5daa262b7cea7ee3e21981675
ctivity/RecentMailboxManager.java
7d9d3a220a2aea7c76e3a202566f33d6c03d245a 04-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Add new column to table creation method"
2e112b2d12c85d47e85fc821e3cee74c295c6c52 04-Jun-2011 Todd Kennedy <toddke@google.com> Add new column to table creation method

Change-Id: I2c6fe80d06e54dbd10eba41f0a0aa758baffb1b0
rovider/EmailProvider.java
696fa78cb3bc772149b778018354f3a52ba3e97b 04-Jun-2011 Makoto Onuki <omakoto@google.com> Don't enable FragmentManager logging.

Change-Id: Ie02ece80df7832c609cffb64a4b0626c6b8a77b5
ctivity/UIControllerTwoPane.java
cc881b744b6d8ca0f0792bf4adf2422218c88e0b 03-Jun-2011 Makoto Onuki <omakoto@google.com> Remove the hidden newer/older buttons from 1-pane.

We'll implement swipe and this view is not used on 1-pane anyway.

Change-Id: Ib1d9b44dd530159377f3e5f883188832de30482f
ctivity/UIControllerOnePane.java
03b863d68e95169c95baac7cb50dce9bdeeedf95 03-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Implement 1-pane navigation."
3d9b8e76f0a396370a5c0be99a34bf7c24bd20dd 03-Jun-2011 Makoto Onuki <omakoto@google.com> Implement 1-pane navigation.

- Now that fragment useage is simplified (e.g. no new fragment
creation for nested mailbox navigation), most of the fragment
operation code for 2-pane is reuseable for 1-pane as well,
so moeved it to the base class.

- Temporarily added "Show all folders" as a menu option on 1-pane.

- Added "opener account id/mailbox id" to the message view fragment.
They are not used by the fragment itself, but they're used
by the UI controller for the back navigation. (And now the UI
controller doesn't maintain the current IDs by itself; rather
it gets them from the currently-active fragment.)

- Use async fragment transaction on 1-pane too, now that it always
gets the current state from the active fragment.

- Changed the timing when we install fragments from onAttachFragment
to fragments' onActivityCreated. So now all installed fragments are
created.

TODO Now that all installed fragments are guaranteed to be created,
remove all special trealment for the fragment argument accessor.
(They were meant be safe to call before onCreate, but it's not
necessary any more.)

Change-Id: I0ed100c3f0b460835b164c0dc908ea483a4e46ee
ctivity/EmailActivity.java
ctivity/FragmentInstallable.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/UiUtilities.java
8f54b2f1356248800cf4516f1f52ea643ace1f7d 03-Jun-2011 Jorge Lugo <jlugo@google.com> Merge "Fixed reply-all bug"
15842c522ec50584fcf04e1ffa47025bfef01715 03-Jun-2011 Jorge Lugo <jlugo@google.com> Fixed reply-all bug

Upon hitting reply all, all email addresses except that of the source message sender
go in the CC: field. Previously they all went in the TO: field. Updated 3 tests
in MessageComposeTests.java (testReplyAllAddresses1(), testReplyAllAddresses2(), and
testReplyAllAddresses3()) to reflect this new behavior.

Bug: 4534058
Change-Id: I852daebdd8843a45f685eecc67f757c87925bb6c
ctivity/MessageCompose.java
4c4b088a21dc4b438b1fd78096c09ab1d36706f4 03-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Add "lastTouchedTime" column to the mailbox table"
9dcb72e1ecca83178c3af07f105c2ec12526a52c 03-Jun-2011 Todd Kennedy <toddke@google.com> Add "lastTouchedTime" column to the mailbox table

The last touched time will track the last time a message within that mailbox
was read. This will be used for the recent list.

Change-Id: I97a5fda52fd09b416fc3278a11a87b807da05c9c
rovider/EmailProvider.java
aaf12a5e758cca0a4d187e6f4f63c6ae8ccd7c0c 03-Jun-2011 Marc Blank <mblank@google.com> Merge "Update searchMessages API"
75a754660e33c5e18cacffff193983ba22a7b9b0 02-Jun-2011 Marc Blank <mblank@google.com> Update searchMessages API

* Store various search parameters in a new parcelable class

Change-Id: Iadec6a803b1bf17d89cd401c3fca1cb0ad3340d4
ontroller.java
xchangeUtils.java
ctivity/EmailActivity.java
bc7cd16ec239a4df184a86b3d5ec1ba305b224b6 03-Jun-2011 Todd Kennedy <toddke@google.com> Fix NPE if message displayName is null

the spannable string builder assumes the given char sequence is non-null.
we now ensure that's always the case.

Change-Id: I12e7081e5348d797feab6ad17452b73a52feaf13
idget/EmailWidget.java
cf772cc8ad38fe4eb929964c3839d7388dfd585c 02-Jun-2011 Todd Kennedy <toddke@google.com> update UX according to specs

Display the mailbox name as the widget title and the account name
as the secondary title.

Change-Id: Ibb36d4897e02b8cbc501eae9b27ee8381fe91e1a
idget/EmailWidget.java
idget/EmailWidgetLoader.java
b9afe5760cfe16d3fdf51c499cf102bc7b700fc6 02-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Fix NPE accessing fragment arguments"
8121876feff20a84176826196d113e2d9aad3b4f 02-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Add proper wording for "all accounts" picker item"
f47255f6fcdcf94c55c580b1784af1cfa3f2f7e3 02-Jun-2011 Todd Kennedy <toddke@google.com> Fix NPE accessing fragment arguments

Change-Id: I417927568c2407f1d183f3d112d0761f57b5bb12
ctivity/ShortcutPickerFragment.java
b19516e24836c9479c6ecfbf3d54d58cf64782ed 02-Jun-2011 Todd Kennedy <toddke@google.com> Add proper wording for "all accounts" picker item

Per discussion w/ UX.

Change-Id: Ida4a11828d2bb157c4bc0c66f84d877013f0e4d7
ctivity/ShortcutPickerFragment.java
5dc07ad26c70c5011483781df6e37af409ab0094 02-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Rework on inbox lookup"
2f5ee8e2d1e106340eb2a21b1ada6db1987bd98f 02-Jun-2011 Todd Kennedy <toddke@google.com> filter mailbox list for the widget

The mailbox list for widget configuration should only include two mailboxes --
1. an account's full inbox (both read & unread) and 2. an account's unread
inbox (similar to #1, but, only contains unread messages)

This also applies for the combined account view.

Change-Id: I5640fd8572d385703db04ca613f5b1f35f3952da
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
idget/WidgetConfiguration.java
f015cc00ed9fbf8a992ff31ee0106abcc8cb4f9b 02-Jun-2011 Makoto Onuki <omakoto@google.com> Rework on inbox lookup

- Moved MailboxFinder logic to UIControllerBase so it can be reused for 1-pane.
- Make sure MailboxFinder runs only while the activity is resumed.
(we don't want to get callbacks when it's not, because we can't perform
fragment transactions.)
- Make sure MailboxFinder is restarted if the activity gets re-created
while it's still running.

Bug 4522010

Change-Id: I4486ecfa44dd700d28c424bc5eb7104d3043cf7d
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
47d6f782de58625ae60dde165125ea04748d11b5 02-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Switch to async fragment transaction for two-pane"
61b0605a0b34b4bab77273958b263a4bb9db6498 02-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Change on the mailbox list item background."
2912bed923f5626eba5af574c13f14a8fd1e0491 02-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "Remove unused method."
3a8a1b451dc21eb0e1b05e04b1d4df8971187c84 02-Jun-2011 Makoto Onuki <omakoto@google.com> Change on the mailbox list item background.

- The drawable for the active drop target background was static, and
shared between items. But StateListDrawable has inernal state and
shouldn't be shared.

- Also make sure not to set the same background more than once.

For some reason, they will cause visal glitches when we switch to synchronous
fragment transaction.

Change-Id: I10fede2ad4e595f74d61768907b5b70fd5d4da21
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
7f4cf3c46b0dd1bc001c547807e83b7c280f074b 02-Jun-2011 Todd Kennedy <toddke@google.com> Hook account/mailbox picker to widget

now when adding a widget to the desktop, you can pick the account
and mailbox.

Change-Id: Id3d2c21b349af58459304ac5a068402d67f4d0f7
mail.java
rovider/WidgetProvider.java
idget/EmailWidget.java
idget/WidgetConfiguration.java
idget/WidgetManager.java
c7024f73ec95d610ac88fd3d884c131c0499b490 02-Jun-2011 Makoto Onuki <omakoto@google.com> Switch to async fragment transaction for two-pane

One-pane will follow too, but not soon.

Change-Id: Ie018f728273e9fa4a7e6cf3116a2a2afebcaecc5
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
147e41d00aed3eac469567c4c7f50616ef3df994 02-Jun-2011 Makoto Onuki <omakoto@google.com> Remove unused method.

This should have been removed in I2c23651d.

Change-Id: I8dd90a0ba55e701225cdaf2e5b7c5fe92a417525
ctivity/UIControllerBase.java
60abc35a72c89b103deb5a43ce59904535d1e1ea 02-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Loader query should use mailbox key"
0b4602b5d926d0cd1a913963497eec674cf1cea3 02-Jun-2011 Todd Kennedy <toddke@google.com> Loader query should use mailbox key

The loader query should be testing against the mailbox key and not the message
id.

Change-Id: Idcc31b4e84db55c8c6a95e1141740371e1390c81
idget/EmailWidgetLoader.java
5c453db6397e123b3f296fe7e956fb67e37fa247 02-Jun-2011 Todd Kennedy <toddke@google.com> Merge "Save widget config to shared preferences"
fa1b3a8f37eada5efad690b7abd32ae248aa2f2b 01-Jun-2011 Todd Kennedy <toddke@google.com> Save widget config to shared preferences

The way the config activity communicates with the widget will be through
shared preferences. We now read / write shared preferences for widget
configuration. One step closer to the configuration activity...

Change-Id: I7c54259d84ad8d304a61652af5b3edff4c7d67db
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetManager.java
3bfd5734b8f75b6ec0efbf4fb3e3cc0b77a85d8e 02-Jun-2011 Makoto Onuki <omakoto@google.com> Merge "MailboxListFragment: In-place nested mailbox navigation"
844bf745044b4564f42a68f8b7d40105c4def294 01-Jun-2011 Makoto Onuki <omakoto@google.com> MailboxListFragment: In-place nested mailbox navigation

Now we reuse the same instance of the fragment for nested mailbox
navigation. (Don't use fragment transaction)

"CursorWithExtras" now only has the child count, so I removed the
bundle version and added a concrete class to MailboxFragmentAdapter.

With this CL the nested mailbox navigation on 1-pane should work, but
not back navigation. (Back press event isn't connected to the
fragment yet.)

Change-Id: I2c23651d9c8edb5fe062c68bbb9b462c8949ded4
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/Welcome.java
ata/CursorWithExtras.java
9634d2d88c7f9c9591c2c86aedea7e8cc6917010 01-Jun-2011 Marc Blank <mblank@google.com> Merge "Workaround bug 4520517"
e50a6fb48bfd6f3dbf06e6973afe71015db91d2c 01-Jun-2011 Makoto Onuki <omakoto@google.com> Workaround bug 4520517

To test bug 4490341

Change-Id: I93127a8ed1579184b0ae9c1fc0ce51bae7927f76
ctivity/MessageCompose.java
44f5cd67c97da6a5c7e63a73b4dca7057b83cdbb 01-Jun-2011 Todd Kennedy <toddke@google.com> Remove widget views

The new widget UX allows for a single display mode for the widget. This can
be configured when the widget is added or at a later time during widget
re-configuration.

We don't have the configuration activity (yet). We first need to restructure
the widget to take a single account / mailbox combination. Hooking up the
configuration activity will occur in a future CL.

Change-Id: I38a5796c44938a6abd0d2bb50ac77241cc86a497
rovider/WidgetProvider.java
ervice/EmailBroadcastProcessorService.java
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetManager.java
idget/WidgetView.java
0f84ff2c082dc4ea774f53fe6877752a769ca258 27-May-2011 Todd Kennedy <toddke@google.com> Add meta options in the picker

With this CL, we have "All accounts" in the account list and "Inbox" & "Unread"
in the mailbox list. "All" + "Unread" doesn't play very well, so, we should
seriously consider whether it's worth the effort to support it right now.

Change-Id: Ia1c07c89a535a68ffe6f3ae5009b5b6591a9acdb
ctivity/MailboxListFragment.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/Welcome.java
dc6f61a4c256d7b8c2d75005e16d8e9252b21237 27-May-2011 Todd Kennedy <toddke@google.com> Merge "Use standard widget call backs"
98108f2e0e472861fe72c7cc9b6cd602a94643c4 27-May-2011 Todd Kennedy <toddke@google.com> Use standard widget call backs

Instead of overriding onReceive() and processing messages ourselves, we should
be overriding the standard widget call back methods, onUpdate(), etc...

Also added a deleteWidgets() method in the widget manager to maintain beter
symetry between create & delete.

Change-Id: Idc84bf220a1e14776a080cfee0b28df39f9a1450
rovider/WidgetProvider.java
idget/WidgetManager.java
88b5e296e02e8f7ac53122fe4d4577dbadd1d0f4 27-May-2011 Makoto Onuki <omakoto@google.com> Merge "MessageViewFragment: Preparing to use back stack."
7956e76e18a641a2354a09fc6cc8ee4332032a22 27-May-2011 Todd Kennedy <toddke@google.com> Merge "Make callbacks from shortcut picker"
ae8e612ed5eb00c228070f4f43359cc7eae99932 27-May-2011 Todd Kennedy <toddke@google.com> Make callbacks from shortcut picker

We need to move some of the calls from shortcut picker to the activity (such
as creating the actual shortcut and terminating the activity). This should
let us to reuse the picker fragment from the widget code.

Maybe other callbacks are needed, but, this is a first pass to get something
that "should" work.

Change-Id: I6467979951ad73b5817ba543683f62f831ac73a4
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
6d4456935683ab07088baa6aaea78b7a94e8addf 27-May-2011 Ben Komalo <benkomalo@google.com> Merge "Prevent NPE in MessageCompose."
6d4f0d8fa0e8e50532898e8ad67c2d245d5defd3 27-May-2011 Todd Kennedy <toddke@google.com> Merge "Make it clear that args are immutable"
90e08781ca8ce7f0911924d7c85619ca6b1634d1 26-May-2011 Todd Kennedy <toddke@google.com> Make it clear that args are immutable

Change-Id: I54657648fc7fcd145689a51acd8f3c27d3611a97
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
262d18971aeca5aabdc35ae85696907ff26a28b8 27-May-2011 Makoto Onuki <omakoto@google.com> Merge "MessageListFragment: Preparing to use back stack"
7cb2376aed7472166d1897a9ffda938864f3ab4b 26-May-2011 Makoto Onuki <omakoto@google.com> MessageListFragment: Preparing to use back stack

with some clean-ups.

Change-Id: Ifd0ce888c6387013bc51237528980605c929279c
ctivity/MessageListFragment.java
ctivity/MessagesAdapter.java
b59b9d04d5721e27d02c13f8a4d4c14707522479 26-May-2011 Todd Kennedy <toddke@google.com> Merge "Don't navigate to a shortcut mailbox"
3a505d8d9694b56d6c704547c51f32a9756410f8 26-May-2011 Makoto Onuki <omakoto@google.com> MessageViewFragment: Preparing to use back stack.

Do all the clean-up stuff in onDestroyView() rather than onDestroy(),
so that no callbacks (such as the controller callbacks and
AsyncTask.onPostExecute()s) will work when it doesn't have views.

Change-Id: Ic4aa771d28209ee7b56ac4d228488768ae998dd8
ctivity/MessageFileView.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ca6eca0466f9dc58317dd4334da2b951e23f06d7 25-May-2011 Todd Kennedy <toddke@google.com> Don't navigate to a shortcut mailbox

All shortcuts now have a mailbox associated with them. When launching
the app via shortcut, we want to show the messages within that mailbox, but,
we do not want to navigate into the mailbox; unless the mailbox has children.
Since we don't want to put too much informatin into the shortcut, we must
perform these checks at runtime. So, if ever we try to load a mailbox that
doesn't contain children, we load it's parent instead.

Change-Id: Idb5dbc7cd740b270a0068811abe685f963ca2c0b
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ata/CursorWithExtras.java
67fefe21b6220f9e08d4cdcb7a8cbcce4278f257 26-May-2011 Marc Blank <mblank@google.com> Remove change made to workaround DPM issue

Change-Id: I88a9663d513e13ecca5957c61e2e817a8bd847d5
ecurityPolicy.java
fdfeb8d3c340c941d94d2721231bb1a5dc045540 26-May-2011 Ben Komalo <benkomalo@google.com> Prevent NPE in MessageCompose.

New actionBar code makes removeAllTabs() not safe when there are no
tabs.

Change-Id: I9ac09c71872c5f2aaad7b8e3cf5dbe0caac6f8ef
ctivity/MessageCompose.java
4ade29d6b07b03c52218bc93b7bdd980c696f6d7 26-May-2011 Makoto Onuki <omakoto@google.com> Merge "MailboxListFragment: Preparing to use back stack"
d1b7d43df66b073207e0988b2066aa6183afaffe 26-May-2011 Makoto Onuki <omakoto@google.com> MailboxListFragment: Preparing to use back stack

- Added more lifecycle logs to understand fragment lifecycle better.
- Made sure all code work fine even in the state where a MailboxListFragment
is create but doesn't have views.
- Cleaned up list state resoration code.
Removed the setListAdapter call from onLoadFinished, which lets the
ListView restore the state by itself, in the case where we're re-loading
list for DB changes. We still need to do the restoration manually for
the orientation change case.

Change-Id: I96bff4ace6d48cc02113c2f5bd6a995260122334
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragmentBase.java
102a001e96421601baa820c2a5434ad85fa3b161 26-May-2011 Ben Komalo <benkomalo@google.com> Merge "Step 1 in - Email support for 7" devices."
3096b4ae18f55c9ebf04d83c534da4d5e3370932 25-May-2011 Makoto Onuki <omakoto@google.com> Add Controller.deleteMessages(long[]) for batch delete

- Also removed the accoundId parameter, which wasn't used.
- Also cleaned up MailboxListFragment.onDrop.
(the restored Message was only used to get the account id, but
it's no longer needed.)

Bug 4384642

Change-Id: I8f6635011dae0529a82972617101e1c130090b76
ontroller.java
ctivity/ActivityHelper.java
ctivity/MailboxListFragment.java
ctivity/MessageCompose.java
ctivity/MessageListFragment.java
761390a04193fe41a0ee2292e2051cf1b640b81c 25-May-2011 Ben Komalo <benkomalo@google.com> Step 1 in - Email support for 7" devices.

This is a cherry-pick of 9f976e29a0406a51dd7e15778625060d3e5e7031 from
honeycomb-mr2. This is still using the old w600 qualifiers but the next
CL will cherry-pick the fix for that.

Change-Id: I40ab6717575cdfd02d5f7d05409f0355e96f2085
ctivity/ThreePaneLayout.java
72b458395d88462a2c3ecdde391eb64f1f6e255a 25-May-2011 Makoto Onuki <omakoto@google.com> Merge "Rename some MessageViewFragmentBase callbacks."
28b48acab014687b67d1d4658c9b6304ad105ea3 25-May-2011 Marc Blank <mblank@google.com> resolved conflicts for merge of 7c270c50 to master

Change-Id: Id1694449a8a270429cf32b2ecd70da7afa3447a1
d7db0a5f6b6b3472f122e6f8009ef412527f4294 25-May-2011 Todd Kennedy <toddke@google.com> Merge "Auto-select if only one item in the list"
f3ff0ba91076ef1fb087fc30fe65d9504011c2b3 19-May-2011 Marc Blank <mblank@google.com> Create AccountManager acct for pop/imap on upgrade from GB

* Also, unit test for upgrade path

Bug: 4439595
Change-Id: I508a3d8ea70c1a894a412528314e42a39f3ae0e7
rovider/EmailProvider.java
e2d227ffeda71ef08a11c08c5b1a2345a03091c8 25-May-2011 Todd Kennedy <toddke@google.com> Auto-select if only one item in the list

If there is only one account and/or mailbox, automatically select it and
move onto the next step.

Change-Id: I716fbafb50ac6d59a17739a8d69c735d7733858b
ctivity/ShortcutPickerFragment.java
5675ea88d3cc4ba9934d2a54fee008fd324d711f 24-May-2011 Todd Kennedy <toddke@google.com> Add a second fragment to select the mailbox

After choosing the account, we need to select a mailbox for the shortcut.
In order to replace the fragment, we cannot hardcode it in the XML. Instead,
we need to dynamically create it.

Also, restructure the fragment class and rely on the class to "do the right
thing"

Change-Id: I752ad5bbdf2484332ec2b73852cae74a5d2092fa
mail.java
ctivity/AccountShortcutPicker.java
ctivity/AccountShortcutPickerFragment.java
ctivity/MessageList.java
ctivity/ShortcutPicker.java
ctivity/ShortcutPickerFragment.java
ctivity/Welcome.java
0b31917c0e1c9ee50f5c56b3a5b4cbfb7fd373f3 24-May-2011 Makoto Onuki <omakoto@google.com> Rename some MessageViewFragmentBase callbacks.

- Renamed some methods in MessageViewFragmentBase.Callback
- Removed unnecessary argument from a callback.
- Removed obsolete comment.

Change-Id: Ia5af222971bfe6b943c98208b539946f14f16aa8
ctivity/MessageFileView.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
87f9b376a8b4170dbc5633cc463f3d83a99e7e8b 24-May-2011 Todd Kennedy <toddke@google.com> Only use one line of text for the shortcut list

The list used to contain both the display name (whatever special name the user
chose during account creation) and the email address. The new mocks only use
the display name.

Change-Id: I97f4f16af9865207f26e67aed5d07340775ea37c
ctivity/AccountShortcutPickerFragment.java
1e3c6d9788b1e62b92ae566ca59f41a07f88ed18 18-May-2011 Todd Kennedy <toddke@google.com> use a fragment for the shortcut picker

instead of using an activity (which will be hard to manage multiple screens in
the 'back' stack), use a fragment. we can easily manage multiple fragments with
a fragment transaction.

Change-Id: Ibf75dd45941a0c1c6b6b6add8de78146cdae7c65
ctivity/AccountShortcutPicker.java
ctivity/AccountShortcutPickerFragment.java
4f5d4e29a8180b5c1e8cd80f5e3e9c4ed098049c 24-May-2011 Marc Blank <mblank@google.com> Always set policies in DPM before checking whether they are active

* Since DPM can erroneously report a password failure (specifically,
isActivePasswordSufficient() can return false when, in fact, the
active password is just fine)
* This is the proximate cause of the referenced bug; we just weren't
prepared to have the DPM mislead us...

Bug: 4464610
Change-Id: Ifcb85c0729e9a1884fbcf7b4180eb332bbfef1b5
ecurityPolicy.java
ee97468feb73f0ed040485292687b764027d7d31 20-May-2011 Ben Komalo <benkomalo@google.com> Fix typo in settings.

This was causing a crash in settings when opening an incoming settings
fragment after initial setup.

Change-Id: Icedd24a3f5e8f378d6725a09c97525450ef74af7
ctivity/setup/AccountSettings.java
c5bbf134ea876a45a3ea4d2f8d1fa009295b9631 20-May-2011 Makoto Onuki <omakoto@google.com> Merge "Show a toast for stale shortcuts."
b535e436f37fda4a18a939ab3afc134f9967ec8a 20-May-2011 Ben Komalo <benkomalo@google.com> Merge "Move HostAuth to top level class."
c1ca222b759ab5412ec732f6696f76e929f3cd01 20-May-2011 Makoto Onuki <omakoto@google.com> Show a toast for stale shortcuts.

Change-Id: Ibd7b9ae6a39169604136faafc1a7f87876ba55a1
ctivity/Welcome.java
12b82d9374947c9268217f45befe8a74bd9b60d7 20-May-2011 Ben Komalo <benkomalo@google.com> Move HostAuth to top level class.

No other changes made.

Change-Id: I1c6497c98abc0f99443ea42d8aed6295b263c123
ctivity/MailboxMoveToAdapter.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
ail/Sender.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/transport/SmtpSender.java
rovider/EmailProvider.java
ervice/EmailBroadcastProcessorService.java
ervice/MailService.java
d531dc3058c52b1e3ee2ee53eb8d63d6177d9f91 19-May-2011 Makoto Onuki <omakoto@google.com> Fix opening Starred mailbox.

We need to pass around the account ID with onMailboxSelected too.
(It's kinda sad it wouldn't have happened if we had par-account starred
mailbox.)

Also made sure MailboxListItem.mMailboxId now really contains only a mailbox
ID. Before this chage, we stored an account ID to this for an account row
on the combined mailbox.

Bug 4452811

Change-Id: I732fd8eb18f787f4a700a45a40768f96e3bb8751
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxesAdapter.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
2ed7a86949b2b2a95017525145ad421b9e5d0e38 17-May-2011 Makoto Onuki <omakoto@google.com> Support pre-HC style account shortcuts

Account shortcuts used to point at MessageList directly with a
content://com.android.email.provider/account/ACCOUNT-UUID URI.

Hook these intents and open Welcome instead.

On Eclair and before, we stored an account-ID directly as an extra,
but this style is no longer supported.

Bug 4208879

Change-Id: I9fecb0723743377a6d7c7e84626e8613f2356492
ctivity/AccountShortcutPicker.java
ctivity/MessageList.java
ctivity/Welcome.java
01bd33f318f03d5496b4d252e3a536856405f73c 19-May-2011 Makoto Onuki <omakoto@google.com> Change to Mailbox/MessageListFragment

- MailboxListFragment.Callback.onMailboxSelected is now split into
two different callbacks, one for regular selection and the
other for DnD for clarity.
- Added onDragStarted/Ended to MessageListFragment.Callback
- Changed Log to use this

Change-Id: I8861d3b43aa1b5b17c68c53605270e99733599f4
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
92c0d91578e026ff099f195b8f91fde22a5c8dad 19-May-2011 Makoto Onuki <omakoto@google.com> Merge "Clean up Two pane"
49de71e3d272b3070716f36ba574a620cdf62674 18-May-2011 Makoto Onuki <omakoto@google.com> Clean up Two pane

- Remove bunch of outdated TODOs
- Removed the stack for the back navigation for nested folders.
Instead, Back/Up will always just navigate to the parent mailbox.
- Two-pane UI controller no longer stores IDs by itself.
Now it always gets these from installed fragments.
- Added UIController.switchAccount(), which is the same as openAccount
except it's no-op if the account is already selected.
- Other small clean-ups.

Change-Id: Ie14bc4f4b6b2cf6afb69bc97967c25682d4c7c78
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
9f976e29a0406a51dd7e15778625060d3e5e7031 18-May-2011 Ben Komalo <benkomalo@google.com> DO NOT MERGE - Email support for 7" devices.

- use XLarge layout for Large as well in most cases.
- use XLarge portrait behavior for landscape and portrait for message
list collapsing
- some minor tweaks to account setup UI as the XLarge one didn't fit
on large devices with the padding it specified

Change-Id: I2a83e7239019b3feadcabe5fae61f0d13a628471
ctivity/ThreePaneLayout.java
ctivity/Welcome.java
ff726511459d88bcb7cbf88f6b15f52a3816f23a 18-May-2011 Todd Kennedy <toddke@google.com> Clean up shortcut picker

First some cleanup before adding new functionality.

Change-Id: I37339bb8967c2136c8361133d38c2f5ad30ae3e2
ctivity/AccountShortcutPicker.java
3909570d262d19051d99072114d4849a4bf7f300 18-May-2011 Makoto Onuki <omakoto@google.com> Merge "Changes for NO_XXX"
b36ac017926f2557f4a476d0cefe49002d11233b 17-May-2011 Makoto Onuki <omakoto@google.com> Changes for NO_XXX

- Added Message.NO_MESSAGE
- Renamed PSEUDO_ACCOUNT_ID_NONE to NO_ACCOUNT
- Removed PARENT_KEY_NONE and use NO_MAILBOX instead
- For starters, cleaned up the UI controllers to use them.

Change-Id: I6cfd87ece2fced8e9f7c76d034c4d1dbf9e4db10
otificationController.java
ctivity/ActivityHelper.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MessageFileView.java
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
18ad1651fa895dfbd79b65f2cadfe287956d789f 17-May-2011 Todd Kennedy <toddke@google.com> Merge "Fix display of POP3 mailbox"
e07ecb8864b2b77270a1fa4844d6614c93c7291b 17-May-2011 Todd Kennedy <toddke@google.com> Fix display of POP3 mailbox

When legacy support for mailboxes with a parent key of '0' was removed, the
parent key for POP3 mailboxes was not updated. This forces the parent key
for all POP3 mailboxes to be "no mailbox". If we ever want to support virtual
mailboxes for POP3 accounts, this will need to be adjusted.

Change-Id: I4ae0e386db4bcdaf559b87ca17cbe0d151dea75b
ail/store/Pop3Store.java
a30316d0dfd1eb5a03894e54ba051253c3400eae 17-May-2011 Marc Blank <mblank@google.com> Merge "Workaround bug in DPM related to initialization of our admin"
6d9d71683a067b7f2293b60f70dc60e151aa151b 17-May-2011 Marc Blank <mblank@google.com> Workaround bug in DPM related to initialization of our admin

Bug: 4436285

Change-Id: If6f0ccaa9e1479fae0dbd1853a462eaf7948ccfc
ecurityPolicy.java
7bf21c71653baa1a10d20d3acadd68240f1014d4 17-May-2011 Todd Kennedy <toddke@google.com> Merge "Fix bug where we fail to acknowledge an APPEND"
518fc490b29b58153dacfe89e481af20e6be8a06 17-May-2011 Todd Kennedy <toddke@google.com> Fix bug where we fail to acknowledge an APPEND

After appending a message to a mailbox (i.e. like appending to the 'sent'
mailbox after composing a new message), we would try to determine if the
append was successful by searching for the message. Most servers return an
APPENDUID response with the message's new UID. However, on those that don't
support APPENDUID, we need to perform a SEARCH for the message id. On one
set of these servers, the search would fail if the query string was
surrounded by parenthesis. However, another set of servers will fail if the
query string is not surroudned by parenthesis. So, we now try both ways.

Change-Id: I5a82ad241fb927e28aa5d05376568d5eac266a95
ail/store/ImapFolder.java
b522a2c16684359b1cb4a685dd8ab7938a59624d 17-May-2011 Todd Kennedy <toddke@google.com> Merge "Fix Store re-using old data"
581e3c2333deec3d57d9a18a2ed6da26ae71c8a2 17-May-2011 Todd Kennedy <toddke@google.com> Fix Store re-using old data

The key for the Store cache was not adjusting properly for account
changes (such as port changes, etc...). As such, it was possible to
get an invalid store.

Now, there's problem with leaking Account objects if the store account
changes (see bug 4440839). This is "okay" for now since account changes
are fairly uncommon and Account objects are light. However, this should
be fixed at some point.

Change-Id: I4ddcbc3e2759b7b1374d0300706373678dedec94
ontroller.java
ail/Store.java
54c91f00d7f967690a80b992062e75c40182d088 17-May-2011 Makoto Onuki <omakoto@google.com> Use IllegalArgumentException, not InvalidParameterException

Because IllegalArgumentException is the standard one.

Change-Id: Ib4d0bfa88a3d4218148a7cb248d9baa2124a72ba
ontroller.java
efreshManager.java
hrottle.java
ctivity/EmailActivity.java
ctivity/MailboxListFragment.java
ctivity/MessageFileViewFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/MoveMessageToDialog.java
ctivity/UIControllerTwoPane.java
ata/MailboxAccountLoader.java
7e1fa63d75993bdc96676954dddad075579e60a1 17-May-2011 Makoto Onuki <omakoto@google.com> Merge "Clean up fragments"
954f037d8f1e64ae88e02fe18ecf6b72b00f3daa 12-May-2011 Makoto Onuki <omakoto@google.com> Clean up fragments

Now that we don't reuse fragments and always use newInstance() to pass
arguments, there's a bunch of unnecessary things in them, such as
clearContent().

Also now MessageListFragment takes an account ID as an argument.

Bug 4346486

Change-Id: I7e05628c481ed56512c2281257239105d40ee1bc
ctivity/ActivityHelper.java
ctivity/MailboxListFragment.java
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
171c3f2273223652b9999977d530a715420c0f64 16-May-2011 Todd Kennedy <toddke@google.com> Some more re-arrangement of code

No real code changes; just moving where code / constants live. Removed
one unused method of Store.

Change-Id: Ie7532381759a568cb23601e1071c8e199b6beb07
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ebece4dbdcdfee85a410a0d00c9b6739ee3e705e 16-May-2011 Todd Kennedy <toddke@google.com> Make ImapConnect a top-level class

Split out ImapConnection to its own class. This allows us to update ImapStore
without worrying about links between it and the connection.

Also, added a bit more safety to the classes in terms of correctly freeing
resources. Whenever the connection is closed, it now releases all resources.
Additionally, if the connection is ever put back in the pool, any response
data is released.

Change-Id: Ie3bda40d677707a0d6655f57175e58dece539e19
ail/Transport.java
ail/store/ImapConnection.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/transport/MailTransport.java
4c4e4c3515c3e3300e03f90e02a0c520dc2dff32 13-May-2011 Makoto Onuki <omakoto@google.com> Clean up the method to build message list selection.

- Moved the method to EmailCommon.
- Use *_SELECTION for magic mailboxes
(meaning we now use subqueries for magic mailbox selections, rather than
building the mailbox ID list by ourselves)

Change-Id: I3ebf6af62fd912fea6faea0f75e05fc61c87af3b
ctivity/MessageOrderManager.java
ctivity/MessagesAdapter.java
idget/WidgetView.java
53ea83ebf91f820692e8fa8e781f5cc982dd94db 14-May-2011 Ben Komalo <benkomalo@google.com> Move Mailbox to top level class.

No other changes made.

Change-Id: I3d8f3c521dc0d902be313b25252b4b6a4a96e7ee
ontroller.java
olderProperties.java
egacyConversions.java
essagingController.java
otificationController.java
ctivity/AccountSelectorAdapter.java
ctivity/ActivityHelper.java
ctivity/EmailActivity.java
ctivity/MailboxFinder.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxMoveToAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MessageCompose.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ata/MailboxAccountLoader.java
ail/Store.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
rovider/EmailProvider.java
ervice/MailService.java
ervice/PopImapSyncAdapterService.java
idget/EmailWidget.java
373c3e1a5616932bf454e1670f37dfbac3ee3ba5 13-May-2011 Ben Komalo <benkomalo@google.com> Merge "Put account email as title on phone settings."
bfac9f2e8a13f6c719608a6948203bbef921c99f 13-May-2011 Makoto Onuki <omakoto@google.com> Move some of the log constants from Email to Logging

Change-Id: If9f4e4e3adcdef897a0d6a4e153bb446a8b24fdd
ontroller.java
mail.java
essagingController.java
references.java
ctivity/EmailActivity.java
ctivity/MailboxFinder.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessageFileViewFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/DebugFragment.java
ail/store/ImapFolder.java
ail/transport/MailTransport.java
ail/transport/StatusOutputStream.java
rovider/EmailProvider.java
3955f6794f23c1380749d4470b5f2264d2109adc 13-May-2011 Ben Komalo <benkomalo@google.com> Put account email as title on phone settings.

This is kind of a convoluted issue; the framework automatically sets the
breadcrumbs on multi pane settings. However, on single pane, it doesn't
pass any of that breadcrumb info on, and just uses an Intent to start
another instance of the activity with a different Fragment.
Unfortunately, nothing in the default codepath sets the title to
correspond with the breadcrumbs (as it would have been in multipane)

Change-Id: I428642771538bdec3bdaba644f7816a1250ae929
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
8c9167027fe68e57c800c8265a78c3acb556c035 13-May-2011 Ben Komalo <benkomalo@google.com> Merge "Rename AccountSettingsXL -> AccountSettings"
f1554751c77c8f7aa99a8e2c5e91d8fa210e3d70 13-May-2011 Makoto Onuki <omakoto@google.com> Merge "Clean up fragment intallation."
1fba8254c54c7f27cf3d358453b889ad8825ac5d 13-May-2011 Makoto Onuki <omakoto@google.com> Clean up fragment intallation.

Change-Id: Ia9c9d713dc921783995a8a50cc8b256b8392c1a7
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
2866284a6d4ee4b368fcaf412c540b21d457e065 13-May-2011 Ben Komalo <benkomalo@google.com> Rename AccountSettingsXL -> AccountSettings

This activity already supports phone and tablet mode.
Only renames in this change - no other change.

Change-Id: Ieca17137af45e3860812091f69cd4d9b55ddf3ec
otificationController.java
ctivity/UIControllerBase.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupBasics.java
ervice/EmailBroadcastProcessorService.java
577ddb7dd76f2f2e3d0493952d53f7ab966d10bc 13-May-2011 Todd Kennedy <toddke@google.com> Remove notifyNewMessages() service callback

Since the notification controller now operates exclusively using database
observers, there's no reason for the exchange service to call the
notifyNewMessages() service API.

Change-Id: Iaa7e2f5eae786162eab23b02b03ce6d1e8a738e9
ervice/AccountService.java
ervice/MailService.java
f4378923488abcb4422253cf2e7a9c9d244d1b96 13-May-2011 Todd Kennedy <toddke@google.com> Open message if only one message in notification

If there is only one unread&unseen message in the notification, clicking the
notification will automatically open the message view fragment. Otherwise,
the message list fragment will be opened.

Change-Id: I22778258836a36f289d71b99a6214ec82778f385
otificationController.java
76061eba142586ade8678036b179ffab2ee7a8c0 13-May-2011 Todd Kennedy <toddke@google.com> Remove SuppressWarning("unused") wherever possible

Change-Id: Ie799f02ab39a7d020af1fb98b6bac45fc0fd1298
mail.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/ThreePaneLayout.java
a830547adf85ff5032ab0c0d68a96f65909b8012 13-May-2011 Marc Blank <mblank@google.com> Merge "Add messaging exception status for "attachment not found""
5701e0a555a5c263862156c1291aa13b06850425 12-May-2011 Todd Kennedy <toddke@google.com> Suspend notifications for currently shown account

We will suspend notifications whenever we display the message list for an
account (including "combined inbox"). As soon as the message list is paused,
notifications will be resumed.

Change-Id: I481a0f59ce68f89c32210d862d0267f3f334063b
otificationController.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/UIControllerBase.java
ervice/MailService.java
b221cbc785d7c868a69a144da31756c50c0e11b4 12-May-2011 Marc Blank <mblank@google.com> Add messaging exception status for "attachment not found"

* Adding this enables 4409976 to be fixed in a user-friendly manner

Bug: 4409976
Change-Id: I4f5ce890b6957c27a0f59656467dbe23b480a7e3
ontroller.java
essagingExceptionStrings.java
ffeb7de284b81a466a9f49ba380c045576cfc557 12-May-2011 Marc Blank <mblank@google.com> Merge "Fix a race condition in which an Attachment might be wrongly deleted"
2f6cbb021cd97e2450c29b72a27236ba4ef20823 12-May-2011 Marc Blank <mblank@google.com> Fix a race condition in which an Attachment might be wrongly deleted

* This is a serious bug dating back to the first Honeycomb release
* It was possible that a newly created Message could not yet be
committed to the database when the AttachmentDownloadService
tries to download one of that message's attachments.
* ADS, when it sees that the message (apparently) doesn't
exist, deletes the Attachment (it appears to be orphaned)
* The effect is that the user never sees one of the attachments
in a message.
* This bug has been reported externally
* The fix is simply to check for the message's existence before
deciding to delete it (this check will always work properly)

Bug: 4409692

Change-Id: I106ed2fe88d2435ad7a462fced5cb307c2559fd6
ervice/AttachmentDownloadService.java
e7fb4ac9e3b098ece98d004403a89652f88bbe7a 12-May-2011 Todd Kennedy <toddke@google.com> Add account observer to NotificationController

The notification controller now observes changes to the account database and
adds or removes message observers as appropriate.

Change-Id: I1670fcfd6ce744030199b86708a6ada55b239a84
otificationController.java
ctivity/setup/AccountSettingsXL.java
rovider/EmailProvider.java
94331c96d9397ec451ae3a0a9f825cc4aca2b9d1 11-May-2011 Makoto Onuki <omakoto@google.com> Remove phone activities and implement one-pane

The primary purpose of this CL is to remove phone activities, so the
one pane implementation is very much temporary and primitive, but it
should offer minimal operations.

Change-Id: If57f81db7c605c95664d49044a5cc082beda59c0
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/AccountFolderListItem.java
ctivity/AccountsAdapter.java
ctivity/ActivityHelper.java
ctivity/EmailActivity.java
ctivity/MailboxList.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageView.java
ctivity/MessageViewBase.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/Welcome.java
dfdc8b6da3cc074c97d53a597855aeaa3f039a68 11-May-2011 Todd Kennedy <toddke@google.com> Fix NPE in NotificationController

bug: 4409317
Change-Id: I7e515ba7c4fa7114e2bf9ecf6cb473cb3506ad1c
otificationController.java
bb7787bd3d3acbe560b1b8056443b47e18ff2dd3 11-May-2011 Todd Kennedy <toddke@google.com> Merge "Create a new notification service"
71bd208ddd6f8ba5a4ac928a4e121e7ad7c21495 11-May-2011 Todd Kennedy <toddke@google.com> Create a new notification service

We can remove the preferences stuff 'cuz the service "should be" longer
living. And, even if the service is terminated (either by the user or by
the system) we'll receive a new notification when the service comes back.
This is probably desired behaviour anyway.

Change-Id: I4850a9473401536e8fb20385b780d4736ce80a8e
mail.java
otificationController.java
references.java
ervice/MailService.java
ervice/NotificationService.java
791665da6757768be8f9520c66e77c8cdff83664 11-May-2011 Marc Blank <mblank@google.com> Merge "Add plumbing for disallowing attachment download per policy"
9d9b481a85df540f8f338d28919802828a387efe 11-May-2011 Marc Blank <mblank@google.com> Add plumbing for disallowing attachment download per policy

Change-Id: I860dfb5c28933dcd4bf96c8e4bc890bff0f53c42
ttachmentInfo.java
ctivity/AttachmentInfoDialog.java
d31d64d330e1276ffdcd0fe9978b3303a38d4e95 11-May-2011 Todd Kennedy <toddke@google.com> Merge "Use observers to manage new message notifications"
5d08360a9bcb80ca8ce4b11b2664c8aba96f0c29 11-May-2011 Marc Blank <mblank@google.com> Merge "Complete rewrite of account backup/restore code"
83693a6acaffd219f65e04054bc04530e9cc132f 10-May-2011 Todd Kennedy <toddke@google.com> Use observers to manage new message notifications

We were sort of using observers to maintain the new message notifications.
However, other parts of the code would poke into the notification controller
to set things such as a list of newly added message IDs. Now, we rely
exclusively on db observers to manage notifications.

As a side effect of this, we now set the notification text correctly to be
the most recently _added_ message. This may be different than the most recently
sent message [since there may be a non-negligable delta between when the
message was sent and when it was received].

NOTE this still suffers from an outstanding bug where we continue to get
notifications when the Eamil UX is visible. That and monitoring changes to the
account table will be addressed in future CLs.

Change-Id: I4c68273716cc685574a1ca71e5d634f53fe0d882
otificationController.java
ctivity/AccountFolderList.java
ctivity/MessageListFragment.java
ctivity/setup/AccountSettingsXL.java
ervice/MailService.java
626ad1929d63b7dd0017373939a7cf6f91c98de9 10-May-2011 Ben Komalo <benkomalo@google.com> Support switching compose modes for the phone.

Not styled according to the UI quite yet, but functional

Bug: 3117253
Change-Id: I707e0254d142a54cd6e396fce63ebb00ba66048e
ctivity/MessageCompose.java
a48abd7f95010e8374852c3df1ff86aabcdfba32 10-May-2011 Todd Kennedy <toddke@google.com> Merge "Add notification table shared preference"
2f371e85537a199cfa8a489007916dab56215a6d 10-May-2011 Todd Kennedy <toddke@google.com> Add notification table shared preference

The notifiaction table will be used by the updated notification controller.
The table stores the key and the associated last notified message key and
message count.

Change-Id: I037b5374ab51620f1cffc8b41391db858cfd3a2d
references.java
1d0bf81893ef1529944d0f73822b1de3a9c22fb7 10-May-2011 Makoto Onuki <omakoto@google.com> Merge "Add 1-pane UI controller"
f5492ea991d3b296b8158f6ea0e85cdbae5941ed 09-May-2011 Makoto Onuki <omakoto@google.com> Add 1-pane UI controller

Added the base class for the UI controllers and the 1-pane implementaion,
which is almost empty at this point.

The old phone activities still exist and will be used on the phone by default.
To use the new activity (1-pane EmailActivity) on the phone, use the following
comamnd.

adb shell am start -a android.intent.action.MAIN \
-d '"content://ui.email.android.com/view/mailbox"' \
-e DEBUG_PANE_MODE 1

Change-Id: Id1fe85d4517778afc967d7d5e17e1299dd1bfefd
ctivity/EmailActivity.java
ctivity/MessageCompose.java
ctivity/UIControllerBase.java
ctivity/UIControllerOnePane.java
ctivity/UIControllerTwoPane.java
ctivity/Welcome.java
5b7e4349175918f3e407e50991de70bbbd5a618b 03-May-2011 Ben Komalo <benkomalo@google.com> Support switching between reply/replyall/forward

This introduces tab navigation on large screens with action bar (a
dropdown for the phone view is yet to be implemented, though the
internals are ready for it).

This requires the side effect that restoring a draft
reply/replyall/forward will attempt to also load the source message in
full for additional information. If that load fails for whatever reason,
the draft just remains a "compose" as it used to before.

Bug: 3117253
Change-Id: I9cff5ed4a5e9abd1338b6dbde28ceb3e4dc2b761
ctivity/MessageCompose.java
0ea4f9295abee782733fa1b74176514d8a864b45 10-May-2011 Makoto Onuki <omakoto@google.com> Merge "Remove MailboxListFragment.DEFAULT_MAILBOX_ID"
8a894f1ca052b6ca6c5d8cac73fc0f3332f7ec48 10-May-2011 Makoto Onuki <omakoto@google.com> Remove MailboxListFragment.DEFAULT_MAILBOX_ID

Now that we supports nested folders on IMAP too, it's not needed.

Change-Id: I80a6d6b59444132762d56ae6e03a5de69863ab8d
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
c0491ed1952633103732ae90bb26cf533304bcc3 09-May-2011 Makoto Onuki <omakoto@google.com> Add UiUtilities.getViewOrNull()

They're variants of getView() that will *not* crash even if the view
doesn't exist.

I didn't add them before as they would be exactly same as findViewbyId(),
but now that we make use of generics they'll be handy.

Change-Id: Ib649e591a987183064c7e98afe0e2414d9e62280
ctivity/UiUtilities.java
0993190cafebc107bd27a26996b5d63d4a4ede10 06-May-2011 Marc Blank <mblank@google.com> Complete rewrite of account backup/restore code

* Use EmailProvider to backup/restore into a backup database
* Remove all of the old AccountBackupRestore code
* Get rid of the legacy Account class and all of the Preferences
crap that referenced it
* Remove corresponding tests

Change-Id: I2de75aafdacc87246174303961e58547303f641e
ccount.java
ccountBackupRestore.java
ontroller.java
egacyConversions.java
references.java
ctivity/Welcome.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOutgoingFragment.java
rovider/AccountBackupRestore.java
rovider/EmailProvider.java
ervice/AccountService.java
ervice/MailService.java
c0042a22789be42db3db2b741b61e616bcb3a45a 09-May-2011 Makoto Onuki <omakoto@google.com> Merge "Extract action bar related code"
ae993bda32746f9e9170d5d212a2a66b01d4ddf8 07-May-2011 Todd Kennedy <toddke@google.com> Merge "Add lastSeenMessageKey column to the mailbox table"
a9ac20b96f8d2e2e97fb2878afb9df4795024450 06-May-2011 Todd Kennedy <toddke@google.com> Add lastSeenMessageKey column to the mailbox table

The last seen message key is the id of the last message that we've "seen" for
that mailbox

Change-Id: I197f8a191654225ada1ce553cc959db775809c88
ctivity/MailboxListFragment.java
rovider/EmailProvider.java
d594cc6120cc61d0315edb6c685629ea5b969b42 06-May-2011 Ben Komalo <benkomalo@google.com> Merge "Re-work the way MessageCompose handles attachments"
8d042850fb4257ca879f4d0c60e366b92a4c8422 06-May-2011 Ben Komalo <benkomalo@google.com> Re-work the way MessageCompose handles attachments

Now attachments are actually stored in an explicit list, instead of
being inferred from the state of the UI. This makes it possible to
switch states and restore attachments, and test.

Change-Id: I8c5f80f17f8c9e78d880ac4a1ac6ae22c2ec0579
ctivity/MessageCompose.java
bf30f94c2e47a2f3340362060365809bf9258260 06-May-2011 Todd Kennedy <toddke@google.com> Add operation and id to notification URI

In order to provide a bit more granularity for content observers, we add the
operation (e.g. "insert", "remove" or "update") as well as the id of the row
that has changed (if it's known).

Change-Id: I214d3c030872f888cde1a2db9b6b46f1bb121b7a
rovider/EmailProvider.java
ad71b358c639b3dc24b5047338af6f6b6b211f65 05-May-2011 Makoto Onuki <omakoto@google.com> Extract action bar related code

...so that we can easily reuse it for the one pane UI controller.

The one pane controller should eventually have its own action bar
controller, but we can use it for the time beeing, until we get
more detailed UI spec.

Change-Id: I10c92963350dad9eb834fd7474c597aedad5eb80
ctivity/ActionBarController.java
ctivity/EmailActivity.java
ctivity/UIControllerTwoPane.java
c60fc093b424e63f8cad0537523d0fce918664ab 06-May-2011 Todd Kennedy <toddke@google.com> Merge "Remove notification if messages seen off device"
c01b66dcf4af3527a8e3f5eb8e7af840ff9b4a5c 05-May-2011 Ben Komalo <benkomalo@google.com> Merge "Fix NPE on startup."
c4cdb11d24c19428dd39f986b00c1a29e75e1505 03-May-2011 Todd Kennedy <toddke@google.com> Remove notification if messages seen off device

If we receive new messages, we may display a notification to the user. If
those same messages are read elsewhere (i.e. via a web client), we will
remove the notification.

Change-Id: Iba09afe01942e0deaac8210fd6f9b315b1c8c93f
ontroller.java
ontrollerResultUiThreadWrapper.java
roupMessagingListener.java
essagingController.java
essagingListener.java
otificationController.java
efreshManager.java
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/EmailActivity.java
ctivity/MailboxList.java
ail/Store.java
ail/StoreSynchronizer.java
ail/store/ExchangeStore.java
rovider/EmailProvider.java
ervice/AccountService.java
ervice/MailService.java
c96cd4a8483798dc16010b0e7b9b3e95e3361615 05-May-2011 Marc Blank <mblank@google.com> Merge "Add new policies to Policy and associated data structures"
f91a03f5203bb64ae0726596d65ac90c35088666 05-May-2011 Marc Blank <mblank@google.com> Add new policies to Policy and associated data structures

* Update Policy unit test

Change-Id: I24a980537a73e40fca9fceb1b6ad6b2feaa9c342
rovider/EmailProvider.java
ea56ccf6ddbbcd6cbbc000822328f2fad1d3ff98 05-May-2011 Ben Komalo <benkomalo@google.com> Fix NPE on startup.

There is no invariant in the controller that the fragments it references
are non-null, so querying the fragment for state is not always valid.

Change-Id: I880053be4000260b03b54ed8741e646b01314e0d
ctivity/UIControllerTwoPane.java
075feb45562429cb8c7e19b43dc91e9778afeb24 04-May-2011 Todd Kennedy <toddke@google.com> Implement new nested folder mocks

Change-Id: I7c0c1d41b7a40d83e1237ba31d5f7949945c7e1e
ctivity/EmailActivity.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxesAdapter.java
ctivity/UIControllerTwoPane.java
f456fa88bc65457d1263554de3b567e89a326da5 05-May-2011 Makoto Onuki <omakoto@google.com> Merge "Remove clearContent and other stuff for reusing fragments"
38847b78fa67b041d3cc82791fcfbc1191b74b11 04-May-2011 Makoto Onuki <omakoto@google.com> Remove clearContent and other stuff for reusing fragments

from Mailbox/MessageListFragment.

This fixes some issues with screen rotation.

(We still reuse MessageViewFragement for the phone, but this should eventually
be cleaned up too.)

Also removed obsolete comments/TODOs.

Bug 4341517

Change-Id: Ib3e713ccab023151c1c47d7d7e4cd1c0de74039d
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
171e2eed21779332fa8d63085342c69c86321449 05-May-2011 Makoto Onuki <omakoto@google.com> Merge "Revive the list footer for the message list"
335a724ee68a0a36acec75299503b2eaf4ac97d5 04-May-2011 Marc Blank <mblank@google.com> Implement "automatic" sync lookback (Email side)

* Update sync window options to include "Automatic" and "All"
* Make the default (for new accounts) "Automatic"

Change-Id: Icbc696f55abcfad79e66079ebb414ca50778dcaa
ctivity/setup/AccountSetupOptions.java
c6beaaea590564860b7a61c30c4091dbc66959d1 05-May-2011 Ben Komalo <benkomalo@google.com> Update MessageComposetests with latest refactors

Change-Id: I7ab1275f4f4a803588619952f55fd81520036526
ctivity/MessageCompose.java
c7c0b6791ca84ca5008603b50a0cb44f9a59db2c 04-May-2011 Ben Komalo <benkomalo@google.com> Refactor MessageCompose.

This is a lot of code moves to make the asynchronous loading process
more explicit in nature:

- separate out code path for state restoration and intent resolving (no
need to over-write mAction now)
- separate out code path for draft loading and source message
loading
- fixes an issue where loading a message accidentally set the draft
message instead of the source message
- makes it possible to switch reply/replyall/forward since now
processing a source message doesn't do crazy things

Bug: 4375775
Change-Id: I5b3a7ac9ed031abe88f9358df9cd46408dd1e9f9
ctivity/MessageCompose.java
4452b15e2e4e0b14b77558561cb3182c01e49b32 04-May-2011 Makoto Onuki <omakoto@google.com> Revive the list footer for the message list

It was accidentally removed in Ia67e7f3e.

Change-Id: I071ad25e699a96d09017609dc4463c24d0d4eab3
ctivity/MessageListFragment.java
5a29aa63b2aaa5f5ddcfca40af3c6c0e036454c9 04-May-2011 Marc Blank <mblank@google.com> Merge "Remove scalpel left in patient"
647007c31b080d992ebdcb2409e3bc14b0c2646f 04-May-2011 Marc Blank <mblank@google.com> Remove scalpel left in patient

Change-Id: Iea55718a815cf3eafdd2b506637c96aeac8e7cb2
rovider/EmailProvider.java
bea743dc34ede0ed28683cf8e45b092d0eab0746 03-May-2011 Ben Komalo <benkomalo@google.com> Merge "Cleanups to how "save draft" state is handled."
2f9cbdb37dc1d755318dbd5c2089741f6df94114 03-May-2011 Ben Komalo <benkomalo@google.com> Cleanups to how "save draft" state is handled.

- the options menu was being needlessly invalidated way too often (on
every text change)

Change-Id: I36e6363fdecb7f587dc322a1413d074070ed8a36
ctivity/MessageCompose.java
55db7c098f1e5c8fb21e849245a5c15a4c20a789 03-May-2011 Marc Blank <mblank@google.com> Merge "Rework of security policy storage"
aeee10e57ef4d931e7708fde218d590453a82aea 28-Apr-2011 Marc Blank <mblank@google.com> Rework of security policy storage

* Replace crazy (and soon to be "full") bit fields stored in an account's
securityFlags with a row in a newly created Policy table (thus, fully
expandable)
* Update code from database version 17 to 18; adds Policy table, a
policyKey row in Account, and a revised trigger that deletes Policy
information for deleted Accounts
* Update old PolicySet unit tests to work against the new Policy class
* Add test for the conversion of securityFlags to Policy
* Tested in a variety of scenarios; appears to be functionally equivalent

Change-Id: I1505ee75230d6a0d3c2b62a46326f39c2c7f9eb5
ccountBackupRestore.java
ontroller.java
egacyConversions.java
ecurityPolicy.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/SetupData.java
rovider/EmailProvider.java
ervice/PolicyService.java
0bb7f1c37c99beb2a91bd98e64fcc9656877e034 02-May-2011 Ben Komalo <benkomalo@google.com> Fixes to MessageCompose saving.

- "save draft" no longer closes the message
- ensure consistent state if there are successive saves
- misc changes to the way a message is loaded if there is a pending save

Bug: 3072398
Change-Id: I9cd01319772293e4d410020ab27603821a95ec9f
ctivity/MessageCompose.java
6cd012b92d5af3eed2e3c5347ab8f672294d99d2 29-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Remove dead code"
bd2ab000b5c9714413b916531a1ed1fd8a10f31d 29-Apr-2011 Todd Kennedy <toddke@google.com> Remove dead code

Want to get this in before I start making other changes for notifications

Change-Id: I6da6ad798d125938eac1247d16a036f05c698e43
essagingController.java
ec84dad879ca647a55c489d166f28f1bc2d87c67 29-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Genericize UiUtilities.getView"
256652050c8c047d1879621805f028454e83b677 29-Apr-2011 Ben Komalo <benkomalo@google.com> Genericize UiUtilities.getView

Change-Id: I7142d4a57170e3074dc896149bf95ed6d2677bdd
ctivity/MessageCompose.java
ctivity/UiUtilities.java
688f5355e37f0d7a694695ef88acc509ed74277f 29-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Expose cc/attachment actions on UI directly"
6d75ae39f0274651249150588789dfaa60a7077c 29-Apr-2011 Ben Komalo <benkomalo@google.com> Expose cc/attachment actions on UI directly

This is a simple change to move +cc/bcc and +attachment action buttons
from the options menu to the visible UI (like honeycomb).

No attempt was made at styling the actual fields yet.

Change-Id: Ia1de8dbcf5e9ec9f7d3be3787cab657a2df72d70
ctivity/MessageCompose.java
fe15959c20a1901e957331d85a849897df8ee4bb 28-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Fix refresh animation"
166b90a2f2d958d60891edc09e1984b43d167deb 28-Apr-2011 Makoto Onuki <omakoto@google.com> Fix refresh animation

Bug 4355229

Change-Id: Idfbc46f03f9cd753811179df760633db52c6f09c
ctivity/EmailActivity.java
ctivity/UIControllerTwoPane.java
958b15e8f30fd4e9eae1b05d48cb9a817326be6d 28-Apr-2011 Todd Kennedy <toddke@google.com> basic code cleanup of the notification controller

* javadoc methods
* rename some methods
* remove duplicate code; now new message and other account notifications
are created with the same code

Change-Id: Iecf70494b6407a9a73380de103390a59d006191b
otificationController.java
ctivity/ContactStatusLoader.java
8112732376d4cc033ee515a6531852ef42266929 28-Apr-2011 Makoto Onuki <omakoto@google.com> Move more UI stuff from activity to the UI controller

- Now all the UI stuff is owned by the UI controller
- Except temporary UI (exchange search and per-mailbox-settings)
- Except error banner
This should be moved too eventually, but I consider it as a low-priority.
I'll leave it as-is for the time being.
- Moved RefreshTask too. The spec for refresh has dependency to the UI.
(i.e. implicit refresh of the mailbox list may not be necessary for
the phone.)

Also renamed the main activity to EmailActivity.

Change-Id: I00585856bdacf69aa4e104178a5cf7352ff6d592
ctivity/AccountSelectorAdapter.java
ctivity/ActivityHelper.java
ctivity/EmailActivity.java
ctivity/MessageListXL.java
ctivity/UIControllerTwoPane.java
ctivity/Welcome.java
13c7595bb985c32aa4335b091f7b1b1931fd1871 28-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Removed "global loader ids""
0f7f2be0b1efec7b87f6b8c1a9c65665e631d464 28-Apr-2011 Makoto Onuki <omakoto@google.com> Remove unused class ProgressListener

Looks like it's very old code (no history in git) and not used anywhere.

Change-Id: I39d450d8d1fe56ad6722668c8841edaa074c9b4d
ctivity/ProgressListener.java
fdca4a6a5788999c45f0edf1d51e651636c2176f 28-Apr-2011 Makoto Onuki <omakoto@google.com> Removed "global loader ids"

I don't know what I was thinking when I added them to ActivityHelper,
but DialogFragments have their own loader managers (because they're
really fragments), so loader IDs in it won't conflict with anything.

This class used to use (mistakenly) host activity's laoder manager,
which was probably the reason for my confusion.

Change-Id: I7cd4d08b77ce8ea74fbf13b3273692da791ed23e
ctivity/ActivityHelper.java
ctivity/MoveMessageToDialog.java
e5b7f27fdd264b1c3bd68f42180ca867095b2ca7 28-Apr-2011 Makoto Onuki <omakoto@google.com> Fix combined view crash

Bug 4351392

Change-Id: I839d66a13df949f469afa7f10138026f6b463ad6
ctivity/MessagesAdapter.java
6ea2c7c4a7a3af95ed4cd9d907459e621e63efcd 27-Apr-2011 Makoto Onuki <omakoto@google.com> fix the build

It's a redo of changes made to MessageListXLFragmentManager on If4048d45.

It's a gerrit bug -- if you rename a file which has been changed in another CL,
gerrit allows you to submit it without rebasing it.

Change-Id: I1a9741befd1a4c2e74ce7afffca976b98e82a357
ctivity/UIControllerTwoPane.java
8b6e443cdd231a615e01931970e25bd5ecb79493 27-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Merged activity: move UI from activity to UIController"
aee368d205679a9b29f9955a48a8f413e42833fc 26-Apr-2011 Makoto Onuki <omakoto@google.com> Merged activity: move UI from activity to UIController

- Renamed XLFragmentManager to UIControllerTwoPane
- Moved UI code from the activity to UIControllerTwoPane
- Bunch of clean-ups (Mostly renames to make things self-descriptive)
- Removed unused class MessageListFragment.State
- Fix bug 4341563

Change-Id: Ia2230bd5ec501fbc5c92b07b2ba874153b577a39
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/UIControllerTwoPane.java
567442bcf810ece69410a8945b224215c317cb17 27-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Fix "move to" dialog."
4e033e0ac79d85bc8df8e52bdfc8b1fc9ad29f3e 26-Apr-2011 Makoto Onuki <omakoto@google.com> Fix "move to" dialog.

- Now we always use a fragment as a callback, rather than assuming the parent
activity implements it.
- Use a generics trick to make sure the callback fragments really implements
Callback.
(Might be abuse of a language feature, but it's at least safer than runtime
check...)

Bug 4314669
Bug 4345496

Change-Id: If4048d456b298784097e202cffab170177ac7b2d
ctivity/MessageListFragment.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
ctivity/MoveMessageToDialog.java
e87ff6c3cbbfc5e3636f9827b58820652e3ea1c5 27-Apr-2011 Todd Kennedy <toddke@google.com> Opportunistic cleanup

not making any real code changes:
* removed deprecated, unused methods
* remove 'throws' clauses when that exception is never thrown
* renamed method Controller#moveMessage()-->moveMessages()

Change-Id: Ifd006f760f0c19283e94a11a45c71295c8da35f7
ontroller.java
xchangeUtils.java
ctivity/ActivityHelper.java
ctivity/MailboxListFragment.java
ail/Store.java
ail/Transport.java
ail/store/ImapFolder.java
ail/store/Pop3Store.java
ail/transport/MailTransport.java
f66058581ca637a474e4a5d08cb45d583a4ccd9d 27-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Vary move-to dialog contents by account type"
98c0f45e602f23c51398723ce3fd424d0012eee6 27-Apr-2011 Todd Kennedy <toddke@google.com> Vary move-to dialog contents by account type

For EAS accounts, we use the displayName column to populate the dialog. For all
other accounts, we use the serverId column. This means we will continue to not
have a fully-qualified pathname in the move-to dialog for EAS accounts.

Change-Id: I6dda89e037b0910180bee93a5bc091d65d2614b0
ctivity/MailboxMoveToAdapter.java
4bca41784667865ef96a86f19154a704a2ce4155 27-Apr-2011 Marc Blank <mblank@google.com> Merge "Expose unsupported policies in the UI (account setup)"
019341af98ffe2dcd484bd0468c9858d9e7cd7a3 26-Apr-2011 Todd Kennedy <toddke@google.com> Set mailbox flags for message contents

For IMAP, it's possible for a mailbox to exist on the server, but, to be
unselectable. Previously, these folders were never added to the folder list.
However, with nested folder support, we need to have these folders in the
UX so the user can get to its sub-folders (which may be selectable).

Change-Id: I11135fafbb14b40660983804fb86bd223e180d5e
essagingController.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxMoveToAdapter.java
ctivity/MessagesAdapter.java
ail/Store.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
265530723b8c008f6bc23b1723f4de706a3e9556 26-Apr-2011 Marc Blank <mblank@google.com> Expose unsupported policies in the UI (account setup)

Change-Id: I75b650af92c87bd990009e54072ac4b58ed0895b
ctivity/setup/AccountCheckSettingsFragment.java
79b97da58cc4aa047fb14ab9a601f2034e9229ba 26-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Fix phone UI."
3de5fd026dc702d2cafc55b0a61039d4f582d932 26-Apr-2011 Makoto Onuki <omakoto@google.com> Fix phone UI.

Bug 4339904

Change-Id: I343e4a9a77ee7baeff7c9dc1222dad2701efb0df
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
27cf8b5ffe589eff05e1baf5c703a93f48787d48 26-Apr-2011 Todd Kennedy <toddke@google.com> Display full pathname in move-to dialog

With the recent changes to hierarchical folders, the move-to dialog is
quite unusable if you have multiple child folders with the same name.
While waiting for UX to decide on the exact display, make a few quick
changes to display the fully-qualified pathname instead of just the
child folder name.

Change-Id: Id5c1cc98364fbf7a82a05ac30e944507c7d16320
ctivity/MailboxMoveToAdapter.java
ctivity/MoveMessageToDialog.java
1f1a056c6d4fa3d602784ca7adc96005e34c752f 26-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Add hierarchical folders to IMAP"
0bea177b95447caea1fde1f7551a7995cd4be04d 26-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Create new mailbox fragment for nested folder navigation"
e62770d979d6fcd553e8447d45ec2024cdcdcde9 21-Apr-2011 Makoto Onuki <omakoto@google.com> Create new mailbox fragment for nested folder navigation

Create a new instance of the mailbox list fragment when navigating through
nested folders. (drill-in / going back to the root mailboxes.)

Also the fragment manager now has two public methdos for navigation that
are called by the activity. They will be the common interface for
the tablet UI manager (i.e. MessageListXLFragmentManager) and the
phone UI manager.
- openAccount(accountId)
Open the default view for the account. Used when switching accounts.
- open(long accountId, long mailboxId, long messageId)
Opne a particular view. Used when, for example, opening a message from the
widget.

Known issue:
- This breaks drag&drop through nested folder navigation.
This is because a new mailbox list fragment created during D&D doesn't
get the "drag started" event.

Change-Id: I69c14b71b4f681f8ab57f3ddd2cff9744a832076
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
22208771b7b39c5d131372ba6bc45ab23cc22232 23-Apr-2011 Todd Kennedy <toddke@google.com> Add hierarchical folders to IMAP

We now create folder hierarcies for IMAP. This also includes a nifty SQL
statement that will get your existing database into shape.

Change-Id: If07a0632e9b250cf0c33c3e16bfba5816beab94c
ontroller.java
essagingController.java
ail/Store.java
ail/store/ImapFolder.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
rovider/EmailProvider.java
1611d0baed730df920b0685d3031a4bc98c6f225 25-Apr-2011 Ben Komalo <benkomalo@google.com> Make ImapStore tests use mocks where possible

Change-Id: I2a1d5e7d3cc3b105a24a5fc29772bcd4a0308ad3
endorPolicyLoader.java
ail/store/ImapStore.java
8dc402b28a5d97a6fd3ad81fcc98b4150e51f643 25-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Fix some unit tests"
d9cf94632f53bbde14596ac48f0fb8818808a0b4 23-Apr-2011 Ben Komalo <benkomalo@google.com> Fix some unit tests

- some proguard flags were stale
- some deprecated methods were legitimately stripped - kill the tests
for them

Bug: 4330508
Change-Id: I6d5c46c99d002895377f32b203844e9a6dcf0074
ail/Transport.java
ail/transport/MailTransport.java
cbb2abc80ed6584d587baba51b2ecdb11861e714 23-Apr-2011 Marc Blank <mblank@google.com> Fix problem w/ ExchangeSender instantiation

Bug: 4334119
Change-Id: Ic900d08a3826754d2807ca84cbb9b8f2f4e28fc3
ail/transport/ExchangeSender.java
a6e6b9969ac247908f4f87be464452fe2aed790b 22-Apr-2011 Ben Komalo <benkomalo@google.com> Don't rely on Activity to set the context for ops

The Fragment can get detached from the activity prior to performing an
operation, so for now, use the context reference that the fragment has
instead.

In the long run, we should avoid referencing the application context,
but a restructuring of ActivityHelper may help instead.

Bug: 4332451
Change-Id: Ieabff8ec0cc363f7d2eebd3ed47c230df9959886
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
23b441a5c8ea58ce34e2abd8fa29e07df9b5bc0e 22-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Loosen up type requirements for contexts"
7735d548e89e1383ed40782b55db7f68d00831e4 22-Apr-2011 Ben Komalo <benkomalo@google.com> Loosen up type requirements for contexts

A context is sufficient for most operations ActivityHelper does

Change-Id: I2706b2b579210257d0ee6ace6277aa53e84dc52e
ctivity/ActivityHelper.java
d2fd1252d504fa61db9eb8362442cf20f1198e0f 22-Apr-2011 Marc Blank <mblank@google.com> Add status code(s) for disabled sync (needed for EAS 14.0)

Change-Id: Ie65141c4d83412274dbbc39dffed7c3be394bb84
ontroller.java
essagingExceptionStrings.java
ctivity/setup/AccountCheckSettingsFragment.java
51ea22b0d3de0f5a46370e2a423b0fd03bad96f7 21-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Fix apk attachments so they can be installed"
9fec3d778f81a1984b3ac106dc3dd218f40e2e1c 21-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Make sure to exit CAB when MessageListView ."
7155c49f357144885ef062549f2a370e75657123 21-Apr-2011 Todd Kennedy <toddke@google.com> Use Account objects instead of URI for exchange

No need to use URIs when we have the Account object.

bug: 4322402
Change-Id: I06e8a5b43063446fa41f7e81eb3638b2570abe5c
ail/Store.java
ail/store/ExchangeStore.java
fe001abe795390fa78820fac6f84b2be5ed31a70 21-Apr-2011 Makoto Onuki <omakoto@google.com> Make sure to exit CAB when MessageListView .

Change-Id: Ie6c5ec26ceff700ee00c6fbb3af4cbe23c498db4
ctivity/MessageListFragment.java
e36648697f242991a8df0fdc6b23330f7be5e331 20-Apr-2011 Ben Komalo <benkomalo@google.com> Fix apk attachments so they can be installed

This introduces an in-memory cache of file paths for an attachment so
that we can install from a filepath instead of a content URI.
The cache also allows us to prevent duplicated files made if the user
hits save multiple times (the save button is disabled).

Bug: 3338997
Change-Id: I56651a55eef2f1a3f24b6d936c37736c4fc3d295
ttachmentInfo.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
rovider/AttachmentProvider.java
200c6bd9fa19b78acc2c1664f858521aa9885353 21-Apr-2011 Todd Kennedy <toddke@google.com> Simplify mailbox synchronization logic

The logic is simplified by creating database rows for new mailboxes down
in Imapstore. This means that the difference between local and remote folder
lists are mailboxes that need to be deleted.

Note -- this is still not the final CL. We probably update the database too
frequently and the column values aren't updated to support nested folders.

Change-Id: Ifbe4e0cf74ba81e5b6156b452ab72c56c35235ab
essagingController.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
33cfddf1fabf5976fc247edad1e1271d9687c430 21-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Merged activity step1: Use FragmentTransaction (tablet)"
38a33bd28fae9eb3226c90d3225b812ca23856f0 19-Apr-2011 Makoto Onuki <omakoto@google.com> Merged activity step1: Use FragmentTransaction (tablet)

Change-Id: Ia67e7f3e0658cb962d328c10affe11ccb5a165ea
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageFileViewFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/ThreePaneLayout.java
daf869cf60de75bc91ed3aef6ac0bff1fe371733 20-Apr-2011 Todd Kennedy <toddke@google.com> Use an Account object to create a mail sender

Instead of boiling the account down to an unusable URI, just pass along
the Account object.

Change-Id: Ida408912de29734c8f4ed9cdf09a4d633dd03002
essagingController.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
ail/Sender.java
ail/transport/SmtpSender.java
031527a03ef16ed914c8a0ad9ec498c513397237 20-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Use Account instead of URI to create transports"
a50fc99b0c433f0cde31ba1c7ab87fb9ea86345d 19-Apr-2011 Todd Kennedy <toddke@google.com> Use Account instead of URI to create transports

There's no need to create a URI just to rip in appart again. Additionally, to
support additional changes (i.e. to use Mailbox instead of Folder in the
MessageController), we need to store the actual Account.

NOTE -- This change only affects IMAP and POP3. SMTP will come in a follow-on CL

Change-Id: I400036a17271c99272fd9c603547dcd713b50b9d
ontroller.java
essagingController.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
ail/Store.java
ail/Transport.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
8f84cae3c3a44f5268f05673876f7954c257d854 19-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Re-work the layout computation for MessageListItem"
8b2109f047d8b50edbb677a822f6ee34df8d17b8 15-Apr-2011 Ben Komalo <benkomalo@google.com> Re-work the layout computation for MessageListItem

This now uses an XML layout that gets inflated and computed after a
layout pass. The drawing simply uses the coordinates stored after the
layout.

This makes it a lot easier to maintain the different views and allows us
to simply provide different XML files for different modes/views, isntead
of trying to hand tweak Java layout code.

Some TODOs - clean up the "paints" and optimize the layout/drawing
computation

Change-Id: I784919f726bd4d80aba8744a8f047fcfe79ad93a
ctivity/MessageListItem.java
ctivity/MessageListItemCoordinates.java
ba7652cda04d428ae7959f8bf6cbc6efe028bfce 19-Apr-2011 Todd Kennedy <toddke@google.com> Make ImapFolder a top-level class

No code changes; just moving the class

Change-Id: I4e4544d99d52dde85b96c99ef45da3a96e7d3d48
ail/store/ImapFolder.java
ail/store/ImapStore.java
36990d46cf231dae0c194523f2c21eb04abce343 18-Apr-2011 Ben Komalo <benkomalo@google.com> Fixup auto advance policy handling.

The phone code has gone stale and ignored auto advance policies - this
fixes it, though that code is likely to get merged anyways.

Makes it so that auto-advancing to the end of the list pops back out to
the message list

Bug: 4302999
Change-Id: I609747c0a19672b8aa56d2c0ab57533823899e47
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
cfbf1eb66d39e5560e42b36537e1970abc16296d 15-Apr-2011 Todd Kennedy <toddke@google.com> Clean up drag-and-drop

Basic refactoring of the drag-and-drop logic to make it a bit cleaner

Change-Id: I0e59074710be00bd285f637e92f554c8ee47fabf
ctivity/MailboxListFragment.java
d1b1404d765fa36b281de3a2df1589bf11c28c04 15-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Implement drag-n-drop with nested folders"
6c3cd4e2477eb1c7d1e107b3ea352639f1102933 15-Apr-2011 Todd Kennedy <toddke@google.com> Implement drag-n-drop with nested folders

We can now drill down into nested folders during drag-n-drop. Simply hover over
a collapsed folder for 750ms and it will auto-expand.

Change-Id: Ia9b42dd87e19c2ebdf8675c761cb1453bb26d158
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxesAdapter.java
8a05da7c8c5d5c499c1307cdfe8dee821960ef81 15-Apr-2011 Ben Komalo <benkomalo@google.com> Remove uneeded layer of parcelling.

ListStateSaver did nothing more than hold a Parcelable, and was a
Parcelable itself. The abstraction may have been useful at some point,
but that time seems to have passed.

Change-Id: I2f1f45828782ab44aa8935aa50b825e07845a2a5
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
28b3fec5c19129c2f3e2e8f047fc9fc17bcaa9db 14-Apr-2011 Ben Komalo <benkomalo@google.com> Include guava in Email.

- adds a compile time dependency to the guava library
- changes to use @VisibleForTesting in places to ensure it works

Change-Id: I2c5c4f9861234fec3613da011185e5c11f228466
ctivity/MessageCompose.java
7219fccc42e6bfe8fe7978953b626f842174e628 14-Apr-2011 Todd Kennedy <toddke@google.com> Always display subfolder icon in the same view

We were handling the subfolder icon strangely. Sometimes it was shown in the
folder_icon view and sometimes in the folder_expanded_icon view. Now the
folder_icon view is used exclusively for system folders (such as inbox, etc...)
and folder_expanded_icon is always used for the expanded/collapsed icon.

Change-Id: Ifff9a44cc792497a469c2408337dafd431f6dfc3
olderProperties.java
ctivity/MailboxFragmentAdapter.java
5b84c8d9d0bab50b349753511f5b2120c30e50b0 14-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Apply auto-advance policy when doing a batch op."
52618afa81eb47b9efd4b199b4ae2abbbab3402b 13-Apr-2011 Ben Komalo <benkomalo@google.com> Apply auto-advance policy when doing a batch op.

Batch operations that occur when the current message selection is
contained within the affected messages will now force the selection to
advance according to the auto advance policy to the next unselected
conversation.

Bug: 3409809
Bug: 3405864
Change-Id: Ibe75f32b9263ef6f3fb2314a07e63980f437f988
references.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXLFragmentManager.java
2071bde957a2ec0d976f075997300ffbfdc70f59 14-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Minor fix to error dialog formatting."
5a2d7da136f2f0519dabacfe9b5a5e224f8be5e8 14-Apr-2011 Ben Komalo <benkomalo@google.com> Minor fix to error dialog formatting.

Bug: 3515558
Change-Id: Id4d88379dc68c114338fdd2d4d437a2defb94ba4
ctivity/setup/AccountCheckSettingsFragment.java
a8ba5e76dcc1596a356c08d0757814f4700e3cf5 13-Apr-2011 Todd Kennedy <toddke@google.com> Merge "only allow navigating to mailboxes w/ children"
f7036b737907f06df1a06507754b28596cf8225e 12-Apr-2011 Todd Kennedy <toddke@google.com> only allow navigating to mailboxes w/ children

If a mailbox doesn't have any sub-mailboxes, only allow selecting them to view
any contained messages. Do not update the mailbox list.

Change-Id: I6f469bf20a57dc440885402084c21ff184f13dff
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxesAdapter.java
6336a5231e684cb4f0e5ecf42221cba4a36d465b 13-Apr-2011 Ben Komalo <benkomalo@google.com> Remove a layer of public methods that weren't used

Change-Id: Iba88634db2a687ce72f6875e0b499f79c219ca8f
ctivity/MessageListFragment.java
1d1b7a070aeff88883d6db5b91e3ed1a68a17209 13-Apr-2011 Ben Komalo <benkomalo@google.com> Merge "Add signature when starting from external intents."
ce99dd8cd167b0d96a0d651b8573eedaa06d9f00 13-Apr-2011 Todd Kennedy <toddke@google.com> Add comment to package-private members & methods

Change-Id: I9bb641d44253635f8dacc5dfecde55eac8d72c59
ctivity/MailboxesAdapter.java
0fb68c8f0c7fdfd2571291c7b1d3fefab23fa73e 12-Apr-2011 Ben Komalo <benkomalo@google.com> Add signature when starting from external intents.

Also update some of the tests.

Bug: 3122070
Change-Id: Ia0e4620f54279dc53ca1c4484fec6508c411b418
ctivity/MessageCompose.java
2b82c3f0a37ff1e09a21481fabfe4960006b8d83 12-Apr-2011 Todd Kennedy <toddke@google.com> Add columns to cursor to allow for proper layout

The layout requires different indentation. Although the exact layout may
change, we will likely always need to differentiate between the different
mailbox types.

Change-Id: Ia2ff84b552873f92fa45563b2dc0868c29bec3e3
olderProperties.java
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxesAdapter.java
57dc03aceccd0b72242aebc1f6c6d03ce880810a 13-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Add current nested folder to list"
0efbee2bd0b28b8695bf53bdd3ba2f0986b729c9 12-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Fix bug that prevents from accepting 2 invites in a row."
5dceaa5b5ec6006aced6dfe37a718ea376decf53 12-Apr-2011 Makoto Onuki <omakoto@google.com> Fix bug that prevents from accepting 2 invites in a row.

mPreviousMeetingResponse is tied to the current response state, so it
should be reset too when we clear the response checkboxes.

Bug 4132763

Change-Id: If816706f47f8500441330882fb4f372b31465ff5
ctivity/MessageViewFragment.java
7f139f14b97898e897d8326e14909b4c05e4d0cd 12-Apr-2011 Todd Kennedy <toddke@google.com> Add current nested folder to list

When selecting a nested folder, the currently selected folder should be listed
along with "All Folders" and sub-folders

Change-Id: I7c6f726a0355a13d3e7b59aa4707bd92473283b4
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxMoveToAdapter.java
ctivity/MailboxesAdapter.java
7dc1e86d91148fb79c380eacf734813ee8828299 12-Apr-2011 Ben Komalo <benkomalo@google.com> Less aggressive selection change in msg content.

All focus changes to the message body content was pushing the selection
to the end, which is wrong if state restoration happens, and is just
non-standard behavior if the user explicitly taps on a particular spot
on the text view. Make this slightly less aggressive.

Misc other changes in compose view.

Bug: 3076256
Change-Id: I9edb9c3c4edb5ddec12207f4136f3ca73cabf89d
ontroller.java
ctivity/MessageCompose.java
2577842269f035856b877eb990567c7a32e81252 08-Apr-2011 Ben Komalo <benkomalo@google.com> Misc fixes and dead code removal.

Change-Id: I48b2fa5f7bf619197d882c71e8b174d31d130e26
ttachmentInfo.java
essagingController.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessagesAdapter.java
cd5da3c44533b2f860e4acfe70fe4e2f37f0e6dc 08-Apr-2011 Marc Blank <mblank@google.com> Remember to clear query in MessagesAdapter if we're not searching

Change-Id: I3b16f080c66f6ce025e41a7c459aa3cb94dbecd0
ctivity/MessageListFragment.java
18d3b3de1eb0b9bf31d63e36225dbdda544ec9f3 08-Apr-2011 Marc Blank <mblank@google.com> Merge "Improve temporary mailbox settings UI"
f047c7cfd175ea4bf11f5c612791425885ca9904 08-Apr-2011 Marc Blank <mblank@google.com> Improve temporary mailbox settings UI

* Start dialogs with current setting selected
* Add Cancel/OK buttons

Change-Id: Ia3d28eec558a8af8d3826b70cb313b68a5efc533
ctivity/MessageListXL.java
7af1ad3b583b6dea84889aa74ad7c327e7ca9b36 08-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These havent been working since before 1.0.

Change-Id: Iea671dc01ff45f1009f6fbb22cf7259e0fc1d4f1
ail/store/Pop3Store.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
df3133bf3d632e919fb20659a255bebe07c3b558 08-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Always use the same loader id"
983a624549d22c7fd694f7b66f4f3ccae587de8b 07-Apr-2011 Marc Blank <mblank@google.com> Merge "Temporary UI for setting mailbox sync frequency/lookback"
d4a1500ae9cc5f9920805a8269c539d8dca1053a 07-Apr-2011 Marc Blank <mblank@google.com> Temporary UI for setting mailbox sync frequency/lookback

* Just in MessageListXL for now, as with search
* This allows us to test functionality within EAS, and confirm that
it's all working w/ unbundled Exchange (API 1)

Change-Id: I4f062ae871a28d2b57a23a269d6ec65903181d26
ctivity/MessageListXL.java
5965b23909d498920c9830c3eb8341d0e0e5edce 07-Apr-2011 Todd Kennedy <toddke@google.com> Always use the same loader id

There's no need to use a different loader ID for each mailbox. Just use
one loader ID to keep things simple.

Change-Id: I46cf0a9ad48c8e0badf72ee73e2d5edadda66912
ctivity/MailboxListFragment.java
c5ea3f522ac835907ec48e117e7918802950d595 07-Apr-2011 Todd Kennedy <toddke@google.com> Using the wrong selection for Exchange accounts

Exchange accounts support nested folders, so, we need to use the selection
that excludes any mailboxes with IDs greater than 0. Otherwise, we see all
mailboxes on the account.

Change-Id: If8c2085458176e8bd87013e3b598bd7740c652b2
ctivity/MailboxFragmentAdapter.java
007d0be4eddad21776ba45db5186bb8a9157504c 07-Apr-2011 Todd Kennedy <toddke@google.com> First pass at nested folder support

currently only really works for exchange accounts. legacy accounts (imap
or pop) do not build a folder heirarchy.

Change-Id: Idb7c622b64a599a0776233a076359869f4ab4a4f
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageListXLFragmentManager.java
fc0f42d6dc22f848d2bade9125f2036127b4eada 07-Apr-2011 Marc Blank <mblank@google.com> Merge "Temporary search UI"
78684ccc795c0d5211dfc04a834cb452dccb1058 31-Mar-2011 Marc Blank <mblank@google.com> Temporary search UI

Change-Id: Ia138ca93f0b28fd0915aa79c965f752f7c08ee90
ontroller.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessageListXL.java
ctivity/MessagesAdapter.java
96332096cae2b35a299c2466ddff75465a42b3d8 06-Apr-2011 Makoto Onuki <omakoto@google.com> Fix message view for phone

- All layouts are still temporary, but at least they're usable now.
- Removed reply/forward button from the bottom panel.
There're buttons in the layout.
- Switched to getView().
- removed the unnecessary LinearLayout from the xlarge layout.
- removed some backgrounds that'll probably not be used.

Change-Id: I3aa27c63ab139ae30e5714ac3d9a1eadce74b0e8
ctivity/MessageView.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
e553c6ec0beafbb85f471e2880f6d4447cd7c413 05-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Store UUIDs in account shortcuts, rather than IDs."
0b6cb1c3307b10929fca7dc09125a128fc330a19 04-Apr-2011 Makoto Onuki <omakoto@google.com> Store UUIDs in account shortcuts, rather than IDs.

Bug 4192836

Change-Id: I1d6349ed3ad70867f113b9a9f7eb8717b88b24c1
ctivity/AccountShortcutPicker.java
ctivity/IntentUtilities.java
ctivity/Welcome.java
3d1bb65eecc507466203a881397dc9c25334509b 04-Apr-2011 Marc Blank <mblank@google.com> Merge "Add searchMessages command to EmailService"
c60b8d0529168edecf2376a6f421a0ae1e10fe29 31-Mar-2011 Marc Blank <mblank@google.com> Add searchMessages command to EmailService

* Also, document service methods in EmailServiceProxy

Change-Id: I46cc68c8c2aa870ea82474c70d944640bb66b0ef
ontroller.java
xchangeUtils.java
22f06c371b32d0e570d9df999391cab9783474ec 04-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Define roles for fragment manager and activity"
bd5933d4a1bfe8ee98c226840d72a1f945553fbf 04-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Clean up MessageCompose for phone"
449b4d106fcd02eda1b746838d19ed23d7fbaeb8 04-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "Changed text color for phone"
2d76cca19a2fe698cc826bd6050fb27bfe5be717 01-Apr-2011 Todd Kennedy <toddke@google.com> Define roles for fragment manager and activity

The roles between MessageListXLFragmentManager and MessageListXL was confusing
and not well defined. Now, the activity (MessageListXL) is responsible for
managing the application "chrome" (such as the action bar) and
MessageListXLFragmentManager is responsible for managing the content area.

Change-Id: I9a36d962bae5263f17fc7dccf133a6711229821c
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ae5806ab3a2e5ac426a2e22af8b6eecb447c706d 04-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Update method parameters"
2d380e45047e1e3928acbdc6e848842d94e36ccb 02-Apr-2011 Makoto Onuki <omakoto@google.com> Clean up MessageCompose for phone

- +cc/bcc and "add attachment" are now menu options.
- layout clean up
- switch to getView()

Change-Id: I5efb6d0fd7b6d1265fed0173463adce2c6d652ba
ctivity/MessageCompose.java
c33054f9e4cf2a864f44001ab885d8f7d52c43b1 01-Apr-2011 Todd Kennedy <toddke@google.com> Merge "use non-deprecated async task method"
ef844d86f1e51d2b5b0ffcc59dcd605d6acc6ef5 01-Apr-2011 Todd Kennedy <toddke@google.com> Update method parameters

Only pass along the things we need. For the message dialog, we were passing
in an Activity that was not needed. In the ActivityHelper, we were passing
in an Activity when all we needed was a Context.

Change-Id: I9a93ae07ff2bbdce9466c7e991410c87fb610673
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MoveMessageToDialog.java
ad7dc464db6421d3cda62204124dedaefb0f035d 01-Apr-2011 Todd Kennedy <toddke@google.com> update mailbox adapter callback

the callback method name was not appropriate in all situations. This has been
renamed to just "onBind()" and will still be invoked whenever data is bound to
the adapter. also, create an empty callback that can be used if the adapter
doesn't need to be informed when a bind occurs.

Change-Id: Ifaa4aea3a59734557651270330ca9439e3ea4ab4
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MoveMessageToDialog.java
629b93d67d85fa52cc144b463087bfb7aa58371b 01-Apr-2011 Todd Kennedy <toddke@google.com> use non-deprecated async task method

Change-Id: I7c798542b478c0d3817bb3dde243da402d4236c4
ctivity/ActivityHelper.java
b9ca15982b7120d25b501cad5289e3dd47a8e8fd 01-Apr-2011 Todd Kennedy <toddke@google.com> Merge "Create separate adapters for mailbox lists"
18f98261a43002e22f1954d7163ea823571c3fd0 01-Apr-2011 Makoto Onuki <omakoto@google.com> Changed text color for phone

... assuming we're going to use the holo light on the phone as well.

Now the text on MailboxList is clearly visible.

Also updated/added some comments.

Change-Id: I280db2b82cbd1627c78a305dd31bbf1b1bb34d1d
ctivity/MailboxList.java
a10c709873867662e02e6081698f9cfb2beb9a1a 01-Apr-2011 Makoto Onuki <omakoto@google.com> Merge "MessageList rework for phone."
74bf57cfafde4095ee67985255cfaa8b1453115e 31-Mar-2011 Todd Kennedy <toddke@google.com> Create separate adapters for mailbox lists

There are currently two places where we use a mailbox list -- in the main
view and in the "move to" dialog. We've replaced the single, modally
configured adapter with two specialized subclasses.

Change-Id: I5dfd5ccd435fefbab4b7647c2bd7a14818f73bf3
ctivity/MailboxFragmentAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxMoveToAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MoveMessageToDialog.java
acef8061ffe0b08583320c19ee4e87e18ea57772 31-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "More use of EmailAsyncTask"
26cfb38042e5686bd19ba4b1a0188bbc352c36d3 31-Mar-2011 Makoto Onuki <omakoto@google.com> MessageList rework for phone.

Change-Id: I1cc86c0282f0f3cbe9b78ed97ab3fb8f8d1e7c0f
ctivity/ActivityHelper.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
5e4f1c38724927d7d41713e9e9ff073041d92d73 29-Mar-2011 Todd Kennedy <toddke@google.com> Allow globals in the providers.xml

There are two ways globals can be specified. There can be only one global
character ['*'] and/or multiple wildcard characters ['?']. The global
will match zero or more characters. The wildcard will match any character.

bug 4090086

Change-Id: I07e3edebd1fe989094c68cf047ce5bc9fb91aba0
ctivity/setup/AccountSettingsUtils.java
44f45f4221f5cd681ac3e9596cedb4f0536a1751 31-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Don't use findViewById (part 1 -- account setup)"
af6079c823d045bb14abb601cc9c7fd48261313f 29-Mar-2011 Makoto Onuki <omakoto@google.com> More use of EmailAsyncTask

... for Welcome and EmailWidget. So that now it's safe for onDestroy()
to be called while a task is running. (onDestroy cancels it.)

Change-Id: I660b471465170e1d1d0ce153571fb924ae703d7d
ctivity/Welcome.java
idget/EmailWidget.java
aaec6a9a2b3f0a1b1de11ad28f9fc8f45e558784 30-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Disallow editing username after account creation"
2fbb3db5d86210d03175ce77ff08c989a96c5864 28-Mar-2011 Makoto Onuki <omakoto@google.com> Don't use findViewById (part 1 -- account setup)

Added two new functions:
- UiUtilities.getView()
is a fail-fast version of findViewById(). Crashes when there's no view
- setVisibilitySafe()
same as View.setVisibility, but doesn't crash even if a view doesn't exist

Let's try to avoid the use of findViewById(), and instead use getView(), *right
after* the layout is inflated, so that we'll always fail-fast if a layout
doesn't have a required view. (Rather than getting a NPE only when the view
is really accessed, which can be in a code path which is rarely executed--e.g.
only when there's a protocol error.)

Let's only use findViewById() only when we're sure no all the variants of a
layout have the view in question and leave a comment to make it clear it's on
purpose.

(UiUtilities has been moved from com.android.email to
com.android.email.activity)

Change-Id: I36e0bab65a989f5d34cf636f13e1eaee084547af
iUtilities.java
ctivity/AccountSelectorAdapter.java
ctivity/MessageCompose.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragmentBase.java
ctivity/UiUtilities.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/DebugFragment.java
idget/EmailWidget.java
206109cf44e27e90e4a5208daa289704aa451198 30-Mar-2011 Todd Kennedy <toddke@google.com> Disallow editing username after account creation

After the account is created, don't allow editing the user name. We want to
prevent this as the user name is core to the account and changing the user
name is tantamount to creating a new account.

bug 3502279

Change-Id: I1d89710fd48aca67ba13abea5bdbdc1d87941618
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
e369f2772ce1bd524e5a024bed3f7dcb642702e7 30-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Allow globals in the providers.xml"
08534762bdded437a7fa0e5e422d311c414e0621 29-Mar-2011 Todd Kennedy <toddke@google.com> Allow globals in the providers.xml

We now allow a single global character ['*'] to be specified somewhere in
the domain attribute. Additionally, we will replace the string "$domain"
with the matched domain in all attributes -- user name, password and URIs.

bug 4090086

Change-Id: I46a637ed364c1a079e1230fa22393a1bac059b1f
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
9e53322ee7b2a46cb762898845303cccec88fb50 29-Mar-2011 Makoto Onuki <omakoto@google.com> First path of MessageList cleaning up

- Menu now works
- Removed a lot of unnecessary/soon-to-be-unnecessary code.
Especially,
- multi-selection panel is now replaced with CAB
- SetTitleTask will be replaced with a loader
- Removed the option menu xml for magic mailboxes
(The regular one should work for them as well)

Bug 4184142

Change-Id: I52adff6d711232d536b6f00367a240e1faeea14b
ctivity/MessageList.java
99930f81f1b7f1d5b769be958b3d1efe0aeef3fc 25-Mar-2011 Todd Kennedy <toddke@google.com> Don't load from the network until specified

We were always loading from the network for HTML messages. Now we don't
load from the network until the user clicks the "display images" button.

Change-Id: I4cdfea5e5338f3bba70b3d04df6551516d3e1a85
ctivity/MessageViewFragmentBase.java
d31238ca881354938b9d923819da3c63ffb4ac12 22-Mar-2011 Todd Kennedy <toddke@google.com> Add support to query for message IDs

If an IMAP server supports the UIDPLUS capability, it can return the new UID
as part of the response to the "UID COPY" command. However, if the server does
not support UIDPLUS, we perform a SEARCH to try to determine the new message
UID.

This is the second of a couple modifications.

bug 4092301

Change-Id: I1f548b63becfec8733cb8ba9a3fe6ff4be6fdd83
essagingController.java
ail/store/ImapStore.java
1e3a5f3ab1a066d3f600b7d4cad22e9eed47e92b 24-Mar-2011 Todd Kennedy <toddke@google.com> Don't load from the network until specified

We were always loading from the network for HTML messages. Now we don't
load from the network until the user clicks the "display images" button.

Change-Id: I1838b6cb09d49a2b521baa12a80239107391534f
ctivity/MessageViewFragmentBase.java
9f0283dbd7810953b0c795bcba7359fb7cd1f1ce 23-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Better fix for the PendingIntent issue."
284d8d7db5743d24b9aa246afe3d24139bdb0813 23-Mar-2011 Todd Kennedy <toddke@google.com> Add support for UIDPLUS capability

When copying messages between mailboxes using standard IMAP, we must perform
a QUERY or FETCH in order to determine the new message UID. However, if the
server supports the UIDPLUS capability, the server will return the new UID
as part of the response to the "UID COPY" command.

This is the first of a couple modifications. We still need to fallback to a
less efficient QUERY/FETCH if the server does not support UIDPLUS.

bug 4092301

Change-Id: I9279f7fd70daf85adba3b3e202c12d67ddf91f22
essagingController.java
ail/store/ImapStore.java
ail/store/imap/ImapConstants.java
ail/store/imap/ImapResponse.java
ail/store/imap/ImapUtility.java
308ce9284793b597797994dfb1fb25155cbe0b20 22-Mar-2011 Makoto Onuki <omakoto@google.com> Better fix for the PendingIntent issue.

Refactor the changes introduced in Ib02842bb.

- Now Welcome and AccountSettingsXL accept intents with URLs of the following
style, and get IDs from query params, rather than extras.

Welcome:
content://ui.email.android.com/view/mailbox?ACCOUNT_ID=1&MAILBOX_ID=2&MESSAGE_ID=3

AccountSettingsXL:
content://ui.email.android.com/settings?ACCOUNT_ID=1

- Now the "new message" and "login failed" notifications use these new style
intents, so the system wouldn't merge PendingIntents for different accounts.

Also:
- Moved all notification creation logic to NotificationController.
(Except the one in CalendarSyncEnabler; which is used only to support
upgrading from pre-froyo and I don't think it's worth refactoring.)

- Note the "password expired/expiring" and "security needed" notifications
aren't changed; they still use extras to store account IDs. This is okay
because these notifications are not per-account.

Bug 4065269

Change-Id: I70737438d2e7c45fd7488a5b0a7105c8568e02f7
otificationController.java
ecurityPolicy.java
ctivity/IntentUtilities.java
ctivity/MessageListXL.java
ctivity/Welcome.java
ctivity/setup/AccountSettingsXL.java
ae72ec88ce0fce4d36aba95be3f4ff7b059577b7 22-Mar-2011 Makoto Onuki <omakoto@google.com> Compose: Set focus to the To field by default

We initialize the focus with setNewMessageFocus(), but it's only called
from processSourceMessage() (for EDIT_DRAFT) initFromIntent() (for other
actions, except for "new draft"). We didn't intialize the focus for new
drafts. Let's just get the To field to get the focus by default to
cover this case.

Bug 4048238

Change-Id: I50cd69b8813198c96beab2025576d390520dc6a4
ctivity/MessageCompose.java
ca64197427c2fc6095a96344cac4d0a8ff400815 22-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Improve EmailAsyncTask"
d72f7bdf114a21db6aac66a7e83d6b002c8e8ed5 21-Mar-2011 Makoto Onuki <omakoto@google.com> Improve EmailAsyncTask

Added 6 methods:
- execute{Parallel,Serial}
- cancelPreviousAndExecute{Parallel,Serial}
- runAsyncParallel{Parallel,Serial} (replacement for Utility.runAsync)

Bug 4083415

Change-Id: I5ca33000e52fc5265ccc84a6e5acb0d3359d0eb4
ctivity/AccountShortcutPicker.java
ctivity/MessageCompose.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageViewFragmentBase.java
a3bc8a2a9f069337f8f996139491c6273a9cd52d 22-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Don't sync messages moved from the sent folder"
9134916c3921b514cf905fd2fddb26e686d0fee4 22-Mar-2011 Todd Kennedy <toddke@google.com> Make method forceLoadSettings() private

Change-Id: Idc36fa205046d19f9a6a9c92c10a9a6f637f1663
ctivity/setup/AccountSetupExchangeFragment.java
c17e9ce85f98d143e950b63aa9e5fd57d31dcbe5 22-Mar-2011 Todd Kennedy <toddke@google.com> Don't sync messages moved from the sent folder

Modified location of the test to processUploadMessage() method. We do this to
prevent creating multiple EmailContent.Message objects.

bug 4096266

Change-Id: Id83d3703283c0cd89a60c6210976093d39fb6934
essagingController.java
5a5044287494db2f26e680b36187714838bc82bf 16-Mar-2011 Todd Kennedy <toddke@google.com> Reload server settings after auto discover

There is an optimization to prevent re-loading server settings if they've
arlready been loaded once. However, in certain circumstances (e.g., server
setting auto discover), we want to be able to reload the server settings.

bug 4091290

Change-Id: I03c47a7fe3b45d1c581401ac891895a00315d45b
ctivity/setup/AccountSetupExchangeFragment.java
dece5050c2b7004623ab9e38eaa7b75257fe15e8 17-Mar-2011 Todd Kennedy <toddke@google.com> Don't sync messages moved from the sent folder

When processing message updates, we handle messages in the "sent" folder
specially. We continue to do that. However, we must also check that the
given message is still in the "sent" folder.

bug 4096266

Change-Id: Iaa47512fad287e63d8216b755a761b52b324cfff
essagingController.java
b959d9b9b2f1af8cf9a6726192e764b79f8d905a 16-Mar-2011 Andy Stadler <stadler@google.com> am 22759bac: Handle complex chars policy correctly

* commit '22759bacd95385d95d3d9321f490763df1aba89d':
Handle complex chars policy correctly
22759bacd95385d95d3d9321f490763df1aba89d 16-Mar-2011 Andy Stadler <stadler@google.com> Handle complex chars policy correctly

* We needed to set DevicePolicyMnager.PASSWORD_QUALITY_COMPLEX
* Setting this, we also need to clear some of the defaults for complex
mode that are not correct for Exchange's definition of "complex".
* Unit tests

Bug: 4092218
Change-Id: Iea7bd05d48f1aa9406222c1db5937cfd7f2662b8
ecurityPolicy.java
033d911dce6b2a5f762d71b78e24a3fa8d569b87 16-Mar-2011 Andy Stadler <stadler@google.com> am 714b2f2d: Merge "Reduce chance of crash when dismissing dialogs asynchronously" into honeycomb-mr1

* commit '714b2f2da36d750eb4acbf505398a44b93546322':
Reduce chance of crash when dismissing dialogs asynchronously
a685d3b0191f472de9902b3d5590fc3e8408400c 15-Mar-2011 Andy Stadler <stadler@google.com> Reduce chance of crash when dismissing dialogs asynchronously

* Caught & diagnosed by crash while checking settings
* Also possible in MoveMessageToDialog

Bug: 3412875
Change-Id: Ie78c61cf5ca10ce1eedc25ba2eb97ed0ac5bc615
ctivity/MoveMessageToDialog.java
ctivity/setup/AccountCheckSettingsFragment.java
ee6686043a2ac735c5fc22b90ea412c33824b0e9 11-Mar-2011 Andy Stadler <stadler@google.com> am 0820e008: Merge "Fix race condition NPE caught by monkey" into honeycomb-mr1

* commit '0820e00841aca88e70a88a25e891c156fa578088':
Fix race condition NPE caught by monkey
5f830f8608eaea6a512a97983b124fd13836a59f 10-Mar-2011 Andy Stadler <stadler@google.com> Fix race condition NPE caught by monkey

Bug: 4080321
Change-Id: Ia6ef0a47f87ffdc96269a95cc3bc5564d2e98440
ctivity/setup/AccountCheckSettingsFragment.java
d43ebd7804ae90e75c8f17000ebb59215a4210eb 10-Mar-2011 Todd Kennedy <toddke@google.com> am 19829ef7: Merge "Fix NPE when trying to open attachments" into honeycomb-mr1

* commit '19829ef7edfe1a72a88e0ba57f3ce6c57d9ae8f6':
Fix NPE when trying to open attachments
f94fdfd4b54a9ab610efcb21950a745abaf1bcbd 10-Mar-2011 Todd Kennedy <toddke@google.com> am d135ac61: Merge "Update attachment buttons after loading attachment" into honeycomb-mr1

* commit 'd135ac61ee22c81509c71273b2d053fc36ea210a':
Update attachment buttons after loading attachment
19829ef7edfe1a72a88e0ba57f3ce6c57d9ae8f6 10-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Fix NPE when trying to open attachments" into honeycomb-mr1
074cc5869def8b91f1799af862b075579593cb60 10-Mar-2011 Todd Kennedy <toddke@google.com> Update attachment buttons after loading attachment

We would update the attachment buttons if the UI was becoming visible (i.e.
coming back from a settings page), but, we weren't updating them after the
attachment finished loading.

bug 4074694

Change-Id: I9d235620b5a92c2bbb871f70c9d97350cc151ce8
ctivity/MessageViewFragmentBase.java
edd1c9ac7e92da3ca5459f4c7c3154b98ff68eac 10-Mar-2011 Todd Kennedy <toddke@google.com> Fix NPE when trying to open attachments

The attachment info may be null when we attempt to mark them for downloading.
Add a null-check before we try to dereference the info structure.

bug 4053184

Change-Id: I831e3abd100664c92f7af585014a03250e40ff64
ontroller.java
225a3ea0b699fdc0d7404f4ef46dbcc102b307fc 10-Mar-2011 Marc Blank <mblank@google.com> am 70e99aa9: Merge "Fix download of non-smart-forwarded attachments" into honeycomb-mr1

* commit '70e99aa97f027f9a7dd19e28f978258025f7d9ed':
Fix download of non-smart-forwarded attachments
180b6bdaac367840111b7333600d9ad347dc9d75 10-Mar-2011 Marc Blank <mblank@google.com> am 0af709c2: Merge "Make sure services are started when Email application starts" into honeycomb-mr1

* commit '0af709c2c5f953d8f519af8672c01473d7eed2a3':
Make sure services are started when Email application starts
4af17a654b4951f5789a5fa437d6c0b140aca05b 10-Mar-2011 Marc Blank <mblank@google.com> am e233fe31: Merge "Only allow prefetch when on a WiFi network" into honeycomb-mr1

* commit 'e233fe315b5fdc5050ea4e3428856a5370567062':
Only allow prefetch when on a WiFi network
70e99aa97f027f9a7dd19e28f978258025f7d9ed 10-Mar-2011 Marc Blank <mblank@google.com> Merge "Fix download of non-smart-forwarded attachments" into honeycomb-mr1
0af709c2c5f953d8f519af8672c01473d7eed2a3 10-Mar-2011 Marc Blank <mblank@google.com> Merge "Make sure services are started when Email application starts" into honeycomb-mr1
2a47caef7d39ba975bf9a0fe3eacec04ccbe371c 10-Mar-2011 Makoto Onuki <omakoto@google.com> am 553037ba: Merge "Fix NPE in NotificationController" into honeycomb-mr1

* commit '553037ba4ecfc72d68743eff223e16fb9511d7c1':
Fix NPE in NotificationController
e233fe315b5fdc5050ea4e3428856a5370567062 10-Mar-2011 Marc Blank <mblank@google.com> Merge "Only allow prefetch when on a WiFi network" into honeycomb-mr1
27372998d64e2c4eb20b93b3f1023f42a7f0fd76 10-Mar-2011 Makoto Onuki <omakoto@google.com> am dd6e6b85: Fix bug 3509555 make notification always open right account

* commit 'dd6e6b850462fd8617a73dd40b5e7d32f0aaf5ed':
Fix bug 3509555 make notification always open right account
553037ba4ecfc72d68743eff223e16fb9511d7c1 10-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Fix NPE in NotificationController" into honeycomb-mr1
43c455eb266125a8e09a98e38d7639a865f52d42 08-Mar-2011 Makoto Onuki <omakoto@google.com> Fix NPE in NotificationController

This would happen when a message has no from addresses.

Bug 4027170

Change-Id: I1da091a6a55b274805ee6b3e109cbeb55a21fae1
otificationController.java
308ecfcc7e609a3156ec1b79d47bfc61feac243e 09-Mar-2011 Marc Blank <mblank@google.com> Fix download of non-smart-forwarded attachments

Bug: 3506114
Change-Id: Id3166402b0922eb1774ff484de249391fcc5e17c
ctivity/MessageCompose.java
dd6e6b850462fd8617a73dd40b5e7d32f0aaf5ed 09-Mar-2011 Makoto Onuki <omakoto@google.com> Fix bug 3509555 make notification always open right account

The problem was that:
- Each account now has own new message notification
- But PendingIntens for these all point to the same activity,
only with different long extras (for acount IDs).
- Framework merges these intents, because extras don't count
as a "difference" in this case.
- So when multiple new message notifications are shown, they'll
all share the same intent internally, so they'll all open the
same account.

A quick workaround seems to be to set a unique URI to each intents.

Bug 3509555

Change-Id: Ib02842bb32634cfdf01ae2d684dd04dfede23832
otificationController.java
88b502c70a273d161f4d46c72dc79298703514f1 09-Mar-2011 Marc Blank <mblank@google.com> Make sure services are started when Email application starts

Bug: 4020337
Change-Id: I6c645800c75a4f1b80c5c3d081c4292b6db81f57
mail.java
0c149eef417cf3e43d8504fb17f89fc33508348a 08-Mar-2011 Todd Kennedy <toddke@google.com> am ccc0e10b: Merge "Only delete attachments from drafts" into honeycomb-mr1

* commit 'ccc0e10bc7b62e38aa0c329e69941bcda9b338e4':
Only delete attachments from drafts
ccc0e10bc7b62e38aa0c329e69941bcda9b338e4 08-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Only delete attachments from drafts" into honeycomb-mr1
665b1801471c4393f1a0e85c5f1206580b902eaa 08-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Make ACTION_SEND_MULTIPLE work with file: URI" into honeycomb-mr1
a94804c49e964ffa3139c655376b9b1dc2b33a36 08-Mar-2011 Todd Kennedy <toddke@google.com> Only delete attachments from drafts

We should only be deleting attachments from draft messages and not all
messages.

bug 3489176

Change-Id: Ia1bd2894f3aabc1bfbfb36e2f5c486b47d6edf4f
ctivity/MessageCompose.java
9106c9d245725f1b812ed3de263a6e0cfe02598e 08-Mar-2011 Todd Kennedy <toddke@google.com> am f42d5c62: Implement UI tweaks

* commit 'f42d5c6234bfb26f63a711fd59076964283fb7f0':
Implement UI tweaks
973702b30e8c2fb2f622f4ef37b42b3bdbd3ef17 08-Mar-2011 Marc Blank <mblank@google.com> Only allow prefetch when on a WiFi network

Bug: 3515125

Change-Id: I0814ea20b1fc73807667e7f9531c1ea065bfa803
ttachmentInfo.java
mailConnectivityManager.java
ervice/AttachmentDownloadService.java
f42d5c6234bfb26f63a711fd59076964283fb7f0 08-Mar-2011 Todd Kennedy <toddke@google.com> Implement UI tweaks

* Correct allignment of mailbox label
* Sender info & presence alignment fixed
* Header height corrected
* Sender header updated; new asset for background & remove the "fold" asset
* New asset icon and allignment for "show pictures"
* Selected rows have updated background; new assets
* New asset for checked items
* Update divider to be 2px high
* Update selected background for wide message list

bug 3510984

Change-Id: I028ed5619ea7127b0392d9f5b7b00c575b00f3c6
ctivity/MessageListItem.java
58d570ca8a707726533b57ae37d564821bbb5007 07-Mar-2011 Vasu Nori <vnori@google.com> am 9ab40a58: Merge "bug:3513950 a trivial change due to renaming of api in downloadmanager" into honeycomb-mr1

* commit '9ab40a58b64b8f2cc78241b0ca0b9064d172729e':
bug:3513950 a trivial change due to renaming of api in downloadmanager
d43438ee5bce0920d3f032b7a71925b0cb1569f8 07-Mar-2011 Vasu Nori <vnori@google.com> bug:3513950 a trivial change due to renaming of api in downloadmanager

Change-Id: I5f8cd86fc97afa32e4a07ee2b6ab77d3270856be
ctivity/MessageViewFragmentBase.java
7a159387636507de95b9b0c052ab593d0e91c433 07-Mar-2011 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Make ACTION_SEND_MULTIPLE work with file: URI

To determine mime-types of attachments from the ACTION_SEND and _MULTIPLE intents,
- Use ContentResolver.getType() for content: URIs
- Use inferMimeType() for file: URIs

Tested with Gallary and Downloads.

Bug 3510624

Backport of Ibfa4b383463f157e18fd634e55f5be4b9adf6aa5

Change-Id: Id2815738673f3822a97e92414b84f6a5d46eb96f
ctivity/MessageCompose.java
92cbc9369ba7dc80ebd7190bf99b99e9c43b8f66 04-Mar-2011 Makoto Onuki <omakoto@google.com> Make ACTION_SEND_MULTIPLE work with file: URI

To determine mime-types of attachments from the ACTION_SEND and _MULTIPLE intents,
- Use ContentResolver.getType() for content: URIs
- Use inferMimeType() for file: URIs

Tested with Gallary and Downloads.

Bug 3510624

Change-Id: Ibfa4b383463f157e18fd634e55f5be4b9adf6aa5
ctivity/MessageCompose.java
ab8caebec6e6b4398a02abe6cb1305c424bea734 04-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Fix ANR: Run getPreviewIcon on bg thread" into honeycomb-mr1
d8bce7e73155dca734f45502e52c0039de4c9663 04-Mar-2011 Todd Kennedy <toddke@google.com> DO NOT MERGE Add original HTML message to forward/reply

When replying or fowarding an HTML message, we now send both plain text and
HTML bodies as a multi-part mime message. We take special care to ensure the
message bodies are in their own multi-part block and do not interfere with
any additional attachments to the message.

bug 3060920

Backport-Of: I2fc3cb4e1f65bcc28486a62731b44b0ee0a99719

Change-Id: I89ec2795b55ceb7472a8ee3db2dc8f50cf537d9c
ctivity/MessageCompose.java
7d513c791a9ceb36b0e0a8fdabeb4a962e11d576 04-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Attach original HTML message on forward/reply"
ef2bc0b3e9f1fde01fe625906d0fa9b803a30471 03-Mar-2011 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Fix ANR: Run getPreviewIcon on bg thread

The new class EmailAsyncTask might look overkill, but
this is what I've been wanting for long time.
In many activities we store all AsyncTasks we start to member fields
so that we can cancel them in onDestroy(). (e.g.
MessageViewFragmentBase.mLoadMessageTask and mReloadMessageTask)
With EmailAsyncTask these fields will no longer be necessary.
We'll be able to just fire up as many AsyncTasks as we want, and clean them
up in onDestroy() with just cancellAllInterrupt().

Bug 3480136

Backport of Id8aa1ba1500eee58cfab8b562b95e9ed852b3e29

Change-Id: I2d2966ff878862a5246c031d1d4e221da5a7e81a
ctivity/MessageViewFragmentBase.java
ba125ab5ac747bb382dc8fe986dd8f0ed72ca596 03-Mar-2011 Makoto Onuki <omakoto@google.com> Fix ANR: Run getPreviewIcon on bg thread

The new class EmailAsyncTask might look overkill, but
this is what I've been wanting for long time.
In many activities we store all AsyncTasks we start to member fields
so that we can cancel them in onDestroy(). (e.g.
MessageViewFragmentBase.mLoadMessageTask and mReloadMessageTask)
With EmailAsyncTask these fields will no longer be necessary.
We'll be able to just fire up as many AsyncTasks as we want, and clean them
up in onDestroy() with just cancellAllInterrupt().

Bug 3480136

Change-Id: Id8aa1ba1500eee58cfab8b562b95e9ed852b3e29
ctivity/MessageViewFragmentBase.java
9cc51b72c6902b95f65857af64eb38063aa4a42b 01-Mar-2011 Todd Kennedy <toddke@google.com> Attach original HTML message on forward/reply

When replying or fowarding an HTML message, we now send both plain text and
HTML bodies as a multi-part mime message. We take special care to ensure the
message bodies are in their own multi-part block and do not interfere with
any additional attachments to the message.

bug 3060920

Change-Id: I2fc3cb4e1f65bcc28486a62731b44b0ee0a99719
ctivity/MessageCompose.java
45e161bb5e2ff1d0980dba84073c41543744f1e6 03-Mar-2011 Andy Stadler <stadler@google.com> Merge "Enable SD card encryption policy when emulated"
ace01c0fb12d87e4bfa1724608717753ea26453f 03-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Compose: Fix bug where attachments can't be removed"
7fd14be80447de15bd5360321fa80e34f60fa251 03-Mar-2011 Andy Stadler <stadler@google.com> Enable SD card encryption policy when emulated

* This is is a minimal implementation that only supports the external
encryption policy when there is no physical/removable storage, and
the emulated external storage is located within an encrypted backing
store.

Bug: 3351426
Change-Id: Id96e9277f810beeebf816a914acd3d733eb713ea
ecurityPolicy.java
45d50a1ccffff5dd256a139497ac900f0eb5276b 02-Mar-2011 Andy Stadler <stadler@google.com> Don't send ID command to *.secureserver.net

Fixes connection failures with GoDaddy IMAP.

Bug: 3497713
Change-Id: I327d9b24598d7dead2d1b74f4e37d1e5885822a6
ail/store/ImapStore.java
a54d8bb4eebc8bd0fce6de5bc4cc2d2c190eeb80 03-Mar-2011 Makoto Onuki <omakoto@google.com> Compose: Fix bug where attachments can't be removed

If the account supports smart-forward. The old code assumed
attachments are not removable if the account supports smart-forward,
which is not true. Locally-added attachments should still be removable.

Bug 3505684

Change-Id: Ie6703551800c617dd224957a098311f0c279b3f1
ctivity/MessageCompose.java
ee82e34a28ec87fe17a79873fc4e32de79423761 02-Mar-2011 Makoto Onuki <omakoto@google.com> Fix ANR/crash when you open & close a large EML

The problem was:
- MessageFileViewFragment.clearContent (A) is called in onDestroy
- MessageFileViewFragment.openMessageSync (B) is called in a bg thread
to load an eml file
- And both try to hold the same lock. (mLock)
- If EML is large enough, B takes _seconds_. If you press back during this,
onDestroy gets blocked trying to lock mLock.
- This could also cause a crash, because the task that runs openMessageSync
won't get cancelled in this case, because that's done in clearContent.
Because of this, the task's onPostExecute tries to touch a UI element
when the fragment is actually being destroyed.

The lock was introduced to protect mFileEmailUri, only to keep the same
semantics for openMessage() as MessageViewFragment. i.e. openMessage can be
called multiple times for the same instance of the fragment.

However, in practice, this won't happen. Unlike the regular message view,
we never reuse MessageFileViewFragment. MessageFileViewFragment instances
are created per message. This lock was just reminiscence from the early
developmen stage.

So, fix is simple -- just remove the lock.

Bug 3500487

Change-Id: If2b22a683666de535454bb1293563796fa7acfd7
ctivity/MessageFileViewFragment.java
19b2a7ebc9cc770baace1605ff5b44b3fcb46320 02-Mar-2011 Makoto Onuki <omakoto@google.com> New debug setting to enable strict mode logging.

For now it only enables it for the main process. I've added a flag
to EmailServiceProxy for EAS, but it's not used in the exchange side.

Bug 3500292

Change-Id: I5b27c69fe7cc995a430e9def54b2463076032c78
mail.java
references.java
ctivity/setup/DebugFragment.java
833bf485a8714de6c15c04172d78c4f93ef755a4 02-Mar-2011 Marc Blank <mblank@google.com> Merge "Fix typo and comment"
25ab2df296d524671616831122f9a3c59132ae51 02-Mar-2011 Marc Blank <mblank@google.com> Fix typo and comment

Change-Id: Iffc69baf98c05a09693ba9a053c91d921fc1b423
ervice/EmailBroadcastProcessorService.java
2d6a98aedf10a8f836ae2e02ddbdec597cf53899 02-Mar-2011 Andy Stadler <stadler@google.com> Prevent NPE when account sender name is null

Bug: 3500373
Change-Id: Id07270f34d9cc0523c46104b3167711b71798623
ctivity/setup/AccountSettingsFragment.java
9ad3799fe4be67705c602e63c1bd654439498503 01-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Change "appendQuotedText" to "useSmartReply" in Rfc822Output"
81273dfcee3b075451860f60ee15f2aa06ba81ec 01-Mar-2011 Marc Blank <mblank@google.com> Fix deadlock issue in AttachmentDownloadService

* When a connectivity wait was added to processQueue, I neglected
to consider that a lock was held during this time
* The fix is to move the check for connectivity out of processQueue

Bug: 3500702

Change-Id: I646cf899ff895d9838612e89b15b66f1084840b1
mailConnectivityManager.java
ervice/AttachmentDownloadService.java
0d49ef78ebc1b0d65c31241f5b38f95397eebe34 01-Mar-2011 Todd Kennedy <toddke@google.com> Change "appendQuotedText" to "useSmartReply" in Rfc822Output

Slight API change to make it more clear what the method parameter is for.
Also add some additonal test conditions to the Rfc822Output tests.

Change-Id: I8888d6201e79136fa3420aa9d5f921772f374e56
ail/transport/SmtpSender.java
23d6be4d21e3d3da5f9de7f3f938274a65054771 01-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Update screen properly when # of accounts becomes 1 from 2"
30793aa791bba6a24d38d3e098e67236b73e009f 01-Mar-2011 Andy Stadler <stadler@google.com> Merge "Add parent key to Mailbox schema"
3a58509b2ad7b6f946eb0a4a7b0f75ece6d6a46f 01-Mar-2011 Andy Stadler <stadler@google.com> Add parent key to Mailbox schema

Bug: 2028418
Change-Id: I79d48befe7754692a3cab6c8851105bb399431f5
essagingController.java
rovider/EmailProvider.java
da8326dfe7740c8daa6fd2ccfae165cb11e8a186 28-Feb-2011 Todd Kennedy <toddke@google.com> Disable zoom icons if device supports multitouch

On multitouch devices, the zoom icons are not needed (the user can pinch to
zoom in/out). So, we should disable the display of these icons on multitouch
devices.

bug 3405875

Change-Id: I45484cfc622f11c25d3ea7f4c378c3133d7f7de0
ctivity/MessageViewFragmentBase.java
fe68c0e7c2672e09076038b36ad24f095633d313 17-Feb-2011 Todd Kennedy <toddke@google.com> Use HostAuth to determine settings changes

There were two TODO's from a prior CL where deprecated HostAuth methods
were removed.

1. Do not use a generated URI to determine if account settings have changed.
Instead, use the HostAuth structure for this purpose.
2. The account key in the HostAuth structure has been deprecated. Remove as
much of it as possible (until the schema of the host auth database changes,
we must still refer to it when adding rows).

In the process, HostAuth tests were broken out into a separate unit test
file.

Change-Id: I4075da09af168f734db7b20a9ef63d4178ac2064
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
fc156033d96db790857f60704a789945cede4bbf 01-Mar-2011 Makoto Onuki <omakoto@google.com> Update screen properly when # of accounts becomes 1 from 2

This happens when
- two accounts are configured
- select account 1
- remove account 1, and account 2 becomes active

In this case we failed to select account 2, and the fragments would keep
thinking account 1 was active. (So no mailboxes would be shown--beacuse there
was of course no mailboxes for account 1!)

When the account list changes, the account loader (created in loadAccounts())
automatically reloads the account list, and calls updateAccountList(). If
there're still more than 1 account at this point, updateAccountList() updates
the account spinner on the action bar. This will result in
ActionBarNavigationCallback getting called, which then updates the current
account as expected.

However, if there's only one account left, we hide the spinner and just
set the account name to the action bar title, so
ActionBarNavigationCallback won't get called and the current account
never changes.

In this case we shouldn't rely on ActionBarNavigationCallback but have to
explicitly update the current account.

Bug 3491567

Change-Id: Ia9ba3e1c11248ad5a1ba7e055717c5519d6e4884
ctivity/MessageListXL.java
4d4bb9a849cf7f6745be271374a1805cd2460def 01-Mar-2011 Makoto Onuki <omakoto@google.com> Fix auto-refresh of mailboxes.

Removed the ugly doAutoRefresh() and byExplicitUserAction.

The intention for these was to supress auto-refresh when the message list
opens without any explicit user action, e.g. due to screen rotation.

However, now that we have the RefreshManager.isMailboxStale check with 5
minutes duration, this check is not really necessary. Let's just always
refresh mailbox if it's stale.

Bug 3493134

Change-Id: I6d0365ed7f8092304117d5f619d570b828edf76f
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
51a7151cfcc5ff7ec1fe1fe7d55cee0327a23f02 28-Feb-2011 Marc Blank <mblank@google.com> Merge "Send logging information to Exchange when deviceId is retrieved"
fdec974c93817988a00248b7d223ec9f7f20ecb8 27-Feb-2011 Marc Blank <mblank@google.com> Send logging information to Exchange when deviceId is retrieved

* Clean up logging to indicate the actual Service being used

Change-Id: I55f87487389accb1aad9b0cc03eff945ea0b1f3e
ervice/AccountService.java
5d29dac8065e75b040aeb29401630fd65fedb9fc 26-Feb-2011 Jesse Wilson <jessewilson@google.com> React to LruCache.entryEvicted renamed to LruCache.entryRemoved

Change-Id: Iab20ce0386ee4dabc8490dbde5cd2208626c293c
http://b/3461302
rovider/ContentCache.java
f583bf66b2db92f4f8372509bc74e5063370e7c9 25-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "Message view: Restore tab after screen rotation."
dc78a769fce18d259eccc602c4623fa74cdf5319 14-Feb-2011 Marc Blank <mblank@google.com> Email split, part dix

* The coup de grâce for Exchange in Email
* Remove Exchange bits from AndroidManifest
* Update Android.mk to create static jar for emailcommon
* Delete all com.android.exchange files
* Delete all exchange-only strings
* Change loadAttachment service method to take only attachment id and
background flag
* Add code to AttachmentProvider.openFile() that opens an output file
for attachment writes
* Make sure deviceId is determined in Email app (not Exchange)

Bug: 3442973
Change-Id: I775600252fd121f474d51cb26fefbfcc50e387af
ontroller.java
xchangeUtils.java
ctivity/AccountSelectorAdapter.java
rovider/AttachmentProvider.java
ervice/AccountService.java
ervice/AttachmentDownloadService.java
a553559f3789c9938944ea9fafdfa808d2d76440 24-Feb-2011 Makoto Onuki <omakoto@google.com> Message view: Restore tab after screen rotation.

Restore current tab and "show pictures" state.

Bug 3384629

Change-Id: Ia7dca5f53b313f3f54781f6a061767d982773a9b
ctivity/MessageViewFragmentBase.java
5920989bdec326ff3e9d70d6a530d8b99a98f5c7 24-Feb-2011 Todd Kennedy <toddke@google.com> Fix NPE when restoring setup activity

If the setup activity ever needs to restore itself after being killed, we were
restoring the Activity object's state (i.e. rebuilding the UI) before we
restored the state of our class. Since the Activity necessarily depends upon
our object's state, Bad Things can [and will] happen.

The solution is simple -- save our object's state last, but, restore our state
first.

bug 3476039

Change-Id: I623f1938c2e0f50d660708a7a7ac3eeb4a8f9090
ctivity/setup/AccountSetupActivity.java
3d2f22c7a6b0c48f9baaddcf058688e45dd5265a 24-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "Widget: Use unread count for inbox views."
fc4006b2760aadc98e87a09472b717dcd966db42 24-Feb-2011 Makoto Onuki <omakoto@google.com> Widget: Use unread count for inbox views.

Bug 3431240

Change-Id: I61a91462cdd864604f5ddc06ff93c0ecf3001e20
idget/EmailWidgetLoader.java
idget/WidgetView.java
6842c5768f0a9f9cdd9c10a50a965c1544cf9f57 24-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "Remove com.android.email.widget.ViewType"
2428ea767ebbb85d11b2094ae1a758b34ddb461b 24-Feb-2011 Todd Kennedy <toddke@google.com> Merge "Properly clear "next" button de-bounce flags"
64c7a437ac94bc0a1025804507b59d453caecd2b 24-Feb-2011 Todd Kennedy <toddke@google.com> Properly clear "next" button de-bounce flags

In some cases, the de-bounce flags were not being properly cleared. Namely, on
the outgoing settings screen. We now consistently clear the flags to ensure the
"next" button is always actionalble when it should be.

bug 3425395

Change-Id: Ib8085fb96522158198d9f33a12effef8f65c0d19
ctivity/setup/AccountServerBaseFragment.java
64c914a6a163a034cdd543d360f3da2841e76d75 24-Feb-2011 Makoto Onuki <omakoto@google.com> Remove com.android.email.widget.ViewType

WidgetView has took over this, but I forgot to remove it.

Change-Id: I6a5012263f81223904907eb78ff22472ff5d8f85
idget/ViewType.java
a08fa43b85c82131b8fd237a327f7717c4d65869 24-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "Fix the attachement view layout."
88c8044586e04a13d2961ffdcd954fbe24468209 23-Feb-2011 Makoto Onuki <omakoto@google.com> Fix the attachement view layout.

The progress bar is not meant to be GONE. Encapsulated the progress view
in MessageViewAttachmentInfo to make sure that won't happen.

Bug 3417034

Change-Id: I1efee089cc7921f4428a38fcbcdc2e8aa3cec9fd
ctivity/MessageViewFragmentBase.java
47bdd174dcdeca52f56967705822bbe738394ba7 24-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "SizeBoundingFrameLayout: framelayout with max width/height"
fc8a65aecf4db7185a406f320ac9c7efbda7be1b 24-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "Refactoring widget part 2"
9299d6082c104fcd88c473bd4e1b39d341f17bd4 24-Feb-2011 Makoto Onuki <omakoto@google.com> Merge "Pixel pefect: account spinner."
ffe6ef342a6d9ea958aaee11b57db54e52252dde 23-Feb-2011 Todd Kennedy <toddke@google.com> fix UnsupportedOperationException in tests

We're using the mock context to prevent modifying the real databases. However,
we need the real context to create intents. Use the real context in the few
places we must use it.

Change-Id: Icb8d289239218921c0b4b5c93ac7983830d90394
ervice/AttachmentDownloadService.java
897a0ea81c8cddcb142d6ac7f7c47801858c8537 09-Feb-2011 Makoto Onuki <omakoto@google.com> Refactoring widget part 2

- Extracted the loader
- Extracted ViewType and introduced WidgetView.
WidgetView is ViewType + mutable fields, such as account id.
WidgetView now owns the method to switch views.

These two are basically in preparation to address the message count bug.
(we're showing total message count where it should be the unread count,
which is a bit tricky because it'll require two different queries.)

- Also simplified the threading model in EmailWidget to fix potential
theading issues. (now (almost) everything works on the UI thread)

Bug 3431240

Change-Id: I9f8a268210995f1135baabe88b49b274272708d4
idget/EmailWidget.java
idget/EmailWidgetLoader.java
idget/WidgetManager.java
idget/WidgetView.java
b3c3f1afc6e4fcf2316cb915c14311f85375001a 10-Feb-2011 Makoto Onuki <omakoto@google.com> Pixel pefect: account spinner.

The expanded account spinner is completed, but the collapsed view
needs some more work. (That'll probably be a rather large CL, so I'll
finish it in a separate CL.)

Bug 3434135

Change-Id: Ia732e6b57b8c0d3e1609c3134b26411539ab6a18
ctivity/AccountSelectorAdapter.java
ctivity/MessageListXLFragmentManager.java
de9e706ed900b2108165f512384e69871e069fa1 10-Feb-2011 Makoto Onuki <omakoto@google.com> SizeBoundingFrameLayout: framelayout with max width/height

This will be used to set the max width to the account name spinner.

I gave up on writing tests for onMeasure. It wasn't easy without adding
a dummy activity and layout.

It'll be used for a fix to bug 3439694.

Change-Id: Ie7569b0661eb732e270e4521fa0d3306f1bdd12c
iew/SizeBoundingFrameLayout.java
8c89674b64f6669fa94bf593abad0f1e2255a812 22-Feb-2011 Todd Kennedy <toddke@google.com> Always set a delete policy for legacy accounts

The delete policy can only be set for POP3 accounts. However, the delete policy
is used for all legacy accounts (that includes IMAP). As such, we need to make
sure IMAP accounts also have their policy set; even though the setting is not
configurable by the user.

The delete policy does not mean anything for Exchange accounts, so, we do not
need to modify the account setup code for them.

bug 3074164

Change-Id: Iab10d2997404b3b0c10a60a64fb652540c0d2d1a
ctivity/setup/AccountSetupIncomingFragment.java
ervice/EmailBroadcastProcessorService.java
dd123f927a69fd81ea0f4a08981e2f2bbc3ecd7a 23-Feb-2011 Makoto Onuki <omakoto@google.com> Reset fragment state when opening a new account/mailbox

Without this, there's a small window where a fragment is in a valid
state after openXxx() before the list is loaded.

Bug 3420361

Change-Id: I7f84a94dec1419762aa6b24188c023abe974d2bf
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
3f60e9312b1bf1324dd0e343b07cb69c9f8d31fd 19-Feb-2011 Todd Kennedy <toddke@google.com> Add "info" button to the attachment view

Whenever we remove the "load" and "view" buttons, we should add an "info"
button; where we will inform the user as to why we are preventing her from
seeing the attachment.

bug 3338997

Change-Id: Ic243f1542dec55f5b256eeb67ade50aa90e42009
ttachmentInfo.java
ctivity/AttachmentInfoDialog.java
ctivity/MessageViewFragmentBase.java
9b1906337afaf0a73e527f3b59241808edb222d1 22-Feb-2011 Todd Kennedy <toddke@google.com> Only show chip if we have >1 account

bug 3435487

Change-Id: I42668fc9d6f118a83943fbe00edf5eb28b7749d6
idget/EmailWidget.java
d096f70ab308dcc789f21e82e13857f89021be6d 20-Feb-2011 Andy Stadler <stadler@google.com> Merge "Add contextual dialogs after notifications"
f4894131427ec7562fcb05388b9f3aa094e388bc 19-Feb-2011 Andy Stadler <stadler@google.com> Add contextual dialogs after notifications

* When security settings notification is clicked, inform user that
they need to change settings (before dumping them in security
settings.)
* On an authentication failure, present a dialog to the user explaining
that the username or password may be incorrect.
* When the device pin/password is expiring or expired, present a dialog
to the user explaining that it needs to be updated.

Bug: 3238657
Change-Id: I8fca446fa3c1bf87a95938553dbdc362c3df220e
otificationController.java
ecurityPolicy.java
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
34704851e96dcc139d6833adb3bd139f57fa497c 19-Feb-2011 Todd Kennedy <toddke@google.com> Update account list if account description changes

Editing the account description occurs in a different fragment. As such, we
need to notify the fragment in charge of the account list whenever the
description is updated.

We already have a callback mechanism, so, expand that to send notifications
of any property change.

bug 3388586

Change-Id: I02475233f7f333db57c49ceaf908dbfa69c86ca6
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
3a4a1ac8340c4da73fa091830c154731b7eb2d5a 18-Feb-2011 Todd Kennedy <toddke@google.com> Send attachments through the download manager

bug 3339015

Change-Id: Ic16033a73d0e32608a14a2737f6ff28556dbe782
ctivity/MessageViewFragmentBase.java
a8197834919735349062c65ad9ea04676fb24800 17-Feb-2011 Todd Kennedy <toddke@google.com> Fix NPE when creating an account from template

if you create an account using one of the pre-defined templates (such as
Yahoo!), the user name and password were not being set in the HostAuth
structure. This was causing an NPE when we tried to generate an IMAP ID.

Change-Id: I9619cddc0ab758c187cf4b9c7c84485ac1f4bfdd
ctivity/setup/AccountSetupBasics.java
040ddf60cfef4aaecf4bfe1f897fce3248d777a4 04-Feb-2011 Todd Kennedy <toddke@google.com> Resolve build warnings; part 5

Remove dependence upon URIs for creating the host auth structure

Change-Id: I92dee36fa329a8976b76bbd4991ed3469c6475f2
egacyConversions.java
endorPolicyLoader.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
c6d344ad2aab6bc46a87033af53d5a19a080e5f4 17-Feb-2011 Andy Stadler <stadler@google.com> Refresh email notifications (part I)

* Use strings that fit properly in new notifications
* General cleanups & rewrites from Roy
* Remove showWarningNotification() and use postAccountNotification()

This is part I. Part II will add dialogs triggered by some of these
notifications, to provide more explanation to the user of what's wrong
and how to fix it.

Bug: 3238657
Change-Id: Ib51bcb4412f8a09a6f97653f0b5f8642efe2ac1e
otificationController.java
ecurityPolicy.java
d75968acfb8da34c1927616a069a06f59c2ad101 16-Feb-2011 Jesse Wilson <jessewilson@google.com> Merge "Adopt LruCache in Email's ContentCache."
3a5c1fb274a9ce72d708d88509bf2607cb018ddd 13-Feb-2011 Marc Blank <mblank@google.com> Email split, part neuf: Setup, logging, attachment glue

* Make "Exchange" option in account setup depend upon availability of the
Exchange EmailService
* Make presence of Exchange logging depend upon availability of the
Exchange EmailService
* Make AttachmentDownloadService use service rather than ExchangeService
class
* Move SSLUtils to emailcommon/utility
* Move account manager type defs to emailcommon/AccountManagerTypes
* Update proguard.flags
* This is the penultimate CL for the Email package itself; the next CL
creates a clean, SDK-compatible Email application

Bug: 3442973
Change-Id: I9162cf5fa6b5a043ded0fdd1e25fd3ce5948ad8f
ccountBackupRestore.java
ontroller.java
mail.java
xchangeUtils.java
ctivity/MailboxListItem.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/DebugFragment.java
ail/transport/MailTransport.java
ail/transport/SSLUtils.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
ervice/EasAuthenticatorService.java
ervice/MailService.java
ervice/PopImapAuthenticatorService.java
31d9acbf0623872f9d4a2b3210b5970854b654c7 12-Feb-2011 Marc Blank <mblank@google.com> Email split, part huit: Refactor constants, clean emailcommon

* There are three pieces to this CL (sorry):
1) Move and/or rename some constants into emailcommon
2) Move Utility to emailcommon, moving the few UI
related utilities back into Email (FolderProperties
and UiUtilities)
3) Remove all references to resources from emailcommon
* The three pieces relate in that, between them, they allow
the emailcommon static library to compile cleanly

Bug: 3442973

Change-Id: Ic5e3abaa2a1b36999e0b6653c6c2134ea1bd544f
ccount.java
ccountBackupRestore.java
ttachmentInfo.java
ontroller.java
mail.java
olderProperties.java
egacyConversions.java
essagingController.java
essagingExceptionStrings.java
otificationController.java
references.java
efreshManager.java
ecurityPolicy.java
ingleRunningTask.java
topWatch.java
hrottle.java
iUtilities.java
tility.java
endorPolicyLoader.java
ctivity/AccountFolderListFragment.java
ctivity/AccountSelectorAdapter.java
ctivity/AccountShortcutPicker.java
ctivity/AccountsAdapter.java
ctivity/ActivityHelper.java
ctivity/ContactStatusLoader.java
ctivity/MailboxFinder.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageOrderManager.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/ThreePaneLayout.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/DebugFragment.java
ata/ThrottlingCursorLoader.java
ail/Sender.java
ail/Store.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
ail/transport/DiscourseLogger.java
ail/transport/LoggingInputStream.java
ail/transport/MailTransport.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
ail/transport/StatusOutputStream.java
rovider/AttachmentProvider.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
ervice/EasAuthenticatorService.java
ervice/EmailBroadcastProcessorService.java
ervice/MailService.java
ervice/PopImapAuthenticatorService.java
idget/EmailWidget.java
37500777f1ca2dc7a1f831b9f3af63cbe7b9d487 11-Feb-2011 Marc Blank <mblank@google.com> Email split, part sept: Configuration

* Add getConfigurationData api to AccountService; this allows clients
to get configuration-related data from the Email app
* We use this so that Exchange can determine whether alternative strings
should be used

Bug: 3442963
Change-Id: Ieea56e3416458dc57699b00c2fc062dfcf7abca9
ervice/AccountService.java
32311cce0153fbb2708d871626a0797cc93b7e4e 10-Feb-2011 Todd Kennedy <toddke@google.com> Implement IMAP prefix support

We support two different ways for an IMAP prefix to be specified:
1. A text field on the IMAP configuration page. This is the most obvious to
the end user. It is also an explicit, manual configuration.
2. RFC2342 defines a NAMESPACE IMAP command to be able to query the prefix
from the IMAP server. This is an automatic configuration without any
user involvement (i.e. the UI will NOT change if a prefix is loaded in
this way)

If the user goes to the trouble of specifying a prefix, we will always honour
it instead of the namespace returned by the IMAP server -- even if the user's
configuration is wrong.

bug 1592696

Change-Id: I6b94c7aaac538f6cd9dc4694b0f1634e8c956bc1
essagingController.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/imap/ImapConstants.java
ail/store/imap/ImapResponseParser.java
92ab6db38dcf15f6935463845fc4fa749a292b3a 11-Feb-2011 Jesse Wilson <jessewilson@google.com> Adopt LruCache in Email's ContentCache.

LruCache simply wraps LinkedHashMap for a better API.
Performance/hit rate should not be impacted.

Tracking bug: http://b/3184897

Change-Id: Icbac38d3cea5f8c522df7a883d8e74a8f3786b92
rovider/ContentCache.java
a7bc0319a75184ad706bb35c049af107ac3688e6 10-Feb-2011 Marc Blank <mblank@google.com> Email split, part six: EmailContent

* Moved EmailContent to emailcommon

Change-Id: Ib3db1bfcfe74554c0e5afd3cfce6d72f26e9aeb9
ccountBackupRestore.java
ttachmentInfo.java
ontroller.java
mail.java
mailAddressAdapter.java
egacyConversions.java
essagingController.java
otificationController.java
ecurityPolicy.java
tility.java
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/AccountSelectorAdapter.java
ctivity/AccountShortcutPicker.java
ctivity/AccountsAdapter.java
ctivity/ActivityHelper.java
ctivity/MailboxFinder.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxesAdapter.java
ctivity/MessageCompose.java
ctivity/MessageFileViewFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageOrderManager.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessagesAdapter.java
ctivity/MoveMessageToDialog.java
ctivity/Welcome.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
ctivity/setup/SetupData.java
ata/MailboxAccountLoader.java
ail/StoreSynchronizer.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
rovider/AttachmentProvider.java
rovider/EmailContent.aidl
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
ervice/EasAuthenticatorService.java
ervice/MailService.java
ervice/PopImapAuthenticatorService.java
ervice/PopImapSyncAdapterService.java
idget/EmailWidget.java
idget/ViewType.java
2193962ca2b3157e79f731736afa2a0c972e778a 10-Feb-2011 Marc Blank <mblank@google.com> Email split, part quatre: Move along, nothing to see here

* No code was harmed, er, changed in the making of this CL
* All that's happened is that code that is needed by both Email and
Exchange have been moved into emailcommon
* This required import changes to many files, which explains the
length of the CL

Change-Id: I4e12455ba057a4a8054fdbd0b578c73afa411c8a
ttachmentInfo.java
ontroller.java
ontrollerResultUiThreadWrapper.java
mailAddressValidator.java
roupMessagingListener.java
egacyConversions.java
essagingController.java
essagingListener.java
otificationController.java
efreshManager.java
nippet.java
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/MailboxFinder.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettingsFragment.java
ail/Address.java
ail/AuthenticationFailedException.java
ail/Body.java
ail/BodyPart.java
ail/CertificateValidationException.java
ail/FetchProfile.java
ail/Fetchable.java
ail/Flag.java
ail/Folder.java
ail/MeetingInfo.java
ail/Message.java
ail/MessageDateComparator.java
ail/MessagingException.java
ail/Multipart.java
ail/NoSuchProviderException.java
ail/PackedString.java
ail/Part.java
ail/Sender.java
ail/Store.java
ail/StoreSynchronizer.java
ail/Transport.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/internet/MimeMultipart.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/imap/ImapResponseParser.java
ail/transport/MailTransport.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
rovider/AttachmentProvider.java
rovider/EmailContent.java
ervice/MailService.java
8a574694606f0e5d781334d0d426fc379c51f3ed 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part trois: AccountService

* Create AccountService.aidl and AccountServiceProxy in emailcommon
* Implement AccountService in email
* Use AccountServiceProxy in Exchange for account reconciliation,
notifications, etc.
* Move sync window constants into emailcommon
* Split attachment provider utilities and constants into emailcommon

Bug: 3442973
Change-Id: I89dce28b799b193243c07774dab65d830ae62775
ccount.java
ttachmentInfo.java
ontroller.java
egacyConversions.java
essagingController.java
ctivity/MessageViewFragmentBase.java
ctivity/setup/AccountSetupOptions.java
rovider/AttachmentProvider.java
ervice/AccountService.java
ervice/AttachmentDownloadService.java
ervice/MailService.java
9ba506c4dd498150555f6c59aa758f7467bf9236 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part deux: PolicyService

* Split PolicySet from SecurityPolicy and move to emailcommon
* Define PolicyService that sync adapter services can use to
interact with the Email DPM administrator
* Implement PolicyServiceProxy for exchange
* Implement PolicyService in email
* Modify imports, references, etc. as required

Bug: 3442973

Change-Id: I92015e21f780a68754b318da89fbb33570f334a2
ecurityPolicy.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/SetupData.java
ervice/PolicyService.java
0d4fc55861ed4393aa82f124f2865695ef564641 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part one: EmailService

* Create emailcommon package
* Move EmailService classes to emailcommon package
* Change references to aidl's to emailcommon package
* Add getApiLevel() command to EmailService

Bug: 3442973

Change-Id: Ic7d2115363cdff6ebb86c46650b0a5b2109b1c72
ontroller.java
xchangeUtils.java
ctivity/MessageViewFragment.java
ctivity/setup/AccountCheckSettingsFragment.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ervice/AttachmentDownloadService.java
ervice/EmailServiceConstants.java
ervice/EmailServiceProxy.java
ervice/EmailServiceStatus.java
ervice/IEmailService.aidl
ervice/IEmailServiceCallback.aidl
8cc2fc51014d1acaf4d3a2a89fed1cff6ad7b18a 08-Feb-2011 Todd Kennedy <toddke@google.com> Merge "Fix attachment mime type unit tests"
314a51cb1d5bc538f069b6b13d8dffd575a5cc44 08-Feb-2011 Makoto Onuki <omakoto@google.com> Refactoring widget

- Moved to com.android.email.widget
- Extracted nested classes to top-level classes
- Some small clean-ups.
- WidgetProvider and WidgetProvider$WidgetService are left in the original
package to keep compatibility with honeycomb (3.0) release.

This CL is supposed to be pure-refactoring. There should be no
functionality changes.

Change-Id: I37acaa24b6b488724750c0f33374b31fcc433f11
rovider/WidgetProvider.java
ervice/EmailBroadcastProcessorService.java
idget/EmailWidget.java
idget/ViewType.java
idget/WidgetManager.java
8586532f3ecb4dad4f25d82ad7d6ce345ced9bf1 08-Feb-2011 Todd Kennedy <toddke@google.com> Fix attachment mime type unit tests

Attachments with no extension and mime type of text/plain need to return the
mime type of "text/plain" instead of "application/octet-stream"

bug 3428076

Change-Id: I00452c908ac0672879d42f4ed9ee574e376eac9f
rovider/AttachmentProvider.java
d4cad2dae812e5b5e6f8ef83abbdbc06de6a03a8 07-Feb-2011 Andy Stadler <stadler@google.com> Merge "Remove all compatibility with pre-2.0 data"
433d500cb98029c0c1994b8aa341b890ae4df428 07-Feb-2011 Marc Blank <mblank@google.com> Merge "Show smart forward attachments in MessageCompose"
7d51b7a05ba07377e3df0b07c2aaa430a8b5bc42 06-Feb-2011 Andy Stadler <stadler@google.com> Remove all compatibility with pre-2.0 data

* Remove LocalStore (pre-2.0 mail database) and its unit test
* Remove UpgradeAccounts (converted pre-2.0 accounts to Provider)
* Remove FolderMessageList (receiver for pre-1.6 desktop shortcuts)
* Remove "upgrading" paths through LegacyConversions
* Clip out dangling references to everything above

Bug: 3292310
Change-Id: I5654d55a0879b00b05b63055b94651855a8ee3ef
egacyConversions.java
essagingController.java
ctivity/FolderMessageList.java
ctivity/UpgradeAccounts.java
ctivity/Welcome.java
ail/internet/EmailHtmlUtil.java
ail/store/LocalStore.java
5e39f90e9d4665713eba38586b08546f1d581adb 02-Feb-2011 Todd Kennedy <toddke@google.com> Resolve build warnings; part 4

Fix unchecked warnings

Change-Id: I872740fca4e5050e6ed2922eabc7e46e5e97ff3c
ontroller.java
egacyConversions.java
ctivity/AccountShortcutPicker.java
ctivity/MessageCompose.java
ail/internet/MimeMessage.java
rovider/EmailContent.java
8d8537cd2e39268e0fdcd019bc8b6c4572b7c520 02-Feb-2011 Todd Kennedy <toddke@google.com> Resolve build warnings; part 3

Fixes deprecation warnings

NOTE: This does not resolve hostauth deprecation; that will be fixed
in a separate CL.

Change-Id: I47115516da34effbf885615cb439c9d3e6f95b84
egacyConversions.java
otificationController.java
tility.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/imap/ImapResponseParser.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
3aee641aab491a3da53364aafb9074ae69dd2212 26-Jan-2011 Jesse Wilson <jessewilson@google.com> Use a field rather than a superclass for ContentCache's cache.

This makes it easier for cache experiments to swap out the
LinkedHashMap for another cache.

http://b/3184897
Change-Id: Iacdb266e41f5a98efd9bb30bc09ff8fff5a0a5a9
rovider/ContentCache.java
9d8438e7e37e118ae1dcbdd077d2853491916e16 02-Feb-2011 Makoto Onuki <omakoto@google.com> am 1cedfc8e: am 6c15d943: Merge "Don\'t mix up loader managers" into honeycomb

* commit '1cedfc8e5c16c6331f4689f2fb5c81117958c987':
Don't mix up loader managers
1cedfc8e5c16c6331f4689f2fb5c81117958c987 02-Feb-2011 Makoto Onuki <omakoto@google.com> am 6c15d943: Merge "Don\'t mix up loader managers" into honeycomb

* commit '6c15d943c2a5b4bfb4178d85acf0f415cb2fd6af':
Don't mix up loader managers
d4df1cf65aea6df33fa17680457c28abd73bd543 02-Feb-2011 Makoto Onuki <omakoto@google.com> Don't mix up loader managers

- Don't use activity's LoaderManager in fragments. Fragments have their own
loader managers, and using the wrong one causes loaders won't get reset()
when the owner fragment gets destroyed().

- Don't destroy loaders by ourselves.

The combination of these two issues caused the problem where the loader
callbacks wouldn't get the reset event, which resulted in the adapter
holding a closed cursor.

Bug 3412079

Change-Id: Ib7441565ea69adb08eb74845b0996c7b8ae6f53b
ctivity/MoveMessageToDialog.java
f1b510462fad73de1e7f7bfad2f0637c9cf65cd7 01-Feb-2011 Todd Kennedy <toddke@google.com> Fix ConcurrentAccessException in unit tests

The ContentCache is now an LRU cache. This means we must NOT access the cache
while using any iterator over the cache. In this case, we were calling get()
using an iterator of cache keys.

Change-Id: I2d1feabff7474b6f2a230b98f97df067ab7ccd9c
rovider/ContentCache.java
f33420e68f75c93ac8aa3c645c771c877c0b0b7c 31-Jan-2011 Makoto Onuki <omakoto@google.com> Message details: Show only one address per line

Also removed unused field from MessageViewMessageDetailsDialog

Bug 3372971

Change-Id: I8a6d87d006793c0099b380634217624bf9002ead
ctivity/MessageViewFragmentBase.java
ctivity/MessageViewMessageDetailsDialog.java
ail/Address.java
2d6241e12393d2b741af9b8f1b76b14375eee008 01-Feb-2011 Andy Stadler <stadler@google.com> am 11070a53: am 275b89d9: am 927dbc7c: Don\'t send IMAP ID unless server supports it

* commit '11070a53970116a8216b8d83694041fe09560b91':
Don't send IMAP ID unless server supports it
11070a53970116a8216b8d83694041fe09560b91 01-Feb-2011 Andy Stadler <stadler@google.com> am 275b89d9: am 927dbc7c: Don\'t send IMAP ID unless server supports it

* commit '275b89d96949de6544c7bca999e241f659cf18b3':
Don't send IMAP ID unless server supports it
927dbc7c20072939fd0ebdf4cc89301a41d075c2 01-Feb-2011 Andy Stadler <stadler@google.com> Don't send IMAP ID unless server supports it

Only send IMAP ID to servers that include ID in the CAPABILITY response.
Always sending IMAP ID was found to cause problems with some servers.

Better compliance with RFC 2971.
Thanks to Samsung for debugging & reporting this.

Change-Id: I495f80949f9f811470853a1f2f8e506d8236d8cf
ail/store/ImapStore.java
295297581c8af9b6ee0a41487b7fded08739890c 31-Jan-2011 Makoto Onuki <omakoto@google.com> Supress log from RefreshManager

Bug 3404747

Change-Id: I3c0d4d513c7ebb640630a21b626c1515520c0bed
efreshManager.java
db0a601714a311ccbf7b6e780b80d8e5318df848 27-Jan-2011 Todd Kennedy <toddke@google.com> DO NOT MERGE Ensure foreground colour is set during drag

At any time, it's possible for the framework to recycle views. Normally it's
not an issue, however, during drag-n-drop a view with "unavailable drop
target" foreground colour may be reused. We need to ensure that the foreground
color is always set.

bug 3398330

Change-Id: I7be9bf8487e0062cf2335476fd971592f33baa09
ctivity/MailboxListItem.java
5c7ffc91a5d10cc7a7c62c1e7f7c08b896ac4884 31-Jan-2011 Paul Eastham <eastham@google.com> am c34e4eec: am 04d3f014: Merge "Remove STOPSHIP" into honeycomb

* commit 'c34e4eecf1450b20e804297741507d1edc044d0f':
Remove STOPSHIP
04d3f0144783641dcb4e4c2703663d166b7f88a9 31-Jan-2011 Paul Eastham <eastham@google.com> Merge "Remove STOPSHIP" into honeycomb
c22d2a2828c35eb02f2a2ea3f19d67c26ad84b35 31-Jan-2011 Justin Ho <justinho@google.com> am 92c41d58: am a5ba0daa: Merge "New Email launcher icon, deprecating old asset Bug: 3362749" into honeycomb

* commit '92c41d587a840672722ac693e79d8c52e6f4497c':
New Email launcher icon, deprecating old asset Bug: 3362749
5f10938fd4749313e2029c7deede30bae2c2dccf 31-Jan-2011 Andy Stadler <stadler@google.com> Remove STOPSHIP

Bug: 3396875
Change-Id: I0d57922def86dc48abb2a8a47c9358115dddb9fd
ctivity/setup/AccountSettingsUtils.java
a5ba0daac392ecfab9db6ae5c96d1a2c1a267b32 31-Jan-2011 Justin Ho <justinho@google.com> Merge "New Email launcher icon, deprecating old asset Bug: 3362749" into honeycomb
34512ba6303bdce1b7699bbd3c645ff9eb1692e1 30-Jan-2011 Andy Stadler <stadler@google.com> am 809cd769: am 0e3a0331: Widget: Max out message count at 999+

* commit '809cd769390aa503ad90e5b8bce1594f92a2479f':
Widget: Max out message count at 999+
0e3a03317b1aebd168fb1bf41b3656e7dc6a1c89 30-Jan-2011 Andy Stadler <stadler@google.com> Widget: Max out message count at 999+

Bug 3403158

Change-Id: I1daf0c62684bad83a69e19c39ffe1b8df899d077
tility.java
rovider/WidgetProvider.java
b5b8e568e260cde8c2b6d42a01b96dd80a74d469 29-Jan-2011 Justin Ho <justinho@google.com> New Email launcher icon, deprecating old asset
Bug: 3362749

Change-Id: Idb876f38588a9c5d2b4b3c04dbf4dbca082c1618
ctivity/AccountShortcutPicker.java
a86265e8e5e72c61a0eafd966ca02b8438c10798 29-Jan-2011 Marc Blank <mblank@google.com> am 9a09129d: am 1122e0f6: Merge "Remove cache statistics logging" into honeycomb

* commit '9a09129d0928712ad84a11027812ff0a63afed4a':
Remove cache statistics logging
1122e0f64402a33fad7652fe58d42001df5b4aaf 29-Jan-2011 Marc Blank <mblank@google.com> Merge "Remove cache statistics logging" into honeycomb
f40294e1aac1f7cd92c02d8a39edc40676fe3c55 28-Jan-2011 Marc Blank <mblank@google.com> Remove cache statistics logging

* Use static final flag to control this
* Set flag to false for all commits

Bug: 3403725
Change-Id: I70c89aaf2f0b226206e505a14e9a8f1ed2ebb51a
rovider/ContentCache.java
943e02c97d267e684d44e705d966fee700ff3643 28-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Add debug setting for one-minute refresh"
5907d39d2b34b1b4ab3c1ef32b5b42ead97ec3ef 27-Jan-2011 Makoto Onuki <omakoto@google.com> Add debug setting for one-minute refresh

Bug 3377054

Change-Id: I7843fe82d66ab7896b8293b2fa16ca73f6711595
references.java
ctivity/setup/DebugFragment.java
ervice/MailService.java
d07a2312b7c0af9f8bffb397f98825c65bb7d924 28-Jan-2011 Marc Blank <mblank@google.com> Merge "Make ContentCache LRU, rather than LRI"
50c7d755a70895cfaa927e52c23bf0b0d2512797 28-Jan-2011 Marc Blank <mblank@google.com> Make ContentCache LRU, rather than LRI

Bug: 3403111
Change-Id: I12993a8185db1bebe760f8bd1a8d22683bcdddc3
rovider/ContentCache.java
3592da67cdcfce928105640464371b4174596cd4 28-Jan-2011 Andy Stadler <stadler@google.com> am 57fa4995: am c8f1c814: Merge "Prevent NPE in account deletion race condition" into honeycomb

* commit '57fa4995c27ef9b186b61866b6a1c65f162a93e0':
Prevent NPE in account deletion race condition
9c44430690afdb4634d100e35f1b040705a34f3d 28-Jan-2011 Makoto Onuki <omakoto@google.com> Fix AttachmentDownloadService for remove-exchange script

Now the source at least compiles fine.

Change-Id: I329ad08f81fd6ab23f28dd30023fe3e781ccc4fc
ervice/AttachmentDownloadService.java
04c4ae864fb0df88b9bc41e85a72062c12540d81 28-Jan-2011 Andy Stadler <stadler@google.com> Prevent NPE in account deletion race condition

Bug: 3399372
Change-Id: Ic41fb1292f8cc2e5ceb120e7233229dc4e47f1eb
ctivity/setup/AccountSettingsXL.java
eb73f28d1a757998b3fb1704ed950d6e80b3b539 27-Jan-2011 Todd Kennedy <toddke@google.com> Ensure foreground colour is set during drag

At any time, it's possible for the framework to recycle views. Normally it's
not an issue, however, during drag-n-drop a view with "unavailable drop
target" foreground colour may be reused. We need to ensure that the foreground
color is always set.

bug 3398330

Change-Id: I21acd04584a122c19219f3abb6690bb231bad3a6
ctivity/MailboxListItem.java
fe9db1783117a4942efbc71da8a1538ec25bf33d 27-Jan-2011 Marc Blank <mblank@google.com> Show smart forward attachments in MessageCompose

Bug: 3367188
Change-Id: I59dae9781be59eebe3a68769138e8253a24455e6
ctivity/MessageCompose.java
ail/transport/Rfc822Output.java
rovider/EmailContent.java
09aae75f4e37c3197c6f8d3f046b15c71534d1f0 27-Jan-2011 Andy Stadler <stadler@google.com> Fix account list after deleting accounts

* After deleting an account, we need to actually update
the list of known accounts - it's not sufficient to simply
rebuild the headers with one account marked deleted.
* Also remove a couple of obsolete TODO's

Bug: 3382965
Change-Id: I1aa6d88f869f0192b564b538817381efdc5fffe0
ctivity/setup/AccountSettingsXL.java
999199d49a23b4d88efb8619c3538fede6149e23 27-Jan-2011 Andy Stadler <stadler@google.com> Merge "Remove STOPSHIPs and a bit of debug logging" into honeycomb
1fc9b6b5c3b8b3212fe9146fbe10f046503124e4 27-Jan-2011 Andy Stadler <stadler@google.com> Merge "Add "tap to configure" text to widget" into honeycomb
c540b57263250b961a29b26f367b10295ab2f4aa 27-Jan-2011 Andy Stadler <stadler@google.com> Remove STOPSHIPs and a bit of debug logging

Bug: 3396875
Change-Id: I3e874e28c3412aadd9851000a83d69fc8c06aeb9
ctivity/MailboxListFragment.java
610bbaee422b8638724bf98c6cecbf3035b018ad 27-Jan-2011 Marc Blank <mblank@google.com> Merge "Fix NPE in SecurityPolicy.policiesRequired" into honeycomb
844b14f851ce748b7b204125264bb3343c1a9039 27-Jan-2011 Marc Blank <mblank@google.com> Fix NPE in SecurityPolicy.policiesRequired

* Add check for null Account, as this method can be called from a
background thread, and the Account might have been deleted by the
time we're called

Bug: 3396365
Change-Id: Ie125ed714c73d51beaedc818b6b731cea941666f
ecurityPolicy.java
6c5ee59c4fcd5cb2992a53234245df8faeaf8a5d 26-Jan-2011 Todd Kennedy <toddke@google.com> Add "tap to configure" text to widget

If there are no email accounts defined, the widget should show a single string
that allows the user to create a new account. Whenever there are changes to
the defined accounts, the widget(s) will update their headers to ensure they
are only displaying valid information.

bug 3296594

Change-Id: I156c20cfc90692174297a2aededd85775e0ea196
ctivity/MessageCompose.java
ctivity/Welcome.java
rovider/WidgetProvider.java
ervice/EmailBroadcastProcessorService.java
a7f49a7c0b4a67b4dc7d306a646a5b1e15a808c8 27-Jan-2011 Todd Kennedy <toddke@google.com> Update icons with latest drop from UI

Change-Id: Ic23f1bee28c8aef1974225f9c03edc92c845f8c7
ctivity/MessageListItem.java
ctivity/MessageViewFragment.java
199a0601aef47fed41ee05e2bcf414fc1001ab2a 27-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Fix bug where mailbox list won't update in combined view" into honeycomb
382478547eaf3e7300d79ff45518a99ad60ca53d 27-Jan-2011 Andy Stadler <stadler@google.com> Merge "Protect against threading issues in AttachmentDownloadService" into honeycomb
ed9938cd9caf4937eadb3e35333e2fe2b157bde5 26-Jan-2011 Marc Blank <mblank@google.com> Protect against threading issues in AttachmentDownloadService

Bug: 3391148
Change-Id: I513b5678815db262ea5660661336432f1e203c9e
ervice/AttachmentDownloadService.java
3735cd4256331a93fb3971b2359a8978ba2b3995 27-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Make account name on action bar narrower" into honeycomb
d0ee1e404db67a238d7017fb77757a0ffb2a4a1b 26-Jan-2011 Makoto Onuki <omakoto@google.com> Fix bug where mailbox list won't update in combined view

The problem was that CombinedMailboxesLoader used the cursor returned by
super.loadInBackground() (which contains accounts), to build a matrix
cursor (which contains special mailboxes and accounts and will be returned),
and *it closed the first cursor* after building the matrix cursor.

However, because this first cursor is the one that CursorLoader sets an
observer, it shouldn't be closed until the returned matix cursor closes.
In other words the two cursors should have the same lifecycle.

Fixed it by using ClosingMatrixCursor that used by AccountsLoader, which
is doing a similar thing, but properly.

Bug 3387730

Change-Id: I554ade001dc25afa869eefb4dcf9887495e6753e
ctivity/AccountSelectorAdapter.java
ctivity/MailboxesAdapter.java
ata/ClosingMatrixCursor.java
3af94be47732e200dec5e5c8c78cec02ff27445f 26-Jan-2011 Makoto Onuki <omakoto@google.com> Make account name on action bar narrower

... to give the mailbox name more space. Otherwise it can be too
small in portrait.

Bug 3387730

Change-Id: I0301fd696dc2c4dfa3654a235b9e95aa7db4b885
ctivity/AccountSelectorAdapter.java
f020910461908681978a9e0f8f98b748853b0e39 26-Jan-2011 Andy Stadler <stadler@google.com> Fix Account Manager integration

* Rework the interaction with the Account Manager
* Remove unneeded call to response.onRequestContinued()
* Store response in SetupData so it can survive the entire account
setup flow.
* Explicitly report exit status to acct mgr at known exit points:
* AccountSetupBasics.finish() (fail/cancel)
* AccountSetupOptions.finish() (fail/cancel)
* AccountSetupOptions.optionsComplete() (success)

Bug: 3335128
Change-Id: Ia55724eb1e938f2633c5ff7afb719a879be16a1b
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/SetupData.java
a97faa25ac3265209b50d4534b4c2b41cd211e5c 26-Jan-2011 Andy Stadler <stadler@google.com> Discard result of Dupe Account check if paused

Fixes a potential race condition with a slow DB lookup and a
fast user (or monkey).

Bug: 3384992
Change-Id: I0602820e1d9f49eb01b09c9d78db3d0fc47ccfb1
ctivity/setup/AccountSetupBasics.java
484d220b6e02753f2e616277b26d9555231d95a6 25-Jan-2011 Makoto Onuki <omakoto@google.com> Make the refresh button animate in-place.

Turn the refresh button into an indeterminate progress icon
while refreshing.

Bug 3388138

Change-Id: Ic0406ff5b857243c3e1e475ddb8b305441eddbb0
ctivity/MessageListXL.java
2d0e44f201f4f50e3e3416285805c8f28d1d6ed8 26-Jan-2011 Makoto Onuki <omakoto@google.com> Fix NPE in AttachmentDownloadService

Initialize mConnectivityManager before starting the thread.

Bug 3389701

Change-Id: If616721ad3b3bec81c5d6920f4a5d91b06f937fb
ervice/AttachmentDownloadService.java
61e63111ba71b7f70f76079812dfc858b398fa80 25-Jan-2011 Makoto Onuki <omakoto@google.com> Show account name on error banner

For now just show the account name in parens. I'll ask the design
team for a better layout.
(I don't want to change code too much at this point, so didn't add a
new view for the account name.)

Bug 3366546

Change-Id: I3a5314be4bdfacc2720093511eb03571e91fa963
ctivity/MessageListXL.java
adbd22c9bed1e45e26130f32a684aa29676537dc 25-Jan-2011 Todd Kennedy <toddke@google.com> Merge "Infer attachment's mime type if it's text/plain" into honeycomb
b3740d227ee0eede878d97654d180f781d591da0 25-Jan-2011 Todd Kennedy <toddke@google.com> Merge "Only show loaded messages in widget" into honeycomb
34212cc7df317a058a3f9860fc0e7de508cb7120 25-Jan-2011 Todd Kennedy <toddke@google.com> Infer attachment's mime type if it's text/plain

If the server reports an attachment's mime type as either text/plain or
application/octet-stream, we will try to infer the real mime type using
the attachment's extension. If one cannot be found, we either synthesize
it (if original mime type is application-octet-stream), or, we use the
server specified mime type (if the original is text/plain).

bug 3379416

Change-Id: I331e767ed36e4e17756025cc816bdb7b5a8f0868
rovider/AttachmentProvider.java
543953ad87a12d251fcec82c57d00383225b4149 24-Jan-2011 Todd Kennedy <toddke@google.com> Only show loaded messages in widget

The various selection strings were missing a test to only show messages that
have been loaded. This is only important for POP3 accounts.

bug 3377041

Change-Id: I3efe366d09dd547878dc0bf57dff58f76de5cca9
tility.java
rovider/EmailContent.java
9128217da1f8ae53f1c44f369934ff075ae5057b 25-Jan-2011 Andy Stadler <stadler@google.com> Merge forward small bug found in password storage

While fixing bug 2981433 in Gingerbread, I discovered one additional
place where passwords were being trimmed. This brings the fix forward
into honeycomb, as well as a new unit test for the fix.

Bug: 2981433
Change-Id: I566f5c0c6693ca7c0069bca9e74f320fca48e600
rovider/EmailContent.java
24a81185d1006a95b96561bfd5bc3f8c5669bdcb 25-Jan-2011 Andy Stadler <stadler@google.com> Merge "Catch base64 errors and handle in-place" into honeycomb
3ef8f54bae6a3e02919cfd7add7ed6bf7fdda901 25-Jan-2011 Marc Blank <mblank@google.com> Prefetch respects "background data" setting and waits for connectivity

Bug: 3384997
Bug: 3384994
Change-Id: Id8338650b69666f2996837324e27c2e98c9261fe
mailConnectivityManager.java
ervice/AttachmentDownloadService.java
980c2256f17309d778431ce9dd2687ebc62fe800 25-Jan-2011 Andy Stadler <stadler@google.com> Catch base64 errors and handle in-place

Bug: 3362752
Change-Id: I63adb8663c90a7710176cc1c481bbfa5b4b859c4
mail.java
ail/internet/MimeUtility.java
ail/store/ImapStore.java
751e4b2d9509b63bcdd3c8780afa82b67b99d7d4 21-Jan-2011 Todd Kennedy <toddke@google.com> Prevent auto-download of attachments not in an inbox

When creating the list of attachments to be automatically downloaded in the
background, exclude any attachments that are not in an inbox. Also added unit
tests to ensure the query URIs behave as expected.

NOTE: This is a partial fix for general background attachment downloading issues

bug 3373982

Change-Id: I13ef56cd280c028fa966ab9e655acce28b0b9b91
rovider/EmailContent.java
ervice/AttachmentDownloadService.java
4fd1ebdcc3b8b1389c65e485d73cd5a98616cf17 24-Jan-2011 Andy Stadler <stadler@google.com> Fix multiline mode in signature

* Add multiline flag to preference xml
* Also, remove display of actual signature in summary, as it
does not properly handle long or multiline signatures.

Bug: 3379235
Change-Id: I84894dbdccee2cd8a8ece05d0b8f7fdcf7b92406
ctivity/setup/AccountSettingsFragment.java
3dc2fcaac356d2e3866c860199e1d51a8a087f98 24-Jan-2011 Andy Stadler <stadler@google.com> Merge "Rework account security bootstrap procedure" into honeycomb
45bfac00e58059eed71fd22e2767c8e0437b6251 24-Jan-2011 Andy Stadler <stadler@google.com> Rework account security bootstrap procedure

* Bug to fix was that it was looping if the user canceled
password or encryption setup (instead of simply re-notifying.)
* Solution was to refactor all code into a single sequence of checks,
rerun the sequence each time, and set markers to prevent looping.
* Rework needed after the changes in I54f39bc9 which added
encryption support but introduced the looping behavior.
* Removed a UI-thread DB access

Bug: 3346641
Change-Id: I0791d7a16287efecc7121b5ffa0db26ca2b05151
ctivity/setup/AccountSecurity.java
819db01eadc3a95b02b2f820b483056b68c631f0 21-Jan-2011 Todd Kennedy <toddke@google.com> Limit attachment background download attempts

Do not retry downloading attachments infinitely. After some number of failures,
black list the attachment and move on. The black list is not persisted, so,
restarting the app will again try to fetch the attachments. In this way, any
transient network failures will not permanently affect the ability to download
attachments in the background

NOTE: This is a partial fix for general background attachment downloading issues

bug 3373982

Change-Id: I7f3ad9667ebebb95fbba95278b62bf40c5fce67c
ervice/AttachmentDownloadService.java
d6fbab1e7a51852f13c343e8a0325f81c19d98c5 24-Jan-2011 Marc Blank <mblank@google.com> Merge "Prevent logging about "attachment with null contentUri"" into honeycomb
2b59ecaebcc8012d307080f3f345692fa94e679e 23-Jan-2011 Dianne Hackborn <hackbod@google.com> Remove use of old theme name.

Change-Id: I0a08171b3068abeb57c973074b37aaf3c87ff001
ctivity/MoveMessageToDialog.java
04cf5e4bdf091f490f2e3bfb40f80bab44a05e25 23-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "AttachmentProvider: Always return mime-types in lowercase" into honeycomb
1264651c69da9a6389de40c49f61e28873b4d07d 22-Jan-2011 Marc Blank <mblank@google.com> Prevent logging about "attachment with null contentUri"

Bug: 3373982
Change-Id: I41b655041d5c244484435fe5bab7649d9ca569eb
ttachmentInfo.java
f92dd2bf3ea445db9b9a0eb9a447b5cbdb1a6e05 21-Jan-2011 Todd Kennedy <toddke@google.com> Don't display toast for background download failures

When downloading attachments in the background, do not display any errors
on the display.

NOTE: This is a partial fix for general background attachment downloading issues

bug 3373982

Change-Id: I874ed902bde293303e10308f38b992b2bb15b6aa
ontroller.java
xchangeUtils.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ervice/AttachmentDownloadService.java
ervice/EmailServiceProxy.java
ervice/IEmailService.aidl
6833fd5ab6c1e23c0bf2005dec2950796a040781 21-Jan-2011 Makoto Onuki <omakoto@google.com> AttachmentProvider: Always return mime-types in lowercase

Intent-filter's mime-type matching is case-sensitive. We should always use
lowercase letters.

Bug 3375709

Change-Id: Idd4abb41f94c816a5b9150aef5859dd75487a042
rovider/AttachmentProvider.java
d5c6717eeb816fac19fbab0fe900cb78ca18ae63 21-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Compose: Make sure to unhide CC if not empty for reply-all" into honeycomb
0a7d214b27ff9a7ef2c1aa9348c65c7959db6dcb 21-Jan-2011 Marc Blank <mblank@google.com> Merge "Delete attachment if there's no corresponding message" into honeycomb
3784b28aa6e19f5582e5d0a90df74be3f3461bb2 21-Jan-2011 Makoto Onuki <omakoto@google.com> Compose: Make sure to unhide CC if not empty for reply-all

Bug 3376821

Change-Id: Ieec04881843717fea55cec8efbf35757042c8d2a
ctivity/MessageCompose.java
2ac18339439631f2539a4cd35056b8ae65d5a24f 20-Jan-2011 Marc Blank <mblank@google.com> Delete attachment if there's no corresponding message

Bug: 3372440
Change-Id: I5c3653c5f27e0aa7bab52ca0d979e14bb6bafc34
ontroller.java
ervice/AttachmentDownloadService.java
7093746dd5017b1dacb726eb7b083922de15612e 21-Jan-2011 Makoto Onuki <omakoto@google.com> Don't modify content URI to non-email providers

The "?limit=" param is only supported by EmailProvider, so don't add
it to other URIs.

Doing so causes a permission error when opening an EML attachment on gmail,
because we're granted the permission only to the passed URI, but not to
the URI with the "?limit=" param.

Bug 3371630

Change-Id: I88fff88a7e48e5bc958124eedec3e592978a40c7
tility.java
6c9911e3fbea6b975ecbd276c879e150efc29a8a 20-Jan-2011 Marc Blank <mblank@google.com> Merge "Strip content of the "head" tag" into honeycomb
9dc8ba5cad18e38be4cb525defed7c4a9c161121 20-Jan-2011 Marc Blank <mblank@google.com> Strip content of the "head" tag

Bug: 3285281
Change-Id: I1183697ad09fbf8740e3529fecfa59cf6650b2f9
nippet.java
02ba344cf2489dba81058e25e3202f2898360083 20-Jan-2011 Todd Kennedy <toddke@google.com> Only show messages from inbox for account & unread views

Use a sub-selection to limit the messages from the inbox. Also add a unit
test to ensure the selections are working correctly.

bug 3368613

Change-Id: Ia24ef6028ded27c69f982ecbc6b67f35f84d1b6d
rovider/EmailContent.java
rovider/WidgetProvider.java
75e508a794a61a1f96ff30f8833f00c0e05bd379 20-Jan-2011 Andy Stadler <stadler@google.com> Merge "Cleanup account name, user name, and summary" into honeycomb
373ccb10377fdebdac7c3fbc96c6e592a1c1d8fb 20-Jan-2011 Andy Stadler <stadler@google.com> Cleanup account name, user name, and summary

* In AccountSetupNames:
* Add "Field required" error tag to Names display
* In AccountSettings:
* Improve IME behavior in text fields - auto-capitalization
* Prevent empty username
* Reset empty nickname back to default (email address)
* Fix broken hint for signature
* Proper trimming in all fields

Bug: 3338435
Change-Id: I2720c4524303ada6dd228866756fc9c3aac173f3
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupNames.java
ecffd551cc2a9dc6813effbfc9d21f2b3825a5b5 20-Jan-2011 Andy Stadler <stadler@google.com> DO NOT MERGE Remove all password trim() calls

* Initial account setup screen, password entry field
* When passing the entered password from incoming->outgoing
* When restoring store URI's from HostAuth

This will satisfy the users who insist on leading/trailing spaces
in their IMAP or EAS password. Not supported by POP3 (no quoting).

Bug: 2981433
Change-Id: I16c00bf96382899abb54cb75fcd44cf0f140a660
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupIncoming.java
rovider/EmailContent.java
41e1c81b811b4044258753eff69900c3fbe9f1e4 20-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "App icon on app drawer shouldn't restart the app" into honeycomb
6bbc689efcb33c74129493e7097aa4a485a7d7c1 19-Jan-2011 Todd Kennedy <toddke@google.com> Implement final drag & drop spec

Current specification calls for the following:
* Droppable targets: do nothing
* Not droppable targets: grey text (hex #999999)
* Hover over droppable: use label/folder list pressed state
* Hover over not droppable: do nothing
* Destructive targets: background (hex #f10000)

We need to copy the resource from the framework as there is no supported way to
fetch the pressed state drawable during runtime. Adam filed bug 3370043 so we
can specify a drag target state directly in the selector.

bug 3154986

Change-Id: Ifd5c24a3dc46b5a1c64a149904657dda297ed047
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MessageListFragment.java
c0a8b2cfb05f91e6f18c587a2698b9f8c226ba55 20-Jan-2011 Marc Blank <mblank@google.com> Merge "Implement checks before performing background attachment download" into honeycomb
475c20d3a883737853aa7301cc649736a36387c5 20-Jan-2011 Marc Blank <mblank@google.com> Implement checks before performing background attachment download

Bug: 3339007
Change-Id: I36a8359f3478c37b2ccd6a0cf0381569c592061a
ttachmentInfo.java
ervice/AttachmentDownloadService.java
b3412d7f5e1356f92d2ed4a6a9ed1f3313d3d058 20-Jan-2011 Andy Stadler <stadler@google.com> Merge "Handle leading/trailing space in passwords" into honeycomb
858c2822777f74947e81476125590ad06bfe4803 20-Jan-2011 Andy Stadler <stadler@google.com> Handle leading/trailing space in passwords

* Allow, but provide warnings via EditText.setError()
* Remove one last instance of password trim()

Bug: 2981433
Change-Id: I406a4f8b8f27cc5ce90424a8cafe88a677e72f45
Signed-off-by: Andy Stadler <stadler@google.com>
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
0c75f83f03b3ef8e54163cba2d67ba086cf8af58 20-Jan-2011 Makoto Onuki <omakoto@google.com> App icon on app drawer shouldn't restart the app

When launching Welcome and MessageListXL, make sure they start
as a "main" activity. This fixes the reported bug.

Bug 3366537

Change-Id: I68facd739bd1dad8eeec52015b0720299d632e11
tility.java
ctivity/MessageListXL.java
ctivity/Welcome.java
a33c0c74cc5fd5230b555bd1311ba92fb5d81d22 19-Jan-2011 Todd Kennedy <toddke@google.com> Revert string name change

to prevent churn for the translators, revert the string name change

Change-Id: I22710d810a5f3602ccd53a9cb4d2f31edca572f1
rovider/WidgetProvider.java
238b9f28263a70daf705f2738c734f649ff6bcc9 20-Jan-2011 Marc Blank <mblank@google.com> Merge "Split out AttachmentInfo into its own top-level class" into honeycomb
3a761c8038173efe42e67cd9d48a95b059427f0f 18-Jan-2011 Marc Blank <mblank@google.com> Split out AttachmentInfo into its own top-level class

* Determine load state and allowability of view/save in constructor
* Extend AttachmentInfo in MessageViewFragmentBase to include views,
buttons, etc. and to add extra requirements for view/save as
needed (e.g. availabilty of external storage)

Change-Id: I2ce2b4e71fd784ef0329e391cc0e2d1639f8273c
ttachmentInfo.java
ctivity/MessageViewFragmentBase.java
e539a1973ee6d71e2386b98c88bc6ec989dd5647 19-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Dump widget state to bugreport" into honeycomb
dc200a44a92013d2d1fd2b22ae857389fa95d5ca 19-Jan-2011 Makoto Onuki <omakoto@google.com> Dump widget state to bugreport

This might be helpful someday...

Change-Id: I5a9e0a2948c7ea9fa5c9a7da61d143c10dda7d9a
rovider/WidgetProvider.java
4911af8879969488120836959f72ae30a94534ac 19-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Compose: Make the EditTexts easy to focus on" into honeycomb
8ac207f2987e50622b7c89b875db56e089c1a05b 19-Jan-2011 Makoto Onuki <omakoto@google.com> Compose: Make the EditTexts easy to focus on

- Now tapping these To/Cc/Bcc/Subject labels moves the focus to
the corresponding edittext.
- Tapping the bottom part of the screen moves the focus to the
main EditText.
- Also use paddings instead of margins for the main EditText, to
expand the hitarea.

Bug 3366831
Bug 3367100

Change-Id: I9b5d18dcc9d7802bfcbd0160befcb008c784d9f7
ctivity/MessageCompose.java
be6910e7a40b4bffb7e917ffa89c539733545548 19-Jan-2011 Andy Stadler <stadler@google.com> Merge "Properly handle unsupported encryption policy" into honeycomb
a0d080558ff06f88f000cf424803c8241dd8d2eb 19-Jan-2011 Andy Stadler <stadler@google.com> Properly handle unsupported encryption policy

* This fixes the case of:
* a device that does *not* support device encryption
* connecting to an account that *does* require device encryption
* but also supports "non-provisioned devices" (making the encryption
requirement optional.)
* Added unit test

Bug: 3367191
Change-Id: I894e68c4119a102dad02d2e0815fccdae1e87189
ecurityPolicy.java
3db3e4b795c08122d1c9d4fc105150231795448b 19-Jan-2011 Todd Kennedy <toddke@google.com> widget combined inbox view only shows messages in inbox

instead of showing all messages (e.g. messages in drafts, etc...) the "combined
inbox" view now only messages in the inbox folder. This is now identical to
the "combined inbox" view available in the full email UI.

bug 3368613

Change-Id: I0080b56cd2718a3dce82b279277c63c4f43e86dc
rovider/WidgetProvider.java
a5de96be71610c6ad8c9b28554466bf4c09862f9 19-Jan-2011 Todd Kennedy <toddke@google.com> Merge "Update widget colours / assets according to spec" into honeycomb
0324017aa0a02b6b8381da00eaeb4a78879bb034 19-Jan-2011 Marc Blank <mblank@google.com> Fix another case of HTML leakage in snippets

* Add test for this case

Bug: 3285281
Change-Id: If45d33624ac5dbd16d28b45428be29e5a8c51046
nippet.java
290fb65595e08680a53ab77f54c21e7c9a380da0 18-Jan-2011 Todd Kennedy <toddke@google.com> Update widget colours / assets according to spec

* Modified font colours for read/un-read emails
* Add chip colours when viewing mail from multiple accounts
* Add calendar icon if message has an invite attachment
* Update background of read/un-read emails

bug 3351761

Change-Id: Id59573d25a6988e9e869335f95778aad28b43912
esourceHelper.java
rovider/WidgetProvider.java
1911a782710d49fe31f2e3f9ceead5ee1c7a1905 19-Jan-2011 Adam Cohen <adamcohen@google.com> Merge "Updating widget due to API changes." into honeycomb
7a69ac781b445a5895d31be83d190a2b6ee9fdc6 19-Jan-2011 Marc Blank <mblank@google.com> Merge "Don't report connection error when account isn't initialized" into honeycomb
cb8a5544bfb2389ebd735f1575b481000d802eb4 19-Jan-2011 Winson Chung <winsonc@google.com> Updating widget due to API changes.

Change-Id: I8623c48e912330145cfd325c962574d322ccc6f0
rovider/WidgetProvider.java
aeea97275d27f42d724b17e37aed2d0302271007 18-Jan-2011 Marc Blank <mblank@google.com> Don't report connection error when account isn't initialized

* We report uninitialized for updateFolderList when no mailboxes
have been created

Bug: 3235788
Change-Id: I337cfeac83bf320e8078e5a837976414fdd93e0f
ontroller.java
f72f812f5bb5d14940b2b161eec417a9aa6950f8 18-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Use proper alert icons on dialogs" into honeycomb
6b21662ba8a76b9d713feda13e8da6ebb2b9745e 18-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Remove STOPSHIPs regarding CloseTraceCursorWrapper" into honeycomb
946239e8a0e01c628fae61894d3d48248b74cefc 18-Jan-2011 Andy Stadler <stadler@google.com> Add per-account preference for bkgnd attachments

* Add flag to Account record
* Add checkbox to Account Settings (IMAP & EAS)
* Add checkbox to Account Setup (IMAP & EAS)
* Add flag to backup/restore logic
* Update Account & AccountSetupOptions unit tests

Bug: 3360873
Change-Id: I0c407776ede4110f33716644f6f027938f21130a
ccount.java
ccountBackupRestore.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/GeneralPreferences.java
rovider/EmailContent.java
49518bb3605d6c8e3cc4801c452e4f8f63220f44 18-Jan-2011 Makoto Onuki <omakoto@google.com> Use proper alert icons on dialogs

Bug 3364447
Bug 3241281

Change-Id: Ie791d8d5eae26a848de08658a14d6a09d06d0846
ctivity/AccountFolderList.java
ctivity/DeleteMessageConfirmationDialog.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/DuplicateAccountDialogFragment.java
80a2e9109daa5d13cd748305b4c5f83578f33728 18-Jan-2011 Makoto Onuki <omakoto@google.com> Remove STOPSHIPs regarding CloseTraceCursorWrapper

The loader crash seems to have been gone.

Bug 3335072
Bug 3335067

Change-Id: Iefc5367e6e394840687b0c2c4f6b75f8e9661d26
tility.java
ctivity/AccountSelectorAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MessagesAdapter.java
2b6d0072df67a1d85ed9da29d1a4ed26fcd86ecd 17-Jan-2011 Todd Kennedy <toddke@google.com> Do not automatically open attached files after saving

After saving an attachment, we no longer automatically start the activity
associated with the attachment mime type. However, we still run the media
scanner to add supported media (e.g. music, pictures, etc...) to the media
content provider.

bug 3266378

Change-Id: I96985438316a33322437ff009fe7e9c597b1c70a
ctivity/MediaOpener.java
ctivity/MessageViewFragmentBase.java
31e25767918193217c884db72aaa98e50a4957d3 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Follow API changes.

Change-Id: I1ca0fe365b953fa98a462912309a1c9647277ba7
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ata/ThrottlingCursorLoader.java
c2e638351c19ab22ad9ab4cce2853414c34724c3 17-Jan-2011 Andy Stadler <stadler@google.com> Updates to follow DPM api changes

* Use getStorageEncryptionStatus() to check device status
* Also, check granted policy on USES_ENCRYPTED_STORAGE

Bug: 3346641

Change-Id: I9e9a45a6d1d3cf4714e27b69cdb5952c841c640d
ecurityPolicy.java
c50b6f685ba26a38b8110f6ca0115b12f84d643c 14-Jan-2011 Makoto Onuki <omakoto@google.com> Use broadcast to detect system account update.

Instead of AccountsUpdatedListener.

Bug 3211657

Change-Id: I1e60092fc06fe80b9914ff7264c24fcbfa950745
ingleRunningTask.java
ctivity/Welcome.java
ervice/EmailBroadcastProcessorService.java
ervice/MailService.java
f944b6f0aa070408256f85ba8cef7e09fedb5d84 17-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Hide the entire tab section if no tabs are visible." into honeycomb
91a1cf1db0b2a6ee72e467c37e7845584354eaf2 15-Jan-2011 Todd Kennedy <toddke@google.com> Remove "view" button for .apk attachments

We don't need to allow users to install applications directly from the email
client. Instead, application installation is a two step process; the user
must first save the APK and then find it on the filesystem.

If the user does not want to allow installation of applications from unknown
sources, we don't provide the ability to save.

NOTE: After saving, we still try to open the APK which generates an error
toast. We will be removing the auto-open-after-save feature in a separate CL.

bug 3351137

Change-Id: I0eb1bc8224a154792fe852757e4b23a3059f4392
mail.java
ctivity/MessageViewFragmentBase.java
c890a4e4a2cbb489aea4847cf25368a723586530 13-Jan-2011 Todd Kennedy <toddke@google.com> Display dialog if unsaved settings would be lost

When navigating away from a preferences screen and unsaved settings would be
lost, display a confirmation dialog. The user can either accept or cancel the
action. If canceling, the user is returned to the settings screen they were
currently on. Otherwise, they are taken to a new fragment (the exact
destination depends upon whether the user navigated "back" or selected another
header)

There is one additional change that needs to be made. In the case of navigating
to another header, we are notified _after_ the new header is selected. In this
scenario, the action is not cancelable and the user will lose any changes. We
must display an appropriate message when this happens. [note: this is the same
behaviour as when the user selects a breadcrumb]

bug 3327737

Change-Id: I4bd3b393a6323f3e63510e3ed08e4e1e745b04c4
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
9d91b7ca04fbff8c6835509c6376dfdc83e47f42 14-Jan-2011 Makoto Onuki <omakoto@google.com> Hide the entire tab section if no tabs are visible.

Bug 3342441

Change-Id: I116baffdaa6bc18f00311aef2a0ee726288b19f0
ctivity/MessageViewFragmentBase.java
36cc9c18edb7ee897d0d758788b6e338cb2ef126 14-Jan-2011 Makoto Onuki <omakoto@google.com> Fix NPE in AttachmentDownloadServiceTests.testDownloadSet

Bug 3353834

Change-Id: I5cf475ff174bffce80a435c80b1fd85c0be146e9
ervice/AttachmentDownloadService.java
1daf8766937e0d8dda6a35870b3e27435c92df9a 14-Jan-2011 Makoto Onuki <omakoto@google.com> Fix NPE in Controller.deleteMessageSync

Bug 3351148

Change-Id: I0015c84e5758504a66a4373668afea063f5b2e15
ontroller.java
d072f9905d8572f454be1f2ea5d7ba173d2b57d1 13-Jan-2011 Makoto Onuki <omakoto@google.com> Don't show trashed messages in Starred mailbox

Also show the *total* starred message count (excluding trashed starred)
in the mailbox list, not *per-account* starred count.

Bug 3346872
Bug 2149412

Change-Id: I2274f215f994b62280ac6138982b927cec22c677
tility.java
ctivity/MailboxesAdapter.java
rovider/EmailContent.java
rovider/WidgetProvider.java
1ec737ce284526a19928bd68275fd37d237bf830 13-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Fix NPE in MessageViewFragmentBase" into honeycomb
9799b8fe4b35013b338da013cb5ee6d624500ffc 13-Jan-2011 Makoto Onuki <omakoto@google.com> Fix NPE in MessageViewFragmentBase

Add null check for all mMessageContentView accesses.

Also, addressed Andy's comment on I1374b81f; moved the zoom scale array out
of Preferences.

Bug 3350164

Change-Id: I689bd4146ecfffdbb98dccd433ba0c396996df4c
references.java
ctivity/MessageViewFragmentBase.java
4f721a162521cb4b418d53143a15a29a0ec969cc 13-Jan-2011 Andy Stadler <stadler@google.com> Merge "Add encryption to SecurityPolicy" into honeycomb
469f2987dc11d153434e50eb04dd6b83b924d09d 13-Jan-2011 Andy Stadler <stadler@google.com> Add encryption to SecurityPolicy

* Add encrypted-storage to uses-policies
* Add new field to PolicySet
* Add "false" to all constructor callers
* Add unit tests (including fixing some existing unit tests)
* Add new logic to AccountSecurity activity t0 dispatch both password
and encryption requests.

Bug: 3346641
Change-Id: I54f39bc9b6fbe21c033a05b36b83081e5c78a296
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
24c068b912efd0b027f7842c4b98fa1482dba33c 12-Jan-2011 Marc Blank <mblank@google.com> Make message view text sizes consistent w/ Gmail

It's exactly the same as Marc's I1240f263, except how it sets the zoom scale.
Seems like WebView.setInitialScale() works...

Bug: 3215606
Change-Id: I1374b81fd7799faa261ba6a06df18f6a8ef9d122
references.java
ctivity/MessageViewFragmentBase.java
ffdb8a7ea9f2bf46d7e6a611fdaf3ebf9dd95d6a 13-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Fix "load more messages"" into honeycomb
983e1ad53b3ca3105655bf6d961713c61060a7f8 13-Jan-2011 Andy Stadler <stadler@google.com> Make breadcrumbs work in server settings fragments

* Switch to newer startPreferenceActivity API
* Newer API lets us pass a string for the breadcrumb
* Get rid of newInstance() calls in all three server settings fragments

Bug: 3188951
Change-Id: I86ae91d63ff7bd32fa0eab96ac18686bb5e3e313
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
ee5780f79a6f83ad52cc7f049c9857324ddfe3ff 13-Jan-2011 Marc Blank <mblank@google.com> Merge "Properly handle style (and similar) tags in HTML snippets" into honeycomb
a796fbab0237c094aa943de68f85d201dd22503b 13-Jan-2011 Makoto Onuki <omakoto@google.com> Fix "load more messages"

Was simply broken.

Bug 3347062

Change-Id: Ic8d16be377ee5a9871f0019a0b008a4de2390f15
efreshManager.java
609e47cc8e660d965b5d91a6da3e52e6989a3463 13-Jan-2011 Marc Blank <mblank@google.com> Merge "Cleanup WidgetProvider" into honeycomb
5a8be8e7ed4c1400e1d95c75faedc6d74c2e83f3 15-Dec-2010 Marc Blank <mblank@google.com> Properly handle style (and similar) tags in HTML snippets

Bug: 3285281
Change-Id: Ia45dbe39b47f1bcb647efbf1860ed4b933976df8
nippet.java
055dd6be8643727fa1bcf197f5e8438438f28284 13-Jan-2011 Marc Blank <mblank@google.com> Cleanup WidgetProvider

* Remove STOPSHIPs
* Don't use startService calls

Bug: 3341494
Bug: 3342662
Change-Id: I46fd60db40cf3476255f1af795da0b2a4bc34a7e
rovider/WidgetProvider.java
4c06c82b379d7b14263a456701fb9c45751cd5b2 12-Jan-2011 Todd Kennedy <toddke@google.com> Hide view/save buttons if attachment is unviewable

If none of the installed activities can handle the attachment type, don't let
the user view or save the attachment to the device.

bug 3338984

Change-Id: I6c158b7dd11ec48eec81f9a96289dd2c914f6a2c
ctivity/MessageViewFragmentBase.java
1316ccdc2affc088b3e68e4a4e044dd29249271f 12-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Show the UP arrow on account settings" into honeycomb
82dd234f133387c40f30a9b7bcbaf5beb18ab411 12-Jan-2011 Makoto Onuki <omakoto@google.com> Improve "message details"

- Show subject/sender info
- Now all text fields are copyable

Bug 3342310

Change-Id: Ib9c4486aec36f192625c21602ea7406508ca0a49
ctivity/MessageViewFragmentBase.java
ctivity/MessageViewMessageDetailsDialog.java
38089f6c4222ab56582899f1f228966c5ebf75e8 12-Jan-2011 Makoto Onuki <omakoto@google.com> Show the UP arrow on account settings

Show the UP arrow on the action bar. Tapping it works as a back press for now.

Bug 3341634

Change-Id: I9fade234fd9878f701a601f4d016778fa032383b
ctivity/setup/AccountSettingsXL.java
e5d9691ec5651d2da6555cb4fe2b0e3639bb4240 12-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Don't show starred mailbox, if account has no starred" into honeycomb
0bf1add59489d3400e95cb431013d69bc63e2487 12-Jan-2011 Marc Blank <mblank@google.com> Merge "Fix broken widget display (typo)" into honeycomb
1268bef712f13e19d7c5b94991c6eb7d800ea77a 12-Jan-2011 Marc Blank <mblank@google.com> Fix broken widget display (typo)

Bug: 3329906
Bug: 3342305
Change-Id: I1c1f2ae78ba86b28923d4fd9c7c390425de83af1
rovider/WidgetProvider.java
ae7119524b6032d8471f926c289703a33de2cbb9 11-Jan-2011 Christopher Tate <ctate@google.com> API CHANGE: startDrag() now takes "int flags" instead of "boolean localOnly"

startDrag() that crosses application boundaries will remain @hide until we get
more of the surrounding behaviors nailed down.

Change-Id: I2db8206b26d606d5592f185702380b889c029b19
ctivity/MessageListFragment.java
0a73e8cd459f4839f7c54fd74c9085271a1fb806 12-Jan-2011 Makoto Onuki <omakoto@google.com> Fix NPE in MessageListItem

Not sure in what condition Message.displayName can be null, but addign this
check won't harm...

Bug 3339309

Change-Id: Ic2261fc33cf2be759411b998707a96eedd4e4fdb
ctivity/MessageListItem.java
9c0da8b84f2e52b38134719fcbf80c9d3c777970 12-Jan-2011 Makoto Onuki <omakoto@google.com> Don't show starred mailbox, if account has no starred

Bug 3334963

Change-Id: I751e56731b990a6e94b8547a577a84c1a848cbc7
ctivity/MailboxesAdapter.java
rovider/EmailContent.java
f7b8bc1ed7894e1b35fcce632bb70813a12b4ab5 11-Jan-2011 Makoto Onuki <omakoto@google.com> Show newer/older in landscape as well, below message list

Now the button area is owned by the 3-pane layout, rather than the message view
fragment.

Bug 3327153

Change-Id: I9c262086c5a001cfe6e81b788c27d05d490c9830
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
ctivity/ThreePaneLayout.java
86753bc41c3957b3bba49846f6603ed29f13c84e 11-Jan-2011 Andy Stadler <stadler@google.com> Update file type acceptance rules

* Open up all types for view/save rules
* Add anti-malware block list (based on extensions)
* Clean up code that shows/hides view & save buttons
* Redo handling of load/cancel 1sec timer
* Unit test for new little utility
* Allow larger items when on wifi

Bug: 3338984
Bug: 3334950
Bug: 3338988
Bug: 3340835

Change-Id: I991135636d507f2660e2860720dbed21bd1a955b
mail.java
ctivity/MessageViewFragmentBase.java
rovider/AttachmentProvider.java
0faa37d7718dc0ff1af00cf37e2091a5001596e9 11-Jan-2011 Andy Stadler <stadler@google.com> Save attachments to /sdcard/Download

Bug: 3339015
Change-Id: Iee08f0c358e6680175c732ef0d5e416a86da5a5d
ctivity/MessageViewFragmentBase.java
f6fe21b483ac4922ed9c0a2ec0cf7bed4760d82b 11-Jan-2011 Marc Blank <mblank@google.com> Merge "Check download request before trying to remove it from the queue" into honeycomb
3d87da33b8426af3813f81b0569405120dedf4f6 11-Jan-2011 Marc Blank <mblank@google.com> Merge "Add logging for widget view switching" into honeycomb
7fbe563f510eb3583f617b583ff126167e1cac14 11-Jan-2011 Marc Blank <mblank@google.com> Add logging for widget view switching

Change-Id: I5e39ffffa0860fb43a503e4ec00ddad8003f5ef4
rovider/WidgetProvider.java
92b50897d61bb1e07139ce24c94816591449fe03 11-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Pixel perfect: newer/older buttons" into honeycomb
b6171541b6b9436cee6b03a5720c6259a7e58ba8 11-Jan-2011 Makoto Onuki <omakoto@google.com> Pixel perfect: newer/older buttons

We haven't gotten all dimensions yet, but this is what I inferred from
the latest redlines.

Also fixed a margin above the message area on message view.
(Keep the margin even if there's no tabs.)

Bug 3138021

Change-Id: Iafff578f499737674ec10206b75566377cf2383b
ctivity/MessageCommandButtonView.java
782c21e953f3a157b2771cb15e097ed812e27ab1 11-Jan-2011 Marc Blank <mblank@google.com> Check download request before trying to remove it from the queue

Bug: 3312633
Change-Id: I443d9a8f786f93c7cd72b6b96ea838bf0d05f4d4
ervice/AttachmentDownloadService.java
43600c915f688d2befee2fa65ff58ac571d38695 11-Jan-2011 Todd Kennedy <toddke@google.com> Merge "Remove/fix STOPSHIP comments" into honeycomb
8a63a72104ff86cbfa1d99767bf4be1c6dae899f 11-Jan-2011 Todd Kennedy <toddke@google.com> Simplify drag-n-drop scrolling logic

Remove the concept of scroll speeds. According to Mark, multiple scroll speeds
is a "nice to have" feature and not a "must have". Besides, this did not work
(there was only ever one scroll speed), and, when fixed, the top scroll speed
was way too fast to be usable.

bug 3335062

Change-Id: I160bec2ca5de0b26da81ed31dfb96fc86e543988
ctivity/MailboxListFragment.java
518124e47d8cf4510dd11c5ac3ee732f642004bd 10-Jan-2011 Todd Kennedy <toddke@google.com> Remove/fix STOPSHIP comments

* Remove the drag_background drawable as it is not referenced
* Correct icons for menus have been submitted; remove STOPSHIP
* Reverse target location check in MailboxListItem to fail fast if we do
not have a "down" touch event; STOPSHIP not necessary, removed
* Remove 10dip guard on mailbox list; this is near impossible to trigger

bug 3335078
bug 3335096
bug 3335065

Change-Id: I4bcc42ee03502c8a5c44d431e935dff92a648fb1
ctivity/MailboxListItem.java
5fed5c8a59a5042817e4abbb1fb1855e809ab958 11-Jan-2011 Makoto Onuki <omakoto@google.com> Don't show "Stop" for loaded attachments

There's a case where we show both the "stop" and "view" buttons at the same
time.

Bug 3138021

Change-Id: Ib12f5dc1e522a04b1cc175626d084ed8bc5c8065
ctivity/MessageViewFragmentBase.java
84c4ec4aef900fb5dea80515702433929b61f387 11-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Remove STOPSHIPs" into honeycomb
a826d3fb03f29a07ea12e44237b2c02ea1926c74 10-Jan-2011 Makoto Onuki <omakoto@google.com> Pixel perfect: Message view

Still waiting for a few missing assets, but it's done other than that.

The divider change is already merged; new layouts all use the framework style.

It's basically all layout changes, except for:
- Now the recepient address line has "Show details", which shows a dialog with
all to/cc/bcc addresses with the timestamp.
- Now invite response buttons are checkboxes.
(But the basic behavior doesn't change -- once you check a response,
the message will be gone, so you can't change the response later.)

Copied message_header_bg from gmail manuall. It'll look silly without it.

Bug 3138021
Bug 3307021

Change-Id: I6f7eb91d6104c3143a5c58b0c4c6c19929cea477
tility.java
ctivity/ContactStatusLoader.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
ctivity/MessageViewMessageDetailsDialog.java
ail/Address.java
07f5f60b8f84da92305d4f02ffedae9436f87787 09-Jan-2011 Todd Kennedy <toddke@google.com> Implement proper drag-n-drop

Still some tweaks to be done, but, we're real close to what it should
look like.

Bug 3322756
Change-Id: I8549ab59677a344e8f259c88bed950169d7381a8
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MessageListFragment.java
42c68814940591e5f5b572882efa023c41d15679 10-Jan-2011 Makoto Onuki <omakoto@google.com> Remove STOPSHIPs

Bug 3335094
Bug 3335069

Change-Id: I307a762a83ca7fa94cf62f1d80f32a2b3f30b27a
ctivity/ThreePaneLayout.java
26cf5639e0e6677ee09a9aebd753d7e6e708da24 10-Jan-2011 Marc Blank <mblank@google.com> Remove STOPSHIP from WidgetProvider

Bug: 3335070
Change-Id: I838d5eeb795759da30946fbdb00fa3f0e4dbdb12
rovider/WidgetProvider.java
75396e175d2664f70ddd4dc4efbcb0957f8f8b80 10-Jan-2011 Marc Blank <mblank@google.com> Merge "Remove STOPSHIP from AttachmentDownloadService" into honeycomb
33799ad2d06236b95244337b5325aad5285f2560 10-Jan-2011 Marc Blank <mblank@google.com> Remove STOPSHIP from AttachmentDownloadService

Bug: 3335071
Change-Id: Ia6a8e2e7378510db234c4ec5164cb5ef39c529d7
ervice/AttachmentDownloadService.java
d9d120bfe4d43f967c809acacda7108f6b8e79c9 10-Jan-2011 Marc Blank <mblank@google.com> Merge "Fix issues w/ security-related account data deletion" into honeycomb
69af769688acc28a20cdbad046cea2565456801c 08-Jan-2011 Marc Blank <mblank@google.com> Fix issues w/ security-related account data deletion

* Stop running syncs
* Delete all EmailProvider data except the account itself (with
cleared sync key) and the account mailbox (necessary for syncing
to sync after security hold is lifted

Bug: 3245779
Bug: 3253952
Change-Id: Idc208ef5ed85808b085ebab9c26a428fb0451e34
ontroller.java
85985b5db303946e3eb79507765562294e379c3f 10-Jan-2011 Brett Chabot <brettchabot@android.com> Merge "Use new public API to protect force account creation." into honeycomb
a8ef07fabc0a8ef07896d5ad4f795ad108f4f3dd 10-Jan-2011 Andy Stadler <stadler@google.com> Cleanup STOPSHIPs in strings.xml

* cleaned out old placeholders
* moved a bunch of unused strings into placeholders
* moved three strings into active status.

Bug: 3335092
Change-Id: Ibb0690f7cc9ddd1b8f7f337964faff6471be880c
ctivity/MoveMessageToDialog.java
ea4c5642612803753fd221f33bbdf47fd40bc7dd 09-Jan-2011 Brett Chabot <brettchabot@android.com> Use new public API to protect force account creation.

Check value of ActivityManager.isRunningInTestHarness() before allowing force
account creation, instead of ActivityManager.isUserAMonkey().

Bug 3329873

Change-Id: I5028eef9caced2cacc9c187dfd746865939fdedd
ctivity/setup/AccountSetupBasics.java
7271bbef13231d2bf64997f7e11a55ecb441266b 09-Jan-2011 Andy Stadler <stadler@google.com> Remove a couple of STOPSHIP notes

* Restore ActionBar based progress in phone UX
* Removed unused debugging method

Change-Id: Ia36847d27fe9c9fa121a29f1e6a65bd3da0c3ffc
tility.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
0e50c33ec7e593ac6367ea5bafd499f73a8ab837 08-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Remove use of old methods." into honeycomb
6c7075fb8644b390058f85efd09744e8964a242a 08-Jan-2011 Dianne Hackborn <hackbod@google.com> Remove use of old methods.

Change-Id: Ibc686a39cb2c481e6cd57b1d6029979cfd9f5b71
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
ctivity/MessageView.java
b50872abd04f1228ffb71bfb7db30e4f75ced8d5 07-Jan-2011 Christopher Tate <ctate@google.com> Rename drag "thumbnail" to the drag "shadow"

No functional changes; just a rename of the relevant class/method/parameters.

Change-Id: I80c0297d0ccbf1bb30196fb919ae68194e18d732
ctivity/MessageListFragment.java
d6ce2998f7cfae510ccc2af72aa729aafc7a40ef 08-Jan-2011 Marc Blank <mblank@google.com> Merge "Fix widget view switching with > 1 account" into honeycomb
f6cb1b002e42d4082f9c650ea5d32377be34ed91 08-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Don't pass ACCOUNT_ID_COMBINED_VIEW to message compose." into honeycomb
f29ce4d37bc5f2d72062cbbeabb3b92bb055a166 07-Jan-2011 Makoto Onuki <omakoto@google.com> Don't pass ACCOUNT_ID_COMBINED_VIEW to message compose.

If you do so, MessageCompose won't be able to restore an account, so it'll
use null account...

Bug 3324472

Change-Id: Ic0e615b31e21246e41f6f2c709a8422bef230040
ctivity/MessageCompose.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
4b311dcdd43ce3a39258d389b0142abdef16f6aa 07-Jan-2011 Andy Stadler <stadler@google.com> Merge "Move account edit save settings off UI thread" into honeycomb
6e71978ec38add2edf3ac5f3dd1f9abeea9c1ab6 07-Jan-2011 Andy Stadler <stadler@google.com> Move account edit save settings off UI thread

* Caught by StrictMode
* The fix prevents ANR
* Removed vestigial cruft from the saveSettingsAfterEdit() implementations

Bug: 3133633
Change-Id: Id41fb74269a2b72cc17121e33684b459d3eec869
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
dc3f9f4d698267f8b2d44127d6c7bc8c1f450aba 07-Jan-2011 Marc Blank <mblank@google.com> Fix widget view switching with > 1 account

* Add test case for view switching

Bug: 3329906
Change-Id: I738bad118d7d7a8d2839fbd2a9fdc00af2af3153
rovider/WidgetProvider.java
1dde2253cbf2b6c9b483b4350b6fcb5447e870e0 07-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "PPing message view: use proper text size." into honeycomb
21a0c1798681037ca2b7376e99bbb24ea410a112 07-Jan-2011 Makoto Onuki <omakoto@google.com> PPing message view: use proper text size.

Also use the same date/time format as gmail to show the date part properly.

Bug 3138021

Change-Id: I24e45895de5330cd670a674f56eca5ccadcee9b5
ctivity/MessageViewFragmentBase.java
7523930d3995983dec4fb0512dd5acb83ed02a4d 05-Jan-2011 Makoto Onuki <omakoto@google.com> Pixel perfect: message compose

Layout & action bar icons. Now I think it's close enough.

Bug 3138037

Change-Id: I0802f34ac23980e0faf8a0daffc016a012816d81
ctivity/MessageCompose.java
5faff6c76a1a231807c0039b5af006114618dbf3 06-Jan-2011 Todd Kennedy <toddke@google.com> Merge "Use new holo light icons" into honeycomb
64ac7a6cc81ef6dc84354153b978bd5db944e8b0 06-Jan-2011 Todd Kennedy <toddke@google.com> Use new holo light icons

Use the new icons where appropriate. This is not a complete change as there are
still some icons missing.

Change-Id: I51d1458749343ddfc6456dc2a9853b8bc2540e26
tility.java
ctivity/MessageListItem.java
ctivity/MessageViewFragment.java
29d79adf4b4e716d40922d7e2008c5091460c143 06-Jan-2011 Andy Stadler <stadler@google.com> Fix cursor leaks when canceling AsyncTask

We discovered that AsyncTask.cancel() doesn't quite perform as expected;
In particular, if you call cancel() during a particularly slow background
worker, the result is discarded and onPostExecute() is never called. If
the result is an open cursor, then we "leak" by not closing it.

For AccountFolderList, which has a multi-step doInBackground():
1. Check for isCancelled() during the long doInBackground() which will
reduce the number of discarded cursors in the first place.
2. Check for isCancelled() at the end of the long doInBackground() and
if true, close the result cursors and return null.
3. In the existing isCancelled() code in onPostExecute(), close the
cursors.

For other AsyncTasks (with simpler configurations):
1. Check for isCancelled() at the end of doInBackground() and if true,
close the just-opened cursor and return null.

See also Change-Id: Ie63a3197af563baa8bb0fe6f1ef9423e281cbf4c
Bug: 3088870

Change-Id: I51b11bb5b23f209f8b61962500a063040484fd24
ctivity/AccountFolderListFragment.java
ctivity/AccountShortcutPicker.java
ctivity/MessageOrderManager.java
201a24f51e166f66f99c17da3356aa4fdb7fa54d 06-Jan-2011 Andy Stadler <stadler@google.com> Harden MailService against half-created accounts

* Add simple sanity checks to scanned accounts, skip over if bad
* Fix existing unit tests and add new unit test for this change
* Also fixed minor bug in EmailContent that was never triggered in
production code (only discovered it via a unit test).
* Also fixed minor bug in an existing unit test

Bug: 2937595
Change-Id: Id60bbb5d8bd923db043d46891c7f89d7debb0a11
rovider/EmailContent.java
ervice/MailService.java
ce9df41fc1f9ff157be5390fca9ee1269c9dfa08 06-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Pixel perfect: mailbox list"
0187c3e203b58a83ceaa0b5854cc14466fbb98c3 06-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Message list item: Use "activated" background"
eaf748e6eecb4cb3644dcd950d56d1edb2d50a63 06-Jan-2011 Makoto Onuki <omakoto@google.com> Message list item: Use "activated" background

for the selected message.

This also fixes wired background flicker when you long-press.
(Apparently you can't share StateListDrawable among multiple items...)

Change-Id: I922f50a5b2a33731919e26a55bd3537d55057af5
ctivity/MessageListItem.java
f72c4c2c2a5c9078449ceb5f1ee53d9c977d0388 06-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Fix NPE in loadAttachmentCallback"
80a98fd939f0760f2e2d8abb604c492125c0bbad 06-Jan-2011 Makoto Onuki <omakoto@google.com> Pixel perfect: mailbox list

Now it should be close enough...

Also fixed the "selected mailbox won't get hilighted" issue.

Bug 3137965

Change-Id: Ifba83783121e62363fac6428534394d2e0a4bee9
ctivity/MailboxListItem.java
0bd7ab96aa867ce9d3e6743c42eb37213e5d645f 05-Jan-2011 Andy Stadler <stadler@google.com> Merge "Prevent duplicate mailbox creation"
900021dbeeb93409c069a04a740c2436e30d1b2a 05-Jan-2011 Andy Stadler <stadler@google.com> Prevent duplicate mailbox creation

* Synchronized findOrCreateMailboxOfType

Bug: 3291982
Change-Id: I7146458112296aa2b0f4b8f24d0c86f16a8b6626
ontroller.java
12247faa91a97f4c0e626977de7490bdb7dabc6c 05-Jan-2011 Marc Blank <mblank@google.com> Merge "Add final backgrounds to message list items"
bd9b2ff2b31b8db24471f74d35b4f6c220a1d2e3 05-Jan-2011 Marc Blank <mblank@google.com> Add final backgrounds to message list items

Bug: 3137994
Change-Id: Ife96b23815999290fc1d263ca6d8f4cedaef1b20
ctivity/MessageListItem.java
f252d5d95e225a31f86d45b9f7d200dcd7eb5c16 05-Jan-2011 Andy Stadler <stadler@google.com> am 42749c91: am 1a791e67: Fix NPE when switching IMAP into TLS

* commit '42749c9105c663e035a0863d7a6bda111b5c7112':
Fix NPE when switching IMAP into TLS
8c45186b4783cb32794d764c0f34eba90e8793ff 05-Jan-2011 Andy Stadler <stadler@google.com> Merge "DO NOT MERGE Fix cursor leaks when canceling AsyncTask" into gingerbread
1a791e675ba5092569125bf09a9fcc721bd4c5e1 05-Jan-2011 Andy Stadler <stadler@google.com> Fix NPE when switching IMAP into TLS

* Update MockTransport to allow TLS connections
* Test TLS connection in ImapStore unit tests
* The bugfix: Re-query capabilities after closing/reopening parser for TLS

(Note: Actually, this is required by the IMAP RFC 3501, 6.2.1)

Bug: 3315939
Change-Id: I51f838043e87750b5712a1bd2e4f9c821b58c808
ail/store/ImapStore.java
d2911c3e861a3fb9c92ff958f1cc4f78f3eeb896 05-Jan-2011 Andy Stadler <stadler@google.com> DO NOT MERGE Fix cursor leaks when canceling AsyncTask

We discovered that AsyncTask.cancel() doesn't quite perform as expected;
In particular, if you call cancel() during a particularly slow background
worker, the result is discarded and onPostExecute() is never called. If
the result is an open cursor, then we "leak" by not closing it.

For AccountFolderList, which has a multi-step doInBackground():
1. Check for isCancelled() during the long doInBackground() which will
reduce the number of discarded cursors in the first place.
2. Check for isCancelled() at the end of the long doInBackground() and
if true, close the result cursors and return null.
3. In the existing isCancelled() code in onPostExecute(), close the
cursors.

For other Activities (with simpler configurations):
1. Check for isCancelled() at the end of doInBackground() and if true,
close the just-opened cursor and return null.

Bug: 3088870
Change-Id: Ie63a3197af563baa8bb0fe6f1ef9423e281cbf4c
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
ctivity/MessageView.java
38a495fed9f106e0ac312a5a6d987a375f69dfff 05-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Attempt to fix StaleDataException"
1144e6c93f112be5008d0bb79d774c0de2134a87 04-Jan-2011 Makoto Onuki <omakoto@google.com> Fix NPE in loadAttachmentCallback

bug 3317175

Change-Id: Ib892af0b1bf00cd99c370e114dd8d98b6887933c
ctivity/MessageViewFragmentBase.java
d4cd717e9d127b6aa2ea881f4054a6a88c14c8eb 04-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Hide refresh button on combined view"
dc1ac99210e2e2f7420359f6fbf9b27cb920b13d 04-Jan-2011 Makoto Onuki <omakoto@google.com> Hide refresh button on combined view

Bug 3317656

Change-Id: I63f6fcd0aae29f01e40780bd7f69294e629aa888
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
e447bea49b9a50ef76c35f6dc0f794a3fd147e79 04-Jan-2011 Makoto Onuki <omakoto@google.com> Attempt to fix StaleDataException

I'm not yet 100% sure what's going on, but the old code, not stopping
the scheduled forceLoad() in onReset() is apparently wrong.
onReset() is a new callback introduced in the recent loader change, so
this can explain why it started after the change.

Also, call super.onContentChanged() instead of directly calling forceLoad(),
as Loader.onContentChanged() now does more than just calling forceLoad.

Bug 3308465

Change-Id: Ica46bf994b571a26dd532734307a5c7ec6df0268
ata/ThrottlingCursorLoader.java
99de346ed3dca94fdac167af12fcbaf309f8b2db 04-Jan-2011 Marc Blank <mblank@google.com> Merge "Handle query with an id of -1 more gracefully"
8b5cd2beff18ff525c429f10acfdd78bc1e011bb 04-Jan-2011 Andy Stadler <stadler@android.com> Remove UI thread access in AccountSetupBasics

* Move getOwnerName to a FutureTask
* Use AsyncTask for call to Utility.findExistingAccount()

Change-Id: I85e35a12cc28b1dda8a0ccd930869316032a3b12
ctivity/setup/AccountSetupBasics.java
cbdd9f78b2605e87e45e4f6761b0a8c444a8cd4c 21-Dec-2010 Marc Blank <mblank@google.com> Distinguish mailbox requests that are user requested

Bug: 3251757
Change-Id: Ie417ebf44c8b740db88e5854077782930359a958
ontroller.java
xchangeUtils.java
efreshManager.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ervice/EmailServiceProxy.java
ervice/IEmailService.aidl
ervice/PopImapSyncAdapterService.java
e70c2e05436c6f68a233b96dc48b68acaedd97fc 31-Dec-2010 Marc Blank <mblank@google.com> Merge "Fix format/draw issues with snippets"
d306ba34387f3a7e77a4b8d98c6ac45cc14b95ad 30-Dec-2010 Marc Blank <mblank@google.com> Handle query with an id of -1 more gracefully

* In query of an otherwise valid URI with -1 as an id, simply return
an empty cursor
* Add unit test to verify proper handling of invalid uri's

Bug: 3183245
Bug: 3292080

Change-Id: Ia0c35cbd0f5dd0dc4a8fc794226399644cf1fe13
rovider/EmailProvider.java
3d91924c99d108eaeeffe098cddfe71921e1aec3 30-Dec-2010 Marc Blank <mblank@google.com> Fix format/draw issues with snippets

Bug: 3315171
Change-Id: I8e44c1d64d2f3382fd1e03b35e3e59b048eca31d
ctivity/MessageListItem.java
a2269e84c6134bfd3506e5489c7ccfd60c32d41f 30-Dec-2010 Andy Stadler <stadler@android.com> Remove disk access from DeviceAdminReceiver callbacks

* DeviceAdminReceiver is actually a BroadcastReceiver, must follow
guidelines to prevent ANR or early process kill.
* Remove all uses of AsyncTask from DeviceAdminReceiver
* Pass all calls through EmailBroadcastProcessorService
* Minor restructuring of EmailBroadcastProcessorService to support
this use.

Change-Id: Ic6257ea5eff1bd466a736e0f93cb89b1cf8aa73e
ecurityPolicy.java
ervice/EmailBroadcastProcessorService.java
5498296287032687240ef2ca0ed2a75c3ac0048a 30-Dec-2010 Marc Blank <mblank@google.com> Merge "Respect user's background download preference"
7fbcefff7d5a745335d1ec562e783a59087cc0b1 28-Dec-2010 Marc Blank <mblank@google.com> Respect user's background download preference

Bug: 3312462
Change-Id: Ibd77b8de8782c4681ed122ac2f30374ca695e0ef
ervice/AttachmentDownloadService.java
1c1bd6a3eb2b7d99e30713648616c807ae20cbb5 30-Dec-2010 Marc Blank <mblank@google.com> Fix typo in debug code

Change-Id: Iffb3effa3fd659be3df3208bb587fea83bc9116e
rovider/EmailProvider.java
c041c799f3dc804ef233bbf7b5725b4e92363433 28-Dec-2010 Marc Blank <mblank@google.com> Merge "Fix synchronization issue w/ closing CachedCursor"
788408dee4ef861a5b3196992984d7aad4889992 26-Dec-2010 Marc Blank <mblank@google.com> Fix synchronization issue w/ closing CachedCursor

Bug: 3306031

Change-Id: I3000cf92c27e93b2df94799492fb9960a3d795dc
rovider/ContentCache.java
926e7369d114f5747a81710987500ff407fba964 26-Dec-2010 Andy Stadler <stadler@android.com> Remove UI thread disk access from AccountSetupNames

* Remove unneeded DB read in onCreate (add runtime checks for problems)
* Move more exit/commit work to existing AsyncTask
* Add lockout of next & back keys while processing

Bug: 2792509 (probably others)
Change-Id: I0db030a1f1df94ba721510b5112519f260f5c0f9
ctivity/setup/AccountSetupNames.java
4f6a507d9b5cfd7a9543d554243966e0ac982196 25-Dec-2010 Andy Stadler <stadler@google.com> Merge "Fix ANR's in AccountSetupOptions"
ec9398e7c6dc7a016b68ea3009fd950f898763a0 24-Dec-2010 Andy Stadler <stadler@google.com> Fix ANR's in AccountSetupOptions

* Move all db ops off UI thread
* Reorder methods in typical progression (they were random)

Bug: 3134660
Bug: 3134677
Change-Id: Idd4f411e937336bbd09bcc03d9ad036d22dc5e19
ctivity/setup/AccountSetupOptions.java
adbb6f8bc4df787a8e589d505b3f2e7d9c47cea4 23-Dec-2010 Makoto Onuki <omakoto@google.com> Log cursor/adapter class name and such when detecting a crash

Also log where the cursor was closed, if it is.

To investigate bug 3308465 and bug 3305706

Change-Id: I2b0fd9ea14757b6cf7597cd7162686d050d43fe9
tility.java
ctivity/AccountSelectorAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MessagesAdapter.java
2959a7e073c87e2fa5fab42ec543b352a91cf187 23-Dec-2010 Andy Stadler <stadler@google.com> Fix ANRs from Email.setServicesEnabled()

* Create sync & async versions
* Rename all callsites so sync is very apparent
* Fix callsites appropriately
* Clean up interaction between reconciler and setServicesEnabled

Bug: 3133770
Bug: 3134677
Change-Id: Iefbc7814d9aa390baea6345e450e2a4768bf0a9a
ccountBackupRestore.java
ontroller.java
mail.java
ctivity/UpgradeAccounts.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupOptions.java
ervice/EmailBroadcastProcessorService.java
6aec257fe7d3a4119a0aa81ddec0f9d167199e1d 23-Dec-2010 Andy Stadler <stadler@google.com> Merge "Fix NPE when changing server settings w/security dialog"
c4c3a71f9fdf8771a159ffc15964373990a51c3a 23-Dec-2010 Andy Stadler <stadler@google.com> Merge "Async code for read/unread and starred"
948bcad901ceadcad4841eca1930530e764d9c59 23-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Use swapCursor(null) instead of changeCursor(null)"
3b1cccf234cd95c3e1c4c568bc588ab06b06d3aa 23-Dec-2010 Andy Stadler <stadler@google.com> Async code for read/unread and starred

* Move each worker into async (combining common code)
* Update unit tests to match
* Make the message->account->controller lookups more efficient

Bug: 3134653
Change-Id: Icc82998a5d8eb07c7ebc7edbd28cd9308378d866
ontroller.java
d8f1d8f2ff75502b86c8ce7b8a738eddc731a607 23-Dec-2010 Andy Stadler <stadler@google.com> Fix NPE when changing server settings w/security dialog

Bug: 3302453
Change-Id: I8adb5166598b72f9eb4a26bbe47afc756e764159
ctivity/setup/AccountCheckSettingsFragment.java
8d22e85e459df3d94968389852859dacaf2baafe 23-Dec-2010 Andy Stadler <stadler@google.com> Reduce/eliminate DB access in server settings

* Create shared async worker to check for duplicate accounts
* Use it in AccountSetupIncomingFragment
* Use it in AccountSetupExchangeFragment
* Debounce proceed/next button because work is now async
* Also, upgrade leftover old-style code in AccountSetupOutgoingFragment

Bug: 3134666
Change-Id: I5c24a6546d1ab66aedc5c4ac826ddf4f1ff53446
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
e0f28d78532bca93c09061e97e5fc4c97f0ce7b7 23-Dec-2010 Makoto Onuki <omakoto@google.com> Use swapCursor(null) instead of changeCursor(null)

The later closes the old cursor while the former doesn't.
LoaderManager takes care of closing cursors, so no need to close
cursors by ourselves.

Change-Id: Ib652e6877dcfc1fea51ffc862254eaeed451cdfa
ctivity/MessageListFragment.java
6ebaa90847e6e9c7624c18905971a003b2ee902b 23-Dec-2010 Andy Stadler <stadler@google.com> Reduce/eliminate UI thread access in MailService

* Make most calls to AccountBackupRestore return immediately w/o DB access
* Move most workers in MailService into async runnables
* Remove account restore / null check from ACTION_SEND_PENDING_EMAIL
* Strengthened unit test on Mailbox.findMailboxOfType() because after
removing the account check (above), sendPendingMessages depends on
findMailboxOfType() returning -1 on a missing account.
* Clean up a bunch of warnings (no longer use deprecated Config.LOGD)

Bug: 3133763 (and probably others)
Change-Id: Id39707bca7a8ebf5000f84d542013411ff0f422e
ccountBackupRestore.java
ervice/MailService.java
9f7e3982ada78ab64e82a797186633684d02dec5 22-Dec-2010 Andy Stadler <stadler@google.com> Reduce UI thread disk access in account settings

This change is in top-level settings for a given account:
* Call saveSettings async on UI changes, instead of synch at onDestroy()
* In loadSettings, get default account id async

Also sprinkled in some TODOs for future whack-a-mole fixes.

Bug: 3133639

Change-Id: I5216c78d28b35fe47e43b48ad0db3a3e57b25004
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupIncomingFragment.java
84dfef90850c53d093825bd42e56f2cfdf1b6993 22-Dec-2010 Marc Blank <mblank@google.com> Merge "Put individual account inboxes in widget rotation"
22b33a5a4a8c8315ebcd4111ac5c2d0bc78488c1 22-Dec-2010 Makoto Onuki <omakoto@google.com> Show stacktrace when failing to load message body

Change-Id: Ie6b2dda6fa32982e48e052f5f8fe2c699ebc8a01
ctivity/MessageViewFragmentBase.java
66b6b956464a4ad357d4273b387f6a128e8add24 21-Dec-2010 Marc Blank <mblank@google.com> Put individual account inboxes in widget rotation

Change-Id: If1fddc107d9934849bbf273a67dd1db9c2063d99
rovider/WidgetProvider.java
ab1674a2d6deca2ef076d4d7e3458fc03860af2e 22-Dec-2010 Makoto Onuki <omakoto@google.com> Cosmetic changes to MessageView

- Don't show the progress icon unless loading from network
- Don't show the content until LoadAttachmentsTask finishes
- Disable the fade-in animation. It causes some weird positioning issue
with the GL accelerated webview.
- Use WebView.clearView() to clear its content.
- Use the "normal" layout mode, otherwise WebView won't use its entire
width
- Don't hide the vertical scrollbar

Bug 3287729
Bug 3225068
Bug 3295761
Bug 3304396

Change-Id: Ic4b8baac99b71dc0da58021849ff7c1dbd6dbe55
ctivity/MessageViewFragmentBase.java
9c4458dcd71e62bbf51a7be934f12728f85afdd0 21-Dec-2010 Marc Blank <mblank@google.com> Don't try to show thumbnail for unloaded attachments

Bug: 3292689
Change-Id: I7575cb891f0b46c4a8564b5d2c4907025d91c639
ctivity/MessageViewFragmentBase.java
8b9f2a7284337bfb23d5e2f8de9f1c70cb9532a1 21-Dec-2010 Dianne Hackborn <hackbod@google.com> Update to use new Loader callbacks.

Change-Id: Ib478c2f2314bbae4a380539e22892d85dd9a34b5
ctivity/ContactStatusLoader.java
ctivity/MoveMessageToDialog.java
ata/MailboxAccountLoader.java
ata/ThrottlingCursorLoader.java
d9b251d23b30e25cf388fbbc1a9bdbb3f7caeebd 20-Dec-2010 Marc Blank <mblank@google.com> Properly return zero-count cursor from getMatrixCursor

Change-Id: I574528bf56b5a82ecbaab3d3501b26e7afb974ec
rovider/ContentCache.java
0698f4027f099a017ad7815f16572ba422d3413d 20-Dec-2010 Dianne Hackborn <hackbod@google.com> Update to new Loader APIs.

Change-Id: Ic228f7b785f0d902a0188cfe995006b73b8a3c8b
ctivity/ContactStatusLoader.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MoveMessageToDialog.java
ata/MailboxAccountLoader.java
0fd8ae8808562fffb805f3c1206be286d7732e20 17-Dec-2010 Marc Blank <mblank@google.com> Pixel perfect Email widget

* Functionally correct and pixel perfect
* All current assets in place

Bug: 3292507
Bug: 3284201
Bug: 3135118
Bug: 3255036
Bug: 3252913

Change-Id: I8fa6752748c74b3a9789a3675da12f6c0c11975f
rovider/WidgetProvider.java
22fb45817b555d7796a02a5738f175d825071725 17-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Follow-up to the loader API change"
28d6e09575cc5b9091c5d29990792db3465cccf0 17-Dec-2010 Makoto Onuki <omakoto@google.com> Follow-up to the loader API change

This should fix the "attempt to re-open an already-closed object" exception
from SQLite.

(destroy()s don't have @Override becuase the base method is now depricated
and will be removed someday.)

Bug 3288666

Change-Id: I4780f6c8d89c7204b266608462c0833ad5af4e5f
ctivity/ContactStatusLoader.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageViewFragmentBase.java
ctivity/MoveMessageToDialog.java
ata/MailboxAccountLoader.java
120674a05c05303f0eb93f6be2de5048ac6426cb 17-Dec-2010 Marc Blank <mblank@google.com> Merge "Harden AttachmentDownloadService; fix storage calculation"
edb05ca5ee21a9f410416b427141be59be01f5d2 15-Dec-2010 Marc Blank <mblank@google.com> Harden AttachmentDownloadService; fix storage calculation

Bug: 3292720
Bug: 3286634

Change-Id: I378aac369ee8317c0c41b1f021a3731b81bcb380
ervice/AttachmentDownloadService.java
1504ef5fd1d077bedc40e93e8aa626dcc7a32c62 17-Dec-2010 Marc Blank <mblank@google.com> Merge "Remove unused debug flag"
f3ced5b8a55805984317499dd79da343bf1dfccb 17-Dec-2010 Marc Blank <mblank@google.com> Merge "Remove unnecessary logging in Utility.attachmentExists"
54250337a08dda0bf42b0e871ab8371c90243dbf 17-Dec-2010 Marc Blank <mblank@google.com> Remove unused debug flag

Change-Id: I88ef517a5b4860c30f1eb2a52f15d8f07c823797
mail.java
f995f680a8ceb4a61a6f0db7324d558fc204a8fa 17-Dec-2010 Marc Blank <mblank@google.com> Merge "Throw exception on illegal URI's in EmailProvider operations"
d3fafabd0fd4bd547663d7339fd860b66dd7f130 17-Dec-2010 Marc Blank <mblank@google.com> Remove unnecessary logging in Utility.attachmentExists

Bug: 3292689
Change-Id: I937ef44b4576634fd870c759a13f3d27255112bd
tility.java
e6a22dff397e6453e1f56518d840c0bdd11f673b 16-Dec-2010 Marc Blank <mblank@google.com> Throw exception on illegal URI's in EmailProvider operations

Change-Id: I6354c03e7cead81df3764b7d0bd1be0e90271664
rovider/EmailProvider.java
5b393bfeceea2b8f028d83b765cacf4de14f38de 17-Dec-2010 Andy Stadler <stadler@google.com> Merge "Show attachment download progress/status properly"
66249095336834c341441b4909ba8d8767fd224c 17-Dec-2010 Andy Stadler <stadler@google.com> Show attachment download progress/status properly

Bug: 3291532
Change-Id: I3ceab8a67095190898273b9ccd5a1016218edcb2
ontrollerResultUiThreadWrapper.java
80769cefb3f34dfeccb38fb5b67b3ced172b830e 16-Dec-2010 Dianne Hackborn <hackbod@google.com> Prepare for some changes to LoaderManager/Loader.

Sorry it is a bit ugly, it is to allow this change to be
checked in prior to the first stage of the framework change
without breaking the build.

Change-Id: I1828579019ac0325d19c070a4c62cd79549e7d51
ctivity/ContactStatusLoader.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageViewFragmentBase.java
ctivity/MoveMessageToDialog.java
ata/MailboxAccountLoader.java
303816534dfb3093b58670e79031991a3509ff2f 16-Dec-2010 Makoto Onuki <omakoto@google.com> Don't show app name on action bar

Need to hide the action bar title when showing account spinner.

Change-Id: Id85fa91f1b89fbd9d2a92bd2d175121176b8a2f0
ctivity/MessageListXL.java
a9939ab165fbd16058b4b0612e757ca9f2a4b270 16-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Disable "upgrade accounts" for now."
497039234182170ada90e63e96650b5675429ff5 16-Dec-2010 Marc Blank <mblank@google.com> Synchronize properly with ContentCache; document synchronization

Bug: 3291682
Change-Id: I69c4a3b2ee62a41e6488b63deeb975e510a3f554
rovider/ContentCache.java
e6214d1f87eaf41254a7703fd5d721c5baf30770 16-Dec-2010 Andy Stadler <stadler@google.com> Merge "Restrict download/display to "attachment" and "inline""
b358da33444cdf2857d96ec69c89626a4cb9356d 16-Dec-2010 Makoto Onuki <omakoto@google.com> Disable "upgrade accounts" for now.

This will not be necessary on tablet.

Bug 3122020

Change-Id: Ifff59a11ccf628fdb5b6d007a7a6591db10153ce
ctivity/UpgradeAccounts.java
2a63ac55e95df2e1c4e40ed5284bb8891c064f87 16-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Add null checks to investigate bug 3275738"
ebf0f18cbad20d39900d5ed165fff9978d929e5f 16-Dec-2010 Makoto Onuki <omakoto@google.com> Add null checks to investigate bug 3275738

Change-Id: I55f83336c5059b7ea6234b9451c60c4c062fdb06
rovider/WidgetProvider.java
014e31a62c66daca5175f962e18ac7ac91444ce2 16-Dec-2010 Andy Stadler <stadler@google.com> Merge "Use generic contact icon for notifications & messages"
c1c3b6f21ecddbb237195caedc36af442ebf00e8 16-Dec-2010 Andy Stadler <stadler@google.com> Use generic contact icon for notifications & messages

* Copies the icon from contacts
* Used whenever the sender doesn't have a local photo
* Used in notifications and in messageview

Bug: 3282187 (notification)
Bug: 3285156 (memory leak from the placeholder graphic)
Change-Id: I528cae20355aa8cce7be37b26f32aa90e092708b
otificationController.java
ctivity/MessageViewFragmentBase.java
f7660220a836374f18a579422ded9aaae748db8c 15-Dec-2010 Marc Blank <mblank@google.com> Merge "Enable cache logging for debugging (w/ STOPSHIP)"
74596b3799093fa50603d4cd8df7ee1f74b46c05 15-Dec-2010 Marc Blank <mblank@google.com> Enable cache logging for debugging (w/ STOPSHIP)

Change-Id: I97493430f2aedcb070bc6d1789e47b562394eeb3
rovider/ContentCache.java
e3a17f1438e454518a58fc0841bb615344acf865 15-Dec-2010 Andy Stadler <stadler@google.com> Restrict download/display to "attachment" and "inline"

* Check content-disposition and restrict to these two types
* Add unit test
* Reformatting collectParts (code style cleanup)

Bug: 3242502
Change-Id: I5dcbdda5d4788502113771f4fd1b5fff834a402d
ail/internet/MimeUtility.java
884589fddbef4dda6a69df58b645db2c6224d26e 15-Dec-2010 Andy Stadler <stadler@google.com> Merge "Only show attachments UI for downloadable attachments"
05340736daee23c1bbf3bfbe410e62ae5fe19192 15-Dec-2010 Andy Stadler <stadler@google.com> Only show attachments UI for downloadable attachments

Bug: 3286678
Change-Id: Ied64674cbfaef95228d5d3d8c99e5f5989b8a3c0
ctivity/MessageViewFragmentBase.java
00d10299b5758d12dcd5e54cac72bd8b047167ac 15-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Store application context to avoid activity leak."
e1b4d2cd4a312594507a451f51d8230ef448af12 15-Dec-2010 Makoto Onuki <omakoto@google.com> Store application context to avoid activity leak.

Bug 3285156

Change-Id: I579cf628d178cabf999fc7cd63765298d2082944
esourceHelper.java
ef2261fa00eb214a7372111e720ce0975722d409 15-Dec-2010 Marc Blank <mblank@google.com> Merge "Fix placement of invite icon in narrow mode"
de39190bc18b3adb506c276486b8b49080a9d3eb 15-Dec-2010 Marc Blank <mblank@google.com> Fix placement of invite icon in narrow mode

Bug: 3285416
Change-Id: I36a78eb486a45b780663a8fb24ee092b964ba1b0
ctivity/MessageListItem.java
8ec0dcfe0d241cdac946a8c131472913c7349492 14-Dec-2010 Andy Stadler <stadler@google.com> Fix NPE on rotation

* onAttach is called fairly early when rotating, so it needs to do
very little.
* or in this case, defer some work until onResume

Bug: 3170922
Change-Id: Ie760125c5f32b293f8ba1753f2993de0d7439b56
ctivity/setup/AccountSettingsXL.java
9afd6bc59f23109849d5fdb5bd2c879fa0f55e13 14-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Fix unit tests"
f4b855c9bf9bcc1c0690ab6279a9754b72a473de 14-Dec-2010 Andy Stadler <stadler@google.com> Merge "Turn down email logging to shippable levels."
fd5a5f14eaf1b0058de32265744e070321ca1090 14-Dec-2010 Andy Stadler <stadler@google.com> Turn down email logging to shippable levels.

Change-Id: I8426743aebef2329c8958926d7b29abe1309feb0
mail.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
c849936a36424645af73dc307b19778a89d6ee84 13-Dec-2010 Makoto Onuki <omakoto@google.com> Fix unit tests

- Now ProviderContextSetupHelper.getProviderContext() invalidates DB cache

* MailboxAccountLoaderTestCase
- Save hostauth properly
- (ProviderContextSetupHelper invalidates cache before each test)

Bug 3280911

* SmtpSenderUnitTests
- Use ProviderContextSetupHelper to create isolated context,
which now also invalidates DB cache

Bug 3280913

* MailboxFinderTest
- When kicking Controller.Result methods directly from tests,
call the raw callback, rather than the one wrapped with
ControllerResultUiThreadWrapper, to make it synchronous.

Bug 3280898

* MessageViewTest
- Disable testOpenMessage()
This test doesn't work because it sets up test data in an isolated
context but the activity/fragment don't see them because they
use the real context.
I have no idea why it worked before... Maybe because there were
accounts/mailbox/message with the same ID in the DB by chance.

Bug 3280905

Change-Id: I6beb08c58fff102e90bebd2c35f70820268b9e62
ctivity/MailboxFinder.java
0f27b78669d769f84e070f11e9f4065b8eecda55 14-Dec-2010 Marc Blank <mblank@google.com> Merge "Implement prefetch of IMAP/EAS attachments"
75a873be8420e50f0aeb5a77716358ee0ca66b01 09-Dec-2010 Marc Blank <mblank@google.com> Implement prefetch of IMAP/EAS attachments

* Load attachments in the background for IMAP/EAS messages
* Download an attachment from account X if:
1) 25% of total storage free
2) Attachments for X use < 1/N of 25% of total storage, where N is
the number of AccountManager accounts
* Add accountKey to Attachment table for performance

Change-Id: I913aa710f34f48fcc4210ddf77393ab38323fe59
egacyConversions.java
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
06a2f4a3b1322fb6fecb908bd04e777199529ce7 04-Dec-2010 Marc Blank <mblank@google.com> New message list formatting per pixel perfects

* Need icon assets (attachment, meeting, star on/off, and
checkbox on/off)

Change-Id: I6780fb354584ce5ea398b555a8485cf600617586
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
f946ff001914abce9ea06b1ceecd29cdb7e10ef3 13-Dec-2010 Andy Stadler <stadler@google.com> Fixed issues that cause rotation to NPE

* Add the checker fragment (instead of replacing)
* Don't refresh progress/error dialogs until onResume (a bit later)
* Don't recreate terminal error dialogs that were automatically
regenerated by the fragment manager.

Bug: 3020074
Change-Id: Ia2947965b758f6846c62ac394ce51da2432523ee
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
23d6d9cf24b47d8ba0742d02533db02a5061e863 13-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Controller.Result callbacks should all have accountId"
aef9515ee70f1f0b6cc4fa601078597b55831331 10-Dec-2010 Makoto Onuki <omakoto@google.com> Controller.Result callbacks should all have accountId

- Added accountId to loadAttachmentCallback/loadMessageForViewCallback

- Cleaned up LegacyListener/MessagingListener.
Removed the constructors which take messageId and attachmentId, which
are used to bridge loadAttachmentProgress, which the callsite doesn't know
these IDs. The inconsistency (only loadAttachmentProgress() uses the member
messageId) doesn't look too good, so extracted this into a separate class,
MessageRetrievalListenerBridge.

Change-Id: I46303e50df2b0e1fe8616e7c9cef632ac14f23aa
ontroller.java
ontrollerResultUiThreadWrapper.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ctivity/MessageListXL.java
ctivity/MessageViewFragmentBase.java
rovider/EmailContent.java
3dedc8b19172066e45a146f1e5065d7cdc00236a 09-Dec-2010 Andy Stadler <stadler@google.com> Defragment AccountSetupBasics

* This was an early attempt at fragmentation
* But it turned out that no fragment was needed here - it is
not shared or reused in any way.
* Precursor to doing final layouts for the activity.
* Tested working:
Automatic provider lookup
Manual
POP/IMAP and EAS flow modes (from accounts & sync)
Force account creation intent
Provider note
Duplicate account detection

Change-Id: I434edd4b152391d36e70440873932db3ec1a1c99
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupBasicsFragment.java
e7f4d3ebfcf497c015ba65be7ecebea8926b995c 09-Dec-2010 Andy Stadler <stadler@google.com> Handle upgrade path for adding DPM policies

* All active admin checks now go through common method
* Common code check both isAdminActive and the new (upgrade) policies

Bug: 3253179
Change-Id: Ie81f35906c164051f38c1f1f637d0c04b37eef16
ecurityPolicy.java
a8133823ecb1744bfafe8f481473b78f9e8957aa 09-Dec-2010 Andy Stadler <stadler@android.com> Merge "Fix two errors reported by continous test"
68831e7c3470ef1ba76eee5367975c2d5d6f72b3 09-Dec-2010 Andy Stadler <stadler@google.com> Merge "Allow non-monkey creation of test accounts"
c1e8c95d053464e0821d45347704bd6c27e7e546 09-Dec-2010 Andy Stadler <stadler@android.com> Fix two errors reported by continous test

* Add "ForTest" to skip ProGuard stripping
* Remove an unused method

Change-Id: I2af04f39bfafc3b3abd433f158363e37d9daccdd
efreshManager.java
8f11b60190b576cb31e8c4cfea36a5896522f733 09-Dec-2010 Marc Blank <mblank@google.com> Merge "Move download cancel logic into helper"
69fc25244ba1b30856426c77c2e4be3964eb50da 08-Dec-2010 Marc Blank <mblank@google.com> Move download cancel logic into helper

Bug: 3255707
Change-Id: I7f92bd1bb90a4430426123551075746ba9d4af85
ervice/AttachmentDownloadService.java
6175300474f01460523ccb3efc9f93722cadf2e0 09-Dec-2010 Andy Stadler <stadler@google.com> Allow non-monkey creation of test accounts

* Set the debugging flag to allow it
* Add STOPSHIP (it cannot go out like this)

Bug: 2735784
Change-Id: Id5d162f7f1879b76004a24d5d81e769b06ef8d29
ctivity/setup/AccountSetupBasics.java
6a78be96231ff0731f4a5bb08a65bdf589801246 08-Dec-2010 Andy Stadler <stadler@android.com> Merge "Add preference for background downloading"
f983c75b447485fc64c073ab57239c5d15834b66 08-Dec-2010 Andy Stadler <stadler@android.com> Add preference for background downloading

* Defaults to false
* Placeholder text

Change-Id: I7c729eddb7b4d368a0ac47552c911d2ef11b3ee1
references.java
ctivity/setup/GeneralPreferences.java
91431ca0779dfbcfdd75afc1f89610b255c21f6b 08-Dec-2010 Marc Blank <mblank@google.com> Merge "Clean up initialization of statics in WidgetProvider"
9d2e36412d92e148660d6847c4ce22674a47ce06 08-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Update error banner"
16badc0822ea04f9e53848795724b2f7b51347d1 08-Dec-2010 Marc Blank <mblank@google.com> Clean up initialization of statics in WidgetProvider

Change-Id: I432126a6f403c4d2f280aef5545d1638371ac755
rovider/WidgetProvider.java
3a4b9e140e6649062117f32d850951bd928f0fd7 08-Dec-2010 Andy Stadler <stadler@android.com> Fix failing tests in AccountSetupExchange

A recent change was short-circuiting the logic that loads
the UI from the account. This fix simply resets the flag
so the test can reload the UI multiple times as it tests things.

Change-Id: I7cc53e2766b78172e5a7b05088e94fdec99ae0d6
ctivity/setup/AccountSetupExchangeFragment.java
45e04b009d570235c542f3c97eaa7e1d00e6cc7b 08-Dec-2010 Makoto Onuki <omakoto@google.com> Update error banner

1. Error banner now pushes down the entire screen, rather than covers it.
2. Switch to the new ObjectAnimator for the animation to achieve #1.
(Traditional Animation doesn't do this)
3. Dismiss the banner when getting any callback with MessagingException == null
and progress > 0, only when the account is the one that caused the last error.
4. MessageListXL now registers its own ControllerResult to detect
connection errors, and more importantly, when they're cleared.

Bug 3240874
Bug 3240406

Change-Id: I07f8e2f589bb1d312859824f9ec398879003ba16
ontroller.java
ontrollerResultUiThreadWrapper.java
ctivity/BannerController.java
ctivity/MessageListXL.java
4d02297f4a32409cc3861ed9d3e95c3f31602faf 07-Dec-2010 Makoto Onuki <omakoto@google.com> MessageView: Show progress icon while loading

To avoid flicker.

Bug 3225088

Change-Id: Ic5faea4e6fc810aa751b9f0b9d04537e5dc29970
ctivity/MessageViewFragmentBase.java
2ac95b550df19617eace2e7436049926da5c606b 07-Dec-2010 Makoto Onuki <omakoto@google.com> Message view: Use system tab style

Bug 3138021

Change-Id: I18ec66966e984a4f2b9e330d0ef14dbca5cce5e3
ctivity/MessageViewFragmentBase.java
0d8742dc14bfa55011897304f87081bdfe90cc7c 06-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "New style for the new message notification"
74e094834c6efd3260c717090a89232a892c411b 03-Dec-2010 Makoto Onuki <omakoto@google.com> New style for the new message notification

Bug 3176956

Change-Id: Id7418fb8bb942230266815167f0a2e79062a9116
otificationController.java
6a858c1be26a9881afdb1027bc2cf02acaf6fc65 04-Dec-2010 Makoto Onuki <omakoto@google.com> Make widget open appropriate screen

Widget should open MessageListXL on tablet.

Bug 3253813

Change-Id: I5cfa63b571e443a0217bc9332bb4a76a039143ac
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/Welcome.java
rovider/WidgetProvider.java
69cd842c07766c5c822fb9ad486d76b19be453b5 06-Dec-2010 Andy Stadler <stadler@android.com> Merge "Add magic intent to force account creation"
07891f011c5d01e7c9ca60453004e622deb2854c 06-Dec-2010 Marc Blank <mblank@google.com> Merge "Always return widget from onGetViewFactory"
d685b469c73c3479c09301da2e65cd7c11fd4ace 05-Dec-2010 Andy Stadler <stadler@android.com> Add magic intent to force account creation

* Add entry point via com.android.email.CREATE_ACCOUNT
* Enable when in monkey mode only
* Walks through setup screens as if auto-populated and as if
connection checking always succeeds.
* Refactored some common code in AccountSetupBasicsFragment
* Removed obsolete commentary about auto-population of EAS accts
* Also fix minor typo in FLOW_MODE_ACCOUNT_MANAGER_POP_IMAP

Bug: 2735784
Change-Id: Ie7363836cd267673e963e60ae8bc32cab422576e
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupBasicsFragment.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/SetupData.java
3181679e9578a492b595eeb5a7ecc11c407ca17e 04-Dec-2010 Marc Blank <mblank@google.com> Always return widget from onGetViewFactory

Bug: 3250431
Change-Id: I161189b6cec2d2a1fe0e511c1e78390673efb0b9
rovider/WidgetProvider.java
6b68bc19a6bd37bb5256efc4ebd0957982946f34 04-Dec-2010 Marc Blank <mblank@google.com> Merge I31258a5fbcca1f489c8bf6fb2ed8f3dcad5d2e26 into master

* This is the fix to bug 3008626 that was created in Gingerbread
and backported to Froyo for an MR release
* The bug prevented validation of EAS w/ Exchange Server 2010 SP1
* For some reason, this fix did not get merged forward into master
resulting in the bug referenced below

Bug: 3254512
Change-Id: I4e48a8f95b31048f09a036cc16db867da4116f04
ail/store/ExchangeStore.java
3127277ad5833858a3b48398dbb282a07567116b 03-Dec-2010 Marc Blank <mblank@google.com> Merge "Never close underlying cursor if there are active users"
c159d32be05ee744f3726579d9cd8eed39545137 03-Dec-2010 Marc Blank <mblank@google.com> Never close underlying cursor if there are active users

Bug: 3249537
Bug: 3238216
Change-Id: I281f0b0d6319adaffd78fe8e4c3da6f126eb71da
rovider/ContentCache.java
01cffb74b3c7f637ce3a83bd819f90e64ce87f51 03-Dec-2010 Andy Stadler <stadler@android.com> Merge "Update server settings to current look"
9d5aaeacd6b222877f25924818317c9153708261 03-Dec-2010 Makoto Onuki <omakoto@google.com> Follow-up to Id18fb940. Tests, fix transaction.

Change-Id: If425db7d729e260102a9db82b98e14ff6f6be143
rovider/EmailProvider.java
112ed496f817ebeab6b1ee1d5117259ef80342b2 03-Dec-2010 Andy Stadler <stadler@android.com> Update server settings to current look

* For each of incoming, outgoing, exchange fragment, create a "settings
mode" which slightly alters the layout for use in AccountSettingsXL.
* Build a settings mode wrapper layout around the basic fragment
* Add new constructor to set "settings mode" and select layout
* Add wiring for cancel/next buttons in the fragment
* AccountSettingsXL configures each fragment in its settings mode
* Remove old actionbar "Next" options (no longer needed)

TODO: Pixel perfect adjustments, colors, fonts, etc.

Bug: 3188951
Change-Id: Iba26281b214333db301dd40d6c016b6c5a932c2d
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
edb8af826ca8fd1bb0fa42dacac4af90a65ed554 03-Dec-2010 Makoto Onuki <omakoto@google.com> Update/invalidate cache properly in update()

This prevented EAS accounts from showing the new message notification,
because Account.newMessageCount in the cache didn't get updated
properly.

Bug 3249319

Change-Id: Id18fb94083e2f441c293414f790a26f82869e3da
rovider/EmailProvider.java
7c7bbafc161d3bae5e921c1551136392cf30eafe 02-Dec-2010 Andy Stadler <stadler@google.com> Merge "Make sure snippet is never null"
d9957db8741a617c48f86295f124c66c7260c6cc 02-Dec-2010 Makoto Onuki <omakoto@google.com> Merge "Don't enable "save draft" when a draft is just opened."
d3a9ab946caef4cdc8ef81f7fd8f445fdba3782f 02-Dec-2010 Andy Stadler <stadler@google.com> Leave empty inbox when clearing out account.

* Makes things simpler for UI state on a wiped account
* Also wipe sync keys from remaining account & inbox
* Unit tests

Bug: 3245274
Bug: 3245779
Change-Id: I74cc6d7859dad54961426b70ffe0541ce49e3b91
ontroller.java
6e8d964faac2c0a5e0f5d12943b900468de79efe 02-Dec-2010 Marc Blank <mblank@google.com> Make sure snippet is never null

Bug: 3241603
Change-Id: I5ef35e041b70e72005204ac242b46b5747617b87
ctivity/MessagesAdapter.java
e633b9d7c2a78f0cdd2b6c7f8952bbffb5411a7d 01-Dec-2010 Christopher Tate <ctate@google.com> Merge "Track drag/drop API change; no behavioral change"
8686591aa89a63337ed42a504d4598329ec8fe5f 01-Dec-2010 Makoto Onuki <omakoto@google.com> Don't enable "save draft" when a draft is just opened.

The problem was that setIncludeQuotedText() always set mDraftNeedsSaving,
but it shouldn't be done when loading content.
(Do it only when it's toggled by the user.)

Bug 3162882

Change-Id: I6308376020f5be6d1a15b7865f8c7e02cf875eb9
ctivity/MessageCompose.java
1b9337ea4f41c12cb108cbe67e0077169b1f0b8c 23-Sep-2010 Marc Blank <mblank@google.com> Wireframe email widget

* Formatting and assets are preliminary
* Functionality correct
* Needs cleanup, etc.

Change-Id: I75051df93d233ef529a616c7a9efae403d320bd2
ctivity/MessageView.java
rovider/EmailContent.java
rovider/EmailProvider.java
rovider/WidgetProvider.java
4f4c902916d0a89952788a55c19d977fca478f82 01-Dec-2010 Adam Powell <adamp@google.com> Merge "Update for ActionBar API change"
4a54ec9b01cb83329ad17944689882bca5524cf6 01-Dec-2010 Adam Powell <adamp@google.com> Update for ActionBar API change

Change-Id: I209a4409180f45146423254ed36a9859daa86547
ctivity/MessageListXL.java
2219bd004347851a8c4fa687920ca86da647046d 01-Dec-2010 Christopher Tate <ctate@google.com> Track drag/drop API change; no behavioral change

Change-Id: Id5a2e1aad453663f7b8baae7e5a1aab8209e0e74
ctivity/MessageListFragment.java
1ca111c19c83d54ad23bd8615d9c648e09ec3366 01-Dec-2010 Andy Stadler <stadler@google.com> Add password expiration plumbing

* Set aggregated expiration values with DPM
* Fix min/max logic when aggregating, and fix unit test
* Add expiration tests when checking if policies are active
* Add expire-password to uses-policies set
* Handle password refresh (clear notifications and sec. holds)
* Handle password expiration (warning and/or wipe synced data)
* Unit tests for provider-level methods
* Refactor common security notification logic
* Placeholder notification strings (need final)

Bug: 3197935
Change-Id: Idf1975edd81dd7f55729156dc6b1002b7d09841f
otificationController.java
ecurityPolicy.java
rovider/AttachmentProvider.java
d1ee5b8fa5fe92df1ded5953a9e3f001b38a1ac7 30-Nov-2010 Makoto Onuki <omakoto@google.com> EML viewer: Set title, and show arrow next to the app icon

- Set "Viewing FILENAME" as title.
- Home icon now has "back" arrow. Closes the activity when clicked.

Bug 3221312

Change-Id: I689499e10704d3c5d206df4aa12e21db9687c4c5
tility.java
ctivity/MessageCompose.java
ctivity/MessageFileView.java
1832ea8c58e695d43e4f0564675611fba57560c4 01-Dec-2010 Marc Blank <mblank@google.com> Merge "Don't throw exception on moveToPosition in CachedCursor"
17d07ecdf713a136c4a0383345c500f232d9657a 25-Nov-2010 Makoto Onuki <omakoto@google.com> Hide selection mode when message list is not visible.

...without clearing the selection.

Message list can be hidden on portrait.

Bug 3228718

Change-Id: Idc9eb3416e151ac0c2b851824fcee10b346d51c5
ctivity/MessageListFragment.java
ctivity/MessageListXLFragmentManager.java
68dc380d62b29b4b6733bc1b20e44b8931c1d341 30-Nov-2010 Marc Blank <mblank@google.com> Don't throw exception on moveToPosition in CachedCursor

* Just return false

Bug: 3240290
Change-Id: I808ca88c7897c573d19c2c2c92b179b4106a6dd3
rovider/ContentCache.java
e29189e3eeea9c629777b3deed6ea2be67caa737 30-Nov-2010 Andy Stadler <stadler@google.com> Cleanups to Controller & AttachmentProvider

* New method in AttachmentProvider to delete all attachments for an
account, and unit test it.
* New method in Controller to delete all synced data for an account,
and unit test it.
* Fixed existing problem with Controller unit tests (needed cache clear)
* Fixed existing problems in Controller (mContext vs. mProviderContext)

Bug: 3197935
Change-Id: I79c6a03c21f18d37eeb8158cd1c2af0e0a6e9d2e
ontroller.java
rovider/AttachmentProvider.java
3bbc690600d5fe697f02b739d4fe18f0f9f03314 29-Nov-2010 Marc Blank <mblank@google.com> Add watchdog to AttachmentDownloadService

* Detect attachment downloads that have stalled and restart them
* Catch a couple of cases in which we weren't sending callbacks

Bug: 3122242

Change-Id: Id2bfd3b26182004b301cf8665f4feb6e62b98b73
ervice/AttachmentDownloadService.java
ervice/EmailServiceProxy.java
2201b38fe35606095428f06163cd5b66ec6147fb 29-Nov-2010 Makoto Onuki <omakoto@google.com> Add error message UI

Show an error message in a yellow bar at the top of the activity.

Bug 3230116

Change-Id: I45dad233c1ab52de365c8caedb4eeff29aefac65
ctivity/MessageListXL.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragmentBase.java
2d648f4ceca06b44864c7f4495b96f549eaacbf8 30-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Make "mark unread" close current message"
2148d9b2e6992fe67f50e50fb14fbb9b6716495c 30-Nov-2010 Andy Stadler <stadler@google.com> Merge "Move "Add Account" to ActionBar"
97874770fc7cbe6a89a6ea706658fb42dff77a95 30-Nov-2010 Andy Stadler <stadler@google.com> Move "Add Account" to ActionBar

Not currently enabling/disabling properly, filing a framework bug.

Bug: 3188951
Change-Id: I9c8900187048f548411a23c2a1b0208c79fc0a24
ctivity/setup/AccountSettingsXL.java
f3d43641c985c8b2d0da4ae420f15b4dd7cf2891 29-Nov-2010 Makoto Onuki <omakoto@google.com> Make "mark unread" close current message

- XLFragmentManager.selectMailbox() used to hide the message view
when it's visible, but not anymore. Made goBackToMailbox() itself
hide it instead.

- Also made onMarkAsUnread() not call the unread callback, which was
already done in onMarkMessageAsRead().

Bug 3214538

Change-Id: I52fb8bb745cdaa517624a9aeec074122f10aac4a
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragment.java
36cf7017848b5a21fdf5fde2eb57785efdcada4b 24-Nov-2010 Makoto Onuki <omakoto@google.com> New back behavior

The home icon on action bar and the system back key work slightly differently
on portrait.

home: full-screen message view -> mailbox list + message list
back: full-screen message view -> expanded message list
-> mailbox list + message list

Bug 3228524

Change-Id: I9bb598315ee829c6a8300a35d194a29c7a26291f
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/ThreePaneLayout.java
54513ed740020be77dec7a1b1aa4e81ba03f317d 24-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "pixel-almost-perfect: mailbox list"
9d6d5b30917dcb8b4d90677f337cf4a230163239 24-Nov-2010 Makoto Onuki <omakoto@google.com> pixel-almost-perfect: mailbox list

Bug 3137965

Change-Id: Ic5aa3327ddbd456024e1938b74c7da0452b682f5
ctivity/MailboxListFragment.java
0cefe81b470b43195bfcb56a07b3eb8dacd9ab69 24-Nov-2010 Andy Stadler <stadler@android.com> Merge "Update visual style shortcut picker and make it async"
2e1c3eaaf15fa14eb7824e8da1666ca6ea363871 24-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Don't show color chips when there's only one account"
e2201949bab24427aff4f5d85e36e96f6a2a8af6 24-Nov-2010 Makoto Onuki <omakoto@google.com> Don't show color chips when there's only one account

Bug 3225322

Change-Id: Idb299f54dc6f746e7d451a7a04fb971a432a869a
ctivity/MessageListFragment.java
ata/MailboxAccountLoader.java
d87f81e901842f1cfc589fadcf7a88d1e452f1c9 24-Nov-2010 Andy Stadler <stadler@android.com> Update visual style shortcut picker and make it async

* Use dialog when in XL screen size
* Show different strings in launcher and in dialog/activity title
* Add cancel button to picker
* Move accounts query to AsyncTask
* Remove obsolete AccountsAdapter

Bug: 3093928
Change-Id: Ief771482c6db684c434c21cf92844c37a927d34a
ctivity/AccountShortcutPicker.java
08e1f2f782140f454a8ffda65424da1270096d8a 24-Nov-2010 Makoto Onuki <omakoto@google.com> Don't show account dropdown when there's only 1 account.

Bug 3225851

Change-Id: I7b411f8047e3b26cfe53f17c46c3e2611fb8ae9d
ctivity/AccountSelectorAdapter.java
5b81690de1ea15035ab0539df683acd8e28b0ebd 22-Nov-2010 Makoto Onuki <omakoto@google.com> Show color chips for combined view.

Show color chips for account rows and message items on the combined view.

Moved hard-coded color values to resource.

Bug 3138001

Change-Id: Ib93fb9d6e9592ebd0c297f83c3dee2358a80508f
mail.java
esourceHelper.java
ctivity/AccountsAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
46e60b51e2699e407e96ec5b4ae62116e0ab324e 23-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Fix & cleanup on EML viewer (MessageFileView)"
4091ffe94f08d39c9ae849d5ea9ce70018771086 23-Nov-2010 Andy Stadler <stadler@google.com> Merge "Move application icon to mipmap-* directories"
5c4c0ab45699796028251767fc966f6b8af417ec 23-Nov-2010 Andy Stadler <stadler@google.com> Move application icon to mipmap-* directories

Change-Id: Idc5df7046d0fa64ffbfce2869dffb4fe0fd144a0
ctivity/AccountShortcutPicker.java
70188b71aa8ee831ef9ad5ac69824104279e94fc 23-Nov-2010 Marc Blank <mblank@google.com> Merge "Fix deadlock in ContentCache"
5835dcecedb4f6a7bd3473cce172de0fb699cf98 23-Nov-2010 Marc Blank <mblank@google.com> Fix deadlock in ContentCache

* The situation is that putCursor() is called from a reading thread
while invalidate() is called from a writing thread
* putCursor() must not hold the monitor lock on ContentCache while
moving the underlying cursor to position 0

Bug: 3224203
Change-Id: I35b798dccf245c761dc79c39ced4fc8c0cfb9d78
rovider/ContentCache.java
a6998d39fa6b4515c8afaa4253ad81a2389ebe06 23-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Implement screen transition animation."
d2dac0fd6c7f8e9f6741e3b2d4cc333231a22082 19-Nov-2010 Makoto Onuki <omakoto@google.com> Implement screen transition animation.

Bug 3137919

Change-Id: I077768bffb1eb246fdaa7d2def30c7b132566d69
ctivity/ThreePaneLayout.java
1f3e117951e5ffe97a30bdd61c1cf99759f15406 23-Nov-2010 Andy Stadler <stadler@google.com> Fix rotation problems in setup/settings

* Fix incomplete tracking of mLoaded flag
* Defer validation on automatic reload of fields (on rotation)
until reconstruction completes and we're ready to do validation.
* (For Incoming only) Split loadSettings into configure and reload phases;
We need to configure the UI every time we restart, but we don't want
to reload & overwrite user-entered values on rotation.
* (For Exchange only) Properly show/hide trust certificates options on
rotation, and show/hide divider too.

Bug: 3170922
Change-Id: If3de30ee2d4d5668b29698af73f545510692777e
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
c0604d9648c051ee097b65517fb44ad02a2b5353 23-Nov-2010 Marc Blank <mblank@google.com> Merge "Don't layout with 0 width if we've got a real width"
452b34772942f767e2ba1a14fa03bdd58b29d180 23-Nov-2010 Marc Blank <mblank@google.com> Don't layout with 0 width if we've got a real width

Bug: 3221168
Change-Id: I85562cad4afe7ce494cdb4cd348cad23c6103936
ctivity/MessageListItem.java
b715ea1d768de273cc4bf0d6b052c61ee1245cba 23-Nov-2010 Makoto Onuki <omakoto@google.com> Fix & cleanup on EML viewer (MessageFileView)

- Fix the XL layout: Don't refer to "GONE" views in RelativeLayout.
- Don't always (re-)load message on onResume().
This will make it lose all state (e.g. webview's zoom level) when coming
back from other activities.
- Change the default visibility of some views so that it'll look okay
while loading the message.
- Remove the use of obsolete fragment APIs.
- And some other minor cleanups...

Bug 3221066

Change-Id: I475bc229f4ea9e0e480f528389f5180e1d63fcd6
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
deda053f7c78755f7ce9a87ae5d7df3355e95cd7 22-Nov-2010 Makoto Onuki <omakoto@google.com> Fix NPE in MessageViewFragment

Call clearContent() in onDestroy(), instead of cancelAllTasks().
(This is what I thought I was doing.)

Calling clearContent() tells the BG thread that the activity has already
been destroyed, and prevents them from loading a message.

Also as a precaution, don't load a message if getActivity() returns null,
which means the activity has already been destroyed.

Bug 3134403

Change-Id: I0d591e0dd147f73e70b0c027dc8037482197f7b4
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
79c5d35c1324521a940c4dca8f594f2632df8421 22-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Correctly set intent to new message notification"
8d3ef1d01e1d3ae548366fe7961af23ed66f1da5 22-Nov-2010 Makoto Onuki <omakoto@google.com> Correctly set intent to new message notification

Bug 3219763

Change-Id: I7826e762713228ee4ca1ca1d57b4d7603df81a66
otificationController.java
7c90fa014d9d89748105742d9dbcd10e16dc1690 22-Nov-2010 Marc Blank <mblank@google.com> Merge "Implement password expiration for EAS"
cf3fb71bc6fd795c10dc1d7467292532c19041ae 16-Nov-2010 Marc Blank <mblank@google.com> Implement password expiration for EAS

* Hoist wipe() method from AbstractSyncParser to AbstractSyncAdapter
* Add deleteAccountPIMData(accountId) to the EmailService API
* Implement deleteAccountPIMData for EAS

Change-Id: I1037cde25fc2b24419f399446cfa0906dc0174d1
ontroller.java
xchangeUtils.java
ervice/EmailServiceProxy.java
ervice/IEmailService.aidl
9cb0ad3cd62533bbdf1c6057d9f8f84611bac260 22-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Don't reset message view when becoming active again."
2e578032d09b376a48146932146f88394f731077 19-Nov-2010 Joe Onorato <joeo@google.com> Use new notification API to get the new features.

Change-Id: I47a6c46ebb7999663ec16f049c99c418f4333213
otificationController.java
4c9e1a3fdef233112f810c03daf1da229144da89 20-Nov-2010 Makoto Onuki <omakoto@google.com> Don't reset message view when becoming active again.

- We used to (re-)load the content on every onStart(),
which is called too when coming back from other actibities.
So if you go home and come back with the task switcher,
all state get reset, including webview zoom/pan and the current tab.

- Introduce a new flag, mLoadWhenResumed, to tell if we really need to
load a message.

Also:
- Start loading a message in onResume() rather than onStart()
to keep it consistent with other fragments.

Bug 3215269

Change-Id: I1cc6e12c3cc3c08065da3696603a3247f341469a
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
00fb40768903742ce44c1d732b55c075cc69d3c5 19-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Show current mailbox name and unread count on action bar."
f108837c1df2f20acbf5cd33d97a45f6747cff0e 19-Nov-2010 Makoto Onuki <omakoto@google.com> Show current mailbox name and unread count on action bar.

- Show them when the mailbox list is hidden
- Data flow:
MailboxListFragment ->(Callback)-> MessageListXL ->
MessageListXLFragmentManager, which controls the action bar.
(I'm not too happy with this flow, but we can at least avoid
issuing yet another query to get these data.)

Also related:
- On the combined view, show the unread count for account rows

Bug 3137891

Change-Id: I37fa1258d946329905bbbc0da905928bcf2f4cb1
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
9f04fdc5550f643141d13b2b033c4b1fb7c369e5 19-Nov-2010 Makoto Onuki <omakoto@google.com> Make home icon on action bar clickable

- Make the home icon on action bar clickable, and show the back arrow with it.
- When clicked, it'll navigate you back to the main screen.

Bug 3138037

Change-Id: Ice783e6b594347bd73b94e71d29a61ad4f5ef972
ctivity/MessageCompose.java
6143d026c05e3857253b4c7e269364a505861a38 18-Nov-2010 Andy Stadler <stadler@android.com> Re-enable activity progress indicator

Bug: 3137891
Change-Id: Iea65b69dd376fd0026cd53680b901805a07fa101
ctivity/MessageListXL.java
4ca7580e5d0311b12e2e062056d675c7bc45b68b 17-Nov-2010 Makoto Onuki <omakoto@google.com> New portrait look for 3-pane

- Removed opener/collapser
- Now the "fogged glass" is 100% transparent
- Move the landscape layout to layout-land

Bug 3137919

Change-Id: I4918f905aca698c78489e340dd330c7d4da8b106
ctivity/ThreePaneLayout.java
6ffdecfbbb08d8612dd75720062973f75761fd38 18-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Add XL layout for message view"
8e8e37126094735ead1187dfeb012e9ce4169d35 17-Nov-2010 Makoto Onuki <omakoto@google.com> Add XL layout for message view

- Added the xl layout
- Cleaned up the existing one

Bug 3138021

Change-Id: Ic6ab5e38c10ac12ffeeb6b12319d1e192ac2a40c
ctivity/MessageViewFragmentBase.java
937ea4fc87eabd8fe785abeb2af1a38450e3fca9 10-Nov-2010 Marc Blank <mblank@google.com> Initial rewrite of MessageListItem for XL

* Drawing all done by MessageListItem, based on view width
* Completely functional, layout tweaks required

TODO: Consider caching drawing values for performance

Bug: 3137994

Change-Id: Ie3de79357bfe976b2fcebdedb71dea011252b445
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
349055aad47184b72cd86de1f37ac1b7557d2e70 17-Nov-2010 Marc Blank <mblank@google.com> Allow ProviderTests to work with ContentCache

Bug: 3204331
Change-Id: I5399345c2b759fb34d3dc7c694eb0eef8d7de493
rovider/ContentCache.java
8afdca0baca321eb40d67ce506e180f0039016f8 17-Nov-2010 Marc Blank <mblank@google.com> Merge "Minor cleanups for ContentCache"
2199c7ddf5d497e816bef1a1b7473098369a1bdf 17-Nov-2010 Andy Stadler <stadler@android.com> Minor cleanups for ContentCache

* Change CounterMap to not extend HashMap
* Renamed remove() to subtract()
* Comment out a failing test
* Add a flag that prevents any objects from being cached

Change-Id: I74754133b505178e8b0166390f69509f006a3da2
rovider/ContentCache.java
878a9da42000bba1032015fe76a05a76aa52a44b 17-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Three pane behavior changes"
d2289c2f193a529f5566487d17b992bc4150be08 16-Nov-2010 Makoto Onuki <omakoto@google.com> Three pane behavior changes

- Now pressing back on the message view on portrait expands the message
list. Pressing back again closes the message view and navigates
to the mailbox list + message list view.
- Fixed the bug where the app icon on the action bar will lose the back arrow
on screen rotation.
- Code clean up.

Bug 3137919
Bug 3198987

Change-Id: Ia452f90ebe5599a2a8de905f4dabec6bd3ceb4a2
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/ThreePaneLayout.java
e6c6587b04a589eeb04006f75759c09ea10811e0 17-Nov-2010 Andy Stadler <stadler@google.com> Create XL layouts for incoming, outgoing, exchange

* Create XL fragments (will be shared w/settings)
* Create XL landscape activities
* Create XL portrait activities
* Placeholders left for integration with settings - remove in settings CL
* Quick fixes (non shipping) for phone UX
* Update existing portait next/prev buttons per new wireframes

Bug: 3188940
Change-Id: Ied6e7fd1e968fd6db57607a68dabf7e00ba78ee6
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
15f46cc7152288d99295125afa5da8a4900b77af 15-Nov-2010 Makoto Onuki <omakoto@google.com> XL layout for message compose

The layout is not final, but it's closer to the wireframe.
- All dimensions and colors are not final. I just made them up.
- The "+cc/bcc" and "add attachment" buttons are in the wrong position.

I'll wait for the pixel perfect before addressing them.

Bug 3138037

Change-Id: I72fc7557c28e72df08a3751c3c93acfb35749d68
ctivity/MessageCompose.java
28214840dcc361573bd348e756cbb7b9539af3fa 16-Nov-2010 Marc Blank <mblank@google.com> Merge "EmailProvider content caching"
fab77f147f85766d2f75d8aece0aaa4ffb3838e8 28-Oct-2010 Marc Blank <mblank@google.com> EmailProvider content caching

* In this CL, we cache individual rows, based on the CONTENT_PROJECTION
defined for the most common queries (Account, HostAuth, Mailbox, and
Message)
* Queries on individual rows (most often Class.restoreClassById()) will
look to the cache first, rather than querying the database
* Queries on smaller projections will build MatrixCursor's from cached
data
* Write-through caching updates the cache with changed columns
* Experiments with live data indicate that > 95% of queries that are
cacheable (single row, no selection) can be retrieved from the cache,
thereby saving a great deal of disk access.
* Timing experiments show that cache hits are > 40x faster than cache
misses
* Unit tests for the various classes exist, with more coming

TODO
----
* More unit tests

Change-Id: I386a948a2f4cc02b6548d07d9b2fefd1e018a262
egacyConversions.java
rovider/ContentCache.java
rovider/EmailContent.java
rovider/EmailProvider.java
7fd78d8d6184384cd2393849a554cce58e71180a 16-Nov-2010 Andy Stadler <stadler@google.com> Create XL layouts for AccountSetupOptions

* Landscape and portrait layouts
* Quick fixes to phone UX (not shippable)
* Added some CHAR_LIMIT values

Bug: 3188940
Change-Id: I093d5a6dcde2da96c173b5878900114802aead3e
ctivity/setup/AccountSetupOptions.java
17adb23fb41350370d7d138a9bc53abd3f203230 15-Nov-2010 Andy Stadler <stadler@android.com> Preliminary XL version of Account Names screen

* Add new account names layouts for XL devices
* Placeholder UX for phones

Bug: 3188940
Change-Id: I8c9d0793b004af5f5b66070fd18ecb46fc6f1612
ctivity/setup/AccountSetupNames.java
65b1eef31b2dedc92841d01163361b35776e5aa2 12-Nov-2010 Makoto Onuki <omakoto@google.com> Message view code change

- Show sender email address
- Show BCC for sent messages
- Don't show the default quick contact badge frame.
(change QuickContact to ImageView)

Bug 1501239
Bug 3138021

Change-Id: I0e8d91ad3a6a3a021c8aff0945a1ce11d13b2728
ctivity/MessageViewFragmentBase.java
17670b1194e0a17deea648f7855748dabf642201 15-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Small code change on MessageCompose"
27c70e332231aea5cbe7813d8256e9f873d13b39 15-Nov-2010 Andy Stadler <stadler@android.com> Preliminary XL version of Account Type screen

* Add new account type layout for XL devices

Bug: 3188940
Change-Id: I12ebe60075971fa14c7c55be65dccc0b7602f566
ctivity/setup/AccountSetupAccountType.java
7988164ddfdf2837314fa1763614422bcc90867b 15-Nov-2010 Andy Stadler <stadler@android.com> First pass of XL account setup

* AccountSetupBasics now has an XL version
* This is from prelim wireframes
* Final colors, text size, and positioning all TBD
* Fixed a StrictMode violation (counting #accounts in onCreate)
* Lightweight (non-shippable) fixes for functional phone UX

Bug: 3188940
Change-Id: Idf6cb514208eba07eaa20b20abfd5fcc3dae1751
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupBasicsFragment.java
4977ce62f0bd367d8db2acb598e3d4046d5a3a09 12-Nov-2010 Makoto Onuki <omakoto@google.com> Small code change on MessageCompose

Change how we show/hide CC/BCC. The new way will work for the tab UI too,
where we show the labels to these fields as well.

Also hide the "+Cc/Bcc" button when they're visible.

Bug 3138037
Bug 3192841

Change-Id: Ic78b3200c418430c8eade3ca1238b0d0f1ee4731
ctivity/MessageCompose.java
949138d482e617c60eebdd5c105ae04baeff5ab4 13-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Fix NPE on the phone UI"
05565d4e832a09df7732bf195fb1730692aee5ac 12-Nov-2010 Makoto Onuki <omakoto@google.com> Fix NPE on the phone UI

It still has a problem that no menu options show up on the activity,
but it's at least useable.

Bug 3192277

Change-Id: Ia891557020c863bfa53d45b7465d012aa411d67f
ctivity/MessageList.java
9e34bb73f73a767524a78aa5754a158113936f45 12-Nov-2010 Makoto Onuki <omakoto@google.com> Action bar: Use the app icon as back.

Bug 3137891

Change-Id: I3d8e10f7a3a7880518127c4ed582bc2b7c96c8d6
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/ThreePaneLayout.java
6926cf85ef95a8c092dd312638ede501d835ea06 12-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Fix "Parcel@406cd448: Unmarshalling unknown type code...""
5f91dd12d886d1da53b2b1976e9c444f3c9725db 11-Nov-2010 Makoto Onuki <omakoto@google.com> Fix "Parcel@406cd448: Unmarshalling unknown type code..."

It was a mismatch between onSaveInstanceState and onRestoreInstanceState.

Bug 3158588

Change-Id: I36ff6ee8a666ff418f3cf0da50477f9347040322
ctivity/ThreePaneLayout.java
2ac1eaf8c3f7122da7900f0ea5a1198264631d74 10-Nov-2010 Makoto Onuki <omakoto@google.com> Account selector rework.

- Show email address
- Show inbox unread message count

Initially I thought of using a join to get accounts with their unread
counts with one query, but there were enough subtle issues that I gave up
on the idea.

Instead it uses a MatrixCursor to build a completely new cursor,
based on a regular accounts cursor.

Change-Id: I09e8762f131cc2bd3637e1a3d302088a3b5b2479
ctivity/AccountSelectorAdapter.java
rovider/EmailContent.java
fd8ee7bc50ef86d1de50eefd5255481d82601015 09-Nov-2010 Makoto Onuki <omakoto@google.com> Show confirmation dialog before discarding drafts.

1. This CL implements the most common case, which is pressing the discard
button on MessageCompose.

2. This CL doesn't change the discard on message list, which is much trickier.
(We need to check the message type of all messages in the selection,
as selection can contain any number of any kind of messges in "All Starred")

Bug 3072556

Change-Id: Ib270cae726f8fd5abf7e0e7dfc34ce97019d5301
ctivity/DeleteMessageConfirmationDialog.java
ctivity/MessageCompose.java
77303a483b383afcdf3952e9614c97232163b230 10-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "New message view command layout"
931ca67a1f1baa0c1fd115124e35183c7786fc63 09-Nov-2010 Makoto Onuki <omakoto@google.com> New message view command layout

UI Changes:
- "Move", "Delete" and "Mark as unread" became action bar commands.
- The message view bottom panel now only has "newer" and "older" buttons,
with the current position in the message list. (shown as POS of TOTAL)
- The buttom panel is now shown only on portrait

Non UI changes
- MessageOrderManager now keeps track of the current cursor position
as well as the total message count.

- Fixed the "move_action" string, which was wrongly marked as non-translatable.

Bug 3169454

Change-Id: I599543f9e11000a4ee283d31fbd407b2ab53ac44
ctivity/MessageCommandButtonView.java
ctivity/MessageListXL.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragment.java
6f3d167cfa948d20153c2172c34cbede5ec83a1d 09-Nov-2010 Makoto Onuki <omakoto@google.com> Don't show non-incoming message in notification.

Filter out non-incoming messages using a subquery.
(because the message table doen't have the mailbox type.)

I was initially thinking of adding a new content URL for
the message table joined with the mailbox table, but it turned out
to be a bit of pain, so ended up using a subquery.
(one of the problems was that both tables had the "_id" field.)

Bug 3177220

Change-Id: I276efb70db1589835f3ddb8c7da4773e72d8691b
otificationController.java
ctivity/MailboxesAdapter.java
rovider/EmailContent.java
d12e56d321806f124c8a954c3e8a2313991ceebf 10-Nov-2010 Makoto Onuki <omakoto@google.com> Fix auto-refresh of mailbox list

sEnableUpdate should default to true.

Bug 3180421

Change-Id: I1145846d96bba9e962f598e785daf7ce7ad2404b
ctivity/MailboxesAdapter.java
b70772daa5dcd9e98ed6defce22c3af664396722 09-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Code change for new mailbox list layout"
4ac5286eb993017dc495b0c4364056429ff84dd8 09-Nov-2010 Marc Blank <mblank@google.com> Merge "Don't allow d&d move from boxes that don't support it"
e857ff50ec6806204888bdb1bedc006df88581af 09-Nov-2010 Marc Blank <mblank@google.com> Don't allow d&d move from boxes that don't support it

Bug: 3177021
Change-Id: Ib5cfcef05794d6f83884d97f2096f3d4f6b3295c
ctivity/MessageListFragment.java
9c39deef4e513554e0f8564d5c2ef3deddc87793 09-Nov-2010 Makoto Onuki <omakoto@google.com> Code change for new mailbox list layout

- Don't show a folder icon for regular mailboxes
- Change the count look
- Don't show counts for Sent/Trash.

Bug 3137965
Bug 3073147

Change-Id: I8fc0af8fc2d51968605fe4b570e5704453092ac7
tility.java
ctivity/MailboxListItem.java
ctivity/MailboxesAdapter.java
8197d847343c6c20e6a98b2354bde5392b1c4542 08-Nov-2010 Makoto Onuki <omakoto@google.com> Don't call dismiss() in onLoadFinished().

It's prohibited. Instead use a Handler to delay-call it.

Bug 3173317

Change-Id: Ic5ef245a65b3a4eeebabcebd6323b9a7921f34d5
ctivity/MoveMessageToDialog.java
aa1259b4cf96ab78b9a2f836cab39b579d80ab31 06-Nov-2010 Andy Stadler <stadler@android.com> Merge "Handle clicks outside of the "checking..." dialog"
992b7e7ed34334a622d8ccb1d2f692a83a15360e 05-Nov-2010 Andy Stadler <stadler@android.com> Handle clicks outside of the "checking..." dialog

* Clicking outside of the dialog actually "cancels" it
* Need to shut down the checker so it doesn't keep trying to
update it or close it when done.

Bug: 3120019
Change-Id: I5faa3c78b64d2aafc472b03b8086695edaf0b3fd
ctivity/setup/AccountCheckSettingsFragment.java
30ba828784e8db2735c9a88ef926a67e20ed9af2 05-Nov-2010 Makoto Onuki <omakoto@google.com> Make the account dropdown visible again.

Workaround for the framework issue that the app context doesn't
use the right theme.

Also removed the use of obsolete methods.

Bug 3169944

Change-Id: Ic8d3ba2edb9300df549cb902855025815021ff49
ctivity/MessageListXL.java
4535237e3b3432e48703bf33b98649ea8a32f3eb 05-Nov-2010 Andy Stadler <stadler@android.com> Merge "Fix NPE in pop3 checkcapabilities"
467eb0cceb0663357a9e20843c948c307f13c27c 05-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Reverse FLAG_INCLUDE_QUOTED_TEXT"
54ab7a27a3756a241ba06f0762969cf5a338bf60 05-Nov-2010 Andy Stadler <stadler@android.com> Fix NPE in pop3 checkcapabilities

* This happens if an open fails immediately (error message in the
initial banner) followed by a checkSettings.
* The fix is to harden checkSettings to force a clean connection
every time.

Bug: 2170147
Change-Id: If7403bf517477d2b03b21d71caab511fe45e234c
ail/store/Pop3Store.java
9ce244b2e3382f20e762154e23cb623bc0151fc9 05-Nov-2010 Andy Stadler <stadler@android.com> Hide vibrate notification option on no-vibrate devices

* Check for existence of vibrator, hide option if appropriate
* Notifications with vibration are still OK, they are just ignored
* Minor cleanups & renaming

Bug: 2988758
Change-Id: Ia1fd259f57d33a75a54cf1016f66a1c072aba579
ctivity/setup/AccountSettingsFragment.java
bad09c18d9d7e5e9722866a7cb847e1965186a2a 04-Nov-2010 Marc Blank <mblank@google.com> Correct drag & drop mechanics; implement multiple selection

* This CL brings drag&drop move in line with the current document
describing its functionality in the Email app

Bug: 3135124

TODO: Assets and proper creation of the drag thumbnail based on
those assets
TODO: Review long-press behavior re: press on subject vs sender

Change-Id: I6e1ee1a1f055feb041a0338f2f5c775a88620595
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
138abe82e6cb370c48f4668c1271ef8d4e6203f8 05-Nov-2010 Makoto Onuki <omakoto@google.com> Make "Send all messages" a menu option

- Now it's a menu command rather than a button.
- Also string changed from "Send outgoing messages".

Bug 3166218

Change-Id: I82f6188365f9f6bc5a6d40fb23d774eebe181445
ctivity/MessageListFragment.java
0e6254223a0bf6ce06447dedc5e14d77cf8aa3c0 05-Nov-2010 Makoto Onuki <omakoto@google.com> Reverse FLAG_INCLUDE_QUOTED_TEXT

To make it compatible with old databases.

(Follow-up to Ie7bcca23)

Bug 3162967

Change-Id: Ie3bbb5089900bb9dbd0834adbdd466fa009245f9
ctivity/MessageCompose.java
rovider/EmailContent.java
bf678771b795e1505d0a966cde1b3197317a3be6 03-Nov-2010 Makoto Onuki <omakoto@google.com> UI change: MassageCompose

Basic changes for the new UI. At this point we don't know what the new phone
UI will look like, so I didn't bother trying to preserve the old behavior on
the phone UI. The changes will affect both the phone UI and the tablet UI.

- Send, Save Draft, and Discard are now action bar commands.
- Add CC/BCC and Add Attachment are now regular buttons.
- Activity title changed to "Compose"
- Some string changes per new wireframe

Further changes (actual layout changes for the latest wireframe) should be made
only for the xlarge layout.

Change-Id: I68c9c37dfdca6736b1e35053e7f196800fcfce2e
ctivity/MessageCompose.java
c81bef672089654e6da3babbeb0172bd636564b2 14-Oct-2010 Marc Blank <mblank@google.com> Drag & Drop "move to folder"

* Drag & Drop "move to folder" preliminary implementation
* Use "drag handle" button to initiate drag
* Use the message list item itself as the drag thumbnail for
one item; "Move N messages" for multiple (not implemented)
* Disable MailboxList update during drag
* Use ListView itself as drag/drop target

Bug: 3138004
Change-Id: I9243e4f583cf91caa1b9dd04fd64d52e8b28fa30
ctivity/AccountSelectorAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MailboxesAdapter.java
ctivity/MessageListItem.java
ctivity/MoveMessageToDialog.java
rovider/EmailContent.java
rovider/EmailProvider.java
e4f81110014604f5c14cfefb4570a8fff54369b1 04-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Fix & clean up intent handling"
997a022c9b1ee84c0a5e67bcab5b0e465075234c 03-Nov-2010 Andrew Stadler <stadler@android.com> Enable zooming in MessageView

Bug: 2282390
Change-Id: Ie5be3c4adb8cc3bef5ccf4fccbfefe8a40872b17
ctivity/MessageViewFragmentBase.java
ba4e72a9474bcbe33a8001a1964a02cb41ea08bb 03-Nov-2010 Andy Stadler <stadler@android.com> Cleanup various IMAP/POP manual account setup defaults

These defaults affect manual setup only. There should be no changes
observed in automatic setup, and no changes observed in EAS setup.

* user $email instead of $user as default login
* guess "imap." or "pop3." for server name
* propagate the incoming server name to the outgoing server name, and
replace "imap.", "pop3." or "pop." with "smtp."

Also, fixed a couple of leftover places where we were trimming
passwords (and should not be, since some people insist on having
spaces in their passwords.)

Bug: 2978634
Change-Id: I9b0e345aa9550b5e1cc29aaa22109f03da61af20
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasicsFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
7126e5ae53082e1f16eb0624208b6ab7edebd392 03-Nov-2010 Makoto Onuki <omakoto@google.com> Fix & clean up intent handling

- Make sure an account shortcut really opens the account by
adding the FLAG_ACTIVITY_CLEAR_TOP flag to shortcuts

* Shortcuts have to be re-created for this fix to take effect.

- Remove Welcome.createOpenCombinedInbox/OutboxIntent, which don't work
with the new combined view.

* createOpenCombinedInboxIntent() is not used already
* createOpenCombinedOutboxIntent() is used, but is not final UI, so
removing it is okay.

- Fix MessageListXL.actionOpenMailbox -- now it really uses the passed
mailbox ID.

Bug 3144066

Change-Id: I2ee3f84c62a135351c10266c7ca6d5178c3a0ca2
otificationController.java
ctivity/MessageListXL.java
ctivity/Welcome.java
c50f912676d16e075fbef81fea0b70b6faa775e9 03-Nov-2010 Andrew Stadler <stadler@android.com> Inhibit "send" when user is a monkey.

While monkey is active, any clicks on "send" will be mapped to "save".
Drafts will pile up, but nothing will get out.

Bug: 2799956
Change-Id: I300d50001b43c8b61062143f9a0ac914aa2deaca
ctivity/MessageCompose.java
ba0b1bbc8d7cd546d548cea1e4f097462e1fb324 02-Nov-2010 Andrew Stadler <stadler@android.com> Implement text zoom for Message View

* Add preference for default text size
* Move saveSettings logic into onPreferenceChange handler
* Per user tests, default setting is large (not "normal") for XL devices.
* Use setting in MessageView's WebView

TODO: Investigate zooming header (to/from/subject/etc) as well.

Bug: 2282390
Change-Id: If32ed3626244b046941a461f974b3dbdb535f592
references.java
ctivity/MessageViewFragmentBase.java
ctivity/setup/GeneralPreferences.java
278cb8e3d5f4427ccd0e6d6f8f6996e10bede87c 02-Nov-2010 Marc Blank <mblank@google.com> Merge "Support EAS in providers.xml files"
cd09545b87979fa6b4337f17b5a001f0ef7b5269 02-Nov-2010 Andrew Stadler <stadler@android.com> Provide runtime switch for GL acceleration

* new checkbox in debug fragment
* saved value in prefs so it's sticky
* each Activity calls a helper to enable/disable per that flag

Change-Id: I1af1ae9f401bc746cc97da00dfb0e06407b79d46
mail.java
references.java
ctivity/AccountFolderList.java
ctivity/ActivityHelper.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/MessageViewBase.java
ctivity/UpgradeAccounts.java
ctivity/Welcome.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/DebugFragment.java
da0d12ca3618a76f3235766c447fe2f47ffea912 01-Nov-2010 Makoto Onuki <omakoto@google.com> Merge "Add null check to investigate an NPE in restoreMessageWithId."
d28172670602cde61ef900fac74f72b52b35a387 01-Nov-2010 Makoto Onuki <omakoto@google.com> Add null check to investigate an NPE in restoreMessageWithId.

We're getting an NPE in restoreMessageWithId(EmailContent.java:670)
called from MessageFileViewFragment.openMessageSync().

However, there're only two things that can be null in this line,
context and context.getContentResolver(), and either one really
can't be null. Add explicit null checks to investigate what's going
on.

Bug 3134403

Change-Id: I463b039b6afeda32729f7e6a93edfdb9abf12093
rovider/EmailContent.java
26e01b4ad258cc18a267e947bd7dfd24be8c9197 01-Nov-2010 Marc Blank <mblank@google.com> Merge "Delay appearance of "stop" button when loading attachments"
fdc41d4ffc29d29c9c6d8e0b81db98aaf7afa92e 23-Oct-2010 Marc Blank <mblank@google.com> Delay appearance of "stop" button when loading attachments

Bug: 3082804
Change-Id: Ib8b0fcec36a7303b2094bd0e49645d11aa2ff2db
ctivity/MessageViewFragmentBase.java
ervice/AttachmentDownloadService.java
bbe25adfc87bf72cd031969bb736833780c1dd1d 01-Nov-2010 Makoto Onuki <omakoto@google.com> Fix crashes related to readParcelable

We need to pass the actual class loader. Passing null makes it use
the boot class loader, which can't find our classes.

Bug 3073304

Change-Id: I1c72c1d352cfc0a730aba1d83eb048a8cfa95b67
tility.java
ctivity/MessageListFragment.java
ctivity/setup/SetupData.java
730cc6724ae0fde63d6f11615338d2e01aef7e4b 26-Oct-2010 Makoto Onuki <omakoto@google.com> Add "Combined view".

- Don't show combined mailboxes with regular mailboxes in the mailbox list.
- Add "Combined view" to the account selector instead.
- "Combined view" has all the combined mailboxes and accounts.
- Renambed these combined boxes. (e.g. "Combined inbox" -> "Inbox")
- Regular account view still has "Starred" mailbox, but it's actually
"combined" and not per-account.
- Re-order special mailboxes per latest wireframe.

Bug 3138004

Change-Id: I4c5860c6774b10c55ba0ca599373e51105432cf8
ctivity/AccountSelectorAdapter.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
rovider/EmailContent.java
f0ce3ea911591fe919f1cf0775af155243199cc1 01-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "SharedPreferences commit -> apply"
bd29c3090305ce415fb29ba7af339a1359c746d3 01-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> SharedPreferences commit -> apply

Change-Id: Icdca00268a8b5ea274c91366867172ee7e3841d4
ccount.java
references.java
ctivity/setup/AccountSettingsFragment.java
4afdd19e20e99e60ef98f5239c91c0d1f848c324 29-Oct-2010 Marc Blank <mblank@google.com> Support EAS in providers.xml files

Bug: 2962123

Change-Id: I661c52afcf36e337e29bb10fd878196a3b0147ae
ctivity/setup/AccountSetupBasicsFragment.java
a7fbf44511019ed77501a7c9069646bcc610baf9 30-Oct-2010 Marc Blank <mblank@google.com> Merge "Harden AttachmentDownloadService"
34e6205d4432c8b591c35fbcfc504852608f35a6 28-Oct-2010 Andrew Stadler <stadler@android.com> Simplify setupSyncReportsLocked

* Remove three unneeded DB lookups
* Eliminate race condition that could cause NPE
* Remove protocol field from report, it wasn't needed (we already
set the sync interval to -1 which has the same effect.)

Note, the problems were introduced unintentionally, due to the merged
result of three different CL's:
I168b3db49bf422b33d05f25cfff1c7be15150c2b
I74a3dae21d9ec16f9903bdf2a1c28092ae89cc50
I53e935f8bf08e0bda6e2cd483229a6377ed39d74

Bug: 3139451
Change-Id: Iadbed267f88808aeace0a2f011e4acf79074af70
ervice/MailService.java
b961c78ff4bd250d4a25497158162cb230a55057 29-Oct-2010 Marc Blank <mblank@google.com> Harden AttachmentDownloadService

* It's possible that endDownload will be called for a request
that has been dequeued.
* Harden endDownload against this eventuality, so that we clean
up properly without throwing exceptions

Bug: 3142618
Change-Id: If61136ed1ea972248fc5f9388beaaf84754f9931
ervice/AttachmentDownloadService.java
4f71ade96e9dda5b2ffaac4e563de915f2be4234 28-Oct-2010 Andrew Stadler <stadler@android.com> Remove BOOT_COMPLETED log.

Change-Id: I3eb06076ad61dab0f38e32e736e7dbbcf8dde065
ervice/EmailBroadcastProcessorService.java
02d59d21949a77c60859b615312f02e6d8003490 25-Oct-2010 Marc Blank <mblank@google.com> Delete secured accounts if device admin is disabled

* Update unit test

Bug: 2817683
Change-Id: Ia7117c34e7bbba13ac4f2ff375d19b3ef94ef49c
ontroller.java
ecurityPolicy.java
eed42e83ab1808a523e614cb6096e169d8122b95 26-Oct-2010 Marc Blank <mblank@google.com> Cleanup for dump() in AttachmentDownloadService

Change-Id: Id875d3278953ecb3a98ab8b1d290f3883e974c4f
ervice/AttachmentDownloadService.java
4a66884b74dab846c76cb284d10be1d7ac85971d 27-Oct-2010 Marc Blank <mblank@google.com> Merge "Use notifications for login failures"
d3e4f3ca7e43fb7ebaa140f93a44a1fb96a0577e 18-Oct-2010 Marc Blank <mblank@google.com> Use notifications for login failures

* For now, clicking on the notification takes the user to the
Welcome activity, as we don't have final flows for the new
account setup UI
* Need comment on strings; the problem is that notification
text must be rather short if we're to use the standard
notification display. It looks like newer UI will allow
3 lines instead of 2, however.
* Tested w/ IMAP, POP3, EAS, and SMTP

Bug: 2322253
Change-Id: I7ed6fa5599179870cbcdb14af062e956eff37ec5
essagingController.java
otificationController.java
ctivity/Welcome.java
ctivity/setup/AccountSettingsXL.java
ail/store/ImapStore.java
ervice/AttachmentDownloadService.java
ervice/MailService.java
ffd258d8736a1371f4d832c06a1aa0da5c05fc59 26-Oct-2010 Makoto Onuki <omakoto@google.com> Fix the class name in the log.

Change-Id: Ie672f2e65b28dc742cce561d13aa3016d8bbb1f1
ctivity/setup/AccountSettingsFragment.java
5b072f912979ffc8b7a048be999f3ab0627a774f 25-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Don't use sendMailCallback() -- don't track outbox status"
965e9953b67851ec209db6ebca9b9cb23a37b268 25-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Fix NoSuchMethodError in test"
4c49d7a302e3a10a961a9b8580571ee80feaeedc 25-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Fix reply/forward on EAS"
a162668f2350f681258fb0949a7fa228f2021ed8 23-Oct-2010 Marc Blank <mblank@google.com> Add dump of AttachmentDownloadService

* Will be helpful for debugging our new background service

Change-Id: Ia865c7c6cb418bd1a1f3d593421b98664c041e07
ervice/AttachmentDownloadService.java
0e00160074abffe03285b355dce8b6ae2a6e3138 23-Oct-2010 Makoto Onuki <omakoto@google.com> Fix NoSuchMethodError in test

I should have been used the one without default in the main code,
which uses the other one (with a default), so both can safely be used
in tests.

Bug 3107191

Change-Id: I2011d96f6824a1a6e99e81f5c8e60c966a444d92
tility.java
rovider/EmailContent.java
be1aa37dc516a9c3dd4af65b11f92a5951f5c5c3 23-Oct-2010 Makoto Onuki <omakoto@google.com> Don't use sendMailCallback() -- don't track outbox status

There're differences between how SMTP and EAS use this callback.
We should eventually unify the behavior, but till then let's not
use sendMailCallback().

Bug 3116377

Change-Id: Ic5ecf16251c11ab2bd2e16e29bd417f1ece67f14
ontroller.java
efreshManager.java
ctivity/MessageListXL.java
a76c9cdcc72958408bde0294ca5b8703eebc1f8f 22-Oct-2010 Makoto Onuki <omakoto@google.com> Fix reply/forward on EAS

When removing the original, need to clear FLAG_TYPE_REPLY and FLAG_TYPE_FORWARD
flags too.

Bug 3125167

Change-Id: I64be98bc10b5e1a0b9242c1c528ed96bb0a24fc1
ctivity/MessageCompose.java
9a9c725174e6abd8ee23d01cdac8776517efa99f 22-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Merge a059c4a1 from gingerbread-plus-aosp

Change-Id: I955120aff44d69bcd6fde165ac7ac974acbd3c78
2a08ef0d285ebf9e8fe86afec1ac4732586b7bb5 22-Oct-2010 Marc Blank <mblank@google.com> Don't allow MailService to schedule EAS accounts

Bug: 3120208
Change-Id: I53e935f8bf08e0bda6e2cd483229a6377ed39d74
ervice/MailService.java
4a546f5f6e22747304a07ab6892aa318447b5fe7 12-Aug-2010 Marc Blank <mblank@google.com> DO NOT MERGE: Backport AttachmentProvider security fix

* Apps trying to open attachments using AttachmentProvider were
seeing SecurityExceptions due to the fact that internal calls
from AttachmentProvider to EmailProvider didn't have their
calling identity saved/restored.
* Updated provider calls so that these calls use the Email
process' identity.
* Backport of Ifb71ad834530c6232728e1aad31439991f8ed379, fixing
2908737

Bug: 3121146
Change-Id: Ifa3a0ca8d3e34733c937d7f8c60f068984e1f4f2
rovider/AttachmentProvider.java
ca065c3927eb30766186107335445d29598bc16c 21-Oct-2010 Marc Blank <mblank@google.com> Merge "Respect the RESPONSE_REQUESTED tag in meeting invite mail"
a44c0349fa851df5c9138af2a18e3a3d5b556671 21-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Don't move drafts to trash"
6a2265eff292021f4a940334c079b84e17241ac7 20-Oct-2010 Makoto Onuki <omakoto@google.com> Add checkbox to include original text or not.

Added the "Include text" checkbox according to the latest mock.

Before:
- We removed original message when the user pressed X.

Now:
- We save the original message all the way till the draft is sent.
- The "Include text" check state is saved in the db. (to Message.mFlags)

Bug 3072414

Change-Id: Ie7bcca23bb6a02d676700027b0b6cb94b6627236
ctivity/MessageCompose.java
rovider/EmailContent.java
8d70372e0ae7fe5496cef8889c593d36492f4f15 20-Oct-2010 Marc Blank <mblank@google.com> Merge "Don't duplicate attachments when saving drafts"
e14aa7dacba0a8fc6c87fe655202a0550d4669ef 20-Oct-2010 Marc Blank <mblank@google.com> Merge "Add account name to temporary sync error UI to help debugging"
3bdba62f5804b91a95a5ec48c1c61342c5703587 20-Oct-2010 Marc Blank <mblank@google.com> Don't duplicate attachments when saving drafts

Bug: 3070196
Change-Id: Ic9dffe57cdc81615e07b1c593fc71085e1281718
ctivity/MessageCompose.java
deb51f824e00080c5dd1c15e8c1d44a55b81b993 19-Oct-2010 Marc Blank <mblank@google.com> Add account name to temporary sync error UI to help debugging

* At this point, there are a lot of toasts shown that relate to
sync failures (e.g. "Unable to connect to server"). To help
find where they're coming from, add the display name of the
account
* UX folks: Please consider what this UI should be

Change-Id: Id9b76cd22178727bedaf67ad0b7450edff99a791
ctivity/MessageListXL.java
a8bb34fd624e84a55de39d0cedab773dd0ea4fd6 19-Oct-2010 Marc Blank <mblank@google.com> Respect the RESPONSE_REQUESTED tag in meeting invite mail

Bug: 2639037
Change-Id: I4bd73f23ba270fa0ead72971b5a79d9db678a8dd
ail/MeetingInfo.java
77aabd951992057a543f1699150971bf1f2d4394 15-Oct-2010 Makoto Onuki <omakoto@google.com> Don't move drafts to trash

Now deleted drafts are really deleted, rather than getting moved to trash.

Also rewrote the test to avoid creating AsyncTasks on the test thread.
In this case it seems to be running fine, but I've had problems doing this
before.

Bug 3099179

Change-Id: Ice5298bf94312ce764d90aa35c5a6c5262ec5b42
ontroller.java
eb4965942387619c1b44c751affda83c4a2401dc 17-Oct-2010 Marc Blank <mblank@google.com> Prevent MailService from spamming AccountManager during reconcile

* When any Account is modified, MailService gets a content notification and
runs reconciliation in an AsyncTask. Reconciliation ends up calling the
AccountManager, which also runs asynchronously. The net effect is that,
especially during unit tests, where we create/destroy accounts rapidly,
these calls can "back up", ending in a situation in which the worker pool
for AsyncTask is filled, with a resulting RejectedExecutionException
* We fix this by preventing more than one request for reconciliation to
be queued at a time
* Added a unit test that thrashes the notification handler

Bug: 2937628
Change-Id: Iaf25806efb46831f31704604360df091752d9525
ervice/MailService.java
7fdd88e37cdf778e25e5a0431a31e8126564cf06 15-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Put the dest mailbox name in the "message moved" toast"
ee7205d100eff01a75c292b80f41cd24a2b19b84 14-Oct-2010 Makoto Onuki <omakoto@google.com> Put the dest mailbox name in the "message moved" toast

Also removed obsolete todo

Bug 3075984

Change-Id: I10ce9df29c4913c328d2a962151d4a9f2e6e1408
tility.java
ctivity/ActivityHelper.java
rovider/EmailContent.java
b0ffb3e39a7193b0067dddca5e758462bfc9af19 14-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Don't use negative IDs with ListView"
9b5001a34c82ea59b57a790fc221eec3af89e254 13-Oct-2010 Makoto Onuki <omakoto@google.com> Don't use negative IDs with ListView

ListView uses the _id column for some operations, including
onSave/RestoreInstanceState, and if the column contains negative values
they don't work as expected. The same assumption seems to be in other places
as well, so let's just avoid using negative IDs.

With this CL we now use two different IDs, one for ListView, which will
never be negative, and the other for us, the actual mailbox ID.

Bug 3049315

Change-Id: I263b4895212b5f8bb80c98acaf5c4eccd0bfef55
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
09eb977c062787a18a0c1ec96d929bb2279d14ad 12-Oct-2010 Makoto Onuki <omakoto@google.com> Fix potential crash in MessageViewFragment.openMessageSync

The problem is that ths method is called in a worker thread, so
there's nothing to prevent it from running just after/at the same
time as clearContent() (which sets -1 to mMessageIdToOpen).
If it does, it passes -1 to restoreMessageWithId() and crashes.

Also removed a half-obsolete comment which is a bit too obvious for its length.

Bug 3077387

Change-Id: I736d696046e6d8964a16c80515544c582aca3943
ctivity/MessageFileViewFragment.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
9c293eb65a3737d55d24fdf64333c1fa6ba98650 08-Oct-2010 Makoto Onuki <omakoto@google.com> Show "No messages" when there's no items on message list

Show this when there's no messages, and no "Load more messages" footer.
i.e. Only Outbox, Drafts, and exchange mailboxes can show "No messages".

Also removed an obsolete comment.

Bug 2363624

Change-Id: If483d33cfacb186d0fe54b4f4382333a332be84c
ctivity/MessageListFragment.java
43f2321d10a9ec3efd649cd257aee8d88ea87e08 11-Oct-2010 Daisuke Miyakawa <dmiyakawa@google.com> Modify code style.

Change-Id: I40eeb738ca2dcc7f21ddbc603b03debde5ac27d3
ctivity/setup/AccountSetupBasics.java
c8af3175df27eb326c78d66f2896a0faa4ba72c8 11-Oct-2010 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Use AccountAuthenticatorResponse properly."
9dac94975f31013d4b31ffb15eba27f352b2e758 07-Oct-2010 Daisuke Miyakawa <dmiyakawa@google.com> Use AccountAuthenticatorResponse properly.

Current implementation ignores callbacks coming from
AccountManager, which should be called everytime
when this Activity finishes its job.

Bug: 3069222
Change-Id: Iea03cf94bdfe8da184e415bf7e759ddeb46ecdd9
ctivity/setup/AccountSetupBasics.java
6993130a7cb089da642ee689603a2f8487b3fd39 09-Oct-2010 Makoto Onuki <omakoto@google.com> Auto-refresh mailbox list

Refresh mailbox list when changing the account, if it's been more than
5 minutes since the last refresh.

Change-Id: I5b1400bb881197e117b8863f850c368c2d1ccbc6
efreshManager.java
ctivity/MailboxListFragment.java
241f18f237171a804f849262533d3cddb08e45c7 08-Oct-2010 Makoto Onuki <omakoto@google.com> Fix when to clear notification

I was assuming MailService.resetNewMessageCount cleared notification,
but it didn't.

Doing it in Activity.onResume is clearly wrong because we don't always
have an account ID there. If we don't, we're passing -1, which clears
all notifications for all accounts.

We're now calling resetNewMessageCount() in MessageListFragment,
when we refresh the list, so we can remove it from onResume() for the Phone
UI as well.

Bug 3074056

Change-Id: Ib0bb2fbb0309a0784fb3a525927102f423e930df
ctivity/MessageList.java
ctivity/MessageListXL.java
ervice/MailService.java
f8630bfb82d9f35a997baaab935cfea228f542e3 08-Oct-2010 Marc Blank <mblank@google.com> Merge "Fix issue w/ duplicated messages after move (to trash/folder)"
5151ca5341b6f55e8ab8334d8a7aab45987de49f 08-Oct-2010 Marc Blank <mblank@google.com> Merge "Handle "Sync Email" properly from AccountSettingsFragment"
47087049f0cb3790d83e38e06b17826ea095c5cc 06-Oct-2010 Marc Blank <mblank@google.com> Fix issue w/ duplicated messages after move (to trash/folder)

Bug: 2994014
Change-Id: Ia223447f799ebd6490da2dc5caf1d1270b446a44
rovider/EmailContent.java
4b0d4f9f4d778e3e3896c6b2a8fd6ca250d9e4a5 08-Oct-2010 Makoto Onuki <omakoto@google.com> Fix "+ -1 more" in notification.

Need to reset lastUnseenMessageCount with unseenMessageCount.

Bug 3069406

Change-Id: I867dfaeb2d39cfd3511f956d60d2187031291780
ervice/MailService.java
cae8626fb93f4ac3ada998a7f8de22ecc3d9a052 08-Oct-2010 Marc Blank <mblank@google.com> Handle "Sync Email" properly from AccountSettingsFragment

Bug: 3055326
Change-Id: I7ecc7eda975f0ec03d3d81ed042842eab2c94d4e
ctivity/setup/AccountSettingsFragment.java
998e3f5eca04bb1c960006f670769cf64193b7df 07-Oct-2010 Marc Blank <mblank@google.com> Merge "Fix MailService unit test"
fe6e3eae2a318f89634c82222acfdaac32ee6cf1 07-Oct-2010 Marc Blank <mblank@google.com> Fix MailService unit test

Bug: 2844726
Change-Id: I168b3db49bf422b33d05f25cfff1c7be15150c2b
ervice/MailService.java
60c6dc47115f76e4287de4e58c18131d373629a5 07-Oct-2010 Makoto Onuki <omakoto@google.com> Sparse message list item layout for XL

- Tested on N1 as well
- Also fixes bug 2546662 -- show both invitation & attachment icons

Change-Id: Ic2f42370be32a0beb43f9018cefdce86028e8189
ctivity/MessagesAdapter.java
de936b83ac76a390ae04827d7eba1f3b8f238a0c 07-Oct-2010 Makoto Onuki <omakoto@google.com> Fix race condition regarding message reload.

The method to start ReloadMessageTask() when detecting content
changed events is delay-called, so need to make sure the fragment
is still in the valid state.

Bug 3069896

Change-Id: I1991d902e8044b4f8ca3ffd7d3e2e66005f1e960
ctivity/MessageViewFragmentBase.java
bb5fd95e753e3a25e2161c83eaf0deeaa4034f44 06-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Introduce tabs to view message, attachment and invite separately"
f54e08eaee0717cd60766797dd878d2588ff981a 05-Oct-2010 Makoto Onuki <omakoto@google.com> Introduce tabs to view message, attachment and invite separately

Added "tabs" to the message view according to the latset mock.
This removes the necessity of putting a WebView inside a ScrollView,
which caused the infinitely-growing email bug (issue 6882).

Right now the tabs are actually just Buttons. Complete visual refresh
should follow it.

http://code.google.com/p/android/issues/detail?id=6882
Bug 2349275

Change-Id: I897a3a32e0dd7a90d637ac5ea1d47e5e65a1eabe
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
feb8869c4f0681a6e202d8db8a77aa3c2ba4b667 06-Oct-2010 Makoto Onuki <omakoto@google.com> Remove unused method Utility.getIconIds()

And redirected the related tests to getIcon().

Bug 2894555

Change-Id: I1d90f01e7476ca79bddd644e123ad979d6ebe987
tility.java
d058f8abcd27f454f065f4a802a8bb42e413451b 02-Oct-2010 Makoto Onuki <omakoto@google.com> Auto-refresh message view

Now MessageViewFragment detects changes made to the current message,
and update the UI.
(Although it doesn't really know if the message is really changed, or just
something else was changed in the DB. It updates the header regardless.)

Change-Id: I35627c7aff129723b83605fc84521da907078571
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
591e8fa0c92a944aa3fc3cfd1a13132913733d1d 05-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Fix "move to" dialog style"
7bfa32dbc52a4f055db9430fec4fbd4b42e2a3bf 05-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Move reply/forward buttons to header"
01b7e67f78d2b722c66d71716b499024b3a42a5e 30-Sep-2010 Makoto Onuki <omakoto@google.com> Move reply/forward buttons to header

Moved the buttons to the header. All other buttons below the message view
go away, so I just hid the old buttons.

Also now we stop trying to hide these buttons when entering contextual mode,
which fixes bug 3044284: Message view buttons get disabled when closing
quick contact

Assets were temporarily copied from gmail.

Change-Id: Ib178c6221dfab02832a10d0c0441044e4969fb70
ctivity/MessageListXL.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
rovider/EmailContent.java
573e0c5ffd7a062695d8650461446f88243ddb19 05-Oct-2010 Makoto Onuki <omakoto@google.com> Merge "Extract the throttling part from ThrottlingCursorLoader"
085f7eb1219f270faa8317a5c6069a562213cb83 02-Oct-2010 Makoto Onuki <omakoto@google.com> Extract the throttling part from ThrottlingCursorLoader

Extracted into the Throttle class as I'll need this logic elsewhere.

Bonus: Now it has tests.

Change-Id: Ie9a5933f8e5015dda6985ba76814f1f945266178
hrottle.java
ata/ThrottlingCursorLoader.java
56034cab2022fe78ccbf4635617b1a54b4cc16b8 01-Oct-2010 Makoto Onuki <omakoto@google.com> Fix "move to" dialog style

- Pass the correct context to the adapter to make the text visible.
- MailboxesAdapter itself now has two modes (normal mode for MailboxList,
and "move to" mode), and use different views for them.

Change-Id: I2bd8a7d3a99d7fa3a047e653a77ec958e37e563b
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MoveMessageToDialog.java
1a0b0092e0deba07b7dcb543a837fbc116584389 01-Oct-2010 Makoto Onuki <omakoto@google.com> Add "Clear WebView cache" button to debug preference

Change-Id: I317b57cb06b071f9574077b58998aafcb5e0dff8
ctivity/setup/DebugFragment.java
14a5d8d947972f8a05bed80549bde2b99cfb2a8b 30-Sep-2010 Marc Blank <mblank@google.com> Provide better information w/ 500 error in EAS validation

* HTTP error 500 occurs with Exchange 2003 when the user tries to
authenticate with wrong credentials; we report this as "Cannot
connect to server", which is wrong
* Error 500 is supposed to mean "internal server error", but since
we know that an authentication error can cause this, we now put
up a better error message

Bug: 2933381
Change-Id: I9319a5ed6fbf4c92739f305b42b6b1cad7036a4b
ctivity/setup/AccountCheckSettingsFragment.java
ail/MessagingException.java
61eec98d398358f61cf601e805e8bfd01e4b3418 30-Sep-2010 Makoto Onuki <omakoto@google.com> Switch to static fragments

- Now we declare all fragments in the layouts.
- Added clearContent() to MessageList/MessageView to keep them calm when not
used. (e.g. MessageView.clearContent() will be called when closing message
view and going back to the mailbox list+message list screen.)

- Some of the processes have moved from onStop to onPause.
- Now that we don't use the fragment transaction, the "restored fragments"
has been removed, and the separation between selectXxx() methods and
updateXxx() methods are gone.

Bug 3045555
Bug 3041502

Change-Id: I958897a8a38bccea1dfed7cfcd900e6dd52d2eed
ctivity/MessageFileViewFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
4e400caab4ba5034141da35df3ce34290b4e9b93 30-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Switch to tablet style notification"
899c5b866192a4c4a12413446d10e5d98dbf94fa 27-Sep-2010 Makoto Onuki <omakoto@google.com> Switch to tablet style notification

- Now we show separate notification for each account
- New notification has sender photo, sender name, and subject
of the latest email
- Added the NotificationController class, which is intended to manage
all notifications besides "new message" eventually.

The framework doesn't seem to be 100% ready, and it's not clear how to
add the 3rd line in the expanded notification at this point. Need to
revisit it later to verify UI details.

Change-Id: I40193ee372cb6b2b7245c1588890f238b2469699
otificationController.java
ecurityPolicy.java
ctivity/AccountFolderList.java
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/setup/AccountSettingsXL.java
rovider/EmailContent.java
ervice/AttachmentDownloadService.java
ervice/MailService.java
62c9df806e6c165c9ffdc6b5c5372670e24e00df 29-Sep-2010 Makoto Onuki <omakoto@google.com> Two bug fixes related to preserving list scroll position

* When changing account/mailbox, reset scroll position.
Applied same change as I4b368f51 to MailboxListFragment.

Also fixed a bug introduced in the same CL.
When CursorLoader detects content changed events and reloads itself,
only onLoadFinished() gets called, and in this case we should keep the scroll
position. This means mMailboxChanging should be cleared once data is loaded
for the next content changed reload.

Bug 3015916

* Don't try to make the selection visible when reloading the list for content
changed events.

We should make the selection visible only when account/mailbox is explicitly
selected. We can use the same mXxxChanging flags for this.

Bug 3036317

Change-Id: I93e3653da6816f491c1e99c9ef6d6b947be4de37
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
8818a658a167001d7b5cd182412d0cb9031acba2 24-Sep-2010 Makoto Onuki <omakoto@google.com> Three pane layout

Implement basic behavior of the new layout. Supports collapsing/expanding
message list on portrait.

TODO Collapsing the middle pane should cancel the selection mode on
message list
TODO Implement animation
TODO On STATE_PORTRAIT_MIDDLE_EXPANDED state, right pane should be pushed out,
rather than squished.

Change-Id: I0306516845de3a1f05a102864c3dc4aba809a49a
ctivity/MessageListXLFragmentManager.java
ctivity/ThreePaneLayout.java
cd2e98d000389c9f94e6524ce69643933d73469c 29-Sep-2010 Marc Blank <mblank@google.com> Merge "Use LIMIT parameter in getFirstRowX calls"
2711c16a46034341fee81dc906162169764197f2 29-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Don't use QuickContactBadge.assignContactFromEmail"
6740c7b5acd96d960ed720b00213e90aab70925e 29-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Don't restore list view state when changing mailbox."
bc9253fb9afce2fdc8aeffa0398640dc2723dacd 29-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Rely on the fact that display name won't be empty"
07597e547bc02cd2247caa866d25b94745dcd448 29-Sep-2010 Marc Blank <mblank@google.com> Use LIMIT parameter in getFirstRowX calls

* Also, rename the LIMIT parameter to be consistent with naming
conventions

Bug: 3046494

Change-Id: Iafc7f7d76f45bc7988e5d63783359082756b7ffa
tility.java
rovider/EmailContent.java
rovider/EmailProvider.java
d22651ccd14939dc287cb32bf5403f5bb51aaeac 29-Sep-2010 Andy Stadler <stadler@android.com> am 060b1df0: am a9bc41f5: Show server name instead of account name

Merge commit '060b1df06954be1d72a659b0f00e30b8057484e0'

* commit '060b1df06954be1d72a659b0f00e30b8057484e0':
Show server name instead of account name
1d2c88738d77401caa9538b61b968f8c7de7e2a8 29-Sep-2010 Marc Blank <mblank@google.com> Merge "Add Uri for Message queries that include a LIMIT"
a9bc41f5ecea991d06b88ce861a412288303e9dd 29-Sep-2010 Andy Stadler <stadler@android.com> Show server name instead of account name

The format string "The server %s requires that you allow it to remotely
control some security features of your phone." was being displayed with
the account name instead of the server name.

Bug: 3011124
Change-Id: I1aadb5790297777831dd69f04ea89641240b7b87
ctivity/setup/AccountSecurity.java
e33a317db034c89f84d986e6e3c895bbef0f57f5 29-Sep-2010 Makoto Onuki <omakoto@google.com> Expand hit-area for checkbox and star on message list

Bug 2561779

Change-Id: I4b71d48c9440e0f3c308fbe8ff16ada04b9df54e
ctivity/MessageListItem.java
ddfae933da3134a5d8a5d487045cdb99c67013fa 29-Sep-2010 Makoto Onuki <omakoto@google.com> Don't use QuickContactBadge.assignContactFromEmail

* assignContactFromEmail("") was causing the following exception on logcat.
"java.lang.IllegalArgumentException: URI: content://com.android.contacts/data/emails/lookup/,"

* This method is to set the contact to open when the badge is tapped,
but we trigger quick contact by ourselves, so don't have to do call this.

Bug 3013527

Change-Id: I16e1573bd82ffe5c39d30b69361354010f508f91
ctivity/MessageViewFragmentBase.java
dc33d50a244f2b455e75f55f8b64add37093fce5 29-Sep-2010 Makoto Onuki <omakoto@google.com> Don't restore list view state when changing mailbox.

Bug 3015916

Change-Id: I4b368f511a94ec83723b571d1cfca1b3d39e4d04
ctivity/MessageListFragment.java
c3b3b7a0a3eedccfeba78aea42f1143d0298489f 28-Sep-2010 Makoto Onuki <omakoto@google.com> Rely on the fact that display name won't be empty

Change-Id: Ifd17daac472c1d439ddc4bd8e6811bb13a9018fa
ctivity/AccountSelectorAdapter.java
0efe738e05a31e0c1ebfba645bd2364a373a3f33 28-Sep-2010 Marc Blank <mblank@google.com> Add Uri for Message queries that include a LIMIT

* Use a query parameter (e.g. ?limit=2); LIMIT works with any
query

Change-Id: Idd106ab4b61aec237ac9676a201e797c4f65f15b
rovider/EmailContent.java
rovider/EmailProvider.java
e242578a49f54a9f46d0bd68de53c98d7dc460fb 28-Sep-2010 Andy Stadler <stadler@android.com> Make WebViews clickable DO NOT MERGE

* Makes the side-scrollable again
* Required after making them non-long-clickable

Requires companion change in WebView, to allow touch events while
clickable or long clickable (it had been requiring both)

Bug: 3036477
Change-Id: I4cae46d047f825d2aab08d254287855b187e9207
ctivity/MessageCompose.java
ctivity/MessageView.java
ac916da48e2a550815ac13445038528aa4011442 28-Sep-2010 Andy Stadler <stadler@android.com> Improve handling of content-disposition DO NOT MERGE

* Check array returned by split("=")
* Add unit tests for this case
* Also add unit tests for quoting removal

Bug: 3040796
Backport from: I170f3cd483fe35186194edeb0c3142fb0e2e9b75

Change-Id: I32ccbdbc7264a95a9cd279218cae390e65e82eeb
ail/internet/MimeUtility.java
bbac024785b9a07c9ef3d095bce9468ac3c9707c 28-Sep-2010 Andrew Stadler <stadler@android.com> Merge "Improve handling of content-disposition"
87fcd03a1b266d3f6030347143f242b1eb524cf8 28-Sep-2010 Andrew Stadler <stadler@android.com> Improve handling of content-disposition

* Check array returned by split("=")
* Add unit tests for this case
* Also add unit tests for quoting removal

Bug: 3040796
Change-Id: I170f3cd483fe35186194edeb0c3142fb0e2e9b75
ail/internet/MimeUtility.java
02a0edb60d0a0dfeffd2bf09ed2ba51f34926ded 27-Sep-2010 Andy Stadler <stadler@android.com> Allow spaces in passwords DO NOT MERGE

* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)

Bug: 2981433
Backport from: I82984e5912fc7fcb88e747815d0fe33cb36605e7

Change-Id: I49d5c13137e4f78b6fa0f9ce288c1a78ff028f88
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
e96c09c55b2738b234faacab1ac0a0b1fd4863c5 27-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Adding StopWatch class to measure elapsed time"
7687f05f7bd02a4400e340eeb05cd296c34da42a 27-Sep-2010 Makoto Onuki <omakoto@google.com> Adding StopWatch class to measure elapsed time

Change-Id: I0f38e89ffc030ba5105af50b147d783d71bd5f8f
topWatch.java
fb4333b3a5051b08d3a255000bb1b8331e2a1d43 25-Sep-2010 Andrew Stadler <stadler@android.com> Allow spaces in passwords

* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)

TODO: Some sort of warning (master only - won't backport that)
Bug: 2981433

Change-Id: I82984e5912fc7fcb88e747815d0fe33cb36605e7
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
d25d87c7ba8bbbbcad771695a7085f227bac8a1b 24-Sep-2010 Makoto Onuki <omakoto@google.com> Fix NPE with use of getFirstRowXxx

Make sure not to cast null into a primitive type.
(i.e. If null isn't expected as a return value, make sure to set a non-null
default value.)

Bug 3032143

Change-Id: I9a344d765c75a66f529ad8d99b00b2b919139f9c
rovider/EmailContent.java
1f6126313692efd29460b96b3980a62229f18053 25-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Refactor for new notification UI"
224442906b6ce92e04d27f22b6afc18cf4506b07 25-Sep-2010 Marc Blank <mblank@google.com> Merge "Handle EAS type 1 folders (user-created)"
08346b67b8aa3e36057fa4e439275efa8c3a8098 25-Sep-2010 Makoto Onuki <omakoto@google.com> Refactor for new notification UI

- Move the notifiaction code into a bg thread.
We need to access db to fetch the latest message
- Extracted ContactStatusLoader.load to synchronously load contact
pictures.

Change-Id: I282ffb706ea8e14558bf29880a0fb952868b27e5
ctivity/ContactStatusLoader.java
ervice/MailService.java
082443978595bee3b7907563dc7665f908872e20 24-Sep-2010 Makoto Onuki <omakoto@google.com> Workaround for ListView bug related to smoothScrollToPosition

Hopefully it'll soon be fixed in the framework, but it's blocking what
I want to do now.

Bug 3028455

Change-Id: I43ed059b7766a3bfc29166464bd449d905b207e4
tility.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
23f8d3be7dad09dca750c482ddb03c80780d896d 16-Sep-2010 Marc Blank <mblank@google.com> Handle EAS type 1 folders (user-created)

* If a type 1 folder has an mail folder as a parent (at any level),
it is also a mail folder (and therefore, we should have it in our
folder list)
* Before rejecting type 1 folders, look for parents and accept those
that are mail folders
* Add unit test to verify logic

Bug: 2978410
Change-Id: I44cda1d1c1fd7f3976af53a1672736201cc995ff
rovider/EmailContent.java
4209ea36b0602d4f1dca0e9057e6a6b58d7d907d 22-Sep-2010 Makoto Onuki <omakoto@google.com> Make ThrottlingCursorLoader smarter

Now the class initially uses smaller timeout, and expand it when detecting
multiple changes in a short period.

This CL makes the UI look more responsive especially on the message list +
message view mode. e.g. Starring on the message view will quickly be
reflected to the message list.

Bug 3024799
Bug 3027832

Change-Id: Ie2d44c3769d43e3fd0f54ee526556eb3bad5e288
ctivity/AccountSelectorAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MessagesAdapter.java
ata/ThrottlingCursorLoader.java
2dbb510657f42768dd215ac98ecfc17b7b0d39aa 23-Sep-2010 Makoto Onuki <omakoto@google.com> Hide bottom buttons when message list enters selection mode

Hide the command buttons at the bottom of the message view when the message
list enters the selection mode.

Change-Id: Id825bb5183673e9def055b6480fa180beab51178
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
c8fb75035f59cd2f5f48bc233f311fe3ec55bd68 23-Sep-2010 Makoto Onuki <omakoto@google.com> Implement latest selection mode behavior

On the message list,
- Longpress toggles selection.
- Tap opens message

Now it should be in line with gmail.

Change-Id: I1ce441a13fd9b41e3d7d10c2f2e4d43e580db708
ctivity/MessageListFragment.java
e069246d48bf5f90dfe20dacd709d495173ebb47 23-Sep-2010 Makoto Onuki <omakoto@google.com> Make sure callback is still registered when calling wrappee

This caused callback methods getting run after onDestroy() problem.

Bug 2799534
Bug 3011802

Change-Id: Id505e328bbff096a9f7474c033443ff6663a5fdf
ontroller.java
ontrollerResultUiThreadWrapper.java
58843f0dc336983bde54307d7387dcfcfc461017 22-Sep-2010 Makoto Onuki <omakoto@google.com> Highlight selected message on message list

Also make sure the highlighted mailbox is always visible on the mailbox list.

MessageListFragment now just uses the default background color, which means
it no longer changes background color for unread messages or checked messages.
This should be re-implemented if necessary with the newer wireframe.

Change-Id: I9bfbe9f0711ea4ab56be27778b00298d3033123b
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessagesAdapter.java
0813c7051ff91e569c7100977502247d848283a1 22-Sep-2010 Andrew Stadler <stadler@android.com> resolved conflicts for merge of 0d9ed341 to master

Change-Id: I198f760ef1734cf4a64c875236a2352859dc1a72
b4dacf2acfb8a07216c285af87e34a37619af50a 22-Sep-2010 Makoto Onuki <omakoto@google.com> Don't show only special mailboxes on mailbox list

When a new account has just been set up and the app is still loading
mailboxes, keep the mailbox list empty and let ListFragment show
the progress icon, rather than showing "Combined Inbox" "All Starred" etc
without acutal inboxes, which looks like it's broken.

Change-Id: Ia3de4377b701f0033c5dc92f8b6b14651d4d8e1e
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ed824a07ae8389f1d9fb2214ad91356109b35a05 22-Sep-2010 Andy Stadler <stadler@android.com> DO NOT MERGE Harden thumbnail creation

* Catch some errors earlier; Log all errors.

Bug: 2905324
Backport from master: Icdf4ec881f404787a0621e606d7e611d5e50aab1

Change-Id: I817a770da2d158984476cfa2b10a5de6bc0b43f8
ctivity/MessageView.java
rovider/AttachmentProvider.java
16657c9c201089d480feff0e8938ffbde3ffddde 22-Sep-2010 Andy Stadler <stadler@android.com> Merge "Fix test failures" into gingerbread
250ca15b882c7df996f590a134ec92ffca26a9ff 22-Sep-2010 Makoto Onuki <omakoto@google.com> Show MessageList with MessageView, rather than MailboxList

In message view mode, show MessageListFragment on the left pane.

TODO: Highlight opened message on message list
TODO: If the opened message is moved/deleted/starred/etc, update
message view
TODO: Collapsible left pane on portrait

Change-Id: I9b26f7291648da0e08bc526b79305ab65ce4d926
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragmentBase.java
353b75b04be276895b6d109ca5c1a5be8b68ab4b 22-Sep-2010 Makoto Onuki <omakoto@google.com> Fix NPE -- check isCancelled in onPostExecute

Bug 3024665

Change-Id: I97c122a6c66a7d4245187961cb90ea874d0e305d
ctivity/MessageViewFragmentBase.java
1ef511dafd01d99468a95b75ee5c3169513df184 22-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Ignore and log OOM during bitmap creation"
6278dcdeafadc55fe1a57eec42a0807874377f62 22-Sep-2010 Andy Stadler <stadler@android.com> Fix test failures

Methods were used by tests only and being stripped by PG.

Bug: 2894378
Change-Id: Ieb1dd0daa8bd380c66a7b1e6151c5e5b22cbe38c
ecurityPolicy.java
ebba88e4f4b3dd8001c6e1d2e4c1944aef613795 22-Sep-2010 Andy Stadler <stadler@android.com> Merge "DO NOT MERGE disallow longpress in WebView" into gingerbread
625451ed25747d2637bd45274b0ec1f7d1bbb93c 22-Sep-2010 Andrew Stadler <stadler@android.com> Harden thumbnail creation

* Catch some errors earlier; Log all errors.

Bug: 2905324
Change-Id: Icdf4ec881f404787a0621e606d7e611d5e50aab1
ctivity/MessageViewFragmentBase.java
rovider/AttachmentProvider.java
d46952e7b0d47a4150d140502caf34e3a5276dd8 22-Sep-2010 Marc Blank <mblank@google.com> DO NOT MERGE: Test validity of port numbers in account setup

Bug: 1712475
Change-Id: Iced4875379a804b5072e4df0af25db7bf9473131
tility.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
d7f886c5c80c98179054c2e02014dc088f925bc2 22-Sep-2010 Makoto Onuki <omakoto@google.com> Ignore and log OOM during bitmap creation

Change-Id: I00ca40d98e425eb267b601cc9049af6ecfd2883d
ctivity/ContactStatusLoader.java
4580c3136d6dc82e3816cca104046a4a7af2aaf7 22-Sep-2010 Makoto Onuki <omakoto@google.com> Rename misnomered constant

Change-Id: I8d1024a85ad02ba7ce7ecf22f719cab34bf70307
ctivity/MailboxListFragment.java
70880a7f2951b8372841726cc2f3d7abd87f0ab5 22-Sep-2010 Andy Stadler <stadler@android.com> DO NOT MERGE disallow longpress in WebView

* This gets very confused by the new text copy logic
* Downside is that copy from received message does not work at all
(it didn't work anyway).
* Will fix in next release by redesigning MessageView layout and no
longer wrapping in ScrollView

Bug: 2998892
Change-Id: Icd1219f3c45fd4da9259499e9c8a31ed0d3c4c30
ctivity/MessageCompose.java
ctivity/MessageView.java
263ef7ddd4fb44eb4a53d6f1bd599d0d5bbb584d 17-Sep-2010 Makoto Onuki <omakoto@google.com> Small change to MessageViewFragment

resetView() shouldn't kick LoadMessageTask(). (it's not what its name implies)
Added a TODO.

Change-Id: I0523696f3883a905d9732626824efda598bf10ed
ctivity/MessageViewFragmentBase.java
0e89a9a64012c00fbf129c7237e7fefa3fe2efca 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Use the default theme for selected mailbox."
c6299fc0788afb9a066389f239cdfe630fc5c021 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Fix ANR in one time initializer and unify BroadccastReceivers." into gingerbread
9523ecf27e35dc7b05bde68d2711459a43f373d2 28-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Fix ANR in one time initializer and unify BroadccastReceivers.

- Merged all three BroadcastReceivers into one.
(Changed class name because old ones may have been disabled.)

- Use IntentService to perform the tasks in a worker thread.

Note the new receiver will never be disabled. We always need to start
exchange.SyncManager.

Bug 2722155
Bug 2416929

Backport of I8241880fc1ee38d85dcdca7e1d46fc2f6b2d375b

Change-Id: I9835cf86846d842e6f2d23014bc0912c3b888a05
mail.java
neTimeInitializer.java
ervice/BootReceiver.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailBroadcastReceiver.java
b3eefca0e1c7fffe1b015e18050aee6867bfbcdd 11-Jun-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Fix NPE in Controller and MessagingController.

Bug 2553401
Bug 2186777
Bug 2721133
Bug 2684365
Bug 2530534

Backport of I5185d9196deab5ba3a9866e2de2a9be04a04ca03

Change-Id: I192267d7d48d377fe1fc083797cb199f8e94c0c4
ontroller.java
essagingController.java
0be6c7c5cf53d53ecd43f3ea51885c485525ccfb 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Fix handling IOException in ImapStore" into gingerbread
32517753ea61b12b0971329f375fdd304d12d003 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Handle multiple IMAP SEARCH results." into gingerbread
75c6a611aa9a35a5d938ced3674e559bf47a1ddf 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Test for interaction between ImapStore and vendor policy." into gingerbread
7fbdc44c580aa146cec1b91d60bf38e0df641c12 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Extract MockVendorPolicy, add standard mechanism to inject it." into gingerbread
2ef9710e0226aff64ad2772a511a57e9d6fe05ea 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Implement destroy() for all ImapElement classes." into gingerbread
56d04724fe50562653ccd967db6268580e826352 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Always destroy ImapResponses." into gingerbread
8c02a81722b23bb31f05f4753d6b044ced74c62c 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Add TODOs to ImapStore." into gingerbread
415b27fbd3ef02d8a71b99b5f2ec0922a22c00f1 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Follow-up to the new IMAP parser." into gingerbread
66bcd34f457988bbfc68dec00c38f99a8b3ad387 16-Sep-2010 Marc Blank <mblank@google.com> Use MimeUtility to parse EAS 2.5 MIME data

* Functionality is effectively unchanged, but we reuse existing
code rather than custom code created for this purpose
* Fix bug related to setting mFlagLoaded after loading a plain
text body

Change-Id: Iaaf647c0560827f318c8b7a00fb18a6570783c99
egacyConversions.java
ef70c9872b90d0980260a9be020cbfcc286d405f 21-Sep-2010 Marc Blank <mblank@google.com> Merge "DO NOT MERGE: Send intro text with SmartForward" into gingerbread
9afbf947de36f07c6da704f83a0067993005c163 06-Jul-2010 Marc Blank <mblank@google.com> DO NOT MERGE: Send intro text with SmartForward

* We need to include the intro text (--Original Message--, etc.) to
SmartForwards, and somehow this got in a past updat
* Add unit test for forwarding
* Fix unit test for reply so that it works localized

Backport of I8d92f00d37a434840ec3eb237f3901cd5dc7ad09

Bug: 2477988
Bug: 2685784
Change-Id: I2b6654413a8eb5ca900f958f49ec9eee5161a365
ail/transport/Rfc822Output.java
65124587840b840bc00ddb6d8670018a92644739 05-Jul-2010 Marc Blank <mblank@google.com> DO NOT MERGE: Make sure signature is added to reply/forward

* Add this to processSourceMessage in the reply/forward cases
* Add unit tests for reply and forward case

Backport of I6be8383fe5f217a4bda8e669cb69f439bc8e96b6

Bug: 2734321
Change-Id: Ia59e8c4e2f9663f2a10cff066eddeff80bc06cef
ctivity/MessageCompose.java
f255081a85bd1680c6a2d2b7225aa45cd104cb66 06-Aug-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Fix handling IOException in ImapStore

- mConnection.destroyResponses() should be protected with
if (mConnection != null).
When we get an IOException, we close the connection and null it out in
ioExceptionHandler(). So mConnection can be null at any point after
where ioExceptionHandler() first appears.

- ioExceptionHandler should close its parent ImapFolder only if the argument
connection is mConnection.
Methods like exists() may pass an ImapConnection which is not mConnection
to ioExceptionHandler. In which case we don't have to close the ImapFolder.

Bug 2898211

Backport of I8f9f45d91f596bb8da1a1575593e652d66deb643

Change-Id: I070458b5535540aba69ad7eee88bd2af8ad5f7b1
ail/store/ImapStore.java
29f0638f4d12db2e42fce7b8a74495d6f368417e 11-Aug-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Handle multiple IMAP SEARCH results.

Apparently IMAP servers may return multiple SEARCH responses for a
single SEARCH command, and we need to handle all of them.

Before the IMAP rework there was 3 methods that issued the SEARCH command.
Two of them ware doing it right, but the other wasn't, which was what
I copied from, unfortunately!

In case you're wondering, originally the test for this method was done through
upper methods, e.g. getMessage().

Bug 2911647

Backport of Ia50072944d5b01c1e59541c3a966067b13910cc4

Change-Id: Iab5d3fa21e403f2e1043990112154fbb72322b02
ail/store/ImapStore.java
8aa79ba695391c975cdac90676e68e97097d3a21 14-Jun-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Test for interaction between ImapStore and vendor policy.

Backport of I092b3a0f2f40d9aa19f2f61066362099c8b3f50b

Change-Id: I492f975e66d67aae62024804a294e796f23d2aad
ail/store/ImapStore.java
618f1d8ac513f9cf3d12fb9d773bc457a8f7259b 11-Jun-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Extract MockVendorPolicy, add standard mechanism to inject it.

One thing that bothers me regarding the new ImapStore is that there is no
tests to verify if the way how getImapId() uses a vendor policy hasn't changed.
This part is hard to test with a real vendor policy, and it can easily be
overlooked even if it's broken.

This CL offers ImapStoreUnitTests a way to test the interaction between
getImapId() and a vendor policy.

Also fixed a bug in VendorPolicyLoaderTest where it assumed the test apk
package name is "com.android.email.tests", but it may actually be
"com.google.android.email.tests" now. (Broken since the test makefile
used inherit-package.)

Backport of I8feb616ea28cb5cae5b4fba57e363771014ac599

Change-Id: I59536bc9a0e5c09c23eab21cdfb2f8283ef01a42
endorPolicyLoader.java
ee6d0d47f58ac8d010cbc68014e6786da696e726 01-Jun-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Implement destroy() for all ImapElement classes.

- This is to make sure we're not touching any ImapResponse that's
already been destroyed.

- I didn't add "is it already destroyed?" check to them
(except for ImapTempFileLiteral), because it can be costly.
Just let NPE be thrown.

Backport of Idc7b88c4844727922841cbad8a106bf781181d45

Change-Id: I9932e78a49784e4218e939a12ebcb9a497c4eb57
ail/store/imap/ImapElement.java
ail/store/imap/ImapList.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
6275e8b1441b9fb87dd3cc623e90ea61a180013b 01-Jun-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Always destroy ImapResponses.

Unfortunately it's hard to write tests for this change, but at least
all tests pass with Idc7b88c4.

Backport of If0335a848dfcc23aecea22c21b2cce73dac7ff6f

Change-Id: I6cb3525bc3c67bbf2fb101488bf95edbead5d299
ail/store/ImapStore.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapTempFileLiteral.java
565f58b9aaa66c218df862ca6e3ee3fa1530ab0e 01-Jun-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Add TODOs to ImapStore.

Backport of I5a9f246eb81cfca6008f82e8c2ffff8b7f28ba1d

Change-Id: I1422e8ae35e2ba560d1227669b9f720b937033a7
ail/store/ImapStore.java
57ab324a115352bff019ec4c74520a1b5116c1b9 29-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Follow-up to the new IMAP parser.

- Replace string literals in ImapStore with constants.
- Simplifies ImapStore.en/decodeFolderName
- Mix cases in the test data to test for case-insensitivity

Backport of I88424357227bcf78528df5e6a1c4ba45d54cc65b

Change-Id: I254fe82324f6ff530e40ca0cff7073f670cf9aa3
ail/store/ImapStore.java
ail/store/imap/ImapConstants.java
ff0712cb1e2e1902d754ac37ab637b94b8cc8933 20-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: New IMAP parser to fix long-lasting problems.

- Almost completely re-wrote ImapResponseParser layer
- We no longer use simple ArrayList and String to represent
imap response. We have classes for that. (Type safe!)
These classes are also NPE-free.
(which isn't necessarily a good thing, though)
- A lot of clean-ups and fixes in ImapStore.
- More tests for ImapStore.

Now ImapResponseParser moved to com.android.email.mail.store.imap.parser,
but inside, it's 99% new code.

This CL introduces many new classes, but most of them are small classes
to represent the IMAP response.

Problems that this CL fixes includes:
- Special characters in OK response
- Handling BYE response
- Case sensitivity
- ClassCast/ArrayIndexOutOfBound/NumberFormatException
- Handling NIL/literals at any position

Bug 2480227
Bug 2244049
Bug 2138981
Bug 1351896
Bug 2591435
Bug 2173061
Bug 2370627
Bug 2524881
Bug 2525902
Bug 2538076

Backport of I7116f57fba079b8a5ef8d5439a9b3d9a9af8e6ed

Change-Id: I38b6da7b82110181dc78a2c63c6837c57afa81ae
ixedLengthInputStream.java
essagingController.java
tility.java
ail/FetchProfile.java
ail/Message.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/imap/ImapConstants.java
ail/store/imap/ImapElement.java
ail/store/imap/ImapList.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapResponse.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
80202a9599d25fe9f01e23897938e7280ce1c554 20-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Clean up ImapStore and related classes.

- Introduce Fetchable
- Made static some methods/nested classes in ImapStore
- Removed ImapBodyPart
- Fixed lien breaks

Backport of Iec1aff2771faa28717753d6e2d9db96d940233a9

Change-Id: Ia97257c40a6edbe0abc4937068e9cd20e6c558d8
ail/FetchProfile.java
ail/Fetchable.java
ail/Part.java
ail/internet/MimeUtility.java
ail/store/ImapStore.java
286eafcf5fa7d37c9100567c8e550c3092106d93 19-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: More tests for IMAP, clean up, and a few bug fixes.

- A few new tests in ImapStoreUnitTests.
- Added TODOs to ImapStoreUnitTests (for mainly NO response handling)
- Renamed ImapStore.releaseConnection to poolConnection.
- Fixed a bug in getConnection where it'd return a closed connection.
- Now getConnection() hanles BYE response for NOOP correctly and treat the
connection as closed.

Backport of I48e5b89049338f7d4f1ac77cd7ac7243945a9575

Change-Id: I529c6667a1e60c67285b7050b2b1e4b67eccc104
ail/store/ImapStore.java
cd0b60e97ae739555413b2bfd543e4f452a005c6 18-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: More test for ImapStore/ImapFolder.

- Also, fixed a potential crash in getMessages().
It could happen when a client is gettign a message list while
another client is removing messages.

Backport of I04b1de6bc384cffb7a5286bcec0a349a3d62a623

Change-Id: I227ecbf5bd68c999ba0ab8cd50ef798ef4ef35e4
ail/store/ImapStore.java
a599ee773d3bb6350ca775db717123faffbdbfe3 18-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Tests for IMAP FETCH

Adding regression test for the new IMAP parser.

Backport of Iac7f5c022e44ca5f06f735e145af15cc459eb61f

Change-Id: Ic84172b6793a9837c2fc4a894fee141da3d19f1d
ail/internet/MimeMultipart.java
18d331898f77e15ce8587e6f04cc91a7742ed61a 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Relax MIME date parser." into gingerbread
090489b3953ff824cee812bae1114ba7ff7b30ca 21-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "DO NOT MERGE: Fix flaky tests" into gingerbread
be2ef97220619a3acf6c3dd4eb4b8add26ff452a 21-Sep-2010 Andy Stadler <stadler@android.com> DO NOT MERGE Send local IP address with EHLO instead of "localhost".

Bug 1515345

Backport of: I181c9f0d79fbdf62f7df77f72a1ec9653797b6dd

Change-Id: If9da2d9f717814bff6a3aa7e6f1a0a44a49f34d6
ail/Transport.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
d711bab919535b46b48bf007048568771c5c9a23 21-Sep-2010 Andy Stadler <stadler@android.com> DO NOT MERGE Fix debug logging controls

* Assign "enable exchange parser logging" from Eas.PARSER_LOG instead
of from EAS.USER_LOG.
* Reorder setup to assign listeners last; This avoids unnecessary calls
to Email.updateLoggingFlags() during setup.

Note: The bug exists as far back as eclair, but the fix will need to be
made in a different file in earlier versions (pre DebugFragment)

Bug: 3003813
Backport from: I5d8f66747a86139dd593ac16ea421ab1e33b8795

Change-Id: Ifd427d697347894d0f584ae04142434c30724e92
ctivity/Debug.java
a780e12db2dba2f4b4fe3ea878171bc34f26e962 23-Apr-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Relax MIME date parser.

Make the date parser accept invalid dates like
"Thu, 10 Dec 09 15:08:08 GMT-0700" which was observed in an email from eBay.

Per RFC, timezone must be either obs-zone (e.g. "GMT") or +/- with 4 digits.
The GMT+/-digits format is not permitted.

Bug 2367124

Backport of I59968274160aeadea70223208b463ee692660056

Change-Id: I3c80eee28d1dcf4c0c211f773a50de0f0839e4ad
tility.java
a8a68b827de9e7e335d8b95dcbb3c36af87db06b 17-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Fix flaky tests

Follow up to I3bf7d340. Make sure temp directory is set before running tests.

Turned out Application.onCreate doesn't seem to be guaranteed to be run
before unit tests.

Without this, some tests may fail saying: "TempDirectory not set.
Application hasn't started??", if onCreate runs too late.

Backport of Ic5aee939a2c21f9579a643d0729dd0e9ba81022e

Change-Id: I7526e3205fc78a5eb79f0786b831c4f642cbda70
mail.java
e4cfdfd05962a743319a401fb02161567b26cb8c 13-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Simplify MessageRetrievalListener.

Main motivation: not to make the new IMAP parser too complecated.

- Removed messageRetrieved.
Motivation:
- It's not easy to call messageRetrieved() at the proper timing
from the new IMAP parser, and this method wasn't used anyway.

- Renamed messageFinished to messageRetrieved.
And removed the "number" and "ofTotal" arguments.
Motivation:
- They weren't used. Also there was inconsistency about
what to pass as "numebr". (i.e. 0-based or 1-based?) There was
even a bug that caused passing a wrong number.

Backport of If92dbfe681b78a0eea8125188ede63a8f00dcf49

Change-Id: Icdea45e0a9ac567b1cdfb44e975e60bb11815472
essagingController.java
ail/Folder.java
ail/MessageRetrievalListener.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
7040017624b697559ed6a342ca685702208d58ea 14-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Add static method to get temp dir in Email.

I need to be able to get the temp dir from anywhere without Context
for the new IMAP parser.

Backport of I3bf7d34059399a8253c0760ebc392804ea434412

Change-Id: Idf7f8dffe9d6dd040d1b2311d053d4fc292ba18e
mail.java
ail/internet/BinaryTempFileBody.java
550aa6163fdb9681d6adee018a313d5f82629b34 10-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Clean up member variables.

- Fix misnomered fields. (e.g. static mMember -> static sMember)
- Reduce visibility. (e.g. mark as private)
- Mark final / static if possible.

Note it's on master.

There's a lot more cleanup oppotunities in the activities, but they're going
to go through a major overhaul, so I didn't bother.

Backport of b3f7dd0169a35221184b9327c8ce337b09dc6d1f

Change-Id: Ic33f9518f23805716e2aec0ab42edb92107e066c
ccount.java
ontroller.java
mail.java
mailAddressAdapter.java
ixedLengthInputStream.java
essagingController.java
eekableInputStream.java
references.java
ctivity/AccountFolderList.java
ctivity/AccountShortcutPicker.java
ctivity/AddressTextView.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SpinnerOption.java
ail/Address.java
ail/Sender.java
ail/Store.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
ervice/EmailServiceProxy.java
ervice/MailService.java
316447925e3b63ddeb84664b8d066484023c2ea5 20-Sep-2010 Marc Blank <mblank@google.com> am 75cfe25d: Increase EmailServiceProxy timeout for validation attempts

Merge commit '75cfe25d3b97f83d8711260a5ed9bd82fa3cc7da' into gingerbread

* commit '75cfe25d3b97f83d8711260a5ed9bd82fa3cc7da':
Increase EmailServiceProxy timeout for validation attempts
a6f694635f8989d3e5d8f0d0ac46c39f1a12edb7 05-Sep-2010 Marc Blank <mblank@google.com> DO NOT MERGE: Fix repeating notifications for synced messages

* Existing code reloads long POP/IMAP messages at every sync
* If the server is POP3, or the IMAP message is unread, this
will lead to redundant notifications of new message arrival
* The fix avoids repeated message reload
* Backport of I8dc22966282655c8645362d672a083a1c37f554c (master)

Bug: 2892705
Change-Id: I1ce7de0dc25abc8ace544849dc3d437fcd1459f0
essagingController.java
75cfe25d3b97f83d8711260a5ed9bd82fa3cc7da 18-Sep-2010 Marc Blank <mblank@google.com> Increase EmailServiceProxy timeout for validation attempts

* Use 90 seconds (instead of 45 seconds)

Bug: 3008626
Change-Id: I31258a5fbcca1f489c8bf6fb2ed8f3dcad5d2e26
ail/store/ExchangeStore.java
0af92c0c39d20e5b83321017c78f3c96d732bbdf 18-Sep-2010 Makoto Onuki <omakoto@google.com> Use the default theme for selected mailbox.

The latest framework change made it very easy to do this.
We no longer need to implement Checkable by ourselves.

Change-Id: I9264b157b6600659597ca8d525a4288d7bb9c470
ctivity/CheckableFrameLayout.java
ctivity/MailboxListItem.java
0435a0775e3d6637304a5a4e93675e7462397eb1 16-Sep-2010 Makoto Onuki <omakoto@google.com> Let MessageViewFragment own bottom buttons.

Create a custom view containing the bottons below MVF
(delete, move, reply, etc) and let MVF own this.

These buttons used to be owned by the XL activity itself, because
the UI for these commands will most likely be totally different
from the tablet UI, so the fragment having them looked wrong.

However, this made it harder to make changes suggested by the latest
mock, such as "put reply/forward in the message header".
I think the buttons are semantically part of the message view anyway,
so the fragment owning UI for these commands is probably the way to go.
(And let's worry about the phone UI later.)

Reason for the use of a custom view is that it will make it easier
to make non-trivial UI changes, e.g. "combine reply, reply-all and
forward and make it dropdown."

Also removed obsolete TODOs from MessageListXL.

Change-Id: Ibf93f4c70fe07bdbbe33d2adb6bbd2b96812830d
ctivity/MessageCommandButtonView.java
ctivity/MessageListXL.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragmentBase.java
2039cba065bad49267656a8b669d27f2006a2c4b 16-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Make "load more" work"
8a79d2ab4fcdff2809771c6925f8988aa10b2737 16-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Show account names (nickname) on action bar"
130c7bdec1df90bb7f6eac454266c969b83c21d7 16-Sep-2010 Makoto Onuki <omakoto@google.com> Fix "Sent outgoing messages"

sendPendingMessages() takes account IDs. Don't pass mailbox IDs.

Bug 2985577

Change-Id: Id4abce6de67f55809aad9d4bd2aa6419b4530e3a
ctivity/MessageListFragment.java
0d21aa395ae21857fb5ab74db7c284eda49729d4 16-Sep-2010 Makoto Onuki <omakoto@google.com> Make "load more" work

Wasn't implemented...

Bug 3004954

Change-Id: Id44bcf936fab2965b032bbc5621045825aab5292
efreshManager.java
a2090964202bf9a8c683f2880c5e1a72189f6947 16-Sep-2010 Makoto Onuki <omakoto@google.com> Show account names (nickname) on action bar

if available, instead of email addresses.
Also make sure the change to the display name will be reflected to
the UI.

Bug 2149083
Bug 3002398

Change-Id: I4aa4ffcec3a81688b3fb11182aacd546c310f117
ctivity/AccountSelectorAdapter.java
ctivity/MessageListXL.java
0b24baa1302e2d23bcab8886ff8cd9a9b0d71ce1 15-Sep-2010 Andrew Stadler <stadler@android.com> Merge "Fix debug logging controls"
e36b6ff4fa808afa84dc09fa82587dae106c8d3d 15-Sep-2010 Andrew Stadler <stadler@android.com> Fix debug logging controls

* Assign "enable exchange parser logging" from Eas.PARSER_LOG instead
of from EAS.USER_LOG.
* Reorder setup to assign listeners last; This avoids unnecessary calls
to Email.updateLoggingFlags() during setup.

Note: The bug exists as far back as eclair, but the fix will need to be
made in a different file in earlier versions (pre DebugFragment)

Bug: 3003813
Change-Id: I5d8f66747a86139dd593ac16ea421ab1e33b8795
ctivity/setup/DebugFragment.java
d701ff131f70cd6cad5516b5d0b0525eeab35acc 15-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Fix potential NPE"
261d6c3f0c97a12256519a2c3b131a56e57ab45f 15-Sep-2010 Makoto Onuki <omakoto@google.com> Notify only account cursors when resetting new msg count

- Resetting the new message count is now correctly done on a BG thread.
- Added special content provider URI to reset the count.
(/resetNewMessageCount)
- This URI only supports update, which will notify only account
cursors.
- Fixed a problem that an insert with MAILBOX_ID/MESSAGE_ID/ACCOUNT_ID
triggers two notifications.

- This CL changes how we use notification URIs, but unfortunately
no tests for this part. It turned out MockContentResolver doesn't
support the notification mechanism, which made it very hard
to write tests.

Bug 2911646

Change-Id: I35b30a7e6bf2d57510486c7ed19b9f263d8c9b58
ctivity/MessageListFragment.java
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/MailService.java
1ed2c7a15d41bad620e2fbbbdbb8bb72ae0dcdf4 15-Sep-2010 Makoto Onuki <omakoto@google.com> Fix potential NPE

Happened to find this.

Change-Id: I0b71d80a421adad196d8cd113001f2f9fe5a9445
essagingController.java
a2cc46c810eb802c172a4af8ecc67fca53dd584f 13-Sep-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2967969: Crash rotating screen on "delete account" dialog

Update settings to use to PreferenceActivity APIs to retain its
current state across instances. Removes
inheritance of Header (to work well with new framework impl that
retains these across instances), avoid resetting the current header
after a state change (we want to keep showing whatever the user
last viewed), put the dialog on the back stack (so it will get
removed if the back stack is cleared).

Change-Id: Ie35b1c0eb9b06277165f2b9cadb0e2999bb8af47
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
40b2d92851001afac70888b7f6bd7404e179ccb5 14-Sep-2010 Makoto Onuki <omakoto@google.com> Make sure "refresh" button animation refrects actual state

When selecting a different mailbox, start/stop the refresh button animation
as necessary.

Bug 2997302

Change-Id: If29d7ec37348d527698685503b7b4fbf0ed0c35f
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
52930bfda36b502c8a5cd70700012e83bd7ac48b 14-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Enable "auto-refresh" for EAS accounts as well."
fe7dd2df56a1439fd8e2676ae1479f9a4f30eb26 14-Sep-2010 Makoto Onuki <omakoto@google.com> Enable "auto-refresh" for EAS accounts as well.

bug 2990997

Change-Id: Ia8481c806ee6f2e8d9308dacee67c982e1caaa69
ctivity/MessageListFragment.java
599cc11e9eb5c8ca66e3a27034a35a61938e6936 14-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Use the auto-advance setting after move."
5b2424bf6f32fdfd65b02a9a311e7226dc48f1c1 13-Sep-2010 Andrew Stadler <stadler@android.com> Cleanup of Account setup flows

* Remove AccountSetupCheckSettings and related resources
* Remove all handling of EDIT flow in setup activities

Change-Id: I7b87d87978533b52b9c974d006920749389418d8
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
00d5cf97c6aed73426a4f8c393bccb380cff8135 13-Sep-2010 Makoto Onuki <omakoto@google.com> Use the auto-advance setting after move.

Change-Id: I835211589897410be7003a276a3278d43d940c38
ctivity/MessageListXL.java
2731aef45c6f2f9792ae698ebf7d65ca6338a02c 13-Sep-2010 Andrew Stadler <stadler@android.com> Convert exchange setup to use checker fragment

* AccountCheckSettingsFragment now supports AutoDiscover
* Clean up callbacks for account check & autodiscover errors
* AccountSetupExchange now supports rotation
* Remove dead code in SetupData & AccountSetupBasics

TODO next CL: Remove all edit flows from setup activities
TODO next CL: Remove old CheckSettings activity

Change-Id: I3c9884856ca6e70226374fdb28400bfb3588387e
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupBasicsFragment.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SetupData.java
ail/MessagingException.java
d4aac1e8477029c84cd357af61a11d4584b7d137 13-Sep-2010 Makoto Onuki <omakoto@google.com> Always show Combined Inbox

Even if unread count == 0.

Bug 2992923

Change-Id: I2c2bd9781630e7664a7bd4b6fcb5012e9ebe2dc6
ctivity/MailboxesAdapter.java
ff110a30cadb39f2d02c4aae0eb2cf07932802b7 13-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "EmailProvider related clean up"
11d37a7fa971d0a39ad42517db8a49f1fdd56a1c 12-Sep-2010 Marc Blank <mblank@google.com> Check file name before allowing attachment save

Bug: 2992710
Change-Id: I56893366226168669788b78b53bfd3f996dd96cd
ctivity/MessageViewFragmentBase.java
fd14496c494a0d38c35c3788c9cc55f1984592e4 11-Sep-2010 Andrew Stadler <stadler@android.com> Convert setup to use checker fragment

* Activities modified to use new check-settings fragment:
* AccountSetupBasics (auto-setup for imap/pop)
* AccountSetupIncoming
* AccountSetupOutgoing

Next CL: Same work for exchange, and terminate old CheckSettings activity.

Change-Id: If5c5bfe331161b2429f7d7a4bd13290932f03c47
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
7bcf1882bcb33b690f0b104f7605c9a6da39f344 11-Sep-2010 Makoto Onuki <omakoto@google.com> EmailProvider related clean up

- Removed unused URI definitions.
- Added SuppressWarnings to CONTENT_URI's in EmailContent

Change-Id: Id1e746ef5ab86dd76dc1b7dd38a5a00d052bddab
rovider/EmailContent.java
rovider/EmailProvider.java
ad0c1253c7e902ac3a99965c0a9cabd44625e044 11-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Fix tests broken by I2bf5de4e (Clean-ups for EmailProvider)"
07fc10ae2269d6ffc05e1b51d935825b5e8b8254 10-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Implement "auto-advance" on two-pane"
8f78d57a1f407476250b53a28d13c980512a90d8 10-Sep-2010 Makoto Onuki <omakoto@google.com> Implement "auto-advance" on two-pane

- Two-pane now respects the auto-advance setting.
- Added another TODO for one-pane.
- Removed unused method.

Change-Id: If2cfb8cc1de04c48cd2f6075bc01bef830425662
ctivity/MessageListXL.java
ctivity/MessageView.java
5b0c2c7f344e72915ac63ff45cf3d65885373a39 10-Sep-2010 Makoto Onuki <omakoto@google.com> Fix tests broken by I2bf5de4e (Clean-ups for EmailProvider)

My previous CL broke some tests.
- make sure to set 0 to unreadCount when adding a new row
- when updating messageCount in the tests, directly manipulate
the DB. (the provider no longer allows this)

Change-Id: Ib569349707007badf4f23600fbca37110c78fa6d
rovider/EmailProvider.java
9e9113b9b8b4629da7a2f569f2c3b559ecadebc7 10-Sep-2010 Marc Blank <mblank@google.com> Fix MessageList formatting bug when subject is empty

Change-Id: Ia2ab247935a4882a308fb393f5484bfe3ea10d86
ctivity/MessagesAdapter.java
f678a8e67ace74ea285dcec9727d0117e23a5c73 10-Sep-2010 Makoto Onuki <omakoto@google.com> Clean-ups for EmailProvider

- Don't allow manual modification of unreadCount/messageCount
(We used to check only unreadCount in update().)
- Do the integrity check at the very first in update().
I think the old place was really problematic because we opened
the database in a few lines above and kept it in a local variable.

Change-Id: I2bf5de4e4e45b40c11b951dd2255f8193c26f1aa
rovider/EmailProvider.java
7183724276e0d829fd01a5bc1f2f6d0f6b6a8818 09-Sep-2010 Makoto Onuki <omakoto@google.com> Don't check flagLoaded for outbox message list

We found a case where messages in outbox have flagLoaded=FLAG_LOADED_UNLOADED,
where it should be FLAG_LOADED_COMPLETE. Haven't found the root problem, but
remove the flagLoaded test to mitigate the problem.

Also moved the buildMailboxIdSelection call to a worker thread.
(this method issues some queries.)

Bug 2984285

Change-Id: I2a5be300fb3da703698512262cc38bea75d0f7ba
tility.java
ctivity/MessageOrderManager.java
ctivity/MessagesAdapter.java
6d51b7eb630d3b2632b44699e14730eb7b995f78 06-Sep-2010 Marc Blank <mblank@google.com> Properly report EAS protocol version failures

Bug: 2528554
Change-Id: I9ac2520528ebe23dc0d465aee65ab470f8f429a7
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountSetupCheckSettings.java
0f52e546ef662e126b7360ad69c8c8f838789ef3 10-Sep-2010 Makoto Onuki <omakoto@google.com> Implement General Preferences

- Removed the place holder setting
- Added "auto-advance" setting, which has "newer",
"older" (original behavior, default) and "message list"
- Strings were copied from Gmail

This CL has preference change only (i.e. the setting isn't used yet).
The actual implementation will come later.

Change-Id: I9f90a723c67e066fdc536a73490101817a127933
references.java
ctivity/MessageListXL.java
ctivity/MessageView.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/GeneralPreferences.java
6a461a9d46fc48fbfc9e7ce114346ea1ebbe35b0 10-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Launch AccountSecurity if the account is on security hold."
4c5aaaecefe18fed98a374e89c5c8de346af5989 10-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Add quick contact badge to MessageView."
c7fd6f2a939e521738530fae4766e1096e88b942 10-Sep-2010 Andrew Stadler <stadler@android.com> Merge "Cosmetic cleanup of exchange setup"
c164444784d0cecfc823934bf0bcf22286671202 10-Sep-2010 Andrew Stadler <stadler@android.com> Cosmetic cleanup of exchange setup

* Remove nonfunctioning Next button
* Enable Next button on name screen

Bug: 2988925
Change-Id: I9de7d8dc5b6f48b6c11676b7eef478495afcc889
ctivity/setup/AccountSetupNames.java
2012ceff64e7e31087c3ff2c8fdebce655ebb632 09-Sep-2010 Makoto Onuki <omakoto@google.com> Launch AccountSecurity if the account is on security hold.

Change-Id: Icac5de3259c66cac87e2a36d95d53a4f63ea94f1
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
b1ea9c3c12d8d9da5c1e49a8752076ce60861e9f 07-Sep-2010 Makoto Onuki <omakoto@google.com> Add quick contact badge to MessageView.

- Added "quick contact badge" to MessageView
- Removed PresenceUpdater, and added new implementation based
on Loader, which is much simpler.
- Changed some text color, so they're visible now.

Bug 2988625

Change-Id: I688a3217178ee8fd0b7245c0ab36a633687ea525
tility.java
ctivity/ContactStatusLoader.java
ctivity/MessageViewFragmentBase.java
ctivity/PresenceUpdater.java
27e35d47af093e5c36897ff4463d6fdc1f831c86 09-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Add a flag to check the current thread on db accesses"
76a73d104d65f95419c193c21f0ca75fe64a7c5e 09-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Cleanups for unbundling"
697f98aea5a8344a17ca5e9b0410d484fdce6555 09-Sep-2010 Makoto Onuki <omakoto@google.com> Cleanups for unbundling

* android.security is hidden. Use java.security.MessageDigest instead.
* Remove android-common from makefile (we no longer use it)
* Add LOCAL_SDK_VERSION to makefile and comment it out

Change-Id: I7f9a021387d5c4e47ade1adb0bb75bec82ba0dd8
tility.java
4c3a8ede019f8683a7d15defd995790c4b5ebdac 09-Sep-2010 Andrew Stadler <stadler@android.com> Quick fixes for account setup unit tests

Some of these broke in 8bcb572ccfdac6974c111fe6dfc753a5e0d4e7ca
which changed the [Next] button to an ActionBar menu item.

However, the entirety of AccountSettingsXLTests needed to be disabled
because the PreferenceActivity is very different on phone or XL sized
devices, and the tests infrastructure will need to be refactored to deal
with that (on another day.)

Change-Id: I9adbfc9b8da6179e4c4e82d29bb872ee05619a41
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
db746428ef630c86d1f1132c4b800423a0bca52c 09-Sep-2010 Andrew Stadler <stadler@android.com> Merge "Convert setup to actionbars, and holo theme"
8bcb572ccfdac6974c111fe6dfc753a5e0d4e7ca 09-Sep-2010 Andrew Stadler <stadler@android.com> Convert setup to actionbars, and holo theme

* All setup activities given UI makeover:
* Remove legacy themes from manifest - exposes default holo theme
* Remove bottom row button(s)
* Replace with action bar button(s)
* No change to workflow or activity/fragment organization

Change-Id: I07ce11a0a2b4b767b5ac111d466e68400fe0f30b
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
d36d911fac517f7a82f5a341290f67e2dd04979d 09-Sep-2010 Makoto Onuki <omakoto@google.com> Add a flag to check the current thread on db accesses

Added Email.DEBUG_THREAD_CHECK. If true, EmailProvider warns if certain
methods are called on the UI thread.

Change-Id: I6db9e45f2e449a31850c223fc9eec0fb9a575cb1
mail.java
rovider/EmailProvider.java
a4843fa29f4bc8e58040ba25003a3e1acf588ef5 09-Sep-2010 Marc Blank <mblank@google.com> Merge "Fix problems with repeating notifications for synced messages"
ffee97985c79c8e3008019f2d273a92acfe51ff5 09-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Show total message count for Outbox/Sent"
8761564d1fb4aa40949d9edfeb08bce04e055c95 09-Sep-2010 Makoto Onuki <omakoto@google.com> Remove EML files at proper timing

Remove EML files only when the last MessageFileViewFragment instance is
destroying.

Bug 2881349

Change-Id: Ie050eb113c799aefaf63d0ac7f678208c2ee0924
ctivity/MessageFileViewFragment.java
a262f908aef5ee15db8dc7fcef0bbc81e820b7bb 09-Sep-2010 Makoto Onuki <omakoto@google.com> Show total message count for Outbox/Sent

Instead of unread count.

Change-Id: I90fe96093bc31f26e4cacacf6adfb0a3cf009d04
ctivity/MailboxesAdapter.java
e302d06258fef74d919b626430d1d4b44be93381 05-Sep-2010 Marc Blank <mblank@google.com> Fix problems with repeating notifications for synced messages

* Existing code reloads long POP/IMAP messages at every sync
* If the server is POP3, or the IMAP message is unread, this
will lead to redundant notifications of new message arrival
* The fix avoids repeated message reload

Bug: 2892705
Change-Id: I8dc22966282655c8645362d672a083a1c37f554c
essagingController.java
27c6547968f9c2824d5e1b662bd17137abbfbe09 08-Sep-2010 Makoto Onuki <omakoto@google.com> Remove obsolete TODOs

They're all obsolete.
(Fix is already in, change in a different place made it obsolete, etc.)

Change-Id: I04452a973c86d39aca8e89f8883dcf1d7e480dee
ctivity/AccountSelectorAdapter.java
ctivity/MailboxesAdapter.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragmentBase.java
16fea1419e503eb380c76813d377d8b42176cb32 08-Sep-2010 Andrew Stadler <stadler@android.com> Merge "CheckSettings as a true fragment"
55110ca1ad8ce48a5429f9f351d013691c10b806 08-Sep-2010 Andrew Stadler <stadler@android.com> CheckSettings as a true fragment

* Create new retained fragment + asynctask as the worker
* Stateless dialog fragments for everything else (progress & errors)
* Used for account settings, incoming & outgoing, only so far

TODO: Support for account setup workflow
TODO: Support for autodiscover workflow
TODO: Remove old checker activity when complete

Change-Id: I1fdafa1a51c53b934e59ea4af7d3e0ac24a3da17
ctivity/setup/AccountCheckSettingsFragment.java
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoingFragment.java
940c45df8eb3350da7c66cfc9a1d3468e15f6b69 07-Sep-2010 Adam Powell <adamp@google.com> Updated for upcoming ActionBar API changes.

The extra overloads for setStandardNavigationMode are going away to
simplify the API. setTitle/setSubtitle should be used to change title
content in standard nav mode.

Change-Id: I29baa1ea5572a01ed9bc1d99f5c8a6e35dd02a1a
ctivity/MailboxList.java
ddc8dea2bdfb85838f70dc1c2f173e42b86c7554 07-Sep-2010 Makoto Onuki <omakoto@google.com> Fix upgrade problem in I84a2cbe1

I84a2cbe1 didn't upgrade the deleted/updated tables.

Bug 2980891

Change-Id: Ifb0800bab58978352f2239f99186d0503e0dd899
rovider/EmailProvider.java
e7b9e4ab94093127002f4cddd3ffcc3deb1c0b41 02-Sep-2010 Marc Blank <mblank@google.com> Add snippets to messages

* Add 'snippet' column in Message table and handle upgrades to the
new schema
* Generate a snippet from either HTML or plain-text message body,
removing tags, extraneous whitespace, and other superfluous text
along the way. Store the snippet in the Message table
* Clean up MessagesAdapter to use the pre-existing list projection
and constants
* Write unit tests for snippet creation
* The UI in this CL is always single-line, ellipsized

TODO: Handle two-line subject if portrait and XL

Change-Id: I84a2cbe10957975942edad6eb1255a726924a78a
egacyConversions.java
nippet.java
ctivity/MessagesAdapter.java
rovider/EmailContent.java
rovider/EmailProvider.java
767f9fe2ebcca7eee20f2a048f33a96ad4bf53da 02-Sep-2010 Makoto Onuki <omakoto@google.com> Implement batch move.

* UI is still temporary
* In this version, we check if the selected messages can be moved *after*
you click "Move", rather than disabling the button beforehand.

Change-Id: Ief2864d2a513001847844963b2b0cb6b714e8667
tility.java
ctivity/ActivityHelper.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MoveMessageToDialog.java
rovider/EmailContent.java
7c4ba5847a47c2b3a67787d1c441be681b97ccd2 03-Sep-2010 Andrew Stadler <stadler@android.com> Merge "Use real fragments for incoming/outgoing/exchange settings"
1a5e1e159352f6e21bde878eebca3e3a1896045c 03-Sep-2010 Andrew Stadler <stadler@android.com> Use real fragments for incoming/outgoing/exchange settings

* From account settings, switch to incoming/outgoing/eas fragments
* Show "Next" button in actionbar (may be dup'd in single-pane view)
* Common base class for in/out/eas fragments
* Depends on PreferenceActivity.startPreferenceFragment(), new API
* If the user clicks an account header while editing server settings,
present a dialog before discarding the changes that haven't been
checked yet.
* Confirm working (if a bit ungainly in appearance) on phone screen

Change-Id: I03591b9a8ffd11fe26fc6f58a5698740e61d0090
ctivity/setup/AccountServerBaseFragment.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
f66a729cc45027a2202121745e93bf2533cfbbc3 03-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "MailboxList: Show the rotating icon when there's no mailbox"
93db1852bee2b1a23f051308e3634f58d33cb2c0 03-Sep-2010 Makoto Onuki <omakoto@google.com> MailboxList: Show the rotating icon when there's no mailbox

If the cursor is empty, hide the list and let the framework show
the rotating icon. (Don't set an empty cursor, which makes the list just
blank.)

We do this for only MailboxList because we know we'll get mailboxes
soon enough. We can't do this on MessageList because there may be really
no messages even if we wait.

Bug 2927973

Change-Id: Ic0346d2d90d03489072eb95a123281f60cda44dd
ctivity/MailboxListFragment.java
646b5e062ebaad622a4eed5f3103630634b99b64 02-Sep-2010 Makoto Onuki <omakoto@google.com> Disable forward/reply for trashed messages.

* Now the message shown/gone callbacks are called directly by
MessageViewFragment, rather than MessageListXLFragmentManager.

* The buttons are enabled/disabled per messages, so it even works
properly when you move around in All Starred. (if you ever star
trashed messages.)

* Fixed one-pane as well.

Bug 2968810

Change-Id: Ie6de1dc7ea0bd18c40c091a6685629c26ffb7110
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragmentBase.java
b8efc2d048175f4d12630a036f9aed4e9be0f982 02-Sep-2010 Makoto Onuki <omakoto@google.com> Make sure MessageView series don't use mMailboxKey

Because "move" and "delete" are asynchronous operations, Message.mMailboxKey
can change any time. We can't use stored values.

(Fortunately it was used at only one place, and this was actually unused.)

Change-Id: Idc1300a00122fe0e6372b0374cddc98aa54a47fc
ontroller.java
ctivity/MessageViewFragmentBase.java
bf2a53ef5eb3f90da75aaf215d39da6898378efe 02-Sep-2010 Andrew Stadler <stadler@android.com> Merge "Direct access to edit specific account settings"
9c65c146f3d8e60f35f46c815d4121749ad13abd 02-Sep-2010 Andrew Stadler <stadler@android.com> Direct access to edit specific account settings

* Finish implementation of AccountSettingsXL.actionSettings()
* Point account manager entry point at it now
* Remove old AccountSettings activity
* Move AccountSettingsTests over to AccountSettingsXLTests and minor
cleanups so it works in fragmentized activity.

Change-Id: I5f979a3a9a29dcbbe5a63833b184e6c0313652d5
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsXL.java
a25aa613f79a94d0dea395234ba383de63d03727 01-Sep-2010 Makoto Onuki <omakoto@google.com> Open MessageComponse when draft in All Starred is selected

Also removed a silly unnecessary code in Mailbox.isRefreshable.

Bug 2968445

Change-Id: I75187e5abf1c3e67c8b9ead38c7f749fc8b6cfb0
ctivity/MessageListFragment.java
rovider/EmailContent.java
975b5c71aba0d92a9157e1916a4be9e9272283f0 02-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Remove some debug code from MessageListXL."
b076aaa4598acdfd8a4e1b0210e225763fc525b4 02-Sep-2010 Makoto Onuki <omakoto@google.com> Merge ""Move to" multiple messages"
11aea1efe45b23c1217b31be029a527c9dc460b8 01-Sep-2010 Makoto Onuki <omakoto@google.com> "Move to" multiple messages

Now Controller.moveMessage supports moving multiple messages.

Change-Id: I5d9715cd94e55cf14254b4d4d731524be9d014a8
ontroller.java
ctivity/ActivityHelper.java
ed035c20a105d55e5931aa90eef6cd49a5493121 01-Sep-2010 Makoto Onuki <omakoto@google.com> Remove some debug code from MessageListXL.

Change-Id: I26e373d2e570c49a812ffbee98095f9e84599335
ctivity/MessageListXL.java
b387560384d38e3280090176a0f3b2cf8b1f9ab5 01-Sep-2010 Andrew Stadler <stadler@android.com> Move Add Account button to new Footer position

Change-Id: I662f6cbfd8db80f4b383e6204afcf460764f4d4c
ctivity/setup/AccountSettingsXL.java
62f9c4d2803382f89cf8a19ed12b53b639d547fe 25-Aug-2010 Marc Blank <mblank@google.com> Temporary UI for "move to folder"

* Many TODOs left in code.
* Only supports moving 1 message. (from message view)

Change-Id: Ibdec3163382345a7096c2cba51f448d69a9720af
ctivity/ActivityHelper.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageListXL.java
ctivity/MoveMessageToDialog.java
rovider/EmailContent.java
163e431a7ff8e970565b637664a1031578e577c8 01-Sep-2010 Dmitri Plotnikov <dplotnikov@google.com> Merge "Removing notification that is no longer needed"
3d784232812d0103f2ac353b0fb17df37be9dcfe 01-Sep-2010 Makoto Onuki <omakoto@google.com> Fix NPE in autoRefreshStaleMailbox

There was a silly logic error...

Bug 2967814

Change-Id: Ie92799be5a3d685cd9eb6a454457868ad0bbfffd
ctivity/MessageListFragment.java
2941c88fcebe0bcb961b3e192b09594e99e22876 01-Sep-2010 Dmitri Plotnikov <dplotnikov@google.com> Removing notification that is no longer needed

Now that CP2 rescans all providers whenever an
account is added.

Change-Id: I274a0ec7983f0b0c16edda2f426ec7e7de595473
ervice/EasAuthenticatorService.java
cadd46e3fba926e59eb4c8f2d2e3e84283536a09 31-Aug-2010 Makoto Onuki <omakoto@google.com> Preserve scroll position of message/mailbox list

* Preserve the scroll position in the following transitions
MessageList -> MessageView -> [back] -> MessageList
MessageList -> MessageView -> [screen rotation] -> [back] -> MessageList
two-pane -> compose -> [discard, etc] -> two-pane
two-pane -> switch to other app, and switch back -> two-pane

* Don't always refresh on onResume. Do it only when requested.
This supresses unnecessary refresh when coming back from other full-screen
activities, e.g. MessageCompose.

* Also updated the comments on the back handling.

Bug 2769052

Change-Id: Id83dc3e778c35860d634c68ecac0c7a07cc4057e
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
daec902cae2570086b0aaeb7f1442c94f3dfdbd9 01-Sep-2010 Makoto Onuki <omakoto@google.com> Merge "Fully implement "refresh" action bar button"
e357f5879187124c7af5c2ece5d7d3e4f60f07d2 27-Aug-2010 Makoto Onuki <omakoto@google.com> Fully implement "refresh" action bar button

* Now it'll refresh mailbox list (left pane) as well.
(With the minimal interval of 30 seconds)

* Always refresh inbox.
(also with the minimal interval of 10 seconds)

* Also make sure the "auto-refresh" won't refresh
non-refreshable mailboxes. (drafts, etc)

Bug 2929889
Bug 2930018

Change-Id: I09452d40aad6008a721cfbc3f491617224d7048f
efreshManager.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ata/MailboxAccountLoader.java
rovider/EmailContent.java
57f125a01b5fbb5860b144b3057153a50d07ddd1 26-Aug-2010 Andrew Stadler <stadler@android.com> Move debug settings from own activity to setting fragment

* Add DebugFragment and incorporate it into AccountSettingsXL
* Tap "Email preferences" 10 times in a row to enable debug settings.
(Or type D E B U G works as well.)
* Point broadcast receiver (*#*#EMAIL#*#*) to AccountSettingsXL
* Remove old debug launchers in AccountFolderList
* Remove old Debug activity

Change-Id: Ib289c42878a07c23f815654ce4570c1399aa49de
mail.java
ctivity/AccountFolderList.java
ctivity/Debug.java
ctivity/setup/AccountSettingsXL.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/DebugFragment.java
ervice/EmailBroadcastProcessorService.java
086aac2386a575a0e2c78b1fa8dd8ea13825ae2b 27-Aug-2010 Makoto Onuki <omakoto@google.com> MailboxFinder should ignore callback for non-target account

There were two cases where MailboxFinder responded to updateMailboxListCallback
when it shoulnd't.
- Callbacks for non-target accounts
- Callbacks arrived after the operation is finished

Make sure these callbacks are properly ignored.
Also, make sure startLookup() can't be called more than once.

Change-Id: I823c11ab5f96df4eb84594c08d3325d12319f708
ontroller.java
ctivity/MailboxFinder.java
ctivity/MessageList.java
ctivity/MessageListXLFragmentManager.java
3e376afcb3f1974b057de1440d30f6da109f9e0a 31-Aug-2010 Marc Blank <mblank@google.com> Merge "Fix another inconsistent set of PolicySet values"
61911d4ff70132fa21c5ee7a987303479e8ef6ae 28-Aug-2010 Marc Blank <mblank@google.com> Fix another inconsistent set of PolicySet values

* EAS can send both "simple password" and a non-zero number of
required complex characters; we're supposed to ignore the
complex character requirement in this case
* Force complex characters to zero if password is "simple"
* Update constructor test to check the fix

Bug: 2903349
Change-Id: I3d42bd3c8f3667d8f3027da9e91e0dd18722d9bf
ecurityPolicy.java
01a5da7208d2e9c6b92897548af029fbd6bdb619 27-Aug-2010 Makoto Onuki <omakoto@google.com> Update the list immediately after batch edit.

Batch edit (toggle star, toggle un/read) used to work like this:
- Update DB
- Cursors get content change event
- But the list won't update immediately, because ThrottlingCursorLoader
postpones refresh.
- The list will update a few seconds later.

It wasn't really a good UX, so refresh the list right after the db change.

Change-Id: If483b305cf448ec4c73e65498044fd52cc144773
ctivity/MessageListFragment.java
9d742070399ba52deadd861f84189902be147231 27-Aug-2010 Dmitri Plotnikov <dplotnikov@google.com> Integration with Directory API for autocomplete

The UI changes a bit - there is no separator
between the local contacts and directories.
Will bring the separator back if asked, but
most likely simply as a thick line.

Change-Id: Idfc990deff41b30d63bd8289731694e3d9a00fb6
mailAddressAdapter.java
ctivity/MessageCompose.java
4772322cc99aaf3936e9a9df423daf8bb65c7534 27-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Revive checkboxes to select messages on MessageList"
bdf84d57e623499d9c250fcc6fa1ba1f947cd2b5 27-Aug-2010 Makoto Onuki <omakoto@google.com> Revive checkboxes to select messages on MessageList

It's basically a partial revert of I3cb6c45c, with some clean-ups.

Also removed mHandler, which was unused.

Bug 2949762

Change-Id: Ib4e673c5829b99ba45fec449bffb62df84555a01
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
273de8cc084cb6cdf276cd67dbe0676c277ada35 27-Aug-2010 Marc Blank <mblank@google.com> Merge "Rename SyncManager to ExchangeService"
64b64cca01c1a827c1b3824f099fd638cfb15826 27-Aug-2010 Marc Blank <mblank@google.com> Rename SyncManager to ExchangeService

* Updated comments and checked for 100-columns

Change-Id: I4ab5aaa9425714f8e035e1952db3fec63d498ae1
ontroller.java
xchangeUtils.java
ctivity/Welcome.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupOptions.java
ail/store/ExchangeStore.java
ervice/AttachmentDownloadService.java
ervice/EasAuthenticatorService.java
ervice/EmailServiceProxy.java
9e71be599e173bb98fddc06380e5308a826c2ee2 27-Aug-2010 Andrew Stadler <stadler@android.com> am 99df4d53: am b47d1a8a: am 126c9216: Block oversize attachments from being sent

Merge commit '99df4d53b620fae871fd45aaf9b8f110cb4d4288'

* commit '99df4d53b620fae871fd45aaf9b8f110cb4d4288':
Block oversize attachments from being sent
85cf69d371e70c5b58aa736c90788e6ba545fbba 27-Aug-2010 Marc Blank <mblank@google.com> Fix "move to folder" for both IMAP and EAS

* We were zero'ing the server id BEFORE the move, rather than
afterward; this is fixed in the current CL

Change-Id: I4a5f2b2de5794a110a8f657c80dfeac4955b5909
ontroller.java
essagingController.java
b47d1a8a1ab880b49d027c77c0cd2929a9a96c2f 27-Aug-2010 Andrew Stadler <stadler@android.com> am 126c9216: Block oversize attachments from being sent

Merge commit '126c9216b13d915b24a057b5b50bb8ea9826ba7e' into gingerbread

* commit '126c9216b13d915b24a057b5b50bb8ea9826ba7e':
Block oversize attachments from being sent
bd3e7777c58d4ffef41922b1e7e0d3ccbbb78ca3 26-Aug-2010 Makoto Onuki <omakoto@google.com> Fix broken breakage introduced in I2a7fec0d

This file was left unchanged somehow...

Change-Id: I1b441731c71b63401c8b756e8e591c3018c07e35
ctivity/setup/AccountSettingsXL.java
0be2d85bb8e4ca177a52aebeb0dc5e869f1c96b4 25-Aug-2010 Makoto Onuki <omakoto@google.com> Make notification open XL activity on tablet

* Now notification kicks Welcome, which knows which
activity to use.
* Extracted cancelNewMessageNotification
* Also fixed 2909215. There'll be only one XL activity on the app stack.

Bug 2945369
Bug 2909215

Change-Id: I2a7fec0d48a7618375cae55138ca51fefc70ff6e
ctivity/AccountFolderList.java
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/Welcome.java
ervice/MailService.java
4829dfaf7fff2d8677b685ffe8644b1c1ee64fba 26-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Brush up mailbox list."
0f67e7af9c18df8894fbab08583a3fd25c37652e 26-Aug-2010 Makoto Onuki <omakoto@google.com> Brush up mailbox list.

- Don't show combined boxes when there's only one account.
- Show special mailboxes (e.g. drafts) right after inbox
and before regular mailboxes.

Bug 2941270

Change-Id: I03ba356f5f2367f0478133acc1f2e35d182d359c
ctivity/MailboxesAdapter.java
866f9a0f833fe16ba7a16eb975f167315124ab67 26-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Brush up account selector"
4f4b73645530902e05b958aefd9ee7897e7dbae2 26-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Switch to Light Holo theme, clean up menu options."
b53b1501055cbf5040bfd7b88a9cda084574c398 24-Aug-2010 Marc Blank <mblank@google.com> IMAP implementation of "move to folder"

* Clean up Controller.deleteMessage to work with new EmailContent
utility methods, and move out of the UI thread
* Add unit test for Controller.moveMessage

Change-Id: Ic49e2ecc7ef2252dd4d51f4c3b313b936fda78b6
ontroller.java
essagingController.java
tility.java
486761169da1415a0a0a21ef98739da94d71c0c5 26-Aug-2010 Andrew Stadler <stadler@android.com> Merge "Finish delete account functionality"
464d1f95b725fb22d701bd7b55d6d682ad4d3cbf 26-Aug-2010 Andrew Stadler <stadler@android.com> Finish delete account functionality

* Wire in delete account functionality
* Minor cleanups
* Update TODO list

Change-Id: Id9852eb833b0b4e4e8233620412e475815e537ef
ctivity/setup/AccountSettingsXL.java
62d19789b70f9a7d0975611b870a7dd481ca7160 26-Aug-2010 Marc Blank <mblank@google.com> Merge "Fix attachmentExists (recognize mContentBytes)"
4dcb1c5fdaacc40309b77af2a32532bc60218523 25-Aug-2010 Marc Blank <mblank@google.com> Fix attachmentExists (recognize mContentBytes)

* Add unit test for attachmentExists

Bug: 2937856
Change-Id: I020f58740618c084676bbf1cdfad3795edb07688
ontroller.java
essagingController.java
tility.java
ctivity/MessageViewFragmentBase.java
2f4e87c2234387b6c3bc4fff8f7f1da1e83258e8 25-Aug-2010 Makoto Onuki <omakoto@google.com> Switch to Light Holo theme, clean up menu options.

- Changed the default theme to Light.Holo
- MessageCompose now has ActionBar.
- Removed unnecessary MessageCompose menu items.

- Also removed "Add Account" menu from MessageListXL.
(Use the + button on account settings)

- Fixed "calender response section invisible" bug.

Bug 2926517

Change-Id: Id27632ec82dad158f43b0903dbc2cb219188400d
ctivity/AddressTextView.java
ctivity/MessageCompose.java
126c9216b13d915b24a057b5b50bb8ea9826ba7e 26-Aug-2010 Andrew Stadler <stadler@android.com> Block oversize attachments from being sent

* Attachments that come in with a file:// URI do not support the complete
set of OpenableColumns columns. To handle this better:
1. Obtain the openable values in two separate queries, in case one or
the other is supported (but not both).
2. If the size is not reported but it is a file:// URI, attempt to
measure it directly.
3. If the size cannot be obtained, do not upload the attachment

Bug: 2948965
Change-Id: Ic5160d39efd65eaca40ceba0dd93c3b035d2871e
ctivity/MessageCompose.java
7ab6f25e5417bdcfd514ddb57677f0e778aa6786 26-Aug-2010 Makoto Onuki <omakoto@google.com> Brush up account selector

* Use the standard resources for it

I've been putting this off because it's a UI issue and we don't know
the final look, but the current look is really hard to read.

* Also, don't use the dropdown, if there's only one account set up.

Bug 2883791
Bug 2950461

Change-Id: I0af2e98b2650fcbc83c8f7228505afa334bea209
ctivity/AccountSelectorAdapter.java
ctivity/MessageListXL.java
c2246b37ce68c8634043a48b0d131ecf062b94b0 25-Aug-2010 Marc Blank <mblank@google.com> Merge "Fix failing account backup/restore unit tests"
5a53ad7286bab603a1159e0e6eb0700fc08c39f6 25-Aug-2010 Marc Blank <mblank@google.com> Merge "Fix problem w/ forwarding already loaded attachments"
818214e31f56f2d6d8db70cad8a2fc044b455639 25-Aug-2010 Marc Blank <mblank@google.com> Fix failing account backup/restore unit tests

* We can't run the AccountManager functionality of account backup
and restore in the unit tests, because IsolatedContext doesn't
mock the AccountManager; this leads to various NPE's when the
test is run
* These problems started, by the way, when we added POP/IMAP
account integration with AccountManager
* Since the AccountManager side of account backup/restore isn't
tested, we'll skip that part of the process when running unit
tests

Bug: 2873546

Change-Id: I94673913e66722ac70f3c49c51465122e98bf3d9
ccountBackupRestore.java
c8502dd1946545cfa112c55aee1444c4544700af 25-Aug-2010 Makoto Onuki <omakoto@google.com> Highlight selected mailbox on mailbox list

* Use ListView's CHOICE_MODE_SINGLE mode to select list item.
* Added a view that implements Checkable to change background
for selected item.

Change-Id: Id55999b3d024ad1852e2b8c6436cd22ef255cf95
ctivity/CheckableFrameLayout.java
ctivity/MailboxListFragment.java
ctivity/MailboxListItem.java
ctivity/MessageListXLFragmentManager.java
5fd986fca0ebd38a4dc41a12503a41ed6005bd2a 25-Aug-2010 Marc Blank <mblank@google.com> Fix problem w/ forwarding already loaded attachments

Bug: 2938562
Change-Id: I778623bf5ee56d25eab5a74d86e9f89206e7f348
ctivity/MessageCompose.java
5247ab8cae802272b1e29e81d3b31a1c4e710da5 24-Aug-2010 Makoto Onuki <omakoto@google.com> Make isEasAccount always work.

isEasAccount now uses getProtocol(), so it works even if the hostauth
hasn't been restored yet.

Bug 2929896

Change-Id: Iee902c18ef59680d8a7d4622230489ec7946f38c
ccountBackupRestore.java
ctivity/MessageListFragment.java
ata/MailboxAccountLoader.java
rovider/EmailContent.java
bf37f67e6d1ccdd47842d496ded4eb11186550ad 24-Aug-2010 Marc Blank <mblank@google.com> Merge "Add utilities to retrieve Mailbox and Account from a message id"
7fd307212f076fab56f575988e5e5bfaf1abdcc3 23-Aug-2010 Makoto Onuki <omakoto@google.com> Restore list scroll position when necessary.

Bug 2769052.

Change-Id: I09b04311ad2a5bd0d41d37f78dddc500414323c1
tility.java
ctivity/MessageListFragment.java
45f530ba5553dcbe3e548930945c40e13736deb3 24-Aug-2010 Makoto Onuki <omakoto@google.com> Integrate Controller w/ AttachmentDownloadService

* Add ControllerService to Controller and call this from
AttachmentDownloadService to handle attachment loading

(It's a redo of I3a6c2a40. Submitting for mlbank, who had a trouble
with repo.)

Change-Id: I7c90761ec4e213d6dc331fc894c7b77e84ad43a6
ontroller.java
ervice/AttachmentDownloadService.java
b913cd1fea846acaaffd984165b074255c922216 24-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Add shutdown() to providers."
c184f36c2df16431693d7709e28ded593efc3da7 24-Aug-2010 Marc Blank <mblank@google.com> Revert "Convert Controller to a full service"

This reverts commit 0e6d972641c19467d6b26351ce14a3f44c9fd6f4.

Change-Id: I005fc34152396806468edef919a3620961ddb4fe
ontroller.java
mail.java
efreshManager.java
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/ActivityHelper.java
ctivity/Debug.java
ctivity/MailboxFinder.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragmentBase.java
ervice/MailService.java
ervice/PopImapSyncAdapterService.java
bca4e6e70b53ca7db0ac14522f0d26a7b465cf24 24-Aug-2010 Marc Blank <mblank@google.com> Add utilities to retrieve Mailbox and Account from a message id

Change-Id: Ice727f82b5c284617b831f19e2667078cd3da5dc
rovider/EmailContent.java
64dcd7700e134d112c3bd7460539fc1c97a13eb2 24-Aug-2010 Marc Blank <mblank@google.com> Add moveMessage to the EmailService API

Change-Id: Ia10f4a75b4c1288ec52dda8b925b9aee442b8e4a
ontroller.java
xchangeUtils.java
ervice/EmailServiceProxy.java
ervice/IEmailService.aidl
6c36b4c613499655316d8c910e3c6bfb08a0d896 20-Aug-2010 Makoto Onuki <omakoto@google.com> Add shutdown() to providers.

They're needed for unit tests.
I was hoping this would solve some of the unit test issues, but it didn't look
like so. But still they're nice to have.

Change-Id: Ibf6ae78055560d27aac5934d567a17084de99d84
rovider/AttachmentProvider.java
rovider/EmailProvider.java
f19f9cf4d3e5229715da77fe05a1a2bbd8da3f41 20-Aug-2010 Marc Blank <mblank@google.com> Simplify AttachmentDownloadService; add unit tests

* Changed our queue from a TreeMap to a TreeSet that uses an easily
testable comparator
* Remove the ugly bit twiddling priority computation
* Test DownloadSet (the logic behind queue ordering, addition,
removal, query, etc.)

Change-Id: Ia8427900b8f39a243a5407349775802d0a4fad4f
xchangeUtils.java
ervice/AttachmentDownloadService.java
567ed19f7b2ca4c97f022b299ff2f9b5eba8c937 21-Aug-2010 Makoto Onuki <omakoto@google.com> Follow up to I684ab2ed.

Catch RuntimeException so that it won't crash even with malformed URLs.

Change-Id: I58da906860ac30b5c9daf68bb672f19917ad0ece
tility.java
d755cdce13217d25ac33169b5e410709636255c4 21-Aug-2010 Makoto Onuki <omakoto@google.com> Fix attaching from Gallery.

Fix the attachmentExists test, so that now it works with the content: URL.

Bug 2937846

Change-Id: I684ab2ed0e4fbe4784a165697084b868610bd274
tility.java
0e6d972641c19467d6b26351ce14a3f44c9fd6f4 20-Aug-2010 Marc Blank <mblank@google.com> Convert Controller to a full service

Change-Id: I2078fd047ff46f85936c8bf798a5edd3678bb5b4
ontroller.java
mail.java
efreshManager.java
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/ActivityHelper.java
ctivity/Debug.java
ctivity/MailboxFinder.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragmentBase.java
ervice/MailService.java
ervice/PopImapSyncAdapterService.java
a14a24a5bc2ffa426f7ef8e5e6938cffe3f35829 20-Aug-2010 Andrew Stadler <stadler@android.com> Add Add & Remove Account options to AccountSettingsXL

* Add account is a large (+) in the action bar
* Remove account is a new item at the bottom of the settings fragment
Note: Add account works, remove account just toasts for now.

Change-Id: I5b3b8ab8c7d328cb78d103c47b9eca866466f9df
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
7894ee82b3a9f22d460a0c6f79e87be27686a649 18-Aug-2010 Marc Blank <mblank@google.com> New attachment download support for Controller (IMAP/POP3)

* Supports download via AttachmentDownloadService

Change-Id: I66143a79b99dcdbd307524ba0b81227f09a00e4a
ontroller.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ail/Folder.java
ail/store/ImapStore.java
ervice/AttachmentDownloadService.java
09fd4d0a181db511a07950f52ad56cc6e686356b 10-Aug-2010 Marc Blank <mblank@google.com> New asynchronous attachment loading code

* Create AttachmentDownloadService to manage all attachment downloads
1) User requested
2) Required for email forwarding
3) Opportunistic downloads to enhance offline use
* New attachment related UI (pending UX approval, of course)
1) MessageView (attachment actions, progress bar, etc.)
2) MessageCompose (attachments for forwarded messages)
3) Associated toasts, notifications, etc.

TODO:
* Unit tests
* Cache Management (separate CL)

Change-Id: I7864a5fb1c3f4f2be68d98341a971edc6cbacfe1
mail.java
tility.java
ctivity/MessageCompose.java
ctivity/MessageListXL.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragmentBase.java
ail/internet/MimeUtility.java
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/AttachmentDownloadService.java
ervice/MailService.java
d111cc70aa555b0cfb7cc58f6413de458e9ae9ec 17-Aug-2010 Makoto Onuki <omakoto@google.com> Add a debug parameter to Welcome to force 1-pane/2-pane

- Now Welcome takes an EXTRA_DEBUG_PANE_MODE to force the
one-pane/two-pane mode.

Use this to open one-pane.
adb shell am start -a android.intent.action.MAIN \
-n com.google.android.email/com.android.email.activity.Welcome \
-e DEBUG_PANE_MODE 1

Use this to open two-pane.
adb shell am start -a android.intent.action.MAIN \
-n com.google.android.email/com.android.email.activity.Welcome \
-e DEBUG_PANE_MODE 2

Change-Id: I6e96f80f53f4488152935502c19d3dd8e0788150
ctivity/Welcome.java
51224176259b1b3126087c69814ccf652cb398b9 19-Aug-2010 Andrew Stadler <stadler@android.com> Make AccountSettingsXL the main settings UI

* Connect to it from all call sites
* Remove 1-pane and 2-pane icons
* Leave a few more breadcrumbs for launching into specific account
* Update the long TODO list in AccountSettingsXL

Change-Id: I502eda9a622518e8d4a23d46989340ad400cdd34
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
ctivity/MessageListXL.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsXL.java
5e06d1714d3d854f260691ef23554418800ddf59 19-Aug-2010 Makoto Onuki <omakoto@google.com> Fix crash when refreshing magic mailboxes.

bug 2929867

Change-Id: I95c4f4e31c1db2139c96b623f9b9c2df7916e5e1
ctivity/MessageListXL.java
f52afae9424fe41071cc34a8d6cbcb82b992a411 18-Aug-2010 Makoto Onuki <omakoto@google.com> Make sure RefreshManager's callbacks are called on UI thread.

Fixed the bug where callbacks for sendPendingMessagesForAllAccounts
are called on a worker threaed.

Change-Id: I28f1424cf67e15abf37c09b68050d1385f9ac3ee
efreshManager.java
tility.java
ctivity/MessageListFragment.java
e112bd764836be44628e4285ce190f5fb2314a87 18-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Show "Send outgoing mesasges" button in outbox."
715a19be28723908dbf332b9a9029993510dad0e 18-Aug-2010 Makoto Onuki <omakoto@google.com> Show "Send outgoing mesasges" button in outbox.

It works for regular outboxes. Unfortunately it doesn't for
Combined Outbox, due to a bug in RefreshManager, which I'll fix
in a separate CL. (The fix might be rather large.)

Change-Id: Ib904e2c672801debe3dd64e4bb0a464564d098da
efreshManager.java
ctivity/MessageListFragment.java
d14229872a1c4ac5c5e4e8f98705b471e3da71b3 17-Aug-2010 Marc Blank <mblank@google.com> Fix NPE in MailService

Bug: 2873538
Change-Id: Ida9135d3c8090abb63424cc2b2cb1b848785d571
ervice/MailService.java
2ae2a12d6b049a4347c0781bd4daa17229bf1340 18-Aug-2010 Andrew Stadler <stadler@android.com> Initial implementation of SettingsXL (checkpoint)

* Create AccountSettingsXL
* Build headers dynamically based on accounts
* Launch account settings per-account
* Temporary launch point from menu in AccountFolderList

TODO: Fragment flip to incoming/outgoing/checksettings not implemented yet
TODO: Use more recent updates to PreferenceActivity
TODO: Finish plumbing into account settings fragment
TODO: Something more real for app settings

Change-Id: I6f4c5bb8cf691f25517c25950ef2049084335ce3
ctivity/AccountFolderList.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
ctivity/setup/AccountSettingsXL.java
21efedb67fdfff208cef3a18804771fd1d1fff30 16-Aug-2010 Makoto Onuki <omakoto@google.com> Rework/cleanup of "refresh".

Added RefreshManager, which is responsible for getting refresh requests
from UI and keeping track of what is being refreshed.

Conceptually it's a part of Controller, but extracted for easier testing.

- Now sendPendingMessagesForAllAccounts() is owned by RefreshManager
rather than Controller.
- Also updateMailboxRefreshTime/mailboxRequiresRefresh have been moved
in from the Email class.
- Now MessagingException implements a method to return an error message
for the UI.

The refresh button on 2-pane doesn't work as intended yet, because the
spec is a bit too complicated (as described in the TODO in
MessageListXLFragmentManager.onRefhres()).

This change touches many file mostly because it cleans up a lot
of code duplication.

Change-Id: I058ab745ccff10f6e574f6ec4569c84ac4a3e10e
lock.java
ontroller.java
ontrollerResultUiThreadWrapper.java
mail.java
essagingController.java
efreshManager.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageViewFragmentBase.java
ail/AuthenticationFailedException.java
ail/CertificateValidationException.java
ail/MessagingException.java
ervice/MailService.java
f513fbd8cb47a89d39ccf33874f1dea1676e4f98 18-Aug-2010 Makoto Onuki <omakoto@google.com> Implement UI event handlers.

Implemented
- The bottom buttons for MessageViwe
Delete, Mark unread, Reply, Reply all, Forward.

- Buttons for exchange invitation
View in Calender, "Yes", "No", "Maybe"

- Other MessageView events
onUrlInMessageClicked()
(Most other methods will probably be deprecated)

- Removed obsolete MailboxListFragment.Callback.onRefresh()

Fixes bug 2926517 minus "the background color of respond buttons
being black" part.

Change-Id: Ie58cbc9fde95a3e67d96846450f77ab58b175a55
ctivity/ActivityHelper.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
ctivity/MessageViewBase.java
2127964d0f73df889460b23c81d463bbc871efed 17-Aug-2010 Makoto Onuki <omakoto@google.com> Implement "contextual" (selection) mode.

Now MessageListFragment itself takes care of the selection mode,
without help from activities.

Change-Id: Ia1a9942d0d3ca87b4f0938a3bf8172466f53b5d6
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
a241d61ce8c926431e3494f90f6311223b6828ad 16-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Deal with fragment API change."
6956533103efe656347b6c54e0c6b5b348cafb6a 16-Aug-2010 Makoto Onuki <omakoto@google.com> Deal with fragment API change.

- Use the class attribute instead of android:name in fragment tags.
- Use FragmentManager rather than openFragmentTransaction.

(There's a change on the PreferenceHeader tag too, but seems like we're
not using it.)

Bug 2922220

Change-Id: If604a97ac73b9ad7d84e453d36beb84bf31ff98f
ctivity/MessageListXLFragmentManager.java
a83e4fdf145edb04910f41cd8a4559543b46fdb2 16-Aug-2010 Marc Blank <mblank@google.com> Merge "Run AccountsUpdatedListener work in worker thread"
a09459f6f4a1bc85a9289cd01a4ab71d1c756f09 16-Aug-2010 Marc Blank <mblank@google.com> Run AccountsUpdatedListener work in worker thread

Bug: 2922224
Change-Id: If7b61c4f41d901fd71d571450fa5fa7f3ff11535
ervice/MailService.java
7b5c5cf2a993d68bb8fe1a65bde3184e8d59c10f 16-Aug-2010 Andrew Stadler <stadler@android.com> Use new fragment API features for dialog fragments

* Use fragment arguments for dialog parameters
* Use target fragments to report ok/cancel

Change-Id: Id2a4cc91b1f589273b1000dca30e8c2feff6d32e
ctivity/setup/AccountSetupBasicsFragment.java
ctivity/setup/AccountSetupExchangeFragment.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/DuplicateAccountDialogFragment.java
8479032c126765a39ff07f3d9254a928bc9c6373 14-Aug-2010 Makoto Onuki <omakoto@google.com> Fix the bug in LoadBodyTask.

doInBackground() returned a string[] when error, but onPostExecute() expects
null.

Also added isCancelled() check, just in case.

Bug 2918930

Change-Id: Ie87ff2e2e5b7c3fd77a062944759d03f8f09d3d9
ctivity/MessageViewFragmentBase.java
2866a0a8d72d78a5fbf73f1fb3473deed985c759 14-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Properly unregister mock controllers"
70bfdab6a34bfb63dc94971844a1830193d1e573 14-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Remove debug log from MailboxFinder."
130686327a7749955b85e47230571666a642dc71 14-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Reworking MessageListFragment."
4be3bc1ec8a52308ee1998f0a31d7e491e06b3c1 14-Aug-2010 Makoto Onuki <omakoto@google.com> Properly unregister mock controllers

Some tests create mock controllers. They register themselves to
MessagingController when instantiated, but never unregister.

Added a cleanup method, and call it for each instance.

(I was hoping it would spped up unit tests, but it didn't. Still
it's a nice thing to do.)

Change-Id: Ia90f0380aef388d22f7cfcf6e9203e05444b3285
ontroller.java
b7d637232e48c39c5c31615939210217a7e8eaa2 13-Aug-2010 Makoto Onuki <omakoto@google.com> Remove debug log from MailboxFinder.

It was temporarily added purely for debugging, and forgot to remove.

Change-Id: I7424465e12faf7f3344206ad9baac075a0b18b26
ctivity/MailboxFinder.java
ab3b066fb8b20b272c222a5c8adbaf1dcdba447e 13-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Handle multiple IMAP SEARCH results."
9382eb9ff21855e98b67392f99d721a78a4cfab0 13-Aug-2010 Andrew Stadler <stadler@android.com> am a30631da: Clear password related policies in PolicySet when p/w not required

Merge commit 'a30631da1cae25be3f75137133297e30cef2db9c' into gingerbread

* commit 'a30631da1cae25be3f75137133297e30cef2db9c':
Clear password related policies in PolicySet when p/w not required
187d0334849cfd922f0df05e57d77224f2f70378 12-Aug-2010 Makoto Onuki <omakoto@google.com> Reworking MessageListFragment.

- Now MessageListFragment uses loaders to load data.

- Now that we use Loader's auto-requery with throttling,
removed the throttling timer from MessagesAdapter.

- Simplified footer mode. (now only "no footer" or "load more")

- Removed saving/restoring list state code.
These method don't really look like working, or at least
not always working. Now that UI's lifecycle is changing,
we'd better redo it from scratch.

- Removed MessageListUnitTests.
It only has tests for onSaveInstanceState/restore of the fragment,
which I virtually disabled.

And minor clean-ups
- Moved the code to save/restore selected state from the fragment
to Adapter.

Bug 2911766
Bug 2897500

Change-Id: I16c7aefecc5409c57fc5fc8c59b5c80d9b7fc164
ctivity/AccountSelectorAdapter.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessagesAdapter.java
ata/MailboxAccountLoader.java
ata/NoAutoRequeryCursorLoader.java
a30631da1cae25be3f75137133297e30cef2db9c 12-Aug-2010 Andrew Stadler <stadler@android.com> Clear password related policies in PolicySet when p/w not required

Merge from master of c263810b08943541135a24e2b7520692152455cc

Bug: 2883736
Change-Id: Iec4ed0e320d67aee8a89092ac650c0960540057b
ecurityPolicy.java
ccd4dbee8f83c721ac3099d5e859d23ddc35bb0c 12-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Make use of the retaining-loader feature."
79d4a2d9e1537727eb1b66c0df91b2b43ab1a9a5 11-Aug-2010 Makoto Onuki <omakoto@google.com> Make use of the retaining-loader feature.

Don't use restartLoader(). Use initLoader() with stopLoader() when necessary.
This allows us to make use of LoaderManager's "retaining" feature.
i.e. We won't have to requery when the screen orientation changes.

Also, don't start loading in onStart(). Fragment manager seems to kick
exisiting loaders after onStart(), so you'll end up getting onLoadFinished()
twice.
(Looks like I got unluck with this--there was no strong reason to start loading
in onStart rather than onResume, but I think we can leave other fragments as-is
as long as they don't use loaders.)

Seems to be working.

Change-Id: Ib4f72098bd0fcbfce284ae6e16055d20ee410cf3
ctivity/MailboxListFragment.java
b6ad4c252f5fa75ca6b0a1297d0f9781c9749edd 12-Aug-2010 Marc Blank <mblank@google.com> Merge "Fix AttachmentProvider to work properly w/ EmailProvider"
367ebd7fa5935d9d514d4be5d708c334e4b73127 11-Aug-2010 Makoto Onuki <omakoto@google.com> Handle multiple IMAP SEARCH results.

Apparently IMAP servers may return multiple SEARCH responses for a
single SEARCH command, and we need to handle all of them.

Before the IMAP rework there was 3 methods that issued the SEARCH command.
Two of them ware doing it right, but the other wasn't, which was what
I copied from, unfortunately!

In case you're wondering, originally the test for this method was done through
upper methods, e.g. getMessage().

Bug 2911647

Change-Id: Ia50072944d5b01c1e59541c3a966067b13910cc4
ail/store/ImapStore.java
86dc43d492cfd6795704dbdd7a015f4f069b554d 12-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Improve logging in MailboxFinder."
1ec89e6290df7853990517ebe869bdb212d7e337 12-Aug-2010 Marc Blank <mblank@google.com> Fix AttachmentProvider to work properly w/ EmailProvider

* Apps trying to open attachments using AttachmentProvider were
seeing SecurityExceptions due to the fact that internal calls
from AttachmentProvider to EmailProvider didn't have their
calling identity saved/restored.
* Updated provider calls so that these calls use the Email
process' identity.

Bug: 2908737
Change-Id: Ifb71ad834530c6232728e1aad31439991f8ed379
rovider/AttachmentProvider.java
cab0021179c4d3b03d756c4dd6bacfc4e9ac75af 12-Aug-2010 Makoto Onuki <omakoto@google.com> Improve logging in MailboxFinder.

There's something weird going on when you add an Exchange account
and we try to look up the inbox. Add log for investigation.

- Log class name
- Log normal path (MAILBOX_FOUND) as well if debug is enabled.
(Other paths are always logged. These paths shouldn't be used often,
so I think it's okay.)

Change-Id: Iff5a28a1240896f8e2b991b891cbc696e7901f06
ctivity/MailboxFinder.java
641ae4535828028a19bf7989c75d71caf75ec2dd 12-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize Exchange setup

Change-Id: Ib331d9a7f7be7acbfe355d6a03d9ae07af0cc627
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupExchangeFragment.java
41502f6ea886e7039d7dbc9743655ac0415c532b 11-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Fix handling IOException in ImapStore"
c14ff6ea453530eb06e41b81e6513b32f63631b4 06-Aug-2010 Makoto Onuki <omakoto@google.com> Fix handling IOException in ImapStore

- mConnection.destroyResponses() should be protected with
if (mConnection != null).
When we get an IOException, we close the connection and null it out in
ioExceptionHandler(). So mConnection can be null at any point after
where ioExceptionHandler() first appears.

- ioExceptionHandler should close its parent ImapFolder only if the argument
connection is mConnection.
Methods like exists() may pass an ImapConnection which is not mConnection
to ioExceptionHandler. In which case we don't have to close the ImapFolder.

Bug 2898211

Change-Id: I8f9f45d91f596bb8da1a1575593e652d66deb643
ail/store/ImapStore.java
f395b75358a713a5a762147f58a36e9ea2104f7d 11-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Make AccountBackupRestore/"delete account" robust."
faaa115e1a52eda9e675f9da5982c7a52b382336 11-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize outgoing settings (SMTP)

Also fix a small NPE in AccountSetupIncoming

Change-Id: I5728a10889a3f0f35d31962f4a13ccae4ec0393b
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/AccountSetupOutgoingFragment.java
1b156352f3fc160da5ba050c2437bcd1c995b326 10-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize Incoming settings (IMAP/POP server)

Also, extract DuplicateAccountDialogFragment for reuse.

Change-Id: I042a158e264d949024347d477d6e9ec999c244d3
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupBasicsFragment.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupIncomingFragment.java
ctivity/setup/DuplicateAccountDialogFragment.java
6d8bfa67c438ee18921d13d8bfba876aacaa9ff6 10-Aug-2010 Makoto Onuki <omakoto@google.com> Make AccountBackupRestore/"delete account" robust.

Fix for crashes caused by an incomplete account
which typically a crashed unit test leaves behind.

- "Delete account" now works for incomplete accounts
- AccountBackupRestore won't crash.

Change-Id: Ie235aa15cf9b970fd184c60f14406aa7353c6f00
ccountBackupRestore.java
ontroller.java
rovider/EmailContent.java
d632426c0a05ac7f1e8db08cc0b2e21a261771f4 10-Aug-2010 Makoto Onuki <omakoto@google.com> Support opening a draft on XL.

- When a draft is selected, use MessageCompose rather than MessageView.

Change-Id: I5e005a7916d7089cfbe9ed15cf51c901c26dd595
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
76681d906a73aea4be675751fec63357d37cd3bc 10-Aug-2010 Makoto Onuki <omakoto@google.com> Implement "account settings"/"add account"

- Implemented "account settings".
- Added "add account" menu. It's not clear how to get to the screen at
this point, so just added a menu item for this for testing.

Change-Id: I78cfa54f2533917cc742b6ec027c2a0624cf0c1a
ctivity/MessageListXL.java
b98f219cf088fef9288045813c963be070dde9d0 10-Aug-2010 Makoto Onuki <omakoto@google.com> Open 2 pane after adding an account.

- After adding an account, and when a shortcut to an account is clicked,
launch Welcome instead of MessageList.
- Then welcome launches the appropriate activity.
(MessageList or MessageListXL)

- Welcome no longer launches AccountFolderList, which will be gone
according to the current plan.

Always going through Welcome makes sure that the account backup/restore
and the reconciler will always get kicked.

Change-Id: Ia57027eba16e98c5d8854e8d3c1d8773bcfbf1e5
ctivity/AccountShortcutPicker.java
ctivity/MessageListXL.java
ctivity/Welcome.java
ctivity/setup/AccountSetupBasics.java
e6fcf739178526f4342f8c3691a0a544e68c031a 10-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Fix crash when resuming MessageListXL."
a75bab550423e0cd0b2d58379d8210ce6c7c7aa9 10-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize AccountSetupBasics

Change-Id: I99eb4cd4f8aa80d25a01d720244ccee599cba1d8
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupBasicsFragment.java
f48fe98b2a2838e4aad2a7881eaa12f7baac578b 10-Aug-2010 Makoto Onuki <omakoto@google.com> Fix crash when resuming MessageListXL.

It's related to the use of Activity.manageQuery().
This may be a regression in the framework, but it's annoying enough and
causing a problem with testing, let's just not use managedQuery().

Bug 2901309.

Change-Id: I8ae5b6ffe17979a094d5a23d49f42e8de04ed4f0
ctivity/MessageListFragment.java
71cc035c55079bf89283d0acd4ff2712f75a82e1 09-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize AccountSettings

This is phase 1, which simply replaces the phone UX with a fragment-based
equivalent. A subsequent CL will convert it to a large-format multi-pane
version.

Also fix a latent bug in the signatures of the Incoming & Outgoing
settings, both in the reflection code and in the proguard flags.

Change-Id: I86e857af8b9573c0d6070bb21053ce65bb7fe8a0
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsFragment.java
533e0f5beb15659832b589c1d68f96e6ef1b7e40 06-Aug-2010 Makoto Onuki <omakoto@google.com> Add "change orientation" menu command.

Unfortunately software-keyboard is disabled on master for some reason,
so we can't use the R key hack any longer...

Change-Id: Ide73e11742e5de70fec45009eee20a1a74fcbfd1
tility.java
ctivity/MessageListXL.java
c263810b08943541135a24e2b7520692152455cc 07-Aug-2010 Marc Blank <mblank@google.com> Clear password related policies in PolicySet when p/w not required

Bug: 2883736
Change-Id: I2c9c573aea9a4fef1699ff6339e8ef628d7f2269
ecurityPolicy.java
36bdeeb0e17cb6fbf08023eeb3e4f1db58b48aea 05-Aug-2010 Makoto Onuki <omakoto@google.com> Add getFirstRowInt.

It's the int version of getFirstRowLong.

Because getFirstRowLong returns a Long as opposed to a long, and the return
value can be null, it's a pain to cast to Integer. So added this variant.

Change-Id: I2a3190e49db480e6d594be4b1fcef9a71e56cb2f
tility.java
b0ca30d4d12537bd2f59105f01607380b7e6fe09 05-Aug-2010 Makoto Onuki <omakoto@google.com> Add action buttons to actionbar on MessageListXL

- Now able to compose a new message.

Change-Id: I53cd7cc6fe850063946824748e11ccde89d7decf
ctivity/MessageListXL.java
fd8a2e8afbd4d410ede5f71494d5d5b316a5b963 05-Aug-2010 Makoto Onuki <omakoto@google.com> Automatically open Inbox when account is selected.

Change-Id: I3dc43d804d39b925ee62bebbf85911cb258aafd7
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
9531931c7ed9fec86af307223e5dfc2319761a8e 05-Aug-2010 Makoto Onuki <omakoto@google.com> Don't auto-requery account list.

Prevent CursorLoader's auto-reuqery. Instead, refresh the loader
when adding/removing accounts.

Change-Id: I63091c23f8c06c32dd42669fdfbd9e783ff9eccb
ctivity/AccountSelectorAdapter.java
ctivity/MessageListXL.java
94506fdaf651363adaf60650d9a2301fdb76724d 04-Aug-2010 Makoto Onuki <omakoto@google.com> Small fixes/clean-ups.

- Fixed account selector default account look-up
- Renamed MessageListFragment.onRestoreInstanceState
to loadState.
(Activity.onRestoreInstanceState is called after onStart,
but this one is called in onCreate, so it wasn't a good
idea to use the same name.)
- Changed mailbox cursur requery timeout to 3 seconds
- Added some TODOs.

Change-Id: Ia2242cd9f74936d24756b800eacd126958eed330
ctivity/AccountSelectorAdapter.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
191448b430f36167bd1706c13d77e48d7e7505cf 05-Aug-2010 Makoto Onuki <omakoto@google.com> Make Welcome launch MessageListXL

Also added the "1 pane" activity to test the phone UI.

Change-Id: I1c86d2088a2298ada5028b7a266bd090b593593c
ctivity/MessageListXL.java
ctivity/Welcome.java
rovider/EmailContent.java
32358f551670b4b877b1d9abc3f2d6a0b89262c5 05-Aug-2010 Dmitri Plotnikov <dplotnikov@google.com> Upgrading to new GAL registration API.

Change-Id: I67eaeb50ba8629a85d056da031e3b48ea7ab3858
ervice/EasAuthenticatorService.java
8066a925b13323f1503cd42f35c81a6d4eed5827 04-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Introducing ThrottlingCursorLoader."
b91eea011961889b355a3c5ad837745099c7749a 04-Aug-2010 Marc Blank <mblank@google.com> resolved conflicts for merge of fbf501fe to master

Change-Id: Ic68cbf2de1877ab06744287f57c1c33c4e0e573a
630e31ef788d4aa0dc259bc3412f7e98bca201e8 02-Aug-2010 Makoto Onuki <omakoto@google.com> Introducing ThrottlingCursorLoader.

This is a {@link CursorLoader} variant that takes {@code timeoutSecond}
in the constructor.

When it detects changes in the underlying data, it'll wait until the timeout
before doing a requery.

We use this to throttle # of queries. We don't want to issue a query every
time something changes in the DB while we're syncing.

Change-Id: I098366bce923c3242c42964bc166493610ee0f6f
ctivity/AccountSelectorAdapter.java
ctivity/MailboxesAdapter.java
ata/ThrottlingCursorLoader.java
833fe73b99e62ad9cf6e80c782717c7de1ff12e4 03-Aug-2010 Makoto Onuki <omakoto@google.com> Aadd special boxes to mailbox list.

Change-Id: I36616f53555346ca7fbb6f3426a0c3196d7bacbc
tility.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
ctivity/MessageListFragment.java
rovider/EmailContent.java
4e619a2d5051811262496e48ec99a0e916822d44 03-Aug-2010 Marc Blank <mblank@google.com> am 2b2b3448: Handle inactivity timeout > maximum allowed properly

Merge commit '2b2b3448ec200f3d649e5f57309908d28ce3bfc7' into gingerbread

* commit '2b2b3448ec200f3d649e5f57309908d28ce3bfc7':
Handle inactivity timeout > maximum allowed properly
2b2b3448ec200f3d649e5f57309908d28ce3bfc7 02-Aug-2010 Marc Blank <mblank@google.com> Handle inactivity timeout > maximum allowed properly

* In a recent change, we mistakenly removed the logic for handling
too-long inactivity timeouts; we should just fall back to the maximum
since this is stricter than what we're being asked to enforce
* Restore this logic and update the unit test
* The regression was caused by change Ida5663a9, to wit:
Backport: Handle "Allow non-provisionable devices" properly

Bug: 2886746
Change-Id: I99cf9a37441b80477cc1c2c7ec2a78f8a14a83da
ecurityPolicy.java
7ef278202e26f82612f94f18a4e971994f29c0ec 03-Aug-2010 Makoto Onuki <omakoto@google.com> Clean up MailboxListFragment.

- Remove AsyncTasks, and use CursorLoader to load data.
- Get message counts for the drafts/trash mailboxes directly from
the db column.
- Remove obsolete code from MailboxesAdapter.

Change-Id: I93c72977c19b60581e1169ba9bd429912ba3e68f
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
d0c217806369e5ca2d753fc0e3e8b405c4d2e991 03-Aug-2010 Makoto Onuki <omakoto@google.com> Merge "Add the messageCount column to the mailbox table."
574854b528163f3bf1a7cb974aa80082d1768edf 30-Jul-2010 Makoto Onuki <omakoto@google.com> Add the messageCount column to the mailbox table.

- Use trrigers to keep them up-to-date.
- Batch-update them upon upgrade.

- Motivation:
On the mailbox list, we show the number of messages in trash/drafts.
We currently do this with count(*) on the fly, which is okay
because MailboxList is really shown right now.
However, on the 2 pane, it's always shown and constantly refreshed,
so the use of count(*) can be a huge penalty.

It also make the code significantly simpler.

Change-Id: I26efa238d5183df43420a65925876248ef6c6cb6
rovider/EmailContent.java
rovider/EmailProvider.java
b6c1ad0f013319101b32c9c3831920ec39554169 31-Jul-2010 Makoto Onuki <omakoto@google.com> Rename MessageViewFragment2

Change-Id: I28e23c0ff18211db999396c5ba1ad9ef898d4515
ctivity/MessageFileViewFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragment2.java
ctivity/MessageViewFragmentBase.java
206d4e842d287a7a4e6bedf4963fb7f0f58e113f 30-Jul-2010 Makoto Onuki <omakoto@google.com> Split up MessageViewFragment like we did to MessageView.

Break MessageViewFragment up into two fragments, MessageViewFragment, which
is used to show regular messages, and MessageFileViewFragment, which shows
EML messages. (And their base class, MessageViewFragmentBase.)

MessageViewFragmentBase's javadoc has a class diagram.

MessageViewFragment is actually named MessageViewFragment2 at this point
so that GIT correctly finds out the rename from MessageViewFragment to
MessageViewFragmentBase. I'll rename it back in a following CL.

Also added very basic unit tests for MessageView and MessageFileView.
At this point, they just make sure the activities really open and show
messages without exceptions.

I feel like the current naming schema for the activities/fragments is
kinda confusing. Let me know if you come up with better names.

Change-Id: Iff948f4b68cfdb7c1e68f225927b0ce58d34766b
ctivity/MessageFileView.java
ctivity/MessageFileViewFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageView.java
ctivity/MessageViewBase.java
ctivity/MessageViewFragment.java
ctivity/MessageViewFragment2.java
ctivity/MessageViewFragmentBase.java
ec15f2356e47d621584cc3fc84c9c02557e0a0df 28-Jul-2010 Makoto Onuki <omakoto@google.com> Extract the mailbox lookup logic into an independent class

This new class MailboxFinder is responsible for looking for a mailbox
by an account id and a mailbox type.

If a mailbox is not found on the first try, it'll tell Controller
to refresh the mailbox list, and try again later.

This will be used by MessageListXL.

Change-Id: I4adc3db025fb271c254aa2b58b3b753281dc7398
ontroller.java
ctivity/MailboxFinder.java
ctivity/MessageList.java
d9907c764170ef74670597e591da54408fa9fdb8 28-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Adding account selector."
ee216da74aad5a378985c6a59f7b60391a8a63d9 28-Jul-2010 Makoto Onuki <omakoto@google.com> Adding account selector.

Also
- Renamed MessageListXLFragmentManager.setStart to onStart. (was typo)
- Fixed flag handling bug in MailboxListFragment
- Fixed the R key handling code. (The first R key was always ignored,
because the default requested orientation was neither landscape or
portrait.)

Change-Id: I0e14ce9f4fc5be973f7c0091f88fd4551a4329fa
ctivity/AccountSelectorAdapter.java
ctivity/DefaultAccountLoader.java
ctivity/MailboxListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
bcf32320e2600e96c8a9e997a8903bfc3893b35e 27-Jul-2010 Makoto Onuki <omakoto@google.com> Move isSecurityHold/clearAccountHoldFlags to Account

- Added unit tests
- I see the "open a cursor, move to the first row, read a column" pattern over
and over. Added a utility method for this. (Let's try not to bloat the
binary by copying code around!)
- Added helper classes for database related tests
- Removed code dup

Change-Id: I380959215cc1661b252158f0f6e35369b499cdf8
ecurityPolicy.java
tility.java
ctivity/MessageList.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSetupNames.java
rovider/EmailContent.java
0943a75ba83c5d490e3ba3caa39f79485ddb261f 28-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Refactoring MessageListXL"
bccb10a5a8014a7326bb10bda668df597081e622 28-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Break MessageView into 2 separate activities."
e105fbe51065fbc4077167861f4e2708dce90cb3 26-Jul-2010 Makoto Onuki <omakoto@google.com> Break MessageView into 2 separate activities.

MessageView for regular messages and MessageFileView for EML files.

I'll break down MessageViewFragment too.

Change-Id: Iae66f33d8fb5de58084ab4aef31588e9743c5a18
ctivity/MessageFileView.java
ctivity/MessageView.java
ctivity/MessageViewBase.java
02fa70aa185d8073966105e9986bd8e12200a526 23-Jul-2010 Makoto Onuki <omakoto@google.com> Refactoring MessageListXL

I always thought our Activities are way too fat, meaning we've put too many
things into activities without any structure.

The major problems with this are:
- They have too many fields, which are not final and not even orthogonal.
This makes them very hard to understand/maintain. Changing one tiny bit
can always cause unanticipated side-effects.
- Very hard, or almost impossible to test.

I really think we should break them into independent and self-contained
subcomponents which can be tested separately.

Introducing MessageListXLStateManager, which manages the current account,
mailbox and message, and show/hide/update fragments accordingly
for MessageListXL.

With this class, MessageListXL will be able to switch accounts/mailboxes/
messages by just calling the methods such as selectAccount(), without
worrying about when to show/hide what fragment and how to initialize them.
(In other words, MessageListXLStateManager encapsulates the two-pane screen
transition. It's not intended to be reused for the phone UI.)

I didn't make it a nested class in MessageListXL, because nested classes can't
have real private members (private member are accessible from outer classes and
even brother classes!!), and I wanted it to be really self-contained anyway.

Change-Id: I1c121e99e30f12cc118e1c35abc9b30f49939a4a
mail.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageListXLFragmentManager.java
ctivity/MessageViewFragment.java
c435d7ad244195bb15dfba49b6a377ca3bf5a1c1 27-Jul-2010 Makoto Onuki <omakoto@google.com> Workaround for bug 2873538

Prevent NPE.

Change-Id: I6d80e6f574d6c37adb9d7a402850c39e2a79f04a
ervice/MailService.java
f08b061ea88c0ecbc4140a6b19a441d7ddd0f6a2 26-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Rotate screen when the R key is pressed."
3894be2fe0d0e94bfee3aa0715656970c4247019 26-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Adding lifecycle log to fragments."
833eae6ac88cbd1e19404386c658d43b26cc3409 23-Jul-2010 Makoto Onuki <omakoto@google.com> Adding lifecycle log to fragments.

Change-Id: If83486b50c924fdb99a422814ede66da710bfc2d
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageViewFragment.java
0f6e1c9e4981bbb3c959ec64fdeb297223d07e90 26-Jul-2010 Makoto Onuki <omakoto@google.com> Rotate screen when the R key is pressed.

Workaround for auto-orientation not working on the device (bug 2865868).

Change-Id: Ie1e7c802c0c816338aea1f56f6e86991df241f3b
ctivity/MessageListXL.java
a51097c1b872c62a99c99e17d8208619ad55c649 23-Jul-2010 Makoto Onuki <omakoto@google.com> Fix STOPSHIP: Show account name as subtitle.

Change-Id: Ie617ade795526c349f7a401115e6e04831096587
ctivity/MailboxList.java
9ddd1e7fa4b700326f00e406219b1ac584dee5a0 23-Jul-2010 Makoto Onuki <omakoto@google.com> Small changes to list fragments.

- Added parameter check to openXxx methods.
- Clear the list before (re-)load the data, to make ListFragment show the
"Loading..." animation.
- Moved a few lines around in MailboxListFragment.

Change-Id: I48d9759e118976bf9f8cce10069e2b9b5c253342
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
65f6baf15511d10518c428d5a59007d92a677116 23-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "MessageListFragment: fix bug 2863240."
15c6a98ea9ac7901e3d2430d490e7fcd16d75263 22-Jul-2010 Makoto Onuki <omakoto@google.com> MessageListFragment: fix bug 2863240.

Also removed unused imports.

Bug 2863240

Change-Id: I0f7e9094c7afa8af0bf02745b1244fd2ddfae44c
ctivity/MessageListFragment.java
8167070158afcdb43081b3ff3d9b0379aeb2225c 22-Jul-2010 Makoto Onuki <omakoto@google.com> Refactoring MailboxListFragment

- Broke down bindActivityInfo into setCallback and openMailboxes()
- openMailboxes() can be called multiple times against the same instance.
(We won't have to re-create the left pane on XL screen)
- Added EmptyCallback to avoid null checks
- Renamed a callback method

Change-Id: I3848a6f6da7f1782dcc9566967f8618ed79a878e
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageListXL.java
3918b0dbfcedde6273a28ad24ee6338901f73425 22-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Renaming message_view_header.xml to message_view_fragment.xml"
e6cc662abc0b5fffe223cda5e980b4f05a4e91dd 08-Jul-2010 Marc Blank <mblank@google.com> Use AccountManager for POP/IMAP; refactor setup classes

There are two major, interrelated parts to this CL:

1) Clean up the activities to reduce the use of Intents to pass
information between activities; instead, we use a common
SetupData structure that automatically saved/restored as necessary
during the setup flow. A fair amount of code and inconsistent
use of Bundle extras has been eliminated in the process.

* Create SetupData structure, setters/getters, and initialization
methods to simplify the preservation of state during setup flow
* Remove all state/flow extras from Intents; Intents now only
specify the Activity to be started, which should greatly simplify
the transition to Fragments.
* Remove all state/flow fields from Activities
* Modify existing setup activity unit tests and confirm tests pass

2) Create AccountManager accounts for POP/IMAP email accounts to
provide consistency in user experience. Also, internal flows are
now identical as between account types.

* Move account reconciliation from SyncManager to MailService, so
that reconciliation is consistent between email and exchange
accounts; move unit tests as appropriate
* Add a "Sync Email" setting for POP/IMAP/EAS
* Change MailService to respect the "Sync Email" setting in
Settings -> Accounts & sync
* Create PopImapSyncAdapterService to handle manual POP/IMAP sync as
requested by SyncManager; add EmailSyncAdapterService to perform
the same function for EAS
* Use new PopImapAuthenticatorService to add AccountManager accounts
for POP/IMAP accounts; setup appropriate stanzas in AndroidManifest
and add related xml files
* Update AccountSettings to use SetupData

Miscellaneous other changes:

* Only allow valid port numbers in incoming/outgoing setup

Bug: 1712475

Change-Id: Ibdac52fb2c5578b86bf3992ddb1acd10f162391a
ccount.java
ccountBackupRestore.java
mail.java
tility.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupActivity.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SetupData.java
ail/store/ExchangeStore.java
ervice/EasAuthenticatorService.java
ervice/MailService.java
ervice/PopImapAuthenticatorService.java
ervice/PopImapSyncAdapterService.java
411314990d7d115b8497fb31fd27df9760684555 22-Jul-2010 Makoto Onuki <omakoto@google.com> Renaming message_view_header.xml to message_view_fragment.xml

Change-Id: Id0ccc13bfd8dfa63b450d46989938295ba8e78e0
ctivity/MessageViewFragment.java
d6a2978857e0866d7441f8e140338477545d59a5 21-Jul-2010 Makoto Onuki <omakoto@google.com> First cut of two pane activity.

How to launch:
- Kick "Email 2 Pane" in the app drawer.

Major known issues:
- When you launches "Email 2 Pane", it starts directly; the logic in Welcom
won't be executed.
- There's no UI to add accounts. Use the old UI.
- There's no way to select non-default accounts.
- The on-screen buttons except for older/newer don't work.
- No contex menus work.

Change-Id: I38374acafafbae62e46f84294a7677e54686cfc2
ctivity/DefaultAccountLoader.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
ctivity/MessageListXL.java
ctivity/MessageOrderManager.java
ctivity/MessageViewFragment.java
bab0d459040ad614556f61b364237b46b0a03ca8 21-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Fragmentize MessageView."
16a60dca84516a1338e3cfe7f868c94f3f97c536 17-Jul-2010 Makoto Onuki <omakoto@google.com> Fragmentize MessageView.

This version is hybrid of the old design and what Andy's suggested.
- MessageViewFragment is responsible to show a single message at a time.
- Call MVF.openMessage() to tell it to open another message.
No need to re-create a new MVF to do this.
- MessageView manages the message list, and handles "move-to-newer/older"
buttons.

Reason for not re-creating a fragment when opening another message is:
- Re-using the same fragment doesn't make it as complecated/ugly as I
was initially afraid.
It's basically cancelling all running tasks, re-initializee some views,
and load a message.
- We don't have to run MVF.onCreate() over and over again when moving through
messages.
We may change the strategy later, but I think it's suffice for now.
(Changing this might affect how the back key works, so let's revisit it
when the fragment manager supports back.)

Basically this CL is all about internal changes.
No UI should have changed except for:
- Moved "Move to newer/older" buttons to the bottom.

Also fixes:
Bug: 2849129

Change-Id: I00c05069231afded9d98d3d52dd9a7925ebdee9d
ctivity/MediaOpener.java
ctivity/MessageView.java
ctivity/MessageViewFragment.java
37e21ab968e3944b10304a620c3b0ecfe5175668 20-Jul-2010 Makoto Onuki <omakoto@google.com> Don't call setListAdapter until adapter is ready.

ListFragment shows the "Loading..." animation for us until setListAdapter is
first called. In order to make use of it, setListAdapter should be called
only when the underlying data is ready.

Change-Id: Iac903b1f10ad7ed4be04446ddb2d2172e84bfe16
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
9444a54866458e5cba7ba35d4da93a127cef45eb 15-Jul-2010 Marc Blank <mblank@google.com> resolved conflicts for merge of 2cb5acc5 to master

Change-Id: I4b3379b7b8ebfca36eda3ae649f009659e682e87
1585d313f1a26b4b780761a9e9b4ec7042dcbbe5 15-Jul-2010 Marc Blank <mblank@google.com> am 8b36acb1: Backport: Handle "Allow non-provisionable devices" properly

Merge commit '8b36acb10d555b59ec0497f6c71426af823c7931' into gingerbread

* commit '8b36acb10d555b59ec0497f6c71426af823c7931':
Backport: Handle "Allow non-provisionable devices" properly
8b36acb10d555b59ec0497f6c71426af823c7931 14-Jun-2010 Marc Blank <mblank@google.com> Backport: Handle "Allow non-provisionable devices" properly

* Backport from master branch
* Send policy key of "0" when validating; this gets us the policies
even if "Allow..." is enabled (currently, we simply don't see the
policies)
* If we don't support all of the policies, send back the response
code indicating support for partial support. If we get a positive
response back, then we're good to go - the server allows devices
with partial support. Otherwise, we fail as we always have - with
the toast indicating that the device doesn't support required
policies
* Remove PolicySet.isSupported() and ensure proper field ranges
within the constructor
* Update tests as appropriate

Bug: 2759782
Change-Id: Ida5663a9b35c75ecc61a5f442be0bd60b433cb73
ecurityPolicy.java
ed833ee7ae22073971ddfe4cd166dc4080d2e7a1 14-Jul-2010 Marc Blank <mblank@google.com> Merge "Make sure signature is added to reply/forward"
d73d8e4839140430da5b2e325635f1ff94716574 14-Jul-2010 Makoto Onuki <omakoto@google.com> Use ListFragment.setListAdapter, not ListView.setAdapter.

Otherwise ListFragment wouldn't notice an adapter is set.

Bug 2841063

Change-Id: Iddb40125020ee2b72ed72b93643582929dc7f7eb
ctivity/AccountFolderListFragment.java
ec29471c7349a9e0b688b90b75e405f8da71540f 05-Jul-2010 Marc Blank <mblank@google.com> Make sure signature is added to reply/forward

* Add this to processSourceMessage in the reply/forward cases
* Add unit tests for reply and forward case

Bug: 2734321
Change-Id: I6be8383fe5f217a4bda8e669cb69f439bc8e96b6
ctivity/MessageCompose.java
18452ba28c29de83506cf34945ae8dc502cb0818 14-Jul-2010 Marc Blank <mblank@google.com> Replace line of code lost in Change I9997ac96

* During refactor of referenced change, a critical line of code
got lost; it's replaced in this CL

Change-Id: Ib6f405cdfa120f5cb5c879ab0f7df52d54970cb7
ervice/EasAuthenticatorService.java
de0a1c33c9507e96d554ca645d42d07f1241157e 01-Jul-2010 Makoto Onuki <omakoto@google.com> Extract MessageListTask and make it self-contained.

Introducing MessageOrderManager which maintains a message list for
MessageView. It's used to tell if there is newer/older messages
in a mailbox, and the id of them.

Also, slightly related to this, moved mWaitForLoadMessageId to
ControllerResults where it should belong.

Change-Id: I84e32180c7e84a317f2204bb10ad7245ec022dca
ctivity/MessageOrderManager.java
ctivity/MessageView.java
e60d3648fdead20a1624eb8766086980666a20c6 07-Jul-2010 Makoto Onuki <omakoto@google.com> Extract presence check logic into its own class.

Change-Id: I12e449ce7f1d10ed4737581e35367eae84a7f29e
ctivity/MessageView.java
ctivity/PresenceUpdater.java
7f247d1cd316789d2fcab2d1e41fb8af4d7243f8 13-Jul-2010 Makoto Onuki <omakoto@google.com> Disable MessageViewTests

- These tests will probably not make sense with the upcoming UI change.
- Moved testAttachmentWritePermissions to UtilityUnitTests.
It's a test for createUniqueFile, which is now owned by Utility.
- Removed Long.MIN_VALUE hack from MessageView.
New tests should have something better.

Change-Id: I9a09e5e8080a165b010607d1fa3112bcaaab4f90
ctivity/MessageView.java
7daacf83a4e789aaab11ef715f42470bcee51bfc 08-Jul-2010 Makoto Onuki <omakoto@google.com> Switch to ListFragment, and use its default layout.

Change-Id: If8dead170a3662cbde87e6ead244363b11db01f6
ctivity/AccountFolderListFragment.java
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
5fcbdcf59febbaaac7f8a2cd28a0027d3883f33c 09-Jul-2010 Marc Blank <mblank@google.com> Merge "Send intro text with SmartForward"
80ee607a7cc784993a48741d0dfbd132cd546985 06-Jul-2010 Marc Blank <mblank@google.com> Send intro text with SmartForward

* We need to include the intro text (--Original Message--, etc.) to
SmartForwards, and somehow this got in a past updat
* Add unit test for forwarding
* Fix unit test for reply so that it works localized

Bug: 2477988
Bug: 2685784
Change-Id: I8d92f00d37a434840ec3eb237f3901cd5dc7ad09
ail/transport/Rfc822Output.java
7e071d6956076e80a1044989ba2df1235fc7e9f1 09-Jul-2010 Dianne Hackborn <hackbod@google.com> Fix the build -- follow API change.

Change-Id: I7a177a3bbd5b374cfdc2dd708cc8b1acd8c19a92
ctivity/AccountFolderListFragment.java
ctivity/MailboxListFragment.java
ctivity/MessageListFragment.java
b45d26d88b40ab643e9155fed6393c77bf8b5799 03-Jul-2010 Marc Blank <mblank@google.com> Merge "Fix refresh issue w/ mSecurityFlags preference stored as an int"
d07cb4ba4e2ee3022ffc9352eefb6c0f38ddf09b 03-Jul-2010 Marc Blank <mblank@google.com> Fix refresh issue w/ mSecurityFlags preference stored as an int

Bug: 2803604
Change-Id: I150ca8b5049e6aec022819eb768caa1e3c3ce183
ccount.java
c6886ed3ad10a4fd62822991d336f17e69848b1b 30-Jun-2010 Makoto Onuki <omakoto@google.com> Fixing UI for EML files.

For EML,
- No menu
- No older/newer buttons
- No star
- No bottom buttons.

I've started to feel like the two UIs (one for regular messages and the
other for EML files) shouldn't be handled by one class; we probably
should separate them into two different classes. I'll see if I can
do that after fragmentize it.

Bug 2804147

Change-Id: I5ae162af546bfc21af27352c642d6b2a1e16cf0f
ctivity/MessageView.java
a0f1dd0a5c55bf845dbf59b90b89bd87bedbf1fb 02-Jul-2010 Makoto Onuki <omakoto@google.com> Merge "Cleaning up MessageView"
44b5242edd938450f5e7bc5569852fa5f793da41 30-Jun-2010 Makoto Onuki <omakoto@google.com> Cleaning up MessageView

- Removed dead code/dead comment.
- Moved static utility methods to Utility.
- Renamed some methods.
- Changed the timing to call super methods.

Also:
- Internationalized formatSize()
- Added unit tests for createUniqueFile() and formatSize()
- createUniqueFile now uses File.createNewFile() instead of exists().

Change-Id: Ibc30e15b029ed5088954bd6fc9032e25dddf176e
tility.java
ctivity/MessageView.java
42ff939e3a8a69ca5937aa5d6a2a932ae2e80752 25-Jun-2010 Marc Blank <mblank@google.com> Prevent MailService from potential looping due to EAS accounts

* The code assumed that all accounts used the scheduler in MailService
whereas only those using MessagingController do so (i.e. EAS does
not)
* Change setupSyncReportsLocked to set the syncInterval for accounts
that don't use MessagingController to Account.CHECK_INTERVAL_NEVER
* Add unit test for the changed code

Change-Id: I74a3dae21d9ec16f9903bdf2a1c28092ae89cc50
ervice/MailService.java
42e3f10a9575e277ba6f121e6cac56ddb02fda12 01-Jul-2010 Makoto Onuki <omakoto@google.com> Use "*#*#36245#*#*" to activate the debug screen.

Dial *#*#36245#*#* on the dialer to activate the debug screen.
"36245" = "email"

It's useful when
- There's no keyboard.
- There's no account set up yet.
(You can do it by entering the special username/password on new account
screen, but that's a bit of a pain.)

It's also easier to tell to people.

Also, removed "sensitive logging", which should never be used.

Change-Id: Id692f8b216f2d85abe1880c452d2067f170dac83
mail.java
references.java
ctivity/AccountFolderList.java
ctivity/Debug.java
ctivity/setup/AccountSetupBasics.java
ervice/EmailBroadcastProcessorService.java
75f9fab0c7969487f0a451e5a74f0cb43cd3b702 01-Jul-2010 Andy Stadler <stadler@android.com> am a3e021d1: am 3b811ae4: resolved conflicts for merge of fb060de6 to gingerbread

Merge commit 'a3e021d12c96d10f758fb6af3b7a05e85d0d8eeb'

* commit 'a3e021d12c96d10f758fb6af3b7a05e85d0d8eeb':
Explicitly verify certificate hostname on SSL connections
3b811ae4c6bff1204bd08921f5debdb3ad1700b6 01-Jul-2010 Andy Stadler <stadler@android.com> resolved conflicts for merge of fb060de6 to gingerbread

Change-Id: I6ef4bda535650829f994b595d9cb5b57a8775aa5
fb060de65db57607748cbf8bc5b93939281a443f 30-Jun-2010 Andrew Stadler <stadler@android.com> Explicitly verify certificate hostname on SSL connections

When connecting to an IMAP, POP3, or SMTP server using SSL, perform
an explicit test of the certificate's host name against the server's
host name. Refuse connection if they do not match.

Bug: 2807409
Change-Id: Ib223170f1a5d57323a88037ad30fec15c6bbce20
ail/transport/MailTransport.java
d5b2da371654e3a74702f2b7a2036762c339232f 29-Jun-2010 Andrew Stadler <stadler@android.com> Add ActionBar to MailboxList

Note: This does not appear in UX wireframes, this activity is going
away eventually, but it's a good testbed for ActionBar to be tried out.

Open issues:
1. Waiting for progress indicator support, using unattractive hack
2. Subtitle doesn't seem to work so putting account name in title
(which is the wrong font size for phone portrait mode).

Change-Id: Iee3cac7d4f30ea210bd8f3838b69ed12cd498375
ctivity/MailboxList.java
4e366b99959e5be422e6c77ec698f2241f4ff4bf 29-Jun-2010 Makoto Onuki <omakoto@google.com> Merge "Always use the mime-type "message/rfc822" for eml files."
5bd2faee5e59ce75cf4b84b6f9b04bc65bedd083 14-Jun-2010 Marc Blank <mblank@google.com> Preliminary GAL/Contacts integration for EAS

Change-Id: I9997ac96f83f427c71caf12d591ba6069bedf935
ervice/EasAuthenticatorService.java
1d0be30871745ef0e623d8bb5e2e433567541623 29-Jun-2010 Makoto Onuki <omakoto@google.com> Always use the mime-type "message/rfc822" for eml files.

Bug 2795919

Change-Id: Ie20fccdad34d7d17d7444af25d3e57033a45de5a
rovider/AttachmentProvider.java
744380eabfb0f1389d9f46b00c5056df04734aa2 29-Jun-2010 Andrew Stadler <stadler@android.com> Merge "ActionBar for AccountFolderList"
0d6ce631a1b5c42a12ce6a2ff4af4b324a5c4c4e 29-Jun-2010 Andrew Stadler <stadler@android.com> ActionBar for AccountFolderList

Displays actionbar properly, and the two buttons work.

Submitting with one open issue:
1. The indeterminate progress indicator is not directly supported in the
ActionBar. We're waiting for a UI call or framework support. Until
then there is a placeholder using an incorrect icon to show progress.

Change-Id: Iaf1546931376cc5b540820cd0fc020ebd176dabf
ctivity/AccountFolderList.java
8d8f86e899165772a7d91250b98dfc3c0d78b538 25-Jun-2010 Marc Blank <mblank@google.com> Cleanup and speed up isMessagingController

* Use the new Account.getProtocol() method to determine whether an
Account "isMessagingController" (i.e. uses the legacy controller)
* Cache the result of this test, so that it's only done once per
Account
* Add unit test

Change-Id: I6a0ec789a84bdf30b55156e6337a627fb4e81a08
ontroller.java
rovider/EmailContent.java
d6d874f8c6ce2580ef9ec2406fe411af45b2d92d 02-Jun-2010 Marc Blank <mblank@google.com> Streamline security setup flow

* The setup flow is changed such that the user is asked to activate
device administration before leaving the setup flow, rather than
having to wait for the notification to appear, etc.
* Accounts requiring security are created in a security hold state
to prevent initial sync until device administration is active

Change-Id: I7e33cf98466370ae27414b99018f7aee71e9e237
xchangeUtils.java
ecurityPolicy.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ail/AuthenticationFailedException.java
ail/CertificateValidationException.java
ail/MessagingException.java
ail/Store.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ervice/EmailServiceProxy.java
ervice/IEmailService.aidl
5160a660c4df333b8dc1b19a4687fb17587dec9b 24-Jun-2010 Makoto Onuki <omakoto@google.com> Merge "MessageList: Introducing "selection mode"."
91093ee6e8beb200c90e401c96a9c2a1d820bebc 23-Jun-2010 Makoto Onuki <omakoto@google.com> MessageList: Introducing "selection mode".

- Long-press an item to go into the selection mode.
- In the selection mode, tap items to toggle selected/non-selected.

This also means:
- No checkboxes any more.
- No context menu any more.

Color scheme hasn't been updated yet, so it looks a bit ugly for now.

Change-Id: I3cb6c45c1dc5461a234c9e9ab9e038c90a9fe8b2
ctivity/MessageList.java
ctivity/MessageListFragment.java
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
9b4988de43dbee6c06066caab63806e8c8303d7d 10-Jun-2010 Marc Blank <mblank@google.com> Implement support for new security policies

* Minimum complex characters
* Password history (i.e. disallow re-use of past n passwords)
* Password expiration
* Password expiration is NOT yet supported in the framework; there
is a TODO in this CL and a trivial change will be needed when
support arrives; for now, we report this as unsupported
* The two implemented policies are testable

Change-Id: I477adbc000577c57d1ab1788378c97a60018c10c
ccount.java
ecurityPolicy.java
rovider/EmailContent.java
391ae25c43a38829cc0990af18c36bdc7cc374cf 05-May-2010 Marc Blank <mblank@google.com> Handle viewing of attachments that are, themselves, emails

* Add intent filter for application/eml and message/rfc822 mime types,
launching MessageView with a Uri
* Modify loadMessageTask to handle the Uri by parsing the attachment's
input stream with Pop3Message.parse(), and then creating an
EmailProvider message in a special Mailbox created to hold
"attachment" messages
* Delete all "attachment" messages after the parent message is closed
* Add unit tests

Change-Id: I20276ee006b9f05b889f3c808d3dc407cde26d49
ontroller.java
essagingController.java
ctivity/MessageView.java
ail/internet/MimeMessage.java
ail/store/Pop3Store.java
rovider/EmailContent.java
8ade2fe010797be45d5c0f9023e5d76bcc3b50a8 18-Jun-2010 Makoto Onuki <omakoto@google.com> MessageList: Moved screen transition logic to activity.

- Now open, reply, reply-to, forward are handled by activity.
- Renamed onDelete. (I was thinking about renaming more methods, but I ditched
the idea because the current ones aren't that bad.)

Change-Id: Ie88e8cc3c6bd598199cfd9f4cd61d51e8b7023b7
ctivity/MessageList.java
ctivity/MessageListFragment.java
291b90fb24214f767485c427739d25842936dff7 18-Jun-2010 Makoto Onuki <omakoto@google.com> Adding method that deletes an account synchronously.

New tests that's under development will need it.

Change-Id: I5abf168dae6ed0e78db4ae82210673decfa9ece7
ontroller.java
e4ecb500916591bb5bf1f6fa0cc2e85cc186cb7d 19-Jun-2010 Andrew Stadler <stadler@android.com> Convert AccountFolderList to use a Fragment

* Introduce AccountFolderListFragment and its layout
* Extract all list-related UI into it
* Fix leaking cursor in AccountsAdapter and add unit test

Change-Id: Ica566847d97927b736f515d434c6691c82343290
ctivity/AccountFolderList.java
ctivity/AccountFolderListFragment.java
ctivity/AccountsAdapter.java
91d47ccb47e4d4e340854a091d39886fbbadbf15 17-Jun-2010 Makoto Onuki <omakoto@google.com> Cleaning up MessageListFragment.

- Introduced EmptyCallback to avoid the flood of null checks.

- Fixed some TODOs in MessageListFragment.
- Notably, sendPendingMessages() is now handled by the fragment itself,
rather than by the activity.
- Moved two DB accesss from the UI thread to a worker thread.

- Replaced the 'mailboxid < 0' check with isMagicMailbox(), which is more
explicit and easier to understand.

- Renamed some methods in preparation of moving to the activity.

Change-Id: Ie730c2c561050bbfa83a38252fcf09d59238f7ea
ontroller.java
tility.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
1d6dab29562eca7978f179be5f5c75f22f44d734 14-Jun-2010 Marc Blank <mblank@google.com> Handle "Allow non-provisionable devices" properly

* Send policy key of "0" when validating; this gets us the policies
even if "Allow..." is enabled (currently, we simply don't see the
policies)
* If we don't support all of the policies, send back the response
code indicating support for partial support. If we get a positive
response back, then we're good to go - the server allows devices
with partial support. Otherwise, we fail as we always have - with
the toast indicating that the device doesn't support required
policies
* Remove PolicySet.isSupported() and ensure proper field ranges
within the constructor
* Update tests as appropriate

Bug: 2759782
Change-Id: I5f354a0e2d81844aff75d8a8a6de3b97f0020c1f
ecurityPolicy.java
34f29c8a7478cf8c85578d176ac27d973ecca7e4 14-Jun-2010 Makoto Onuki <omakoto@google.com> Test for interaction between ImapStore and vendor policy.

Change-Id: I092b3a0f2f40d9aa19f2f61066362099c8b3f50b
ail/store/ImapStore.java
2aa8ea4399dd70c26d6c0679ff002fb16fdc5bff 14-Jun-2010 Makoto Onuki <omakoto@google.com> Use Fragment's context menu API.

Change-Id: I1be6b17ff5bc7fd5258366bc064251c6f79c0cc8
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MessageList.java
ctivity/MessageListFragment.java
62c316531c8557e05b33f8c172675265c1e774c2 14-Jun-2010 Makoto Onuki <omakoto@google.com> Merge "Introducing MessageListFragment."
601187db42a34b638cc911758b3735bba5d51ada 11-Jun-2010 Makoto Onuki <omakoto@google.com> Introducing MessageListFragment.

- Extracted MessageListFragment out of the MessageList activity.
- This is basically pure extraction, with the following conceptual change.
- Now the MessageList activity doesn't know the mailbox id or
the account id. If it needs these ids, it needs to ask the fragment.
- MessageListFragment.LoadMessagesTask tries to determine the account ID
if it's unknown.

Most code in MessageListFragment is directly copied from MessageList
with minimal changes (e.g. pass mActivity instead of 'this' as a Context).
There's a few cleaning up oppotunities. I'll work on them later in a separate
CL.

Change-Id: Ie004cc49b429f2cd8f9de73df5abb94f3054ea0a
ctivity/MessageList.java
ctivity/MessageListFragment.java
75939a7dc8aabfb13bc376a6c9ae7ad4adc24881 12-Jun-2010 Dianne Hackborn <hackbod@google.com> Update to match new fragment context menu API.

Change-Id: I18950e55abd1e72d97f7a62393abe422001ee2f5
ctivity/MailboxListFragment.java
9cbc6721c76b0f066faeb0c619a0920218567241 12-Jun-2010 Makoto Onuki <omakoto@google.com> Merge "Fix NPE in Controller and MessagingController."
7e1de3c484ad0faa5f2d789649c1b4979e071044 11-Jun-2010 Makoto Onuki <omakoto@google.com> Fix NPE in Controller and MessagingController.

Bug 2553401
Bug 2186777
Bug 2721133
Bug 2684365
Bug 2530534

Change-Id: I5185d9196deab5ba3a9866e2de2a9be04a04ca03
ontroller.java
essagingController.java
36d3dfaeac1a80561ef41a78ecc9bf3583d0ca7b 11-Jun-2010 Makoto Onuki <omakoto@google.com> Extract MockVendorPolicy, add standard mechanism to inject it.

One thing that bothers me regarding the new ImapStore is that there is no
tests to verify if the way how getImapId() uses a vendor policy hasn't changed.
This part is hard to test with a real vendor policy, and it can easily be
overlooked even if it's broken.

This CL offers ImapStoreUnitTests a way to test the interaction between
getImapId() and a vendor policy.

Also fixed a bug in VendorPolicyLoaderTest where it assumed the test apk
package name is "com.android.email.tests", but it may actually be
"com.google.android.email.tests" now. (Broken since the test makefile
used inherit-package.)

Change-Id: I8feb616ea28cb5cae5b4fba57e363771014ac599
endorPolicyLoader.java
572c06f91be8c809b8978d985259564f88c6f212 11-Jun-2010 Andrew Stadler <stadler@android.com> DO NOT MERGE - Revert workaround for KeyguardLock problem

This reverts commit 3ee0cad5f5e21a24dbe43d21afaac1dd76a2059b.

Because commit 284b62e1b8c3419bfd02c6fea5ba0a68146c06f8 fixes the underlying
conflict between DeviceAdmin policies and apps attempting to disable the
Keyguard Lock, this patch is no longer required.

Accounts with a server policy requiring a device PIN or Password will
now work properly.

Bug: 2737842
Change-Id: I533c27a01a8a331dc11a0cb84bcc78f48edf621c
mail.java
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSetupNames.java
ervice/BootReceiver.java
851f3219e2bbcfb9c02c439d84d0885d890ded8d 09-Jun-2010 Makoto Onuki <omakoto@google.com> Renaming MessageListAdapter to MessagesAdapter

in line with MailboxesAdapter.

Change-Id: I4ed387db2f5ce1f9bad282521c62eeec0c697db4
ctivity/MessageList.java
ctivity/MessageListAdapter.java
ctivity/MessageListItem.java
ctivity/MessagesAdapter.java
954bcd45b0c9febfb41bb0dc3dde2eca7559a290 04-Jun-2010 Makoto Onuki <omakoto@google.com> Move account deletion feature to Controller.

Change-Id: Icd3a7cc4ff0db8fb65d3e01868543e7ce8ea79e7
ontroller.java
ontrollerResultUiThreadWrapper.java
ctivity/AccountFolderList.java
3f545a4060982b8a5d715905c7818d59056c1ee0 07-Jun-2010 Makoto Onuki <omakoto@google.com> Controller rework.

- Controller.Result is now a class rather than an interface,
so subclasses don't have to implement empty methods.

- Replaced Threads with AsyncTasks, which is more light weighted
because it uses pooled threads.

- Removed the Result argument from Controller's methods.
These argumetns weren't used, except in serviceCheckMail.

Regarding serviceCheckMail, the new code behave differenly from the old code.
If there's already listeners registered when it's colled, they wouldn't get
called in the old code, but they will in the new code.
But I think this difference is okay because that's how it works for
POP/IMAP accounts.

Change-Id: I37a857ce7c089c1a411cb7f1fcfcb72c9f5fd2a6
ontroller.java
ontrollerResultUiThreadWrapper.java
tility.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ervice/MailService.java
80091c8ef7cc1a9508951910574d7c41772bb0b2 08-Jun-2010 Andrew Stadler <stadler@android.com> Refactor MailboxList to use Fragment API

* Moves all list-related implementation to new MailboxListFragment
* One item that remains to be done is to remove the dependency on the
activity for handling context menu (longpress) in the list.

Change-Id: I7b5769d9d81fb685cf480de3d3e18b4e1c078f2d
ctivity/MailboxList.java
ctivity/MailboxListFragment.java
ctivity/MailboxesAdapter.java
3ee0cad5f5e21a24dbe43d21afaac1dd76a2059b 04-Jun-2010 Andrew Stadler <stadler@android.com> DO NOT MERGE Workaround for KeyguardLock problem

* The device policies that enforce the use of a device PIN or password
can be sidestepped by apps that implement KeyguardManager.KeyguardLock
* This renders the policies unuseable
* To prevent this, the email app now scans for any packages holding the
DISABLE_KEYGUARD permission. The existence of any non-system app
with this permission will put all security-enabled EAS accounts into
a security hold, and post a dialog describing the problem.
* The user must uninstall any such app(s) in order to sync their EAS data.

Bug: 2737842
Change-Id: I4c96d76b12d9242b5c755dd60d7578a825fae597
mail.java
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSetupNames.java
ervice/BootReceiver.java
c7b6145c125cf0f9bdd6426db11ee796fe8b1cf1 04-Jun-2010 Makoto Onuki <omakoto@google.com> Fix the cache in Controller.

Turned out we can't reuse EmailServiceProxy, so only cache the account type.

Change-Id: I5499c2440082580d6f0739ae85b888f1afb65ba8
ontroller.java
a00bf4e0d0489fb0df9e4b93331e53d596bbf9fc 04-Jun-2010 Makoto Onuki <omakoto@google.com> Merge "Cache for Controller.getServiceForAccount."
b87e999fbceb8a95e22f0f3209e0698e3f1effbb 03-Jun-2010 Makoto Onuki <omakoto@google.com> Cleaning up MessageList

- Removed Handler.
- Refactored FindMailboxTask so it only does DB access on a worker thread.
(Moved the actual task out of doInBackground)
- Removed unused imports, which I forgot when I extracted the adapter.

Change-Id: Ib76ce2ab7901dd39d2ed51d8a61d7be9df55b337
ctivity/MessageList.java
768aff4c88a13c1663b1c33b1ab03637e5ce375b 03-Jun-2010 Makoto Onuki <omakoto@google.com> Cache for Controller.getServiceForAccount.

Change-Id: I607c437d6e0781ae8305df22c13a0e3a003c623f
ontroller.java
4a2615e2a587e842390e124def03e90d8772c6d1 01-Jun-2010 Makoto Onuki <omakoto@google.com> Remove Handlers from Activities.

AccountFolderList, MessageCompose and MailboxList.

Also,
- ControllerResultUiThreadWrapper now takes a Handler instead of an Activity.
So that it can be used from a Service as well.

- ControllerResultUiThreadWrapper.getWrappee() to get the wrapped object.
We'll eventually need this.

- I'll work on MessageList too, but the might be relatively
large, so I'll do that in a separate CL

Change-Id: I281d88d5af1834248ec3f7463f0df3f5635149be
ontrollerResultUiThreadWrapper.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
0a892ae04f0557367a751e1b130e260feccc3c52 02-Jun-2010 Makoto Onuki <omakoto@google.com> Extract MessageListAdapter.

Change-Id: I0e441b7fff925c7703ab88ab54240c5b42d045c4
ctivity/MessageList.java
ctivity/MessageListAdapter.java
ctivity/MessageListItem.java
0fd444b0b4c07ac1545e0edc64b54fd738edfc94 01-Jun-2010 Makoto Onuki <omakoto@google.com> Implement destroy() for all ImapElement classes.

- This is to make sure we're not touching any ImapResponse that's
already been destroyed.

- I didn't add "is it already destroyed?" check to them
(except for ImapTempFileLiteral), because it can be costly.
Just let NPE be thrown.

Change-Id: Idc7b88c4844727922841cbad8a106bf781181d45
ail/store/imap/ImapElement.java
ail/store/imap/ImapList.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
977a7d206a866f07774d98aa2ffa2c51aa057de1 01-Jun-2010 Makoto Onuki <omakoto@google.com> Always destroy ImapResponses.

Unfortunately it's hard to write tests for this change, but at least
all tests pass with Idc7b88c4.

Change-Id: If0335a848dfcc23aecea22c21b2cce73dac7ff6f
ail/store/ImapStore.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapTempFileLiteral.java
4a82cd772007f85d6d50c496824df3b2342824a4 02-Jun-2010 Makoto Onuki <omakoto@google.com> Merge "Add TODOs to ImapStore."
5925dab764a10efcb079bd54b03537663a6fa697 02-Jun-2010 Andrew Stadler <stadler@android.com> Merge "Extract MailboxesAdapter from MailboxList"
ca593130854d6dfd742bc87114b49b3543e97be0 02-Jun-2010 Andrew Stadler <stadler@android.com> Extract MailboxesAdapter from MailboxList

* Create MailboxesAdapter
* No unit tests (nothing to test here outside of view binding)

Change-Id: Id3ca06eeffbfe46a6aa683eb212a096496a3129f
ctivity/MailboxList.java
ctivity/MailboxesAdapter.java
d7470b86876195b07b6208ac7800895289994114 01-Jun-2010 Makoto Onuki <omakoto@google.com> Add TODOs to ImapStore.

Change-Id: I5a9f246eb81cfca6008f82e8c2ffff8b7f28ba1d
ail/store/ImapStore.java
bf580534063ce6948339ed94edc447e8d1540a4f 29-May-2010 Makoto Onuki <omakoto@google.com> Follow-up to the new IMAP parser.

- Replace string literals in ImapStore with constants.
- Simplifies ImapStore.en/decodeFolderName
- Mix cases in the test data to test for case-insensitivity

Change-Id: I88424357227bcf78528df5e6a1c4ba45d54cc65b
ail/store/ImapStore.java
ail/store/imap/ImapConstants.java
3cc80998ba3780e569f5fe201710924cdc0a5446 29-May-2010 Makoto Onuki <omakoto@google.com> Merge "Fix ANR in one time initializer and unify BroadccastReceivers."
898283b6fa4f141d5c2a0831b96b19de11d587b3 28-May-2010 Makoto Onuki <omakoto@google.com> Fix ANR in one time initializer and unify BroadccastReceivers.

- Merged all three BroadcastReceivers into one.
(Changed class name because old ones may have been disabled.)

- Use IntentService to perform the tasks in a worker thread.

Note the new receiver will never be disabled. We always need to start
exchange.SyncManager.

Bug 2722155
Bug 2416929

Change-Id: I8241880fc1ee38d85dcdca7e1d46fc2f6b2d375b
mail.java
neTimeInitializer.java
ervice/BootReceiver.java
ervice/EmailBroadcastProcessorService.java
ervice/EmailBroadcastReceiver.java
7e24c6c6f9efcba98b7e26f9e387b6591acd1355 24-May-2010 Makoto Onuki <omakoto@google.com> Get rid of Handlers and make activities (more) BG thread free.

Part 1: MessageView

- It's an attempt to get rid of Handlers from Activities, and
reduce the amount of code that runs run a BG thread in them.

- Introduced ResultUiThreadWrapper, which wraps another Controller.Result
and make callbacks get called on the UI thread.

- It'll make the logic in ControllerResults cleaner and more straightforward.

- ResultUiThreadWrapper isn't too memory efficient because it allocates a
Runnable even if the wrappee's target method is empty.
However these callbacks don't get called often, and optimizing it would
make code more complicated, so I don't think it's worth optimizing.

- Now we can assume all the methods in activities except
AsyncTask.doInBackground runs on the UI thread, with some special exceptions
like MediaScannerNotifier.
In my previous abandoned change, I named methods that can run on BG threads
'*OnUiThread', but now there's no need to do that.

This also means we can minimize the use of synchronizations.

Change-Id: Ia6d9d2a266ebf5a4b23d712e9eaea3272adbd2a6
ontrollerResultUiThreadWrapper.java
tility.java
ctivity/MessageView.java
7e5ba0e1eaee76ab6e6c7ea9362348f660796596 20-May-2010 Makoto Onuki <omakoto@google.com> New IMAP parser to fix long-lasting problems.

- Almost completely re-wrote ImapResponseParser layer
- We no longer use simple ArrayList and String to represent
imap response. We have classes for that. (Type safe!)
These classes are also NPE-free.
(which isn't necessarily a good thing, though)
- A lot of clean-ups and fixes in ImapStore.
- More tests for ImapStore.

Now ImapResponseParser moved to com.android.email.mail.store.imap.parser,
but inside, it's 99% new code.

This CL introduces many new classes, but most of them are small classes
to represent the IMAP response.

Problems that this CL fixes includes:
- Special characters in OK response
- Handling BYE response
- Case sensitivity
- ClassCast/ArrayIndexOutOfBound/NumberFormatException
- Handling NIL/literals at any position

Bug 2480227
Bug 2244049
Bug 2138981
Bug 1351896
Bug 2591435
Bug 2173061
Bug 2370627
Bug 2524881
Bug 2525902
Bug 2538076

Change-Id: I7116f57fba079b8a5ef8d5439a9b3d9a9af8e6ed
ixedLengthInputStream.java
essagingController.java
tility.java
ail/FetchProfile.java
ail/Message.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/imap/ImapConstants.java
ail/store/imap/ImapElement.java
ail/store/imap/ImapList.java
ail/store/imap/ImapMemoryLiteral.java
ail/store/imap/ImapResponse.java
ail/store/imap/ImapResponseParser.java
ail/store/imap/ImapSimpleString.java
ail/store/imap/ImapString.java
ail/store/imap/ImapTempFileLiteral.java
50adf5369cec4d551b7cff286c86b6cfc15edd40 28-May-2010 Andrew Stadler <stadler@android.com> Merge "Refactor AccountsAdapter into its own class."
f3c285d4a30dfd1ab6b8f1963f6ae8d936447d35 28-May-2010 Andrew Stadler <stadler@android.com> Refactor AccountsAdapter into its own class.

* Extract AccountAdapter from AccountFolderList
* Use callback instead of hardcoded launch of MailboxList
* Unit tests

Change-Id: Icafce1ef73a99fb61985c649620440656f9b51a3
ctivity/AccountFolderList.java
ctivity/AccountFolderListItem.java
ctivity/AccountsAdapter.java
9d387ff0bb88ad952b53c956b468dcbcec248752 20-May-2010 Marc Blank <mblank@google.com> Fix validation use of FolderSync

* To avoid having to use a mock deviceId with FolderSync in validation, we now
simply use the real deviceId with the correct SyncKey ("0" for a new account,
or the actual sync key if the account already exists)
* Rework utility code that finds existing accounts
* Write unit test for findExistingAccount

Bug: 2589243
Change-Id: Ia532b2e209aec3aa01ca06617b4da78c3d986b32
tility.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
968be441b4c253668c4ee1c7a3f8e4b0eb12cf24 21-May-2010 Makoto Onuki <omakoto@google.com> Don't store arbitrary Context in singletons, which causes memory leak.

We have singletons that store a Context passed to getInstance().
The problem is that when we call them, we casually pass any Context at hand.
If it's an activity (which is often the case), it'll never be GCed.

This CL make them store the application context insteaed.

Change-Id: I1abcc2c08d3f8201416d6c14720f041693823b4e
ontroller.java
essagingController.java
ecurityPolicy.java
ail/Sender.java
ail/Store.java
ail/store/ExchangeStore.java
4f0186c60819e1b06c1018c30f259282e0ae36b2 20-May-2010 Makoto Onuki <omakoto@google.com> Clean up ImapStore and related classes.

- Introduce Fetchable
- Made static some methods/nested classes in ImapStore
- Removed ImapBodyPart
- Fixed lien breaks

Change-Id: Iec1aff2771faa28717753d6e2d9db96d940233a9
ail/FetchProfile.java
ail/Fetchable.java
ail/Part.java
ail/internet/MimeUtility.java
ail/store/ImapStore.java
cbe4ae9291160877f6664289e3713d5ef792bca5 19-May-2010 Makoto Onuki <omakoto@google.com> More tests for IMAP, clean up, and a few bug fixes.

- A few new tests in ImapStoreUnitTests.
- Added TODOs to ImapStoreUnitTests (for mainly NO response handling)
- Renamed ImapStore.releaseConnection to poolConnection.
- Fixed a bug in getConnection where it'd return a closed connection.
- Now getConnection() hanles BYE response for NOOP correctly and treat the
connection as closed.

Change-Id: I48e5b89049338f7d4f1ac77cd7ac7243945a9575
ail/store/ImapStore.java
2552b7b705ef2253501e09b0bd4284ea42c26762 18-May-2010 Makoto Onuki <omakoto@google.com> More test for ImapStore/ImapFolder.

- Also, fixed a potential crash in getMessages().
It could happen when a client is gettign a message list while
another client is removing messages.

Change-Id: I04b1de6bc384cffb7a5286bcec0a349a3d62a623
ail/store/ImapStore.java
7d3519151a34792956cfc2b63bd2735fd0202d54 18-May-2010 Makoto Onuki <omakoto@google.com> Tests for IMAP FETCH

Adding regression test for the new IMAP parser.

Change-Id: Iac7f5c022e44ca5f06f735e145af15cc459eb61f
ail/internet/MimeMultipart.java
128fb393e8ed613c2ce283c0bd51684af2ba444d 23-Apr-2010 Makoto Onuki <omakoto@google.com> Relax MIME date parser.

Make the date parser accept invalid dates like
"Thu, 10 Dec 09 15:08:08 GMT-0700" which was observed in an email from eBay.

Per RFC, timezone must be either obs-zone (e.g. "GMT") or +/- with 4 digits.
The GMT+/-digits format is not permitted.

Bug 2367124

Change-Id: I59968274160aeadea70223208b463ee692660056
tility.java
0a8030562a5235591a5f5364bf5e6855ffa62861 17-May-2010 Makoto Onuki <omakoto@google.com> Fix flaky tests

Follow up to I3bf7d340. Make sure temp directory is set before running tests.

Turned out Application.onCreate doesn't seem to be guaranteed to be run
before unit tests.

Without this, some tests may fail saying: "TempDirectory not set.
Application hasn't started??", if onCreate runs too late.

Change-Id: Ic5aee939a2c21f9579a643d0729dd0e9ba81022e
mail.java
9580f6175da4c5df4b8aa13242aaef8c922dec05 03-May-2010 Makoto Onuki <omakoto@google.com> Don't sync when the background data system setting is off.

Bug 2494703

Change-Id: Ia6f4c9fc86cdcb5ca3276141cb84b4effb6ee87c
ervice/MailService.java
6bdd7998c3278a35ff036d87cbd99c044f1e5e6e 14-May-2010 Makoto Onuki <omakoto@google.com> Merge "Simplify MessageRetrievalListener."
dbbd2ba22c63f38c268c1c33e285cfcc50f6da27 13-May-2010 Makoto Onuki <omakoto@google.com> Simplify MessageRetrievalListener.

Main motivation: not to make the new IMAP parser too complecated.

- Removed messageRetrieved.
Motivation:
- It's not easy to call messageRetrieved() at the proper timing
from the new IMAP parser, and this method wasn't used anyway.

- Renamed messageFinished to messageRetrieved.
And removed the "number" and "ofTotal" arguments.
Motivation:
- They weren't used. Also there was inconsistency about
what to pass as "numebr". (i.e. 0-based or 1-based?) There was
even a bug that caused passing a wrong number.

Change-Id: If92dbfe681b78a0eea8125188ede63a8f00dcf49
essagingController.java
ail/Folder.java
ail/MessageRetrievalListener.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
9c9e757917b51cb87c1880b8e8ae14bfed5d84f9 14-May-2010 Makoto Onuki <omakoto@google.com> Add static method to get temp dir in Email.

I need to be able to get the temp dir from anywhere without Context
for the new IMAP parser.

Change-Id: I3bf7d34059399a8253c0760ebc392804ea434412
mail.java
ail/internet/BinaryTempFileBody.java
b3f7dd0169a35221184b9327c8ce337b09dc6d1f 10-May-2010 Makoto Onuki <omakoto@google.com> Clean up member variables.

- Fix misnomered fields. (e.g. static mMember -> static sMember)
- Reduce visibility. (e.g. mark as private)
- Mark final / static if possible.

Note it's on master.

There's a lot more cleanup oppotunities in the activities, but they're going
to go through a major overhaul, so I didn't bother.

Change-Id: I3fde73ba5f1f9ff675fff07c510e1e49521dde42
ccount.java
ontroller.java
mail.java
mailAddressAdapter.java
ixedLengthInputStream.java
essagingController.java
eekableInputStream.java
references.java
ctivity/AccountFolderList.java
ctivity/AccountShortcutPicker.java
ctivity/AddressTextView.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SpinnerOption.java
ail/Address.java
ail/Sender.java
ail/Store.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
ervice/EmailServiceProxy.java
ervice/MailService.java
31fa0172cf721bddbbcfca8668de77939669b1d0 10-May-2010 Makoto Onuki <omakoto@google.com> am d93f323f: am 29491840: Merge "Cleanup: Add @Override" into froyo-plus-aosp
d93f323faa32c888eb0606e5694507fba9f7e6ae 10-May-2010 Makoto Onuki <omakoto@google.com> am 29491840: Merge "Cleanup: Add @Override" into froyo-plus-aosp

Merge commit '29491840e62a3a21a9b8e4a0889450d2d0875255' into kraken

* commit '29491840e62a3a21a9b8e4a0889450d2d0875255':
Cleanup: Add @Override
29491840e62a3a21a9b8e4a0889450d2d0875255 10-May-2010 Makoto Onuki <omakoto@google.com> Merge "Cleanup: Add @Override" into froyo-plus-aosp
165e8bfe7a46564ea98bb16cb059102ba356a1b5 08-May-2010 Makoto Onuki <omakoto@google.com> Cleanup: Add @Override

(Note it's for froyo-plus-asop)

Change-Id: Ic4211c08586e33c44d5d6267c0c9d37f8c7cdc85
ixedLengthInputStream.java
eekableInputStream.java
ail/Address.java
ail/PackedString.java
ail/internet/MimeMessage.java
ail/internet/MimeMultipart.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
c563ce1b80cfc378c061fbf667a79a09c09c235c 08-May-2010 Makoto Onuki <omakoto@google.com> am b8970dab: am e46ac1a6: Cleanup imports.
b8970dabb648fed28d676c6aa3cf3d01d2b071dd 08-May-2010 Makoto Onuki <omakoto@google.com> am e46ac1a6: Cleanup imports.

Merge commit 'e46ac1a61f32bd762a879457b1850087a1ad3a8c' into kraken

* commit 'e46ac1a61f32bd762a879457b1850087a1ad3a8c':
Cleanup imports.
e46ac1a61f32bd762a879457b1850087a1ad3a8c 07-May-2010 Makoto Onuki <omakoto@google.com> Cleanup imports.

(Note it's for froyo-plus-asop)

Change-Id: Ia5b771cd41099ab486ba2e556b441fc7c0affe5f
roupMessagingListener.java
essagingController.java
essagingListener.java
ail/Sender.java
ail/Store.java
ail/StoreSynchronizer.java
ail/internet/BinaryTempFileBody.java
ail/internet/EmailHtmlUtil.java
ail/transport/MailTransport.java
ail/transport/StatusOutputStream.java
1f2caa80957e92519258e212b5fd45fb6c168a73 07-May-2010 Makoto Onuki <omakoto@google.com> Fix 3 problems that FindBugs found.

Bug 2666278 [findbugs] broken double-lock pettern in Utility.FolderProperties.getInstance()
Bug 2666207 [findbugs] potential NPE in MessagingController.processPendingDeletesSynchronous()
Bug 2666195 [findbugs] Potential NPE in AccountSetupNames.onCreate()

Change-Id: I2ee5bd5b7c80f8bdd32b3c45abb655a3d3fb8c9e
essagingController.java
tility.java
ctivity/setup/AccountSetupNames.java
b0c37bd8c01db096ee949a607b5f4dd5cee07750 03-May-2010 Andrew Stadler <stadler@android.com> am 1e037acd: am 7cdd6899: am a7628f3b: Merge "Better handling for untyped attachments" into froyo
9d2b44d4732abd5bb6055ab109252e7185eeef21 03-May-2010 Makoto Onuki <omakoto@google.com> am eaf1139c: am a094cc25: am cf362a48: Collectly preserve the service start-id.
1e037acda794bb493dd64a1db1968cf8c445a0d0 03-May-2010 Andrew Stadler <stadler@android.com> am 7cdd6899: am a7628f3b: Merge "Better handling for untyped attachments" into froyo

Merge commit '7cdd6899fbe820af852974cd0b7025b72bfe242a' into kraken

* commit '7cdd6899fbe820af852974cd0b7025b72bfe242a':
Better handling for untyped attachments
eaf1139c6c912417790662d996accb1e142621d7 03-May-2010 Makoto Onuki <omakoto@google.com> am a094cc25: am cf362a48: Collectly preserve the service start-id.

Merge commit 'a094cc259da268ad6f78f50afe5cbbf674418b86' into kraken

* commit 'a094cc259da268ad6f78f50afe5cbbf674418b86':
Collectly preserve the service start-id.
a7628f3bc05ef349ec6d9588e130126eb1c240a1 03-May-2010 Andrew Stadler <stadler@android.com> Merge "Better handling for untyped attachments" into froyo
80ebde2897dced46a0f24efb7c15a997b660a8fe 01-May-2010 Andrew Stadler <stadler@android.com> Better handling for untyped attachments

* IMAP/POP rely on sender to set mime type of attachments
* Which doesn't always work, because senders don't always provide it
* Remap using filename extensions, when needed
* This is applied as late as possible - in the MessageView, and in
the content provider getType(). No changes to how we write databases,
and no change to existing attachment rows.

Bug: 2356638
Change-Id: Ie69e3fd12f406aac803583f9d1299a8af4fba010
ctivity/MessageView.java
rovider/AttachmentProvider.java
cf362a48c14ab3ebae55e9735f9cff6e77a4042a 30-Apr-2010 Makoto Onuki <omakoto@google.com> Collectly preserve the service start-id.

We were passing the wrong arguments, which caused the service left running.

Bug 2646212

Change-Id: Ie5aeaeb80635c8e805fc2e9c6f4aec3b21942740
essagingController.java
7446a41fbd6dda71ce18525d4feb12df149a31f7 30-Apr-2010 Makoto Onuki <omakoto@google.com> am 0a06a1a6: am 4a1565fd: am 5ab7ec71: Move a bare string to a resource.
0a06a1a6833666f9476c88ec4f763467a9aedf76 30-Apr-2010 Makoto Onuki <omakoto@google.com> am 4a1565fd: am 5ab7ec71: Move a bare string to a resource.

Merge commit '4a1565fd7ec426ba4615aedeb3f2ddcb03ecac22' into kraken

* commit '4a1565fd7ec426ba4615aedeb3f2ddcb03ecac22':
Move a bare string to a resource.
5ab7ec7123b5aa6bc9f8fd7e59d2cdf27d716ef5 30-Apr-2010 Makoto Onuki <omakoto@google.com> Move a bare string to a resource.

Bug 2637666

Change-Id: I59cf5d2b30846604049d3f988b1003dd7d91ad6f
ctivity/AccountFolderList.java
1bfe167734b28d719e5145c6cadb4a7b6953f62e 28-Apr-2010 Andy Stadler <stadler@google.com> am 656d89d6: am 78d3c602: am b915c3c0: Merge "Skip security check when account id is unknown." into froyo
656d89d67f9361e06cba1c0ce72f57c1d84a011f 28-Apr-2010 Andy Stadler <stadler@google.com> am 78d3c602: am b915c3c0: Merge "Skip security check when account id is unknown." into froyo

Merge commit '78d3c6022ccf87566261faf694ff506a68ec6b6f' into kraken

* commit '78d3c6022ccf87566261faf694ff506a68ec6b6f':
Skip security check when account id is unknown.
e333b68c9efa30c58b8ae9c2a2625de1366b2314 28-Apr-2010 Makoto Onuki <omakoto@google.com> Skip security check when account id is unknown.

Doing the check caused:
IllegalArgumentException: Unknown URI content://com.android.email.provider/account/-1
at com.android.email.provider.EmailProvider.query(EmailProvider.java:1092)
at android.content.ContentProvider$Transport.query(ContentProvider.java:163)
at android.content.ContentResolver.query(ContentResolver.java:245)
at com.android.email.activity.MessageList.isSecurityHold(MessageList.java:1146)

Bug 2635060

Change-Id: I80e7c00ef2dd74ceae24a88daf43a0681124a9d4
ctivity/MessageList.java
6b594cc97bda44fd8c90991e3ceb77c6173724b0 26-Apr-2010 Marc Blank <mblank@google.com> am a238577c: am d718abd3: am b62cbc7e: Increase service call timeout to 45 seconds
a238577cb7cab54007040946097b9010f7ceabe5 26-Apr-2010 Marc Blank <mblank@google.com> am d718abd3: am b62cbc7e: Increase service call timeout to 45 seconds

Merge commit 'd718abd38c12a902b85ba6341c4eda1c778d68b7' into kraken

* commit 'd718abd38c12a902b85ba6341c4eda1c778d68b7':
Increase service call timeout to 45 seconds
b62cbc7e7b82739c307b5cb3175bbfff5f549295 26-Apr-2010 Marc Blank <mblank@google.com> Increase service call timeout to 45 seconds

Bug: 2627273
Change-Id: I971aa271cfc03e669e72f7871856cb9cfc10aa14
ervice/EmailServiceProxy.java
5f1fdc2111c81fcc38275d15875db3c5c84744c4 23-Apr-2010 Andrew Stadler <stadler@android.com> am f6e5f6e3: am da0fb178: am 5ac8a35c: Merge "Fix uncommanded exit from MessageList with 2+ accounts" into froyo
f6e5f6e395b102b63d75e36007c776bec291297a 23-Apr-2010 Andrew Stadler <stadler@android.com> am da0fb178: am 5ac8a35c: Merge "Fix uncommanded exit from MessageList with 2+ accounts" into froyo

Merge commit 'da0fb1784c7675841cd64cb7c19020491667872f' into kraken

* commit 'da0fb1784c7675841cd64cb7c19020491667872f':
Fix uncommanded exit from MessageList with 2+ accounts
88fb7f7cd032ec0d838bdddf40a6f5a73442f422 23-Apr-2010 Andrew Stadler <stadler@android.com> Fix uncommanded exit from MessageList with 2+ accounts

* When you have 2 or more accounts configured, MessageList gets confused.
* If you are viewing a mailbox from account A, and account B does a
background sync, MessageList gets confused by the reports coming back
from the Controller. It gives up and returns to the Accounts list.
* This change adds a check for the current account and ignores the
MessageList updates if we weren't actually waiting for them.
* To test the positive case for this code (make sure we didn't break it),
verify that the inbox on an IMAP account is displayed properly
immediately after you add it.

Bug: 2619513
Change-Id: Ib31254b4099ba6b7922b06d42e2b7928551e4fb2
ctivity/MessageList.java
f4dac9f266906a84f4710d8af5d4a24f2290b1ba 22-Apr-2010 Makoto Onuki <omakoto@google.com> Send local IP address with EHLO instead of "localhost".

Bug 1515345

Change-Id: I181c9f0d79fbdf62f7df77f72a1ec9653797b6dd
ail/Transport.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
d729ff891a7e3a7026a16cc6da0932a49948a2f6 22-Apr-2010 Andrew Stadler <stadler@android.com> am 151b9aa8: am 5d5d7854: Harden UpgradeAccounts against runtime errors (e.g. NPE)

Merge commit '151b9aa8dff6350c9e247579599bf70e1c55eea1' into kraken

* commit '151b9aa8dff6350c9e247579599bf70e1c55eea1':
Harden UpgradeAccounts against runtime errors (e.g. NPE)
5d5d7854c247487c3f8fa1f700c6e9d46aff497d 22-Apr-2010 Andrew Stadler <stadler@android.com> Harden UpgradeAccounts against runtime errors (e.g. NPE)

* Harden each of the major upgrade steps so any errors (e.g. NPE) are
caught and that account goes into error state.
* Make sure that any account in error state is abandoned properly - all
steps skipped except the final delete/cleanup.
* Bugfix: The variable that indicates that an account has gone into an
error state (upgrade failed) state was being set in the UI thread and
tested in the worker thread, so it was not properly stopping the
upgrade of any given account. Split that variable into two, one for the
UI thread (set/read by the handler) and one for the worker thread.
* Bugfix: Report errors against the correct account, when 2+ accounts are
being upgraded.

Bug: 2608483
Change-Id: I571078ae7123b601b53096104c4c5f4ef20da031
ctivity/UpgradeAccounts.java
fc0812021314df607504b31eaa732ea675fe0437 21-Apr-2010 Marc Blank <mblank@google.com> am a0c71419: am 21c04fe3: Merge "Further harden getListOrNull" into froyo

Merge commit 'a0c71419cedaa0f84d12da61e415642b79cc0a9c' into kraken

* commit 'a0c71419cedaa0f84d12da61e415642b79cc0a9c':
Further harden getListOrNull
07fb9f8bea97e9117efa8e2bf8351a4b50206faa 20-Apr-2010 Marc Blank <mblank@google.com> Further harden getListOrNull

* Add a bounds check
* Add a test for ImapList

Bug: 2611022
Change-Id: I3ad88fbc8d3145298731ab19ef7ff68d4011bb00
ail/store/ImapResponseParser.java
901c23032bdb25e32ad995ca2d83690116eba259 16-Apr-2010 Andrew Stadler <stadler@android.com> am a126a168: am ce592f32: Merge "Remove incorrect error reporting in MessageList" into froyo

Merge commit 'a126a168b6d70143e6cc94531f20ff889b15357b' into kraken

* commit 'a126a168b6d70143e6cc94531f20ff889b15357b':
Remove incorrect error reporting in MessageList
54607e872db12c0132446f21a4b8a5c724d185ee 15-Apr-2010 Andrew Stadler <stadler@android.com> Remove incorrect error reporting in MessageList

* Previously I added a call to updateBanner() during the sequence where
we update the mailboxlist (searching for the requested mailbox to
display.) This was an attempt to provide some error information
for certain corner case security configuration problems.
* This was misfiring during legitimate connections (specifically, initial
sync of valid EAS accounts) and causing a Connection Error message
when none was intended.
* Rather than continue hacking, I'm simply removing the error banner
from updateMailboxList.
* This is essentially a direct rollback of change
c98b64c801cea3c82a7b932ebaf9a4bbdcee195c, although I've added
a bit more commentary than there was originally.
* The long-term solution, rather than continue band-aiding this, is to
move most of this logic into a service independent of the UI, and
provide more organized error reporting.

Bug: 2585159
Bug: 2599377
Change-Id: I99b7b1c8a7cfaa3fd3ff9b578d5721f05133d88a
ctivity/MessageList.java
fa6d2b7b61978685eb891d840db63d169afff358 15-Apr-2010 Andrew Stadler <stadler@android.com> am 1bf66bb8: am 186aa619: Cleanup probable causes of close cursor access

Merge commit '1bf66bb8fcb4fcb74706d8e0917b7ac9f62d6710' into kraken

* commit '1bf66bb8fcb4fcb74706d8e0917b7ac9f62d6710':
Cleanup probable causes of close cursor access
186aa619dca002790c38b4dd8649bfe2b3a96f6e 15-Apr-2010 Andrew Stadler <stadler@android.com> Cleanup probable causes of close cursor access

* Monkey is hitting this fairly often
* Multiple fixes that are all good
* We were launching LoadAccountsTask twice
* Don't use a managed cursor for the inner accounts cursor - always
close it manually by calling changeCursor(null) and letting the
MergeCursor handle its sub-cursors.
* Add isCancelled() check
* When replacing adapter, be sure to close cursor

Bug: 2524465
Change-Id: I2309e033d65430810f2856285c1fa9bf2f8fb5e3
ctivity/AccountFolderList.java
6f83fe6317a041bbd8421afe7ee08665c55556b3 15-Apr-2010 Makoto Onuki <omakoto@google.com> am ad383ff1: am d2a0d233: Use consistent device-id even the device is wiped.

Merge commit 'ad383ff1231319c6ded4077b0d1415bf77bec70b' into kraken

* commit 'ad383ff1231319c6ded4077b0d1415bf77bec70b':
Use consistent device-id even the device is wiped.
d2a0d23380a2751d82f9d1f955a812f94a301e2a 15-Apr-2010 Makoto Onuki <omakoto@google.com> Use consistent device-id even the device is wiped.

Use hash of device id (TelephonyManager.getDeviceId()) instead of a random
value.

Bug 2596537

Change-Id: I22303f7287ee6e9edccec349d03f14adbd33f6f7
tility.java
16fa3af652ff0879dbc6a20ae60b0300fae60c16 15-Apr-2010 Andrew Stadler <stadler@android.com> am bd9f4ab3: am 79ef52cf: Improve handling of UI reset cases

Merge commit 'bd9f4ab329b4d01493c84b3d93d678c9d5a594fe' into kraken

* commit 'bd9f4ab329b4d01493c84b3d93d678c9d5a594fe':
Improve handling of UI reset cases
79ef52cfb33e9fb2a2e71d31e0b3810ed1babea5 15-Apr-2010 Andrew Stadler <stadler@android.com> Improve handling of UI reset cases

* When account disappears (e.g. delete from Accounts & Sync) the Welcome
activity should launch with FLAG_ACTIVITY_CLEAR_TOP to remove any
stacked activities as well.
* When account disappears entering AccountSetupNames, don't fall out
of Eas Flow Mode.
* Followup to 5e354cd1db1baabad061032af5a0632cd0f58d1a

Bug: 2563998
Change-Id: Ifbe086e26205bb28c2514f84cb28e839888b1eb0
ctivity/Welcome.java
ctivity/setup/AccountSetupNames.java
8249155e42530ba1d5975e63a604a8c4330dd494 15-Apr-2010 Andrew Stadler <stadler@android.com> am 1ec609e9: am 694fe3b0: Merge "Safer error handling in AccountNames" into froyo

Merge commit '1ec609e99e00957788f4cb5d1965b9d4659f46ff' into kraken

* commit '1ec609e99e00957788f4cb5d1965b9d4659f46ff':
Safer error handling in AccountNames
694fe3b0c7a1dd8759795edc3ffa440bdfd5ce37 15-Apr-2010 Andrew Stadler <stadler@android.com> Merge "Safer error handling in AccountNames" into froyo
fa669234be7d74d1733c73a2f51aa91acaae639e 15-Apr-2010 Andrew Stadler <stadler@android.com> Safer error handling in AccountNames

The error handling for (mAccount == null) would crash. Use a simpler
path here and just abandon the setup process.

The root cause of this (the account being null) is probably solved
by 3ae84b247d1a416b91c6dc9585898108389e4e6c, but still a good idea to
clean this up.

Bug: 2558344
Change-Id: I3167234f99e9d39844f2b56a4d94f25465c7c269
ctivity/setup/AccountSetupNames.java
cda014c16ef3d49319fb3b1ce72feae4104a7fca 15-Apr-2010 Makoto Onuki <omakoto@google.com> am 8dffa087: am 162b0171: Change account colors to what aren\'t used in Calendar.

Merge commit '8dffa087db44e27e5f0e5672b19fdb6975e614a7' into kraken

* commit '8dffa087db44e27e5f0e5672b19fdb6975e614a7':
Change account colors to what aren't used in Calendar.
162b017140464aea05a47e7540a666b10825a8dc 14-Apr-2010 Makoto Onuki <omakoto@google.com> Change account colors to what aren't used in Calendar.

Bug 2535090

Change-Id: I252e04afa402303d226a56f1d7852f50dc26e2ec
mail.java
f14da10df8ec523db2a89dd75ee38c155a436c8b 14-Apr-2010 Andrew Stadler <stadler@android.com> am dc283b1b: am 5e354cd1: Exit most activities when accounts are deleted

Merge commit 'dc283b1b399da1543d57b8eae8ffcbc72f1deca0' into kraken

* commit 'dc283b1b399da1543d57b8eae8ffcbc72f1deca0':
Exit most activities when accounts are deleted
e2be72d390d7dfb336f8806798ff75b55674555c 14-Apr-2010 Andrew Stadler <stadler@android.com> am f9890942: am 383b7dd2: Merge "Final cleanup for account provisioning failures" into froyo

Merge commit 'f9890942bc4a61d14d65f38a16a8bb53bc979880' into kraken

* commit 'f9890942bc4a61d14d65f38a16a8bb53bc979880':
Final cleanup for account provisioning failures
5e354cd1db1baabad061032af5a0632cd0f58d1a 14-Apr-2010 Andrew Stadler <stadler@android.com> Exit most activities when accounts are deleted

This resolves cases like this: You are in the inbox of an Exchange
account. You click home, settings, accounts & sync, and you delete
the account. Now re-enter the Email app. You'll be left in a strangely
empty inbox, for an account that no longer exists.

* Set a flag any time the reconciler deletes an account
* Check that flag in onResume of any activity that depends on the account
list and could be left in an "empty" state if account(s) are deleted.
* The Activities in which we check it are:
* AccountFolderList
* AccountSettings
* MailboxList
* MessageCompose
* MessageList
* MessageView
* Clear the flag any time we come in through Welcome, which will dispatch
to other activities properly based on the number of accounts found.

Bug: 2563998
Change-Id: I00fc542581c2bed92d744a4c2e48a88f83737f11
mail.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
383b7dd29d9380442a0a560d8bdba7e23573b22d 14-Apr-2010 Andrew Stadler <stadler@android.com> Merge "Final cleanup for account provisioning failures" into froyo
c98b64c801cea3c82a7b932ebaf9a4bbdcee195c 14-Apr-2010 Andrew Stadler <stadler@android.com> Final cleanup for account provisioning failures

* Now that we get proper callbacks on updateMailboxListCallback(),
show the error banner if there's a problem
* Follow-on to 63186a5442f8310b25602235622c3669a4e5b1ec

Bug: 2585159
Change-Id: I2b4f365d02b639bc3ceff9f8938333185d5ba693
ctivity/MessageList.java
040f0e3c488c1fe994548de5467bd576d4d18dc6 14-Apr-2010 Makoto Onuki <omakoto@google.com> am 77275817: am 0f3d3601: Merge "Show device id on the exchange setting screen." into froyo

Merge commit '772758177e3dd4fcb1c9d534afec3007b59c8bf7' into kraken

* commit '772758177e3dd4fcb1c9d534afec3007b59c8bf7':
Show device id on the exchange setting screen.
12b4bc9e80ba3509abdcd94b61457cf54d57b726 13-Apr-2010 Makoto Onuki <omakoto@google.com> Show device id on the exchange setting screen.

I've attached a screenshot on the referenced bug.

Also fixed a bug in SyncManager.getDeviceId() where sDeviceId cache wasn't
working.

Bug 2591124

Change-Id: I4b58517c095a96d47fb57179d70091b2c7af5249
ctivity/setup/AccountSetupExchange.java
4621489f995464cb83b2a37d97498210c34b9b49 13-Apr-2010 Marc Blank <mblank@google.com> am 14495c05: am 63186a54: Send callback if reloadFolderList fails w/ uninit\'ed account

Merge commit '14495c05f69db71311002b077280782ed4154fc4' into kraken

* commit '14495c05f69db71311002b077280782ed4154fc4':
Send callback if reloadFolderList fails w/ uninit'ed account
f02238ed2e18db329c9f4bbd303c7960d7afc949 13-Apr-2010 Andrew Stadler <stadler@android.com> am cccfb846: am a87f8d8b: Changes to improve security policy setup

Merge commit 'cccfb8464ed8c2221b70b61151ecd77945299d06' into kraken

* commit 'cccfb8464ed8c2221b70b61151ecd77945299d06':
Changes to improve security policy setup
63186a5442f8310b25602235622c3669a4e5b1ec 13-Apr-2010 Marc Blank <mblank@google.com> Send callback if reloadFolderList fails w/ uninit'ed account

Bug: 2585159
Change-Id: I12d9dd84090d10675e3d403124e28dbb6bede3d8
ervice/EmailServiceStatus.java
a87f8d8bbc0b704974c4230f518cf23b7215fc55 13-Apr-2010 Andrew Stadler <stadler@android.com> Changes to improve security policy setup

* SecurityPolicy: Fix bug that prevents any notifications after the
user hits "cancel all" from the notification pane.
* AccountSecurity: If the user cancels the device admin acceptance
activity, repost the notification.
* MesageList: Catch security hold condition when entering a mailbox, and
launch security setup activity.

Bug: 2585159
Change-Id: I60d5d8c693cc5f00fe98a9cc69265802f5bee813
ecurityPolicy.java
ctivity/MessageList.java
ctivity/setup/AccountSecurity.java
9c88c1ff3c98b3dc367a5617c737ab082b8f41e3 12-Apr-2010 Makoto Onuki <omakoto@google.com> am b0690302: am 1fe0aa19: Merge "Set CLEAR_WHEN_TASK_RESET flag when launching Calendar" into froyo

Merge commit 'b0690302bfc486ae76002179de11df0537090c30' into kraken

* commit 'b0690302bfc486ae76002179de11df0537090c30':
Set CLEAR_WHEN_TASK_RESET flag when launching Calendar
1fe0aa19bf9a64dff0fb0965d29f930303208f73 12-Apr-2010 Makoto Onuki <omakoto@google.com> Merge "Set CLEAR_WHEN_TASK_RESET flag when launching Calendar" into froyo
f793cd93b9137b121bb30801121b26548b099f6f 12-Apr-2010 Makoto Onuki <omakoto@google.com> Set CLEAR_WHEN_TASK_RESET flag when launching Calendar

and Contacts, so that when you relaunch Email from Home, you always see
the Email app, not Calendar/Contacts.

Note as stated in the corresponding bug, this CL itself won't fix the issue,
because CLEAR_WHEN_TASK_RESET will be lost when Contacts/Calendar apps handle
the intent.
There's a feature request against the framework (bug 2586404) which should fix
this losing flag problem.

Bug 2584792

Change-Id: I34ac3707b99926fc07529ea2229f2a6b3c4f93e4
ctivity/MessageView.java
ead786d9b5890f4859bc1911342d237170677f4c 12-Apr-2010 Andrew Stadler <stadler@android.com> am ef01261a: am 9cc6f46b: Merge "Try TOP even on POP servers that fail to report CAPA" into froyo

Merge commit 'ef01261a8909ea3fe3e40b06cc537e0032d47898' into kraken

* commit 'ef01261a8909ea3fe3e40b06cc537e0032d47898':
Try TOP even on POP servers that fail to report CAPA
645fc2830118e19e604f24ba7ffe71c775631f64 12-Apr-2010 Andrew Stadler <stadler@android.com> Try TOP even on POP servers that fail to report CAPA

* Ignore the results of CAPA and always try TOP
* If TOP returns -ERR simply fall back to (bad old slow) RETR
* Unit tests for positive & failure cases

Bug: 2588432
Change-Id: Ife4b551217de1025e14efc46074f16ef4ae99c6f
ail/store/Pop3Store.java
bd9444b0c2f17879105f99b0b85a87e173377015 10-Apr-2010 Makoto Onuki <omakoto@google.com> am aab0d339: am 17a18d64: Merge "Fix NPE caused by I34451000" into froyo

Merge commit 'aab0d339da9605339695c85da2bc81cdc2d6bb08' into kraken

* commit 'aab0d339da9605339695c85da2bc81cdc2d6bb08':
Fix NPE caused by I34451000
17a18d644af54b98087f3ec7a9b1e6d55e604e67 09-Apr-2010 Makoto Onuki <omakoto@google.com> Merge "Fix NPE caused by I34451000" into froyo
78e06eb8947ff8b2f83163f08e7726fb73ebf733 08-Apr-2010 Makoto Onuki <omakoto@google.com> Fix NPE caused by I34451000

It's unfortunate but some of the fields we cleared in I34451000 are accessed
in BG threads or after the activity is destroyed. We could add != null checks
everywhere, but it'll be a mess. I also think it's safer to simply remove
the "= null" lines.

On the other hand, clearing AsyncTasks are relatively safer because they are
kept only so that we can cancel them afterwards, so I kept them. But let me
know if you want to revert the original CL.

Bug 2570603

Change-Id: I04a10dd7382bfcceb686c3e9af92f8949caf619e
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
5f95d682885db306b966e245627a175b866f0f53 08-Apr-2010 Andrew Stadler <stadler@android.com> am 3839dc98: Merge "Improve MIME & SMTP compliance on outbound messages" into froyo

Merge commit '3839dc981f15bb7da5e7500ee175485dc85a6f6a' into kraken

* commit '3839dc981f15bb7da5e7500ee175485dc85a6f6a':
Improve MIME & SMTP compliance on outbound messages
6bcccf628413d40696980d0d86c7ab2b4f831952 08-Apr-2010 Andrew Stadler <stadler@android.com> Improve MIME & SMTP compliance on outbound messages

* Write MIME-Version: 1.0 in all outbound messages, not just those
with multiparts. This is required by RFC 2045.
* Unit tests

Bug: 1678296
Change-Id: Icf37d93b8b0150f490791792499865a60744adea
ail/transport/Rfc822Output.java
24c2faec32a2158411767be535ff8fccff8c1812 07-Apr-2010 Makoto Onuki <omakoto@google.com> am 59cf1d05: Clear references to inner classes in onDestroy().

Merge commit '59cf1d05c111e3b5fb18417db41ce47b623b5b1e' into kraken

* commit '59cf1d05c111e3b5fb18417db41ce47b623b5b1e':
Clear references to inner classes in onDestroy().
59cf1d05c111e3b5fb18417db41ce47b623b5b1e 06-Apr-2010 Makoto Onuki <omakoto@google.com> Clear references to inner classes in onDestroy().

Also
- Made inner classes private if possible.
- Made some members final.

Bug 2570603

Change-Id: I34451000f2540c67e1039ea9dc4839dbec5ffab7
tility.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ctivity/UpgradeAccounts.java
ctivity/Welcome.java
ae9f8aa86ced4b874cfc2f9ea33a09074b8965e7 07-Apr-2010 Andrew Stadler <stadler@android.com> am 856e09d7: Properly reset security policy when device admin revoked

Merge commit '856e09d76ab62272e660fd4a08e25637f17319a0' into kraken

* commit '856e09d76ab62272e660fd4a08e25637f17319a0':
Properly reset security policy when device admin revoked
73c38b8401807318f9e523f3d3a143a21197d0f9 07-Apr-2010 Andrew Stadler <stadler@android.com> am be428797: Merge "Show a less-generic error message for security errors" into froyo

Merge commit 'be4287970b4218bbcd01955677117110eb1d1d03' into kraken

* commit 'be4287970b4218bbcd01955677117110eb1d1d03':
Show a less-generic error message for security errors
856e09d76ab62272e660fd4a08e25637f17319a0 07-Apr-2010 Andrew Stadler <stadler@android.com> Properly reset security policy when device admin revoked

* Simplify the logic in the onDisabled() receiver. Make sure
security policy keys are *always* disabled.
* Eliminate unused variable and unused receiver.

Bug: 2576145
Change-Id: I3665a1d300edfb77e02737c08aee22bc977f4968
ecurityPolicy.java
be4287970b4218bbcd01955677117110eb1d1d03 07-Apr-2010 Andrew Stadler <stadler@android.com> Merge "Show a less-generic error message for security errors" into froyo
e2a076fdfda61a72c1a90d6dd4f5217c6505f8e0 06-Apr-2010 Makoto Onuki <omakoto@google.com> am af672452: Added a test for IMAP APPEND

Merge commit 'af6724527e564d35dd27ac35e24dbced554792e5' into kraken

* commit 'af6724527e564d35dd27ac35e24dbced554792e5':
Added a test for IMAP APPEND
af6724527e564d35dd27ac35e24dbced554792e5 02-Apr-2010 Makoto Onuki <omakoto@google.com> Added a test for IMAP APPEND

It's a preliminary change for IMAP bug fixes.

Also,
- Fixed a potential bug in ImapFolder.setFlags where it'd throw
StringIndexOutOfBoundsException if flags is empty.

- Added a generic flag to proguard.flags so that now all methods with
the "ForTest" sufix are automatically preserved.
Turned out it wasn't needed for this CL, but it should come in handy
someday.

Bug 2538076
Change-Id: I49a08afc196c7b7f1f30477dfc38ac5381045d84
ail/Message.java
ail/store/ImapStore.java
dc0753373ea6cc87902ea907eb654850ed90ce57 06-Apr-2010 Andrew Stadler <stadler@android.com> DO NOT MERGE. Handle STARTTLS when last line in EHLO response.

When receiving the EHLO response from the SMTP server, the multiline
answer has "-" prefix in all lines except the last line, where the
prefix is a blank. This is according to RFC 2821 section 4.2.1. This has
also been reported as issue 2309 at code.google.com.

Bug: 1744768

Change-Id: I3feccabed30767d2fa5b06352cd7d1c803e8d59c
ail/transport/SmtpSender.java
624af658ff9efe8b87d6292a7abdd7457e870df3 06-Apr-2010 Andrew Stadler <stadler@android.com> Merge "Partial solution to make EAS setup respect "manual"" into froyo
63ab9de1b881bf1496228285511cab213501f404 06-Apr-2010 Andrew Stadler <stadler@android.com> Partial solution to make EAS setup respect "manual"

* Track whether the user clicked "manual" vs. clicking next (and falling
into "manual" because the account is not found in the providers list.
Convert this into an "allowAutoDiscover" parameter.
* Pass "allowAutoDiscover" down into AccountSetupAccountType and through
into AccountSetupExchange. (Note, it's unused/ignored for POP & IMAP
accounts and should not affect them.)
* In AccountSetupExchange, use the existing EXTRA_DISABLE_AUTO_DISCOVER
(previously only for testing) to suppress autodiscover in manual mode.

Bug: 2570919
Change-Id: I2583e00d1e6cc26bbd4b85134eddae8cc3a1f91e
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
f7d9f65961d951ffe778e820e7c2f81fd70760f7 06-Apr-2010 Marc Blank <mblank@google.com> Merge "MessageView: on answering invitation move in only one direction." into froyo
605371e793c7038cf24c15ca5090f27ab431ce79 04-Apr-2010 Andrew Stadler <stadler@android.com> Show a less-generic error message for security errors

* In Controller, map EmailServiceStatus.SECURITY_FAILURE
to MessagingException.SECURITY_POLICIES_REQUIRED
* In MessageList, map MessagingException.SECURITY_POLICIES_REQUIRED
to string account_setup_failed_security

Bug report will be forwarded to next release to get a more specific
string with proper translation.

Bug: 2563988
Change-Id: Ia1e6e947e3c0c7e6bd37301de2ea8ef4d641ef14
ontroller.java
ctivity/MessageList.java
a843d40ba1d3eb77e76b4a28aa911588f0fd81a1 03-Apr-2010 Andrew Stadler <stadler@android.com> Improve handling of unsupported security policies

* If the server asks for more than we can support, don't throw
and error from PolicySet creation. Let isSupported() do that.
* Overlong password lengths cannot be supported and isSupported is false.
* Overlong timeouts & max wipes can be reduced to supported
amount (this actually increases security) and isSupported is true.
* Clean up an obsolete comment
* Unit tests

Bug: 2567804
Change-Id: I2d664a7f2a315b9f9bdcb867fe2cd98f74de6f66
ecurityPolicy.java
abed4c04c9f61062b2d9b3425a8b76b5b6165371 02-Apr-2010 satok <satok@google.com> Close Cursor onDestroy

Bug:2557401
- set Cursor of ListAdapter null

Change-Id: I7d762c4ccdf6165d748136f5cf0e15b4a36b24a7
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
f5c3db12de89365c6d52c6d75c7b684e2c0d16ff 02-Apr-2010 Marc Blank <mblank@google.com> Fix NPE in resetVisibleLimits

* resetVisibleLimits can be called via BootReceiver, which isn't in the
Email app process, so it can (and apparently did) get a RemoteException
* This causes the query to return null; we have to check for it or we
get this NPE

Bug: 2564904
Change-Id: I4b75e3c74ac7d1276f609f2fc957afdaa8da2f64
ontroller.java
e2c2d81c31e078d81d52182202adbcc94b64750f 31-Mar-2010 Mihai Preda <preda@google.com> MessageView: on answering invitation move in only one direction.

Bug 2541925

Change-Id: I62b454069f8c20403f15e0b58e597963809f830d
ctivity/MessageView.java
38e52ccc72772a1771845b8704b11a89cd7207aa 31-Mar-2010 Mike LeBeau <mlebeau@android.com> Fix build breakage caused by mblank in 47050.

Change-Id: Ic67fbc611c707a6ff4de558ca15e848f25b92728
ail/store/ImapStore.java
13e497dd406c910219b3bd9f71895808b4a91673 30-Mar-2010 Marc Blank <mblank@google.com> Fix NPE in ImapStore.create

Bug: 2557382
Change-Id: Ia2135e332162b0ae9d0ab85fbcc532ead089e815
ail/store/ImapStore.java
6cec1104fe8863fce2ee86ff5145076e6c436a00 29-Mar-2010 Doug Zongker <dougz@android.com> relocate android.util.base64.* -> android.util.*

b/2553469 - API REVIEW: android.util.base64

Change-Id: I5394427a8e2c94b87ca45a533e417f7088a69f8f
tility.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
a942858f0dc26158430a93f5dfd2d91f07471d11 26-Mar-2010 Makoto Onuki <omakoto@google.com> Properly handle old style (<= 1.6) account shortcuts.

A desktop shortcut to an account created on donut or before points at
com.android.email/.activity.FolderMessageList, which we've already removed.

- Added a dummy FolderMessageList to receive it and redirect to MessageList.
- Removed FolderMessageListUnitTests, which was left unremoved.

Bug 2535335

Change-Id: Ie5ffa158882633a4929c4c47a3d9625fd1626863
ctivity/FolderMessageList.java
ctivity/MessageList.java
ctivity/UpgradeAccounts.java
ctivity/Welcome.java
rovider/EmailContent.java
eba33f8b5a0cc4a28ae5a9d6632df475c4b0a794 25-Mar-2010 Marc Blank <mblank@google.com> Don't send bare line feeds to EAS 2.5

* EAS 2.5 doesn't like seeing bare LF's in Calendar location
and description, and Events including them won't sync back to
the server
* Create a utility to replace bare LF's with CRLF and write
unit test for the utility
* Fix the bug by using this utility

Bug: 2542220
Change-Id: I2c72d23f15e3a922ebe3585e063abe9fa9e2366f
tility.java
fe61f358ab67cac2aa454a6dd3ea6bbf876e343c 24-Mar-2010 Makoto Onuki <omakoto@google.com> Moved fromUtf8 from TestUtils to Utility.

And cleaned up SimpleIcsWriter.toString().

Change-Id: I383d91256c48be5263c695c8e8dd151d0e95d0a6
tility.java
20c067c67c23e81a282cf89440055d4506e37476 20-Mar-2010 Makoto Onuki <omakoto@google.com> Show a calendar invitation icon on message list.

Bug 2522928

Change-Id: Ib29c7ee187cb0d864849b83693906b0a3b490734
ctivity/MessageList.java
22d29c67dacf4e8155a588d59815f1f97ecf0588 19-Mar-2010 Makoto Onuki <omakoto@google.com> Fix potential NPE with restoreMailboxWithId().

There are a few places where we don't do the check in restoreMailboxWithId,
but they don't look trivial enough for me to fix.

Bug 2530534

Change-Id: I77b37a87ef108048077f14c1e8a3457ee494100a
ontroller.java
ctivity/MessageList.java
e3fbaf56e859888bb219d42f850a36c7392bca53 19-Mar-2010 Marc Blank <mblank@google.com> Merge "Handle EAS versions better"
caba6df302ac4d81674c5a2def5579cd47696bf5 19-Mar-2010 Makoto Onuki <omakoto@google.com> Removing litter.

Change-Id: I96bc07a6af1de57334e936879febadb51e3c125d
ctivity/AccountFolderList.java
e4cd885ec42d8f2f642b1b8c9b2740ca666b6075 19-Mar-2010 Marc Blank <mblank@google.com> Handle EAS versions better

* Properly parse the server's supported versions
* Choose the highest server version that we support
* Fail with MessagingException if we don't support any server
versions

Bug: 2527408
Change-Id: I0a2822c8fab31a65c8fea9b78b4a8c23df1804a3
ail/MessagingException.java
7cda118d3547695202b4ed051323671ba7afe2a7 10-Mar-2010 satok <satok@google.com> Extract delete acount function from UI thread to async task

BUG: 2474078
BUG: 2438333
Change-Id: Id9aac4c73064f05aa666cda26005b61c04fc262e
ctivity/AccountFolderList.java
ctivity/AccountFolderListItem.java
f7da371234fd35ecca11d1087e21170a0135c781 19-Mar-2010 Jim Shuma <jshuma@google.com> Merge "Add "vibrate when silent" mode to notifications"
9e2ddca59d048fc9ac55278b193ee36b330a7981 17-Mar-2010 Jim Shuma <jshuma@google.com> Add "vibrate when silent" mode to notifications

* Add "vibrate when silent" choice in UI
* Add storage for it in Email's provider. Existing accounts default to
their current settings (always vibrate / never vibrate).
* Respect new mode when notifications are posted
* Updated existing unit tests

Bug: 2457183
Change-Id: I5c933ac39dbef8b2028255f330e0b084a445421a
ccount.java
egacyConversions.java
ecurityPolicy.java
ctivity/setup/AccountSettings.java
rovider/EmailContent.java
ervice/MailService.java
aadee36a34395fe2b97c03eb39be24287ed6ad65 18-Mar-2010 Andrew Stadler <stadler@android.com> Merge "Eliminate duplication in Yahoo! sent mailbox"
c4fcd852ba2437645afa5c90dcbac8a66e8dbf25 18-Mar-2010 Andrew Stadler <stadler@android.com> Eliminate duplication in Yahoo! sent mailbox

* Yahoo! is not supporting search by UID so I can't identify the new
the UID after I upload. This inability to correlate the local and
remote messages means that we wind up syncing the same message back
down, in a loop, which spawns more messages.
* Yahoo! has partial support for UIDPLUS, and reports the new UID when
I append (upload) messages.
* Modify IMAP parser to parse response lists
* When APPENDUID is reported, use it (and skip the search)
* Modify the few other existing users of response lists to use the
parsed versions instead. Provided a couple of lightweight utilities
to make it easier to work with ImapList.
* Unit tests for most of it.
* Optimization: share a static date/time parser for all IMAP connections

Bug: 2448220
Change-Id: Ic10fc1a195ccf4671a498188cc8b17848c8d9df7
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
f223af13927b4f9012451e179631d6ef7897e632 18-Mar-2010 Andrew Stadler <stadler@android.com> Merge "Clear notifications when deleting accounts"
6d55bb08fd5b703cf74771fd7f11b90e5e160187 18-Mar-2010 Andrew Stadler <stadler@android.com> Merge "Fix cases of attachments with no name"
7d738cb7e89353c51c567e466a135b54337f310d 18-Mar-2010 Andrew Stadler <stadler@android.com> Fix cases of attachments with no name

* Most clients send name= in the content-type, but a few clients
send only filename= in content-disposition.
* There was code to handle both cases, but due to two typos, it didn't
work.
* Most easily reproduced by sending from hotmail/live web client.

Bug: 2366961
Change-Id: I1d9a00b9b5fd1094cfb8566c3248d94286a8ae91
egacyConversions.java
cb98193f85faddf96bd8b9ad39ef961e50bd2505 18-Mar-2010 Andrew Stadler <stadler@android.com> Clear notifications when deleting accounts

* Quick fix for the bug that notifications may be stale after
and account is deleted.

Bug: 2202317
Change-Id: I950d173d20dee443b03b40ee04618afb98a95f38
ctivity/AccountFolderList.java
a29495c03cb9579afde122b5f27a5b5908613723 17-Mar-2010 Makoto Onuki <omakoto@google.com> Merge "Add a flag to dump email messages."
dfeb1184ebf6c59fc6e617149e03edb73b7e0df7 17-Mar-2010 Makoto Onuki <omakoto@google.com> Add a flag to dump email messages.

It's useful to debug MIME related problems.

- New MimeStreamParser.LOG_MESSAGE flag
- Cleaned up LoggingInputStream, which now supports all InputStream methods
(e.g. close, available, etc.) properly.
- LoggingInputStream now dumps non-printable ascii chars as '\xXX'.

Change-Id: I4391e125abd418defc1dc21e4f35cf6ef8448acb
tility.java
ail/transport/LoggingInputStream.java
0ed690bfb4fdfa86cb6f75c19e24b8ff39a1756c 16-Mar-2010 Marc Blank <mblank@google.com> Send meeting invite mail as multipart/alternative

* Turns out that Exchange 2003 requires the ics attachment to be in a
multipart/alternative, rather than a multipart/mixed MIME message
* Exchange 2007 accepts both types
* Therefore, we change our output for this particular situation, i.e.
a single attachment that is an ics file, to multipart/alternative
* Rename FLAG_SUPPRESS_CONTENT_DISPOSITION to FLAG_ICS_ALTERNATIVE_PART
and make this flag do double duty - 1) suppress the Content-Disposition
header (also required by Exchange) and 2) send the message as
multipart/alternative
* Add unit tests for Rfc822Output to check that mime parts are composed
properly

Bug: 2516394
Change-Id: I60e26f57b8ecaf01d0340e7828533334e0e7d45a
ail/transport/Rfc822Output.java
rovider/EmailContent.java
e281ebc4e2b69ded38e4448c07ca62031553a010 15-Mar-2010 Mihai Preda <preda@google.com> MessageView: reject early invalid messageId.

Bug 2507898

Change-Id: I13148c49d9ad5ddfcf7a757e11651762fc8d1922
ctivity/MessageView.java
88a94bca1922615564e70a27bb6ae72bca487c75 16-Mar-2010 Makoto Onuki <omakoto@google.com> Exchange calendar: fixes for the ICS writer.

- Now SimpleIcsWriter does the UTF-8 conversion, and folds lines according
to the number of bytes in UTF-8.
- It now escapes special chars in TEXT values. You can safely put , ; \ or
line breaks. in summary, location, and description.
- Quotes all CN. (leftover from Ibb8f155a)
- Replace "s in CN with 's (rather than removing them)

Bug 2508283
Bug 2515768

Change-Id: Ibdced53ee32bba950608d63f507b11b24eaad7b0
tility.java
ad809fd7441d72e8cde7a9e68f5c8b8e7e8c871d 16-Mar-2010 Marc Blank <mblank@google.com> Send appropriate response email when reply from MessageView

* The code was hard-wired to accept (ancient placehold code)
* Send code that depends on the user's actual response
* Rename inappropriately named method in Controller

Bug: 2515961
Change-Id: I8985a3206fc8c4498521b08806a1093abaf4a42c
ctivity/MessageView.java
26b4b47fb3762eece2336d718662f2c1f31e41ab 16-Mar-2010 Andrew Stadler <stadler@android.com> GAL UI cleanup work (in progress)

Provider:
* Move UI (e.g. separator) out of provider, create it entirely in adapter
* Remove timestamp based disambiguation (TODO throttling some other way)
* Add cursor "extras" to report total # of results on server
UI:
* Rewrite background-foreground threading to be more efficient and
signal changes back to UI by calling notifyDataSetChanged())
* Separator strings per Rich's UI (not using real strings yet)
* Remove link back to AutoCompleteTextView

NOTE: There's a bug in ACTV that is causing the window size not to
change properly on notifyDataSetChanged(). Framework team to investigate.

Bug: 2249514
Change-Id: I183b200dcdaa268f0612d2de6442db28e1491d40
ctivity/MessageCompose.java
e2c56fc88c2357892d894a9ff4d6eccd059a5a01 13-Mar-2010 Andrew Stadler <stadler@android.com> GAL support

* Provides GAL autocomplete in email address fields in message composition.

General TODO list:
UI: Implement divider in adapter, not in GAL provider
UI: Use listview_separator for divider
UI: Clean up strings, move all to resources
UI: Only have one GAL lookup in flight at any time
UI: Unit tests

GAL: Use side channel for status, not a row
GAL: Shorten timeout for interactive GAL lookup
GAL: Make watchdogs work
GAL: Figure out why some calls never return (conn pool exhaustion?)
GAL: Unit tests

Bug: 2249514
Change-Id: I513e25628bc2f5ed0920e0ee509cd598b1817b3a
mailAddressAdapter.java
mailAddressValidator.java
ctivity/MessageCompose.java
20225d57609d6a5e482c088fdad60c29212d31a0 12-Mar-2010 Makoto Onuki <omakoto@google.com> Explicitly send ICS files in UTF-8.

- In memory attachments are now stored as byte[], not String.
We can store any type of contents now.
- Added blob content_bytes to the Attachment table.
The content field is now deprecated and not used.
- Explicitly convert ICS files to UTF-8.

- Added Utility.to/fromUtf8().

Bug 2509287
Change-Id: I3785a365a9a34039ec12ba82bd857dcdbc4de92d
tility.java
ail/transport/Rfc822Output.java
rovider/EmailContent.java
rovider/EmailProvider.java
b7fe21676ec46ce98e88bc181fc82a18e882236a 13-Mar-2010 Marc Blank <mblank@google.com> Prevent multiple calls to onDone() in AccountSetupOptions

* When "Done" is pressed in AccountSetupOptions and the Account is
EAS, the finish() isn't called until an async method's callback
is invoked (system account creation)
* This allowed the user to execute onDone() multiple times, each
one of which would attempt to create an account
* The net effect was the referenced bug, which can manifest in a
number of ugly ways
* The fix is to prevent multiple calls to onDone()

Bug: 2501574
Change-Id: I61057bbb8c1f85da07e83ed6c56474bfe4e23f6c
ctivity/setup/AccountSetupOptions.java
319155a06124a590593f313980ab4de14dc5b619 11-Mar-2010 Andrew Stadler <stadler@android.com> Merge "Follow-up to MimeMessage efficiency improvements."
dfd53b0e821a6c48f128f62566066876a063fed6 11-Mar-2010 Andrew Stadler <stadler@android.com> Follow-up to MimeMessage efficiency improvements.

I missed a case where message-id should not be set locally, which is
the case where the Mime parser clears all headers *and* does not find
a message-id. The parsed MimeMessage should accurately reflect this.

In the old code, the local id was created at construction time and then
immediately discarded by the parser (calling headers.clear()).

In the new code, I was generating a message-id any time I couldn't find
one. Now, when explicitly cleared or removed, I set a boolean to inhibit
automatic generation of a new one.

I also missed the fact that a missing message-id no longer throws an
exception, it simply returns null, and so I changed the code that was
catching that exception to simply check for null.

(Note: Clearly, modeling of legacy behavior is becoming annoying here;
It would be better to do away with all of the automatic logic, and simply
generate message-id locally when appropriate: On locally-generated
messages. I don't want to touch this for the current release, but I left
a note in the code to this effect.)

Bug: 2504774
Change-Id: Ibfcbd2363c7ae39ee6d44e4c3295f88258cb4945
egacyConversions.java
ail/internet/MimeMessage.java
69ade70f2d0857f4eadae97734ee8891e77895cb 08-Mar-2010 Makoto Onuki <omakoto@google.com> Log recent network activities when IMAP parser crashes.

Added DiscourseLogger, which stores last N (currently 64) lines of IMAP
commands sent to the server and responses received from the server.

We dump it to logcat when the IMAP parser crashes, that is, a) getting a
RuntimeException in ImapFolder.fetch() or b) getting a Runtime/IOException
in ImapResponseParser.

Bug 2480227

Change-Id: I6b5a728a7df106627ec29bb3c7c04a97a99b444b
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/transport/DiscourseLogger.java
44552da606048720de11f89321dc767ef291c391 10-Mar-2010 Andrew Stadler <stadler@android.com> Reduce memory overhead in Message and MimeMessage

Message and MimeMessage were creating a lot of unnecessary sub-objects
even when not needed, so do a bunch of lazy initialization. This should
raise the bar on the size of gigantic inboxes giving us trouble.

* Specific optimizations:
* Replace date formatter with a shared static
* lazy create mHeader (ArrayList)
* lazy create mFlags (HashSet)
* optimize MimeHeader fields class
* lazy create local message-ID (expensive-to-make uuid String)
* make message-id string less expensive to create
* Other cleanups:
* add some override annotations
* privatize some members
* update a fragile test (not a deep fix, it's still fragile)

Side effect, should be faster too.

Bug: 2357564
Bug: 2093422
Change-Id: I8a873879d402e2662339d5398ad0b15da6e580e9
ail/Message.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/store/ImapStore.java
ail/store/LocalStore.java
01164908ae394a6bc6df8bf030fc92c6009644b7 09-Mar-2010 Andrew Stadler <stadler@android.com> More work on upgrade accounts

* Locally-deleted POP3 messages are handled properly
* Clean up remaining notes about attachments - code is complete
* Add explicit database close calls.
* Measures to prevent early exit or restart (e.g. by monkey):
* Disallow 'back' key
* Synchronize the main worker, and early exit if not first-and-only
* Fix flicker at end of conversion

Bug: 2065528
Change-Id: Id2990183624ff1f062285a13e29f983cbb1c5e1f
ctivity/UpgradeAccounts.java
ail/store/LocalStore.java
8b8145ebd377cf6efba3fc82eb1497111889cc16 09-Mar-2010 Mihai Preda <preda@google.com> Merge "MessageCompose: when loading message, wait for save to finish."
fd249f61dd9c5fd1e7e0abffcb09b9e285d82bae 08-Mar-2010 Andrew Stadler <stadler@android.com> More work on account migration

* Split account copy loop to do POP3 accounts first, then IMAP
* After upgrading accounts, upgrade folders
* Upgrade messages in those folders
* Preserve attachments on outgoing messages (e.g. drafts)
* Enable composer and start syncing after upgrade
* Fix latent bug in LocalStore (which was not used in Eclair)
* Add tests for upgrade workers in LegacyConversions

Bug: 2065528
egacyConversions.java
essagingController.java
ctivity/UpgradeAccounts.java
ail/Address.java
ail/store/LocalStore.java
c556b6bfe58560ba910cece51f3897ed5c85c027 05-Mar-2010 Mihai Preda <preda@google.com> MessageCompose: when loading message, wait for save to finish.

Bug 2465675

Change-Id: I3290c676bbe63db8441a8f6d320d798abc2fcde5
ctivity/MessageCompose.java
c133e6f1858e33fabaa6ffa173c1402bf9a98e31 06-Mar-2010 Makoto Onuki <omakoto@google.com> Fix for Account.isValidId() crash when getting -1.

Bug 2493026
rovider/EmailContent.java
989552c10744e2d7f8fca1bdb2baef5273a8a0b9 02-Mar-2010 Mihai Preda <preda@google.com> Move parseDateTimeToMillis() to com.android.email.Utility.
tility.java
ctivity/MessageView.java
a3cfdd2f3c2ae0ec2f9a675bd4c43c939f57a49f 04-Mar-2010 Andrew Stadler <stadler@android.com> Merge "Continuing work on account migration"
9f73249031303856670651305adff255a00918b7 04-Mar-2010 Andrew Stadler <stadler@android.com> Continuing work on account migration

* Prune all folders, messages & attachments that won't migrate
* Clean up SSL/TLS values for better connection results & security
* Move account setup lookup code to AccountSettingsUtils to share it
* Cleanup config/auto-rotation settings to prevent relaunch of
auto-discover or account check (from exchange).
* A couple of other very small fixes

Bug: 2065528
endorPolicyLoader.java
ctivity/UpgradeAccounts.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ail/store/LocalStore.java
652be6fb3d04a4ceba6b765cd3160cdaef9e6107 03-Mar-2010 Makoto Onuki <omakoto@google.com> MessageList: Go to Welcome if account not found.

If the account specified with an Intent doesn't exist, show the Welcome
activity instead, which will navigate the user to the appropriate activity.
(e.g. account list if there're more than one account)

Bug 2479609
ctivity/MessageList.java
rovider/EmailContent.java
678ab2c780114a935b4802a69e4852956503c2e4 04-Mar-2010 Makoto Onuki <omakoto@google.com> Merge "Store UUID instead of _id in desktop shortcuts."
e37881aac562c066e6e666349749e40b7c116a21 02-Mar-2010 Makoto Onuki <omakoto@google.com> Store UUID instead of _id in desktop shortcuts.

- Because AccountBackupRestore won't preserve _id.
- Now MessageList accepts both Donut(1.6)-style URIs and Eclair(2.0-2.1)-style
URIs.

Bug 2479609
ctivity/AccountShortcutPicker.java
ctivity/MessageList.java
rovider/EmailContent.java
ervice/MailService.java
a597b59f4619f6112c4625d4960726b82af66cbf 01-Mar-2010 Mihai Preda <preda@google.com> MessageView: invoke calendar for EAS meeting invitation.
ctivity/MessageView.java
777dbe5999fd9fea1ed00d6faa59dfd5be7af322 19-Feb-2010 Mihai Preda <preda@google.com> MessageView: use WebView setBlockNetworkLoads().

Instead of setBlockNetworkImage, for security reasons.
Bug 2440315.
ctivity/MessageView.java
29c38d2c84273851282ae3c799f5bf1845202065 26-Feb-2010 Marc Blank <mblank@google.com> Send cancellation email when user-created event is deleted

Bug: 2465496
Change-Id: I49bf9951e816a4500b7622cbca84fb75edfdb76c
rovider/EmailContent.java
726a9fcef3963d8b6f09105e802a8377fbdb567a 24-Feb-2010 Makoto Onuki <omakoto@google.com> Ignore FETCH responses that don't have UID.

We've observed that the secure.emailsrvr.com email server returns an excess
FETCH response for a UID FETCH command. Excess responses don't have the
UID field, even though we request, which led the response parser to crash.

This patch fixes it by making the parser ignore response lines that don't
have UID.

Bug: 2441065
ail/store/ImapStore.java
6d0016229adc13fefe68820fe4d6e46f530952ba 27-Feb-2010 Dianne Hackborn <hackbod@google.com> Move DeviceAdmin APIs to android.app.admin.
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
c18f8f615f134a2b391d06e2d8d49434a8bb94e5 24-Feb-2010 Makoto Onuki <omakoto@google.com> Enable calendar sync for Exchange accounts when upgrading.

On the first boot after upgrade from Eclair, enable calendar sync for all the
existing Exchange accounts, if any, and show notification.

Note on this version, nothing happens when you click on the "Calendar added"
notification. We're waiting for an API (action or something) to launch
calendar.

Bug 2428718
xchangeUtils.java
neTimeInitializer.java
ervice/MailService.java
794f29176d49fa89847e5135fc27d4f86d67faa0 24-Feb-2010 Mihai Preda <preda@google.com> MessageView: EAS calendar meeting invite answer buttons.
ctivity/MessageView.java
cb95fbe13554ee6b4e46d9fd3bcd983e09a688cb 26-Feb-2010 Andrew Stadler <stadler@android.com> Send CAPABILITY to all IMAP servers

* Send CAPABILITY to all servers, not just when we check TLS
* Feed capabilities into IMAP ID generation
* Unit tests updated

Bug: 2332183
ail/store/ImapStore.java
4c868ce21fbd5cd5adf14eee7f2c7e01359eeece 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Update to reflect android-common no longer in framework.
ctivity/MessageView.java
89be77eaea65211fea0ca32efd538318c7e049b3 23-Feb-2010 Marc Blank <mblank@google.com> Send replies to exchange meeting requests

* When the user selects accept/decline/tentative in MessageView, we now send
an email to the organizer, with an iCalendar attachment indicating the reply
* Added a unit test for the reply case, but more tests to be added to handle
other circumstances

Change-Id: Iff799d88a92b6546735bf4965b22febf3a82b56f
ail/MeetingInfo.java
438dfe64ec2cccbd929edb74c7436851dacfce56 23-Feb-2010 Marc Blank <mblank@google.com> Fix visibility of meeting invite controls

* Was checking for any meeting related email
* Changed to look specifically for incoming meeting invites
* Bug noticed during debugging

Change-Id: I8f43d7a506939dbfc0504f96b249e5c17107bf47
ctivity/MessageView.java
ec88f04deec5065ee521ee56684a6b804ee8edbd 23-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Patch for issue 2363606: Make EAS sync window default 3 days."
6854a4f24a0e93547fc7785553b7f53878a76e08 23-Feb-2010 Makoto Onuki <omakoto@google.com> Patch for issue 2363606: Make EAS sync window default 3 days.
ctivity/setup/AccountSetupOptions.java
rovider/EmailContent.java
3b97e1769a623d6eef59981e7ab6193962e90e1a 23-Feb-2010 Marc Blank <mblank@google.com> Merge "Fix #2443881 (Don't display User name field for EAS account)"
5afa18779138e08d6e6cce8b5f428475f8a0b4b1 23-Feb-2010 Andrew Stadler <stadler@android.com> Create a PackedString utility class

* We can use this for meeting request information which will start out with
one or two pieces of information, but might grow in the future.
* Binary compatible with Address.pack() format, so we can eventually
combine code.
ail/PackedString.java
0faa9881dc45a8ae2203b4da4ae7aeaf32fe2b77 23-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Don't use hidden APIs"
3aaba9eb87db34ea0861d70d5c08f84d7ca97ab0 22-Feb-2010 Andrew Stadler <stadler@android.com> First part of Exchange meeting request/reply implementation

* Added two columns to Attachment in EmailProvider
content: content that is written directly as an attachment
suppressDisposition: to suppress the content-disposition header
All meeting invitation emails use these two columns; the first
for ics attachment data (which is quite small, rarely over 1k),
and the second to indicate NOT sending the content-disposition
header; without this, Exchange will consider the ics as an
attachment rather than an iMIP style message (rfc2447)
* Modified tests to include these columns; added upgrade code for
new database version
* New columns and code are designed to be usable outside Exchange,
although there are no other clients of the code at this point.
* Modified Rfc822Output to use the content field, if present, in
lieu of retrieving attachment data via URL; added support for
suppressing the Content-Disposition header
ail/transport/Rfc822Output.java
rovider/EmailContent.java
rovider/EmailProvider.java
8068c99945661c7a32d3ae45e3a630d165fa2e3f 20-Feb-2010 Makoto Onuki <omakoto@google.com> Don't use hidden APIs

- The entire android.pim package is hidden.
Use java.text.ParseException instead of android.pim.DateException.

- TelephonyManager.getDefault() is hidden.
Use Context.getSystemService() instead.

- Use newly added Base64 in the framework.

Bug 2226160
ail/store/ImapStore.java
5b46171b83d6a92d6cc84db24fb8815d4f8aa50c 20-Feb-2010 Marc Blank <mblank@google.com> Fix #2443881 (Don't display User name field for EAS account)

* Make the field and label GONE for EAS accounts
* Enable the "Done" button at all times for EAS accounts
* Add test case for this, and clean up bad formatting in tests

Bug: 2443881
Change-Id: Ic80b001e443fa37b7cfeb810b1f31edf22b065b9
ctivity/setup/AccountSetupNames.java
263f9bfcfb7accc6aafe29189e670ac8e4a2503e 18-Feb-2010 satok <satok@google.com> Tiny fix of updateListPosition in MessageList
ctivity/MessageList.java
13253154c2658c80bf1149044238b27a5ff2ca14 18-Feb-2010 Satoshi Kataoka <satok@google.com> Merge "Show hidden message when the pop-up menu is shown."
4ae83c58b3e136b4b1e859ee304ad1b332e9597f 17-Feb-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2420412: API review: DeviceAdmin API changes
ecurityPolicy.java
1575e7860d2259f1aed201ab23d526cddf787365 15-Feb-2010 Mihai Preda <preda@google.com> MessageCompose: fix delete quoted on reply/forward for EAS.

Also fix display of quoted html text for a draft (Exchange 2007).

Bug 2363249
Bug 2444496
ctivity/MessageCompose.java
rovider/EmailContent.java
820d4830cc594a68c4e324b36e7338f5ba41fc52 17-Feb-2010 satok <satok@google.com> Show hidden message when the pop-up menu is shown.

Bug: 2239403

- added animation listener
- change the position of a message when the message is hidden by the pop-up menu.
ctivity/MessageList.java
5cb0ccc25b91c815f6fb19f63aec8a613fe03ed1 17-Feb-2010 Andy Stadler <stadler@google.com> Merge "Placeholder invite-accept UI"
643ca675b6226508a41e186c4b49273dcda9c3fc 17-Feb-2010 Andrew Stadler <stadler@android.com> Placeholder invite-accept UI

This is a lightweight placeholder so calendar functionality can be
tested. Simply presents a message about the invitation, and a set of
yes/maybe/no buttons to click.

The UI is shown whenever the message appears to contain an invite.

There are many elements left to be done here:
TODO: response code (EAS protocol) doesn't seem to work
TODO: use real assets & design
TODO: provide a click-link into calendar event
TODO: show calendar icon in messagelist too
TODO: (if possible) persist user's response in button state?
ctivity/MessageView.java
ea1eb7a231139db7d1a20771d074ebb2dc872761 17-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Use SSLCertificateSocketFactory to generate "insecure" ssl socket."
c5912e4920bb4fa1979d63d47e7f430e87e3820f 17-Feb-2010 Makoto Onuki <omakoto@google.com> Use SSLCertificateSocketFactory to generate "insecure" ssl socket.

Use SSLCertificateSocketFactory.getDefault() to get an SSLSocketFactory
which performs SSL certificate checks, and getInsecure() to get one
which doesn't (for "accept all certificates").

Bug 2226160
ail/store/TrustManagerFactory.java
ail/transport/MailTransport.java
ail/transport/SSLUtils.java
af55e3e436991fde91cdc80efe2786eb8f509d15 16-Feb-2010 Andrew Stadler <stadler@android.com> Respond to loss of device admin status

If the user revokes device admin status, reset our internal state and
the state of any accounts that might have been depending on it. This
halts syncing immediately and rewinds the security/provisioning state
of any such accounts to a known state (as if the account had just been
created.)

Bug: 2387961
ecurityPolicy.java
70859ecb4e8291e071c40689a2ee9f2cec4b400c 16-Feb-2010 Marc Blank <mblank@google.com> Merge "Add meetingInfo column to Message; use for meeting invites"
4006e5fc224d097450fd66a321901b6636f7d9c4 16-Feb-2010 Marc Blank <mblank@google.com> Add meetingInfo column to Message; use for meeting invites

* Added a meetingInfo column to the Message database
* When a meeting invite is received, the start time is stored here
in ms from start of epoch. Note that this field is defined to be
a String, for extensibility
* Update ProviderTests

Change-Id: If44892d27ccc5ebdc1f8667befafb8b8a27a2cf4
rovider/EmailContent.java
rovider/EmailProvider.java
33c972e0c62e474d2b2f5a293b92893cac0ea47a 15-Feb-2010 Doug Zongker <dougz@android.com> use the framework Base64 instead of android-common

Change-Id: Ib4f75f66fe8acb1bb5de614bb10e8c938b1d27ef
tility.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
dffe2f486d9c6e12255830372597b5d9ff7bfc49 15-Feb-2010 satok <satok@google.com> Make "Message deleted" be plural

Bug: 2264751
ctivity/MessageList.java
ctivity/MessageView.java
c1cea617cc6fa1e4525af3b81a9bc5f2813f57c4 14-Feb-2010 Satoshi Kataoka <satok@google.com> Merge "Add Signature to Email Composer"
672ffc00009dff5824cca775c37fc69c535f5eda 13-Feb-2010 Marc Blank <mblank@google.com> Merge "Handle calendar sync state changes by observing Calendars; cleanup"
694257cb7e7a191b3314cb209b6c38a8a07583ef 12-Feb-2010 Marc Blank <mblank@google.com> Handle calendar sync state changes by observing Calendars; cleanup

* Use a content observer to detect changes in Calendars; we use this to
determine whether or not sync has been turned off. If sync is turned
off, all events will be deleted, so we need to reset the sync key
* Make sure that all code working on Contacts also now works on Calendar
(push, etc.)
* Remove some old crufty logging and out-of-date comments
* Addresses 2433061

Bug: 2433061
Change-Id: I6299168903fcce9bf820b72b5f6bb157d9169653
rovider/EmailContent.java
2a41aa538fe682b1f5dc1dff1ebe3a81c6644193 04-Feb-2010 satok <satok@google.com> Add Signature to Email Composer

Bug: 1323618

- Add signature to the message
- Set selection just after the message
- Add tests for signature
ctivity/MessageCompose.java
5f32e2d31f5839081de1f9ee78b4c8b06d5c1150 13-Feb-2010 Jeff Hamilton <jham@android.com> Don't use hard coded package names.

Change-Id: Id65967a87afa969f5410f4fdee058d450776a32e
ervice/MailService.java
1a67f06829f46dc59cca0c38325ab1cba335ecfd 12-Feb-2010 Doug Zongker <dougz@android.com> use platform common Base64InputStream

Change-Id: Iebdaf61cd2183c20362052ec39122bf42b23c7b9
ail/internet/MimeUtility.java
ba714999f24697161f1ecd68199c3b330ea64ab9 10-Feb-2010 Doug Zongker <dougz@android.com> finish replacing Email's base64 implementation with android-common

Change-Id: I19adbbb884311d70073e9f7a961aa6808ac0dfb4
odec/binary/Base64.java
odec/binary/Base64OutputStream.java
odec/binary/DecoderException.java
odec/binary/EncoderException.java
ail/internet/BinaryTempFileBody.java
ail/store/LocalStore.java
ail/transport/Rfc822Output.java
b052885ea3625469970c4b4ea724ebd10ebed2c0 10-Feb-2010 Mihai Preda <preda@google.com> Email: husky title for MessageList & MailboxList.

Bug: 2419716
ctivity/MailboxList.java
ctivity/MessageList.java
842ac048287480e438a4049e95d6cbe116d9f31f 11-Feb-2010 Andrew Stadler <stadler@android.com> Legacy account migration

* Create new activity to encapsulate account upgrade
* Populate it with a list of legacy accounts, and progress bars for each
* Sidestep Welcome when there are legacy accounts to convert
* Super lightweight account migration:
- Account login info only
- no folders, messages, or attachments
* Scrub out old data
* Return to Welcome screen

As noted, the copies working (useable) POP & IMAP accounts, but does
not try to deal with folders, messages, or attachments.

Bug: 2065528
ccount.java
egacyConversions.java
ctivity/UpgradeAccounts.java
ctivity/Welcome.java
ail/store/LocalStore.java
d71d0b223a5cd02e2a8f1ec5c3f8cebab170d65f 10-Feb-2010 Andrew Stadler <stadler@android.com> Force security activation after new account create

On new accounts, we can accelerate the process of setting up security
by explicitly checking (at the end of the security process). The user
is not required to "answer" the asynchronous notification.

This is an imperfect solution, as a slow initial sync could leave the
user in a non-synced Inbox (with a notification waiting for them), but
we can come back to this after we evaluate real-world performance.

Bug: 2387961
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
ctivity/setup/AccountSetupNames.java
50d1610c43c70039e9a02b862ec43cd6ee3d7906 09-Feb-2010 Andrew Stadler <stadler@android.com> Relax device admin policies when accounts deleted

If an account is deleted, immediately recompute the aggregate
security policy, and apply it immediately.

When applying policies, handle "no policy" case by releasing device admin
status entirely.
ccountBackupRestore.java
ecurityPolicy.java
ctivity/AccountFolderList.java
34716bb6f96cbc1161feb3d7161c7f979d33d573 09-Feb-2010 Andy Stadler <stadler@google.com> Merge "Rewrite notes to acknowledge wipe-after-bad-passwords"
5893e9e008d46cf4be0c7f709a6e77e2652c3ddd 09-Feb-2010 Andrew Stadler <stadler@android.com> Rewrite notes to acknowledge wipe-after-bad-passwords

It turns out that we have already implemented the built-in version of
local-wipe-after-failed-passwords, and the notes about it were not
necessary.

It should be possible to connect to an account with local wipe
requirements and see proper operation.
ecurityPolicy.java
0f42334af2510cbfa9f6bc8645596f7819fdb75f 09-Feb-2010 Doug Zongker <dougz@android.com> Merge "replace Email's private base64 class with one from android-common"
f44a40cda14a49d5b02636a3a8a8b2eb8c23fc00 08-Feb-2010 Doug Zongker <dougz@android.com> replace Email's private base64 class with one from android-common

Convert all usages of com.android.email.codec.binary.Base64 to use
com.android.common.Base64 instead, except for Base64OutputStream
(which doesn't exist in android-common yet).

Change-Id: I339a1f451245138187080c7444fcabef8d13f8aa
tility.java
odec/binary/Base64.java
ail/internet/TextBody.java
ail/store/ImapStore.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
2a5eeea9213005060256054ec773e72406415ce4 09-Feb-2010 Andrew Stadler <stadler@android.com> Adding security hold flag to accounts

* Add hold flag to Account flags
* Add code to set it (when EAS reports policy failure)
* Add code to clear it when we see changes from the device admin side
* unit tests

This should be sufficient to restart sync of an account which is on hold
due to security policy requirements. Note, this is considered a "retry",
and if the account still does not meet requirements for some reason, it
is expected that EAS sync will call policiesRequired() again.
ecurityPolicy.java
ctivity/setup/AccountSecurity.java
rovider/EmailContent.java
f3332ddac8a32bef0e0316de18429fbf171ad75a 08-Feb-2010 Marc Blank <mblank@google.com> Merge "Additional work on EAS security"
37658316f96a7f62a334d1b844f5080cccdd9dbb 04-Feb-2010 Marc Blank <mblank@google.com> Use a single account color resource table; add convenience methods

* The color chip resource table was duplicated in three files
* Move these into a common location in Email.java and add
convenience method for retrieving color chip resource id based
on accountId
* Simplifies future changes to account color selection
* Add RGB color information on these resources (provided by
rfulcher) and add a convenience method for retrieving these

Change-Id: If1c2d22fba91cfce46a2618cd2b73cf7a534ce51
mail.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
09b45fdcffd7fc4e5ef2ac498576d713eaf2c3db 07-Feb-2010 Marc Blank <mblank@google.com> Additional work on EAS security

* Add more final plumbing for exchange security
* If policies are supported, we now check to see if they are active;
if so, we acknowledge this to the server, after which we are given a
final policy key which can be used for syncing

Change-Id: I5992c790294e35b5ec5343c7665e2e7fd31a75ca
ecurityPolicy.java
ervice/EmailServiceStatus.java
3d2b3b3b3554be2ac23d9a49fee00faa9693e857 05-Feb-2010 Andrew Stadler <stadler@android.com> Logic to move phone into security-admin mode

* Create notification to display when syncs fail due to security
* Create psuedo-activity (no UI) to manage device admin state transitions
* Clean up and flesh out SecurityPolicy APIs'
* Add placeholders in EasSyncService showing how to react when policies
are not met and sync cannot continue.

Note: There are some STOPSHIP todo's at the top of SecurityPolicy.java.
These should explain any code that you might think is "missing".
ecurityPolicy.java
ctivity/MessageList.java
ctivity/setup/AccountSecurity.java
ervice/MailService.java
a1550678af6a22a18ac0c9066105e1f101a545a5 05-Feb-2010 Andrew Stadler <stadler@android.com> Integrate policies into account setup process

* Rename SECURITY_POLICIES_REQUIRED to SECURITY_POLICIES_UNSUPPORTED
* Create new pathway for SECURITY_POLICIES_REQUIRED, making it advisory
* Cleaned up strings for account setup error dialogs
* Refactored AccountSetupExchange.onActivityResult() to split up the
three primary use cases, making them more readable.
* Always finish() in AcccountSetupAccountScreen, because it's usually
cleaner to return to the previous screen (enter username & password).
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ail/MessagingException.java
a1c997a2b6de19a4d397d9e14c0c3d91669d6b47 04-Feb-2010 Marc Blank <mblank@google.com> Add calendar sync checkbox to account settings screen

Bug: 2414157
Change-Id: I60ead139552f3e7c86b113f8b8b10ef3cf57abbf
ctivity/setup/AccountSettings.java
d9080ed32eba3092b21633f269ec4b71faf93a34 02-Feb-2010 satok <satok@google.com> Add UI for Signature in Email Application

Bug: 1323618

- changed summary of signature to show hint if signature is not set
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsUtils.java
rovider/EmailContent.java
91237e9dcb0a948f17488b464edabcea0f259d31 03-Feb-2010 Makoto Onuki <omakoto@google.com> Adding script for building Email app without exchange.

remove-exchange-support.sh makes it possible to build the email app without
exchange support.

This script:
- removes all packages under com.android.exchange.
- removes all lines surrounded by EXCHANGE-REMOVE-SECTION-START and
EXCHANGE-REMOVE-SECTION-END

And the resulting source should still build and run fine.

Bug: 2369784
ccountBackupRestore.java
mail.java
xchangeUtils.java
ctivity/Debug.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ail/store/ExchangeStore.java
rovider/EmailProvider.java
ervice/EasAuthenticatorService.java
8bb0ee3b924f6b0e948733dacac3228f88bd50dc 03-Feb-2010 Andrew Stadler <stadler@android.com> Fix auto-discover / account verification logic

New behavior:
* There are two primary paths through this activity:
* Edit existing:
* Load existing values from account into fields
* When user clicks 'next':
* Confirm not a duplicate account
* Try new values (check settings)
* If new values are OK:
* Write new values (save to provider)
* finish() (pop to previous)
*
* Creating New:
* Try Auto-discover to get details from server
* If Auto-discover reports an authentication failure:
* finish() (pop to previous, to re-enter username & password)
* If Auto-discover succeeds:
* write server's account details into account
* Load values from account into fields
* Confirm not a duplicate account
* Try new values (check settings)
* If new values are OK:
* Write new values (save to provider)
* Proceed to options screen
* finish() (removes self from back stack)
* Added unit test for new loadFields method

Bug: 2412300
ctivity/setup/AccountSetupExchange.java
b854d05a89e1d2be7c3d3465727a90df1d289e30 28-Jan-2010 Makoto Onuki <omakoto@google.com> Change EAS authenticator's label according to the vendor policy.

Our original plan was to disable both authenticators by default, and enable
one of then on boot. However, it turned out existing exchange accounts will
be removed if there's no enabled authenticators for the account type.
So, instead, in this patch we initially enable only the default one, and switch
to the other one on boot if the vendor policy indicates so.

(If a device has a vendor policy apk, it should also have the email app
preloaded, so changing the label at boot time isn't too late.)

Bug: 2382710
neTimeInitializer.java
references.java
ervice/EasAuthenticatorServiceAlternate.java
130988e49da6b7eed2afebda7d3cff556f58f9f5 02-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Gather common exchange related methods into one place"
561e10d4c02d08884e7dbef56956ab5802a1d824 02-Feb-2010 Andy Stadler <stadler@google.com> Merge "Clean up exception handling in VendorPolicyLoader"
9fe51f632965f5d085ae45a1089c7c97dcec8881 02-Feb-2010 Makoto Onuki <omakoto@google.com> Gather common exchange related methods into one place

So that it'll be easier to remove exchange dependency.
ccountBackupRestore.java
ontroller.java
xchangeUtils.java
ctivity/Welcome.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupOptions.java
ail/store/ExchangeStore.java
ervice/EmailServiceProxy.java
049509d10edc97eb2439ecae24445c526ba4cfef 02-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Move Eas.ACCOUNT_MANAGER_TYPE out of the package."
a6e6dd096cf41e556ed8aa23cd18d0227e10ddd1 02-Feb-2010 Andrew Stadler <stadler@android.com> Clean up exception handling in VendorPolicyLoader

Per code review suggestions, clean up exception handling, and add
commentary to make intended behavior more explicit.

Followup to: 0434fef1f6706a0a6fc53b499f3e982f70d7142d
Bug: 2413388
endorPolicyLoader.java
0434fef1f6706a0a6fc53b499f3e982f70d7142d 02-Feb-2010 Andrew Stadler <stadler@android.com> Fix crash in VendorPolicyLoader

* Create unit test to reproduce crash
* Fix handling of empty bundle (the default return value)
* Clean up some exception handling in the policy module loader, which
reduces some unneeded logging.

Bug: 2413388
endorPolicyLoader.java
d62860821c2dbc14ab493b888cb129bd5addd53d 02-Feb-2010 Andrew Stadler <stadler@android.com> Additional SecurityPolicy functionality

* Begin wiring into system DevicePolicyManager requirements
* Semi-real implementations of isSupported() & isActive()
* Added new API (placeholder) updatePolicies()
* Updated existing unit tests as needed

Bug: 2387961
ecurityPolicy.java
ecb1af804144689d4ead96a247b565f9b4eb8160 02-Feb-2010 Andrew Stadler <stadler@android.com> Finish up IMAP ID implementation

* scrub all external strings to keep them compliant for IMAP protocol
* move Build.MODEL to x-android-device-model
* send x-android-mobile-net-operator
* send AGUID
* unit tests for above
* retrieve providers from VendorPolicyLoader

Bug: 2332183
references.java
endorPolicyLoader.java
ctivity/setup/AccountSetupBasics.java
ail/store/ImapStore.java
faed6178b1858f0e6df388a409d14fb3f94afefa 02-Feb-2010 Makoto Onuki <omakoto@google.com> Move Eas.ACCOUNT_MANAGER_TYPE out of the package.

Moved Eas.ACCOUNT_MANAGER_TYPE to Email.EXCHANGE_ACCOUNT_MANAGER_TYPE.

This constant is not related to the exchange protocol, and referred in
a lot of different places. Moving it out of the package will make it a lot
simpler when removing exchange dependency.
ccountBackupRestore.java
mail.java
ctivity/setup/AccountSettings.java
ail/store/ExchangeStore.java
rovider/EmailProvider.java
ervice/EasAuthenticatorService.java
e5c3c98e9a85198e0b023fd25529512baeb88cdb 01-Feb-2010 Makoto Onuki <omakoto@google.com> Fix confusing setup screen title.

Change the title of the screen for adding an exchange account from "Set up email" to "Add an Exchange account".

Bug: 2159019
ctivity/setup/AccountSetupBasics.java
e85328671397ac38bbb30a31bffd66c9d74ca323 30-Jan-2010 Makoto Onuki <omakoto@google.com> Merge "Move non-exchange specific classes to com.android.email.service."
8ee17c7012105fd7a5bad644b455d3e894b557dc 30-Jan-2010 Makoto Onuki <omakoto@google.com> Unifying dupe code in Debug.java and Email.java.
mail.java
ctivity/Debug.java
bb9b5163c19449efab72746351479d193be5e122 29-Jan-2010 Makoto Onuki <omakoto@google.com> Move non-exchange specific classes to com.android.email.service.
ontroller.java
ctivity/MessageView.java
ervice/EmailServiceConstants.java
ervice/EmailServiceProxy.java
ervice/EmailServiceStatus.java
ervice/IEmailService.aidl
ervice/IEmailServiceCallback.aidl
f3fcb8929e3690bc092aec0d4d643b346f079acd 29-Oct-2009 Marc Blank <mblank@google.com> Implement Exchange calendar sync support

What should be working:
* Events sync down from server and appear in calendar
* Recurrences and exceptions appear in calendar
* Changed events on server should be reflected in calendar
* Deletions on server should be reflected in calendar
* Push of new/changed/deleted events should work
* Changes on device are NOT synced back to server
* New, single events on device are synced back to server
(no time zone, attendee, or recurrence support)
* Checkbox for syncing calendar added to setup flow
* System sync glue in manifest, etc.
* Bugs are to be expected
* A few unit tests; needs more

Change-Id: I7ca262eaba562ccb9d1af5b0cd948c6bac30e5dd
ccount.java
ccountBackupRestore.java
ctivity/setup/AccountSetupOptions.java
ail/store/ExchangeStore.java
ervice/EasAuthenticatorService.java
b4e7a85eaad5c82c576ac9186b47176388cd94eb 28-Jan-2010 Mihai Preda <preda@google.com> Merge "MessageCompose: properly remove quoted text from saved draft."
f98ffb6f44068299a57b83bf1c3067d5afd9427f 28-Jan-2010 Makoto Onuki <omakoto@google.com> Merge "Add "vendor policy" loader, and alternate exchange descriptive text."
f613489663cdc5df71b029dfcec5fd3c5173a549 27-Jan-2010 Makoto Onuki <omakoto@google.com> Add "vendor policy" loader, and alternate exchange descriptive text.

- Dynamically switch to the alternate exchange strings to substitute overlays.
- Added the mechanism to load the "vendor policy", which tells you when the
alternate strings should be used.

Bug: 2382710
endorPolicyLoader.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
d423fb996f7836bb8d8439bab36798669a809fc3 28-Jan-2010 The Android Open Source Project <initial-contribution@android.com> am 08d92ebf: merge from open-source master

Merge commit '08d92ebf4722e45216ee225775a3b86f9ceecc0d'

* commit '08d92ebf4722e45216ee225775a3b86f9ceecc0d':
Trim the mime type portion of Content-Type.
46199c65a357de63ae2899b90d5e0b70a1b7421f 27-Jan-2010 Marc Blank <mblank@google.com> Fix #2382368 (NPE in AccountSetupExchangeTests)

* AccountSetupExchange defaultly tries using EAS AutoDiscover, which isn't
appropriate in the unit test setting
* Add an Intent extra to disable AutoDiscover and use it in unit tests

Bug: 2382368
Change-Id: I3d4e8d7194b02da44ad583da0cf2fe60ffb19311
ctivity/setup/AccountSetupExchange.java
345fb8b737c1632fb2a7e69ac44b8612be6237ed 27-Jan-2010 Andrew Stadler <stadler@android.com> Add utilities for processing account security policies

* Add security sync key & signature columns
* Add utilities for easy read/write of security columns
* Write aggregator for multiple accounts
* Simple API's for exchange security (very preliminary)
* Unit tests of above

Bug: 2387961
ccount.java
egacyConversions.java
ecurityPolicy.java
rovider/EmailContent.java
rovider/EmailProvider.java
3ef6b0493eaa1b271b87c569fa2b97c2c291c805 26-Jan-2010 Marc Blank <mblank@google.com> Merge "Handle Exchange meeting invitation responses"
5de54008e58ff63d388e4d448b50a47950990e22 25-Jan-2010 Marc Blank <mblank@google.com> Handle Exchange meeting invitation responses

* Includes some refactoring of internal "request" code in SyncManager
* Adds Message flags to tag meeting invites and cancellations
* Adds meetingResponse method in EmailService
* Hooks into Controller and MessageView UI included

Change-Id: I4c5e10bccc4b41956b94d9dfa55925e5af030939
ontroller.java
ctivity/MessageView.java
rovider/EmailContent.java
ervice/EmailServiceProxy.java
e3e65ed9195f2258c8a5eb452690e60c70461940 26-Jan-2010 Mihai Preda <preda@google.com> MessageCompose: properly remove quoted text from saved draft.

Bug 2363249.
ctivity/MessageCompose.java
468371917e68bfcb8f364f9b837754e5874a6647 26-Jan-2010 Andrew Stadler <stadler@android.com> IMAP ID

* Add IMAP ID command to all login sequences
* Send generic information for now
* Explicitly catch & discard parsing errors, since we really don't
care if the command succeeds or not.
* Unit tests

Bug: 2332183
ail/store/ImapStore.java
def85b1ce48d51bd1d43fd48ddfce9f7702b4eb8 22-Jan-2010 Mihai Preda <preda@google.com> Merge "MessageCompose: show account name in title."
08d92ebf4722e45216ee225775a3b86f9ceecc0d 21-Jan-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master
fc8d943a828cd79ff71c703ced37001bd5482173 21-Jan-2010 Andrew Stadler <stadler@android.com> Add security column to Account

* Upgrade accounts table to add security column
* Read/Write new column
* Backup/Restore new column
* Unit tests for all of the above
* First cut at defining bitfields (non-binding, just putting down ideas)

Bug: 2387961
ccount.java
egacyConversions.java
rovider/EmailContent.java
rovider/EmailProvider.java
2517a3dfd15a4bdb01677fd1ed6a63645eaad3f7 08-Dec-2009 Patrick Horn <patrick.horn@gmail.com> Trim the mime type portion of Content-Type.

Fixes parsing of Content-Type headers like "text/plain ; charset=iso-8859-1"
Added unit tests for whitespace and the charset parameter
ail/internet/MimeUtility.java
87a520d7b9cc40ae7a91b3723b8bd5fc4a241e61 20-Jan-2010 Mike Lockwood <lockwood@android.com> Use default values rather than hard coding green for LED notification color.

Change-Id: Id192ea4d34725abf9ce892bc24e5c8562215f3e3
BUG: 2329568

Signed-off-by: Mike Lockwood <lockwood@android.com>
ervice/MailService.java
f9623b9e784c93c1699d1b1c7afe7d942eee29d0 05-Jan-2010 Mihai Preda <preda@google.com> MessageCompose: show account name in title.

Bug 2338152.
ctivity/MessageCompose.java
346a0cc1e00fcfde05df66eb37433172c96b1c36 21-Jan-2010 Andrew Stadler <stadler@android.com> Backup/Restore accounts - bugfix - DO NOT MERGE

* Followup to 85d765f4
* Workaround for (HTC bug: 2275383) & (Moto bug: 2226582)
* Restores mSyncKey as null instead of empty string, which is how
a new account is initialized. Bug: 2385980
* Cleanup synchronized logic in backup & restore
* Minor cleanups & improved comments

Cherry-picked from master d612717340b2670776a75a1d2e9e3df81fd4c052
ccountBackupRestore.java
egacyConversions.java
ctivity/setup/AccountSetupOutgoing.java
d612717340b2670776a75a1d2e9e3df81fd4c052 21-Jan-2010 Andrew Stadler <stadler@android.com> Backup/Restore accounts - bugfix

* Followup to 5e91cccd
* Workaround for (HTC bug: 2275383) & (Moto bug: 2226582)
* Restores mSyncKey as null instead of empty string, which is how
a new account is initialized. Bug: 2385980
* Cleanup synchronized logic in backup & restore
* Minor cleanups & improved comments
ccountBackupRestore.java
egacyConversions.java
ctivity/setup/AccountSetupOutgoing.java
85d765f41c20e6efb3b120055eb4f1efae166e8b 20-Jan-2010 Andrew Stadler <stadler@android.com> Quick backup/restore of accounts DO NOT MERGE

* Workaround for (HTC bug 2275383) & (Moto bug 2226582)
* Adds checkpoints for backing up and restoring accounts
* Uses legacy Account / prefs to back up accounts - this is because
some of this code will be reused for legacy account migration
* Unit tests of Account & LegacyConversions
* Unit tests of backup & restore
* Not done: testing of EAS/Account Manager interface (this will require
deeper dependency injection, to avoid the embedded calls to the Account
Manager and other system services.)

Cherry-picked from master 5e91cccd4b530eb2aeace5c5bf4f3328a5b5d69d
ccount.java
ccountBackupRestore.java
egacyConversions.java
ctivity/AccountFolderList.java
ctivity/Welcome.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOutgoing.java
ail/store/ExchangeStore.java
rovider/EmailContent.java
ervice/BootReceiver.java
ervice/MailService.java
5e91cccd4b530eb2aeace5c5bf4f3328a5b5d69d 20-Jan-2010 Andrew Stadler <stadler@android.com> Quick backup/restore of accounts

* Workaround for (HTC bug 2275383) & (Moto bug 2226582)
* Adds checkpoints for backing up and restoring accounts
* Uses legacy Account / prefs to back up accounts - this is because
some of this code will be reused for legacy account migration
* Unit tests of Account & LegacyConversions
* Unit tests of backup & restore
* Not done: testing of EAS/Account Manager interface (this will require
deeper dependency injection, to avoid the embedded calls to the Account
Manager and other system services.)
ccount.java
ccountBackupRestore.java
egacyConversions.java
ctivity/AccountFolderList.java
ctivity/Welcome.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOutgoing.java
ail/store/ExchangeStore.java
rovider/EmailContent.java
ervice/BootReceiver.java
ervice/MailService.java
950f6c65dd6d66c0bb0ca46b9c57525cb2fd7b46 19-Jan-2010 Satoshi Kataoka <satok@google.com> Merge "Fix bugs rerated to updateMailboxRefreshTime"
0b8b68cbebdba372c7302a207e2321cd80b384ae 17-Jan-2010 Marc Blank <mblank@google.com> Fix account creation race condition

* Due to the order in which account creation occurs in the Provider
and in AccountManager, and the fact that there are data observers
on each that initiate account reconciliation, a race condition exists
that can cause either of these accounts to appear to be orphaned,
and thereby get deleted
* We add an "incomplete" flag to the Account in EmailProvider and
set/clear it during account creation. The various reconciliation
methods will ignore accounts marked as incomplete.

Bug: 2353755
Change-Id: I13fb144dd857f839eb3471b01f271f3a0d4d8159
ctivity/setup/AccountSetupOptions.java
rovider/EmailContent.java
74724af62c10eeb685a67057c36d3cac8cfb691f 15-Jan-2010 Marc Blank <mblank@google.com> Fix autodiscover when attempted with Exchange 2003 server

* Make sure 403 error in autodiscover isn't treated as an auth error
(401 is used for that)
* Make non-auth errors in autodiscover fail silently (and move user
to manual setup)

Bug: 2374302
Change-Id: I4699bff70cf5ec4a513e6443e4817543c2ab2cef
ctivity/setup/AccountSetupCheckSettings.java
ervice/EmailServiceProxy.java
0f4efcd4833e973f5408d263febeeb7378b08d67 15-Jan-2010 satok <satok@google.com> Fix bugs rerated to updateMailboxRefreshTime

BUG: 2131243

- change the parameter updateMailboxRefreshTime in MailboxList
- add updateMailboxRefreshTime to MailboxList
ctivity/MailboxList.java
ctivity/MessageList.java
9d82553b34de47aa79668039f9a76902e859a192 14-Jan-2010 Marc Blank <mblank@google.com> Merge "Implement Autodiscover for Exchange servers"
17da1767e396b873723d53b2aef93da8aca2c00e 18-Dec-2009 Marc Blank <mblank@google.com> Implement Autodiscover for Exchange servers

* Autodiscover allows complete configuration using only email address
and password
* Code handles the two standard autodiscover addresses and redirect
* Autodiscover process starts when the user chooses "Exchange" as the
account type. If the account is created via the AccountManager,
autodiscover begins upon tapping "Next" for the first time
* If autodiscover fails due to anything other than auth failure for
autodiscover-capable servers, the user is placed into the standard manual
configuration screen

Bug: 2366019
Change-Id: I936712b924833d9a133e8da04e11c3ba45d92f92
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ail/Store.java
ail/store/ExchangeStore.java
rovider/EmailContent.aidl
ervice/EmailServiceProxy.java
08f9bfe8314a183778a9903395d6a7d2f8005697 06-Jan-2010 Makoto Onuki <omakoto@google.com> unbundle: Moving DomainNameChecker to android common.
ail/store/TrustManagerFactory.java
a31cb777eb3c60947a9b955a5e7e8246e33204b1 08-Jan-2010 Makoto Onuki <omakoto@google.com> Move stub logging classes to org.apache.james.mime4j
pacheloggingstub/Log.java
pacheloggingstub/LogFactory.java
f39e5f38eb34a01739e1c12627ec01f9a1114318 05-Jan-2010 Makoto Onuki <omakoto@google.com> Unbundling: Get rid of the reference to the hidden field.

Remove the reference to CursorAdapter.mDataValid.
ctivity/AccountFolderList.java
86919853f70ba0ad8b9304ccfb194ea92d377f40 22-Dec-2009 Marc Blank <mblank@google.com> am e83d0d64: am bb12286f: Merge change Ie25ac73d into eclair-mr2

Merge commit 'e83d0d640e9964500097571d9dea4993e5609123'

* commit 'e83d0d640e9964500097571d9dea4993e5609123':
Fix "back key" flow for Email account setup
bb12286f287efcdb841f6b0e3d448e1f3fa8929c 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie25ac73d into eclair-mr2

* changes:
Fix "back key" flow for Email account setup
0de7377985d813e56e9fa1cfebe49d92192c7328 22-Dec-2009 Mihai Preda <preda@google.com> am 78f609db: am af1bf487: MessageView: upon delete move to older instead of newer.

Merge commit '78f609db56500c01f75ea2d8742468907255f7ba'

* commit '78f609db56500c01f75ea2d8742468907255f7ba':
MessageView: upon delete move to older instead of newer.
1e1bb40062fa21c96329befddd4a81776948e21b 22-Dec-2009 Mihai Preda <preda@google.com> am 9d024a5b: am 2b6dfc97: Merge change I55f52567 into eclair-mr2

Merge commit '9d024a5b4f42d9d7687d06e5f86f9c68f22fccf8'

* commit '9d024a5b4f42d9d7687d06e5f86f9c68f22fccf8':
MessageCompose: fix NPE cased by WebView set to null in onDestroy().
af1bf48773154226fd88ab823a250fafa2814241 09-Dec-2009 Mihai Preda <preda@google.com> MessageView: upon delete move to older instead of newer.

Bug 2233586
ctivity/MessageView.java
ec82f9d7c0b9a6db7c656cb0ac70085082ee575f 22-Dec-2009 Makoto Onuki <omakoto@google.com> email unbundling: get rid of the write access to the CursorAdapter.mDataValid.

MessageListAdapter.doRequery() is supporsed to do the same thing as CursorAdapter.onContentChanged() does. So the entire method body can be replaced with super.onContentChanged().
ctivity/MessageList.java
f1efd65a5ebac0a2f1e218c0ae6bb8ceb1a19af6 18-Dec-2009 Marc Blank <mblank@google.com> Fix "back key" flow for Email account setup

* The existing flow is badly broken; every "back" causes the user
to leave the setup flow and therefore have to start from scratch.
This is a very bad user experience, as previously entered data is
lost and must be re-entered.
* The fix corrects these problems, allowing the user to back up
through screens UNTIL the account is successfully created.
* After account creation, the user is returned to the proper screen,
depending on whether we're in "eas flow mode" or not

Bug: 2337511
Change-Id: Ie25ac73dfcd8a1dca36e1b31c75ffb22359840d1
ctivity/Welcome.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupNames.java
425fd30a9cfd90a49bab000f49d307017cd3ba1d 18-Dec-2009 Makoto Onuki <omakoto@google.com> Email unbundling: Use accessor for CursorAdapter.mCursor and ListActivity.getListView().

Also added a todo for ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS.
ctivity/AccountFolderList.java
ctivity/MessageList.java
99bfd7e9b7e9d931f2e9f32b2005ce2194a613b1 17-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibf071fa6

* changes:
Unbundling email: Make Base64 hidden API free.
bf071fa6256d33fa7b4edb78a570fe16603c9cde 17-Dec-2009 Makoto Onuki <omakoto@google.com> Unbundling email: Make Base64 hidden API free.

Seems like it's the simplest way to make it.
- Base64 no longer implements BinaryEncoder/Decoder. Email app doesn't use them.
- Copied Decoder/EncoderException. Email app doesn't catch them either.
odec/binary/Base64.java
odec/binary/DecoderException.java
odec/binary/EncoderException.java
22a4e0ddbfae02299a5a6345683a13166284d50d 17-Dec-2009 Makoto Onuki <omakoto@google.com> Unbundling email: Stub out apache logging. (See b/2226160)

Let me know if you don't like the package name.
pacheloggingstub/Log.java
pacheloggingstub/LogFactory.java
608ca667b25e6107d20bf2fac8243a42abfad719 04-Dec-2009 Marc Blank <mblank@google.com> Don't delete referenced messages from the Exchange server DO NOT MERGE

* Addresses #2287439 incompletely
* The most likely reason for a reply/forward to get stuck in the Outbox
is that the referenced message has been deleted from the client, with
the deletion occuring BEFORE the message gets sent (currently, the two
are completely independent)
* This change causes deletes NOT to be sent to the server if the message
to be deleted is referenced by an outgoing message

Change-Id: Iad3777282385bea82276f363d6f95ba8b07cc01c
rovider/EmailContent.java
55f5256761bb1e509c147fbb817fa2b43722dfc0 16-Dec-2009 Mihai Preda <preda@google.com> MessageCompose: fix NPE cased by WebView set to null in onDestroy().

Bug 2329276.
ctivity/MessageCompose.java
9151d86e680f8b80ccc2e0bce32a2752c131c317 07-Dec-2009 satok <satok@google.com> Check null pointer in MessageList

BUG: 2299971
ctivity/MessageList.java
3c1334ae1f6769b55e4728341ef4c2ae3acb9b90 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I915b13a6 into eclair-mr2

* changes:
Fix MessageListUnitTests
7a4b1c72f6f2e8395dd67af4b00f9f1c1efbb97b 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I146f63ab into eclair-mr2

* changes:
Don't delete referenced messages from the Exchange server
c29e435eb3a1b42b7bd8ddfe2d9d72b140c69928 04-Dec-2009 Marc Blank <mblank@google.com> Don't delete referenced messages from the Exchange server

* Addresses #2287439 incompletely
* The most likely reason for a reply/forward to get stuck in the Outbox
is that the referenced message has been deleted from the client, with
the deletion occuring BEFORE the message gets sent (currently, the two
are completely independent)
* This change causes deletes NOT to be sent to the server if the message
to be deleted is referenced by an outgoing message

Change-Id: I146f63ab345c07e684790e1d7d1fc08870468bbf
rovider/EmailContent.java
0e1595c177e40428b267a8696dfc05d015ce6a2f 19-Nov-2009 Marc Blank <mblank@google.com> Handle unexpected deletion of EmailProvider database

* Addresses #2226426
* If the user deletes Email data, or if data corruption causes
EmailProvider.db to be deleted, we will be in an inconsistent
state with any existing Exchange accounts, since the AccountManager
will still know about them, contacts (and eventually calendar) items will
continue to exist, etc.
* Run an integrity check when the provider is created, deleting any
orphaned EmailProvider.db or EmailProviderBody.db
* Catch SQLiteException's in the Provider and do an integrity check
if any is caught

Change-Id: I47d523b90a6b8f71ba8e13fba4b04846b3da1b1d
rovider/EmailProvider.java
3d00377b356631f555e3938bf63d7c5c292e505a 07-Dec-2009 satok <satok@google.com> Fix MessageListUnitTests

This is supperement of change,33265

* Move custom cursor to inner static class
* Change public to /* package */
* Move PROJECTION to a package
ctivity/MessageList.java
b720ed318324c69ddbcb15c4a1b9e132f3266775 04-Dec-2009 Vasu Nori <vnori@google.com> revert previously submitted CL 34143.

turns out the change I submitted before is not required at all. I mistakenly
assumed sqlite wouldn't be able to handle it. but tested it with the latest
version of sqlite 3.6.20. the old style triggers work fine.
rovider/EmailProvider.java
3379c51569368d4e56123e5f9be97df7eb5b8e29 03-Dec-2009 Marc Blank <mblank@google.com> Ensure that service calls run outside the UI thread (#2235734)

Change-Id: Icba566884f3b994c8a4ccc4b8658c40b133a3509
ervice/EmailServiceProxy.java
98796942eab3215eb1c3c8486a65a152e8cee516 02-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8e09bde5 into eclair-mr2

* changes:
change BEFORE triggers to AFTER triggers - to make them work with sqlite 3.6.20 and beyond
4cb25d93a23d086b954c03cb72afb2cf0248f1c4 16-Nov-2009 satok <satok@google.com> Save the state of checkboxes when orientation is changed

BUG: 2239516

* Add tests for save/restore Instance State
ctivity/MessageList.java
8e09bde56833c1d7e55b1553d20b0537794d02b9 26-Nov-2009 Vasu Nori <vnori@google.com> change BEFORE triggers to AFTER triggers - to make them work with sqlite 3.6.20 and beyond
rovider/EmailProvider.java
6ba40085d7519681c140cbcacdecd4636bfc4ce3 20-Nov-2009 Marc Blank <mblank@google.com> am 863e6c40: Handle "send outgoing messages" properly for combined Outbox

Merge commit '863e6c40202fe804d92a263809da74ec1e904e66' into eclair-mr2

* commit '863e6c40202fe804d92a263809da74ec1e904e66':
Handle "send outgoing messages" properly for combined Outbox
863e6c40202fe804d92a263809da74ec1e904e66 20-Nov-2009 Marc Blank <mblank@google.com> Handle "send outgoing messages" properly for combined Outbox

* The "send outgoing messages" button doesn't work in the combined
inbox (the case wasn't handled)
* Add code to loop through accounts, calling the Controller for each
in this case
* Fixes (partially or completely) #2274389

Change-Id: I94e984247d43f93a4d6546b8c10f6ce149b091be
ctivity/MessageList.java
2da2e4632dfd84f956d778f3fe6a83c2719296c7 18-Nov-2009 Dan Egnor <egnor@google.com> Change android.text.util.Regex to com.android.common.Patterns
ctivity/MessageView.java
56e48981f0093c737b38b7757410283be9ed823f 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
ontroller.java
mail.java
mailAddressAdapter.java
roupMessagingListener.java
egacyConversions.java
essagingController.java
essagingListener.java
references.java
tility.java
ctivity/AccountFolderList.java
ctivity/AccountFolderListItem.java
ctivity/AccountShortcutPicker.java
ctivity/Accounts.java
ctivity/AddressTextView.java
ctivity/Debug.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageListItem.java
ctivity/MessageView.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ail/Address.java
ail/AuthenticationFailedException.java
ail/Folder.java
ail/MessagingException.java
ail/Sender.java
ail/Store.java
ail/StoreSynchronizer.java
ail/Transport.java
ail/exchange/ExchangeFolderExample.java
ail/exchange/ExchangeSenderExample.java
ail/exchange/ExchangeStoreExample.java
ail/exchange/ExchangeTransportExample.java
ail/internet/EmailHtmlUtil.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/store/TrustManagerFactory.java
ail/transport/ExchangeSender.java
ail/transport/MailTransport.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
ail/transport/StatusOutputStream.java
rovider/AttachmentProvider.java
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/BootReceiver.java
ervice/EasAuthenticatorService.java
ervice/EmailServiceProxy.java
ervice/MailService.java
83b67e61989b5ca61be4754272618bc51b42cb47 10-Nov-2009 Marc Blank <mblank@google.com> Fix #2251837; better response w/ security req'd. DO NOT MERGE

* Currently, we validate EAS accounts using a command that will
succeed even if we do not support required security policies.
* This causes a confusing "invalid username or password" error
when trying to sync with a validated account in the case that
there are, in fact, required policies
* The fix is to send a sync command after validating the user name
and password; a 403 error indicates the requirement for
security policies.
* When we see the 403 error, we put up a message that is appropriate
to the situation.

Change-Id: I74e132cb81f021cbb697cc9ee146405bf3ebc0ba
ctivity/setup/AccountSetupCheckSettings.java
ail/MessagingException.java
29935abb1cbb64ffa232daefeaae7ecc4541722b 10-Nov-2009 Marc Blank <mblank@google.com> Fix #2251837; better response when provisioning is required.

* Currently, we validate EAS accounts using a command that will
succeed even if we do not support required security policies.
* This causes a confusing "invalid username or password" error
when trying to sync with a validated account in the case that
there are, in fact, required policies
* The fix is to send a sync command after validating the user name
and password; a 403 error indicates the requirement for
security policies.
* When we see the 403 error, we put up a message that is appropriate
to the situation.

Change-Id: Ic40820253dca1f357297b2355ad987bc39d0775f
ctivity/setup/AccountSetupCheckSettings.java
ail/MessagingException.java
9abd1bf9dabbf5f55b0f84a61d61b031250154bc 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I21052e28 into eclair-mr2

* changes:
Controller: modify the test for "attachment already loaded".
6bb7c7248af1057eaf6f672be03bc46c8d03472d 19-Oct-2009 Mihai Preda <preda@google.com> MessageView: disable reply&forward for Trash messages.

Bug 2170118
ctivity/MessageList.java
ctivity/MessageView.java
5d4bb79044a7392849076e44987598f6d2d9f39d 21-Oct-2009 Marc Blank <mblank@google.com> Go to combined inbox on notify for 2+ accounts (#2147265) DO NOT MERGE

* The problem is that PendingIntents aren't updated when a notification
is updated, so the changed extras when a 2nd account gets a new message
aren't seen by MessageList when it's started up upon tapping the
notification (it uses the extras from the 1st account to get a new
message)
* The fix is to use the newish (cupcake) flag in the PendingIntent that
causes the extras in the PendingIntent to be updated

Change-Id: If12d0e7c6d3f256befeca98b560443395820737f
ervice/MailService.java
9ef6f645f57d869a600113f555389b5d5e368c21 17-Oct-2009 Mihai Preda <preda@google.com> Controller: modify the test for "attachment already loaded".

Bug 2192510.

update unit test.
ontroller.java
essagingController.java
rovider/AttachmentProvider.java
d16b4b921fef0a79a12fd90a5fad353413ba80ea 21-Oct-2009 Marc Blank <mblank@google.com> Go to combined inbox from notification for 2+ accounts (#2147265)

* The problem is that PendingIntents aren't updated when a notification
is updated, so the changed extras when a 2nd account gets a new message
aren't seen by MessageList when it's started up upon tapping the
notification (it uses the extras from the 1st account to get a new
message)
* The fix is to use the newish (cupcake) flag in the PendingIntent that
causes the extras in the PendingIntent to be updated

Change-Id: Ia4ab14954b2c1413526016975216b2516372f2aa
ervice/MailService.java
3045bb967fa7bd88dc52c332cbeb7ffcd4252fe4 21-Oct-2009 satok <satok@google.com> Add view of all counts in AccountFolderList

BUG: 2201097
ctivity/AccountFolderList.java
367963639d4291511b7e175a208e2b553aac26c2 20-Oct-2009 Marc Blank <mblank@google.com> Fix SQL for upgrade from ver 6 to ver 7 of Email database

Fixes #2196917

Change-Id: Ia403e50e9ec4ea553d38ded656bba769a4a4dd18
rovider/EmailProvider.java
4bc81bb2863101aad460a24c04abd08370adfa6e 19-Oct-2009 satok <satok@google.com> Fix build breakage
ctivity/AccountFolderList.java
ba78d18f59c73273739260e52d87b2ef8b81ab44 19-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I23b7f225 into eclair-mr2

* changes:
Clean up appearance of unread counters
fa368b50d637ab8d74d1b77698a37e958fb703f0 16-Oct-2009 satok <satok@google.com> Clean up appearance of unread counters

BUG: 2161746
ctivity/AccountFolderList.java
ctivity/MailboxList.java
f095e9df5a8dbd97dcefecb479fbcce05ddb4d87 15-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib53e4411 into eclair-mr2

* changes:
Clear out orphaned messages in updates/deletes tables
ef83299b99288c00b9d661260d19715e73e6889c 14-Oct-2009 Marc Blank <mblank@google.com> Clear out orphaned messages in updates/deletes tables

Case #1:
* Fixes #2184702
* Messages can be in the base Messages table, but also in
Message_Deletes and Message_Updates; the latter two were not
being purged of deleted messages.
* This CL deletes from all three tables when a Mailbox is deleted
* Also run a check for orphaned deletes/updates when the email
provider's db is first opened
* Unit test updated to check for proper deletion
* Unit test for the provider check for orphans

Case #2:
* Fixes #2184708
* Messages in Outbox/Drafts can get modified or deleted, but the
rows added to the updates/delete tables never get removed because
the boxes don't sync
* Added code to SyncManager.ping (which gets notifications of these
changes) to delete these rows

Change-Id: Ib53e441136b0da1e88bc220150d631999058a8f0
rovider/EmailProvider.java
3afd66cda8e466f23a8febb4906a8957abde86b7 14-Oct-2009 Mihai Preda <preda@google.com> MessageCompose: disable "save as draft" button logic.

Bug 2184404
Disable "save as draft" button when there are no changes to be saved.
ctivity/MessageCompose.java
347a44af5663d720b747714b0ccb137ffd54b144 09-Oct-2009 satok <satok@google.com> Fix the bug that the count of draft and trash icons are wrong.

BUG: 2159565

* Currently only the number of unread messages is shown.
* Fixed to show the number of all messages
ctivity/MailboxList.java
53123c2f914db357fa5b4a8451b23c6be77314a5 14-Oct-2009 Andrew Stadler <stadler@android.com> DO NOT MERGE. Prevent duplication of POP3 attachments

* For each attachment we add, check the DB for an existing attachment
with similar metadata (name, mime type, content id, etc.)
* Skip adding them if already held
* Unit tests

Originally fixed in 5b0a12c1991988 / CL I036f39c6

Fixes bug http://b/2084704
egacyConversions.java
rovider/EmailContent.java
5b0a12c199198870161876996296b1262c17408e 14-Oct-2009 Andrew Stadler <stadler@android.com> Prevent duplication of POP3 attachments

* For each attachment we add, check the DB for an existing attachment
with similar metadata (name, mime type, content id, etc.)
* Skip adding them if already held
* Unit tests

Fixes bug http://b/2084704
egacyConversions.java
rovider/EmailContent.java
b7c67a0124fe4897c71f5cbe4bbae87621a6a1fa 13-Oct-2009 Andrew Stadler <stadler@android.com> am 754240bc: Fix race condition in testMultiple()

Merge commit '754240bcf3ccc8492a50ba9ee8056b34f6e4e8d0' into eclair-mr2

* commit '754240bcf3ccc8492a50ba9ee8056b34f6e4e8d0':
Fix race condition in testMultiple()
754240bcf3ccc8492a50ba9ee8056b34f6e4e8d0 13-Oct-2009 Andrew Stadler <stadler@android.com> Fix race condition in testMultiple()

* If we close the activity while a requeryList() is pending in the
handler queue, we'll eventually try to operate on a closed cursor
when we get to testMultiple().
* The fix: Return immediately if the cursor is not available.

Fixes bug http://b/2180416
Followup for bug http://b/2149083
ctivity/MessageList.java
2bc47f24a4db464f58977ae808f754e2a9191daa 12-Oct-2009 Mihai Preda <preda@google.com> MessageView: use FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET when viewing attachments.

Bug 2180995.
ctivity/MessageView.java
255dba84f123ee4645217fd7e07b5bdd0d89aa61 12-Oct-2009 Marc Blank <mblank@google.com> am 2c74ee56: Prevent EmailAddressAdapter from leaking cursors; load in bg

Merge commit '2c74ee56a44e7a43bda14e88fd2b571fd88952fe' into eclair-mr2

* commit '2c74ee56a44e7a43bda14e88fd2b571fd88952fe':
Prevent EmailAddressAdapter from leaking cursors; load in bg
2c74ee56a44e7a43bda14e88fd2b571fd88952fe 12-Oct-2009 Marc Blank <mblank@google.com> Prevent EmailAddressAdapter from leaking cursors; load in bg

* Relates to a number of bugs related to ANR's and slow behavior
when addressing mail
* Call changeCursor(null) on the Adapter when the activity is destroyed
* Call getCount() in the background thread to force data there rather
than in the UI thread
* If this change is accepted, something equivalent should be
used in the Gmail app as well
* Addresses #2180237 (P1, target Eclair_Sholes) as well as
#2180976 and #2146926, the latter two of which were fixed
with workarounds.

Change-Id: I7503c5fbe091dbc5e784d5a7bebeb3d60226d57d
mailAddressAdapter.java
ctivity/MessageCompose.java
89966059c997a410c0b54be2d56e1259ed99940f 12-Oct-2009 Mihai Preda <preda@google.com> am 1a377f09: MessageCompose: corretly set initial mSourceMessageProcessed=true for the cases where there\'s no source message, to avoid duplicated email addresses on orientation change.

Merge commit '1a377f096f3a263bba536355823290db4bba7434' into eclair-mr2

* commit '1a377f096f3a263bba536355823290db4bba7434':
MessageCompose: corretly set initial mSourceMessageProcessed=true for the cases where there's no source message, to avoid duplicated email addresses on orientation change.
1a377f096f3a263bba536355823290db4bba7434 12-Oct-2009 Mihai Preda <preda@google.com> MessageCompose: corretly set initial mSourceMessageProcessed=true for the cases where there's no source message, to avoid duplicated email addresses on orientation change.

Bug 2180955.
ctivity/MessageCompose.java
d5e7afa1ebd6ffe29338e69e709d7998e6572137 12-Oct-2009 Andrew Stadler <stadler@android.com> Remove obsolete resources & code

* FolderMessageList
* Fat title bar (remnants)
* Drawables

Bug # http://b/2071133
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
4cce00d6c4c70bfc43409f677556ef07098d3700 09-Oct-2009 Mike Cleron <mcleron@google.com> am 479b22a2: Make multiselect buttons update when the list state changes

Merge commit '479b22a2f8966b63789c89e878b615ebd53708c0' into eclair-mr2

* commit '479b22a2f8966b63789c89e878b615ebd53708c0':
Make multiselect buttons update when the list state changes
479b22a2f8966b63789c89e878b615ebd53708c0 09-Oct-2009 Mike Cleron <mcleron@google.com> Make multiselect buttons update when the list state changes
ctivity/MessageList.java
affa5660e7b4b97d3011d7272bb8c05f45990f26 07-Oct-2009 Mihai Preda <preda@google.com> MessageView: UI change prev/next arrows.

Bug: 2149187

The prev/next buttons now each extends half the width, and are on black background.
ctivity/MessageView.java
73032f4657a77f733a348fe3c2c1fa783d335ff0 06-Oct-2009 Mihai Preda <preda@google.com> Email: exit AsyncTask.onPostExecute() if the result is null or isCancelled().

Bug: 2167479
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
5b26bbe4551ca095697f07eca7d09b24573cba11 08-Oct-2009 Andrew Stadler <stadler@android.com> Switch QuickContact presentation from MEDIUM to LARGE.

Bug # http://b/issue?id=2170878
ctivity/MessageView.java
b6756688b1bf07c50b999c9d30dd6cb224d3812b 07-Oct-2009 Andrew Stadler <stadler@android.com> Handle IMAP empty bodies more safely

Some IMAP servers return NIL if you BODY.PEEK[TEXT] a messsage with
no body, instead of the more canonical {0}CRLF. Instead of messing with the
parser to deal with that, it makes more sense not to try and fetch empty
bodies. So there are three changes:

* Don't fetch parts when size = 0
* Don't append "null" when there is null body text
* Slight change to attachment handling so size is reported >0
* Unit tests on some of the related lower-level protocol stuff

Bug http://b/issue?id=2160387

Change-Id: Ifb8fb0ed5ce7297908e1ae8d5a02dda5975c4a3c
egacyConversions.java
essagingController.java
ail/internet/MimeBodyPart.java
ail/store/ImapStore.java
eb7752bf695b2a93854e0bb89ddbbc2236bb9aea 06-Oct-2009 Andrew Stadler <stadler@android.com> Fix back-to-back message-id bugs

* MessageCompose now adds message-id to new messages (it was previously
done on its behalf by MimeMessage).
* LegacyConversions.updateMessageFields() now handles missing message-id
without error.
* Unit tests for the LegacyConversions change

These two issues were combining with a failure of comcast's SMTP server
to insert message-id headers, to prevent delivery of a message between
any two comcast accounts using this client.

Bug # http://b/issue?id=2161478
egacyConversions.java
tility.java
ctivity/MessageCompose.java
85d718cb0735de9069673fbf9834fa64459c2178 02-Oct-2009 Mihai Preda <preda@google.com> MessageCompose: quote plain-text body if available, otherwise quote HTML body.

Bug 2082852.
ctivity/MessageCompose.java
1ef86a50f8f6bf09cb031359c1d7cf0902c4a441 02-Oct-2009 Mihai Preda <preda@google.com> MessageView: scroll to (0,0) on message change.

Bug 2156934.
ctivity/MessageView.java
d493ba257a1632a8de578e06a7df7ed311227887 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie90b74aa into eclair

* changes:
Avoid NPE at onRefresh in MessageList
794b7e9258db816aa7097779f20e99878e412eda 03-Oct-2009 Fred Quintana <fredq@google.com> account manager api review changes
ervice/EasAuthenticatorService.java
e90b74aa0410ea93f6b40617bf721770e50585e2 05-Oct-2009 satok <satok@google.com> Avoid NPE at onRefresh in MessageList

BUG: 2161449
ctivity/MessageList.java
1197ac7692588f1da0a4da58ad041700a0e4720a 02-Oct-2009 Mihai Preda <preda@google.com> MessageCompose: allow sending email when started through external intent.

Bug: 2161199.
ctivity/MessageCompose.java
2d34c669c10ec5aec70ec53fe7582feba8166394 01-Oct-2009 Mihai Preda <preda@google.com> MessageView: scroll webview to (0,0) on message change.

Bug 2156934.
ctivity/MessageView.java
f9ccc0ba88e00c4175f6720aca07876d50b9f22f 01-Oct-2009 Andrew Stadler <stadler@android.com> Plumb send-message status callbacks from service

* Make sure service callbacks are installed
* Route from service sent-message callback to controller results

This sends the callback information back to listeners who care about
sent messages. Note, due to impedance mismatch between the service
and the controller, this should not be used for much more than an
indication that outbox status has changed.

Bug # 2158497

Change-Id: I8d013d97ef53dcca85216f9b8c027ba3917c1e85
ontroller.java
3ea49f215135f0c57456de399f2ea7ad7cb7f17a 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic3cbc51d into eclair

* changes:
Cleanup delete handling issues in POP3
f16a3f2f6a952640b07acfe669ac626c45cbd8cb 01-Oct-2009 Andrew Stadler <stadler@android.com> Cleanup delete handling issues in POP3

* Removed obsolete "delete after 7 days" option from pop-up prefs
* Mark deleted message sentinels as "read" so they don't contribute
to unread counts.

Bug # 2157487 and Bug # 2159278

Change-Id: Ic3cbc51d6f5ede2eb923e2d0e5c0dfee377764f5
essagingController.java
ctivity/setup/AccountSetupIncoming.java
rovider/EmailContent.java
4f81086e34c4f28d78d516461f525321109d4804 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie39a95f5 into eclair

* changes:
Update unread count of outbox when messages are sent.
e39a95f59b458c2b310fc6971ba88cd0c05da58a 01-Oct-2009 satok <satok@google.com> Update unread count of outbox when messages are sent.

BUG: 2158497
ctivity/AccountFolderList.java
7aca36b240db9913b4482ee08f448d5588e5f970 01-Oct-2009 Andrew Stadler <stadler@android.com> Call deferred requery from handler instead of Runnable

* code cleanup for Change I9cab6558
* Bug # 2126515

Change-Id: Ic87cf98485271e3fbf162c8b696114035337bd78
ctivity/MessageList.java
8401e1aca4c3b3b7b99a5505cb0b0e6281267468 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I99731e64 into eclair

* changes:
Delete attachments when necessary, don't leak disk space
3a8867798889080ac1afd1e40643472fa8eb5697 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9cab6558 into eclair

* changes:
Throttle the refresh of the message list as it changes (fixes #2126515)
71754d3f940fe82e251c274e3e56781e702cfd6f 01-Oct-2009 Andrew Stadler <stadler@android.com> Delete attachments when necessary, don't leak disk space

* Add AttachmentProvider.deleteAllMailboxAttachmentFiles
* Call it when server deletes a mailbox
* Confirmed (no change) all message deletes call deleteAllAttachmentFiles
* Unit tests of course :)

Bug # 2069004

Change-Id: I99731e6489fdca4cc9cebdff5fcf9c09d12b7b3a
essagingController.java
rovider/AttachmentProvider.java
385014923990fab3ea8c7139fb2235efaae8f981 01-Oct-2009 Marc Blank <mblank@google.com> Throttle the refresh of the message list as it changes (fixes #2126515)

* Catch onContentChanged and throttle calls to cursor.requery()
* Use 2.5s for now. This seems to provide excellent responsiveness
with little apparent latency.
* Also fixes #2135882

Change-Id: I9cab6558c9cfeb1dbdb5fb250f4f04059db324f7
ctivity/MessageList.java
82d201b33a7e8766977750285d6c0606c8d487cc 01-Oct-2009 Evan Millar <emillar@google.com> FastTrack->QuickContact

Change-Id: I7fc4b053ef86c9bc8374167dc11b1c04934a77bb
ctivity/MessageView.java
f6f029b8e0171b5a6e1ddd2df24750cb7908681d 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I18fdf62f into eclair

* changes:
Fix mail sending for new message (#2158054)
2f222b4b86319f8f4515967b83d2c50812f8cde4 01-Oct-2009 Marc Blank <mblank@google.com> Fix mail sending for new message (#2158054)

Change-Id: I18fdf62f10ca350731446728b6095dabbc049bc1
ctivity/MessageCompose.java
f9597e71d5a397dcede9728b3b3696d5260d5e75 01-Oct-2009 Andrew Stadler <stadler@android.com> Fix assets & colors for MessageList & MessageView

* change read/unread list bkgnds
* change read/unread list text params
* new checkbox
* new stars

Bugs:http://b/issue?id=2156331 & http://b/issue?id=2156332
ctivity/MessageList.java
ctivity/MessageView.java
54e0a5f65c777147a1d90cd73d2ebeab2a67e417 30-Sep-2009 Andrew Stadler <stadler@android.com> Only auto-refresh when user opens mailbox

This prevents auto-refresh from triggering on non-explicit entry
to the mailbox (e.g. by resuming from another activity).

BUG: 2155843
ctivity/MessageList.java
0b50eea451e8a09da859d730507fbe64a1b23551 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib8ee27f0 into eclair

* changes:
Add "deselect all"
b8ee27f013766d6c89befa36bd265c6104ffb036 30-Sep-2009 Andrew Stadler <stadler@android.com> Add "deselect all"

* New menu items in MessageList
* Show/hide menu item if anything is checked
* Clear the selected items map, redraw listview, hide button panel

Bug # 2116257
ctivity/MessageList.java
059b3e5ed55b025affab63e5bcfc23cf418fbbd6 30-Sep-2009 Marc Blank <mblank@google.com> Make sure intro text is saved/restored properly (fix #2155286)

Change-Id: I015783972e685472ea27cbdb854511e918d8f35e
ctivity/MessageCompose.java
536f04d3fb0fc554b0c0b829fe719d7fc83cf8d6 30-Sep-2009 Mihai Preda <preda@google.com> MessageView: UI: change prev/next arrows, re-enable notification bar shadow.

Bug: 2149187.
ctivity/MessageView.java
ba6cf35b4f43cd59fe98c4c32e1e83af6efa5107 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib17b43c7 into eclair

* changes:
MessageCompose: avoid saving Draft early, before the message was loaded.
62b5a51b8fc7d85f8b71d5d6db04986a6080eff7 30-Sep-2009 Andrew Stadler <stadler@android.com> Use FLAG_ACTIVITY_CLEAR_TOP for list activities

This prevents these activities from ever repeating on the task stack.

Helps http://b/issue?id=2149204 (and may even fix it)

Change-Id: Idf8255b703094a78a2df3e9f535b67fd65faef32
ctivity/MailboxList.java
ctivity/MessageList.java
bedd617c89a9a63e7808af77f35b2c2101a1548c 29-Sep-2009 satok <satok@google.com> Fix the bug that combined Drafts folder is hidden when there are only read messages.

* Count all messages count in drafts folder
ctivity/AccountFolderList.java
3786cab2aa1776e92fc67af3931a76cd8b848b48 29-Sep-2009 satok <satok@google.com> More refresh account and folder list

BUG: 2149171

* Change the string of combined inbox
* Change the string of combined starred folder
* Change the icon for combined inbox
* Change the icon for combined starred folder
tility.java
ctivity/AccountFolderList.java
ctivity/MessageList.java
e4a7cc440f081ef9c4375a2bd2f82680cc11b152 30-Sep-2009 Andrew Stadler <stadler@android.com> Re-enable modernized version of "optional" SSL/TLS

* Add "Accept all certificates" modes to incoming/outgoing secure choices
* Change URI scheme slightly to make "trust" a flag, not part of the
protocol.
* Change Stores to know about new URI scheme
* Slightly rework Transport API to make "trust" an independent flag
* Adapt HostAuth to handle new Uri scheme
* Remove the old ambiguous "optional" code, which was allowing
some unsigned certificates, but was *also* allowing TLS to
optionally start (though not SSL, despite the UI strings.)
* Add a few unit tests to EmailContent
* Add logging and a bunch of comments to TrustManagerFactory, and a bit
of simple cleanup to make it more readable.
* Add missing conversion of SSLException->CertificateValidationException
in TLS so we get the correct certificate errors from TLS too.
* Re-enable TLS for mac.com accounts (which had a certificate problem)

Fixes bug http://b/2119755, http://b/1374780, and probably a raft of
earlier and/or external bugs about certificate problems.

Change-Id: Iaf99a8da3eaadaa4cdeec224737838b5d6813e55
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
ail/Store.java
ail/Transport.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ail/store/TrustManagerFactory.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
rovider/EmailContent.java
2ab30ce247151c3400b870e7b93310e130c91e4f 29-Sep-2009 Mihai Preda <preda@google.com> MessageCompose: avoid saving Draft early, before the message was loaded.

And correctly set mDraftNeedsSaving when started through external intent.

Bug: 2149148, 2152044.
ctivity/MessageCompose.java
2dd894df2fee388addcf23ea4c63c2a95b984890 29-Sep-2009 Mihai Preda <preda@google.com> MessageCompose: fix unit tests that were broken by CL 27435.

Bug 2150598.
ctivity/MessageCompose.java
b0b61fa2e4b9e884e745115697f7f4f081272f08 29-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I74466dcc into eclair

* changes:
Update unread counts and default sender Id in AccountFolderList after folder loding messages
473a5e5c6692bf9c538e4d4b0f746306dd9dc2f2 28-Sep-2009 satok <satok@google.com> Update unread counts and default sender Id in AccountFolderList after folder loding messages

BUG: 2072360
ctivity/AccountFolderList.java
0d4681cd6606015fd242f148ec213a3256a81ec7 29-Sep-2009 Andrew Stadler <stadler@android.com> Catch possible NPE in IMAP sync.

I don't know the root cause of the null pointer (possibly a broken
connection earlier in the sync) but we shouldn't be crashing here.

Fixes http://b/2135743
ail/store/ImapStore.java
deffba584e9a66ca3dca3c897728fd1b8c66b368 28-Sep-2009 Andrew Stadler <stadler@android.com> Stop forcing email logging for all users

* Don't force Email.Debug == true
* Also, remove some unneeded development logging from MailService
ervice/MailService.java
832e4a02a670b565a377938b3138e73421d59388 27-Sep-2009 Marc Blank <mblank@google.com> Add hostChanged service call; use it from UI (fixes #2148572)

* After a HostAuth has been changed for an EAS account, the SyncManager needs
to be alerted so that it can take appropriate action
* Added hostChanged service call
* Send service call from AccountSetupExchange after a HostAuth is edited
* Stop running syncs and clear error states in hostChanged

Change-Id: I2311e2d00be81ea7829f5f4e38b2377f18c63f30
ctivity/setup/AccountSetupExchange.java
ervice/EmailServiceProxy.java
695fdb1cbbe2da817b5b70a00568a0a905e139f0 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27443 into eclair

* changes:
MessageView: check for null mMessageContentView on access.
02fcd3b4e7ad526d1be1f7a62d7dfbefc50727ba 28-Sep-2009 Mihai Preda <preda@google.com> MessageCompose: fix loading the quoted text after a configuration change.

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.
ctivity/MessageCompose.java
7768ce276ede4ee979df28ee514ddca79bdb90ab 25-Sep-2009 Mihai Preda <preda@google.com> MessageCompose: delete the attachments that are removed in the UI.

Bug 2139949.
ontroller.java
ctivity/MessageCompose.java
ce3bb9abccf02f047b1d11083584d5ab04ad6341 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27407 into eclair

* changes:
Per spec, allow all attachments to be added via INTENT.
7f025a15c4e80816ed68cd0af03ea67efd2f8e61 28-Sep-2009 Mihai Preda <preda@google.com> MessageView: check for null mMessageContentView on access.

Bug 2148358.

It seems that AsyncTask.onPostExecute() can be invoked even after the task
was cancelled, and after Activity.onDestroy().
ctivity/MessageView.java
92a1ff9b770c3aec6c4a56df5f8d13c5cf4edc87 28-Sep-2009 Andrew Stadler <stadler@android.com> Per spec, allow all attachments to be added via INTENT.

* Change manifest intent-filter to */*
* Split incoming whitelist into send_ui and send_intent versions

Bugs: 2097457 (general) & 2138790 (.vcf)

Change-Id: Id4a2bb3a75808811578c643a7b841de9491efce4
mail.java
ctivity/MessageCompose.java
fff989df752fb3843a4fff3bae0fb5b07e3d6a1a 28-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Renaming Presence and Presence-related columns.

Change-Id: Icba02cdb905ae3514ec16bea097167e09bc18a63
ctivity/MessageView.java
e6a8d98e9e038f17d528d45ce2779c65fe46630b 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27350 into eclair

* changes:
Make checkbox and star more easily selected
9d249df5b8875175cb56f84a33371370944eacc7 28-Sep-2009 Andrew Stadler <stadler@android.com> Add WebViewClient to specialize link-click behaviors.

* If external, set FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
* If mailto: always open the composer

Fixes bugs 1631784 and 2122326
ctivity/MessageCompose.java
ctivity/MessageView.java
2c6e2f72b191a45b5beb54329498b054b1421804 28-Sep-2009 Andrew Stadler <stadler@android.com> Make checkbox and star more easily selected

Fixes bug # 2149033
ctivity/MessageListItem.java
ba64cbcaf81b8ce1dcb5981f973c36c83d0f33cf 27-Sep-2009 Andrew Stadler <stadler@android.com> Watch for null results when updating internaldate.

Fixes bug # 2148971

Note, this condition happens when we APPEND a message to the server
but then we turn around and query for it, and the server reports that
it's not there:

>>> 7 APPEND "Sent" {490}
<<< #null# [Ready, for, argument]
<<< #null# [194, EXISTS]
<<< #7# [OK, [APPENDUID, 1233339552, 1191], APPEND, completed]
>>> 8 UID SEARCH (HEADER MESSAGE-ID \
<pwyc0i5yviwvu5nwio2lwdo5.1254073239445@email.android.com>)
<<< #null# [SEARCH]
<<< #8# [OK, UID, SEARCH, completed]
>>> 9 UID SEARCH UID NULL
<<< #9# [BAD, UID, SEARCH, error;, bogus, or, incorrect, syntax, \
of, search, critera]

I don't know why the Yahoo! server did this, but now we'll at least not
crash if they do it again.
essagingController.java
e4405a714ddbdc659336edbb530bf77d3b212a7f 27-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27165 into eclair

* changes:
Messages upsynced to "sent" should be marked as "read".
c6a392937e755aba1593d45cea285f43c8edba3c 26-Sep-2009 Marc Blank <mblank@google.com> Fix NPE issue in empty MessageList (fixes #2147432)

Change-Id: Idea4e4193e95686411f8e8257d729fcfc14d50b5
ctivity/MessageList.java
b422bda4d65c2a504ecb588e57ace450aa9c5e80 26-Sep-2009 Andrew Stadler <stadler@android.com> Messages upsynced to "sent" should be marked as "read".

Part of cleanup of bug 2097471 but also addresses old bug 1362964.
ctivity/MessageCompose.java
ail/store/ImapStore.java
c41c47fa07a22f8a7612fb0191f152a36d95b7a5 25-Sep-2009 Andrew Stadler <stadler@android.com> Enable message upload

* 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
egacyConversions.java
essagingController.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ail/Folder.java
ail/internet/MimeHeader.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
rovider/EmailContent.java
1086473056eaaa8f473af632fb6d701c8376e132 25-Sep-2009 Mihai Preda <preda@google.com> MessageView: fix prev/next navigation in compound mailboxes.

Bug 2132262.

Change-Id: Ic3b8d9ccedc6101abb90dcac3545f87cbf233659
ctivity/MessageList.java
c946f878399b1a54d35458095ad5d6e6f4110e68 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26815 into eclair

* changes:
UI refresh and add default sender indicator
10a4908369c5dfd8db22e969fc00ce0ec695a065 25-Sep-2009 Marc Blank <mblank@google.com> Remove "Refresh" from bottom of EAS message lists

* It's confusing and inappropriate

Change-Id: I4633d34ad022ab7970384f14182dbf3c9aa4207f
ctivity/MessageList.java
a4e604a9bb81ce8513b36e3f51d34ed7017438d0 24-Sep-2009 satok <satok@google.com> UI refresh and add default sender indicator

BUG: 1904417

* Fix the color of Read/Unread
* Add default sender indicator
ctivity/AccountFolderList.java
d32d78634c776fa12afb7478fdc7e67140f2167e 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26812 into eclair

* changes:
Remember the list positions in MessageListView for onResume
bce49bb3f56177eb61526426336fd0100ca34687 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27048 into eclair

* changes:
Harden a few calls in Controller
0d6e69ce8ac7e5d2ec508ec3223e9ed7c1174c8b 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26913 into eclair

* changes:
Don't drop local mailboxes if we created them.
e959645070c9bfa5b5169e0b9e8472606d2246a9 25-Sep-2009 Andrew Stadler <stadler@android.com> Don't drop local mailboxes if we created them.

Reimplement a dropped snippet from the original MessagingController
that preserved locally-created special mailboxes (drafts, sent, etc.)
instead of dropping them when they were not found on the server.

Bug # 2078209
essagingController.java
e892f6f978c18d1d43f94681f4d73f36d5f8a2cd 25-Sep-2009 Marc Blank <mblank@google.com> Harden a few calls in Controller

* Check for null account (situation in which the Account has been
deleted)

Change-Id: Iabd949c32443c7496a249ac5b7cdca22fc920a18
ontroller.java
58a28fdceb67a146a57de993ab81424d8536a61e 24-Sep-2009 satok <satok@google.com> Remember the list positions in MessageListView for onResume

BUG: 2131474
ctivity/MessageList.java
1033fe606cfe7fa9f75b7c7f13868ec7df2ad993 24-Sep-2009 Mihai Preda <preda@google.com> MessageCompose: correctly handle saving Draft in relation to restarting the activity on configuration change.

Avoids saving multiple drafts when opening/closing the keyboard.
Bug 2133003.
ctivity/MessageCompose.java
e1145d173971ebe741e42e9caa209ef2f7bbefa4 24-Sep-2009 Marc Blank <mblank@google.com> In EAS flow mode, don't try to use auto-setup (fixes #2143583)

Change-Id: I53a287d909fdde3c6ab75087a4a049c3afe9852c
ctivity/setup/AccountSetupBasics.java
d66b465776261b3313c4b3bb3ef7c3954ebb08e4 23-Sep-2009 Mihai Preda <preda@google.com> Fix loading the quoted text when editing draft.

Bug 2140036.

Only load the reply fields for an edit-draft situation.
ctivity/MessageCompose.java
rovider/EmailContent.java
0dbc15e6f15a01fdb2bd4f5263c06369299ec361 22-Sep-2009 Mihai Preda <preda@google.com> Email: catch RuntimeException when loading message with huge body from DB.

Bug: 2133062.
ctivity/MessageCompose.java
b19bc4c0b6b96516870665cf0d4e5b45638c16f4 24-Sep-2009 Marc Blank <mblank@google.com> Save HostAuth's when returning from editing Incoming/Outgoing settings

* in onActivityResult, we not only need to update the Account, but also
the relevant HostAuth (both if coming from AccountSetupExchange)

Change-Id: I0657ff257fe949e46e100eb3e6cfec6162514aa9
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
5fed93408390ba154f0c9d493e259caaa7a3c124 24-Sep-2009 Marc Blank <mblank@google.com> Make sure we call setServicesEnabled in the BootReceiver

* Otherwise, there's a chance that various activities will be
disabled (like MessageCompose), even if there are existing
accounts.
* Enable BootReceiver by default

Change-Id: Id4669c41a846545d8bac5ad85736e1508074864a
mail.java
ervice/BootReceiver.java
f4a045a58fdb1a0492a0009118ac320835a01985 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25957 into eclair

* changes:
Always show combined inbox
fea3de19bfca91d1b0766ff26335f91f5863f01d 20-Sep-2009 satok <satok@google.com> Always show combined inbox

BUG: 2129902
ctivity/AccountFolderList.java
5fc57eccefeba517fe5e6f093786f37c6c4d50e6 23-Sep-2009 Marc Blank <mblank@google.com> Fix reply/forward for both SMTP and EAS; fixes #2138725

* 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
ctivity/MessageCompose.java
ail/transport/Rfc822Output.java
rovider/EmailContent.java
rovider/EmailProvider.java
0d00889f83fc8c1d69039a2c849b630fb4dd28dd 23-Sep-2009 Andrew Stadler <stadler@android.com> Cleanup Provider Message in preparation for upload

* Remove mServerIntId and its special logic
* Add mServerTimeStamp
* Add column dynamically so we don't lose accounts

Bug # 2097471
egacyConversions.java
rovider/EmailContent.java
rovider/EmailProvider.java
4cf3252fb07623fe4985aaf3bf63360099320a41 22-Sep-2009 Marc Blank <mblank@google.com> Workaround system peculiarity to fix #2134509

* Our AccountManager listener was getting unregistered due to the way
ApplicationContext caches AccountManager in a static member
* The result was that AccountManager registers its listeners against the
FIRST context it is instantiated with! Future calls will all obtain
this pre-initialized AccountManager.
* In this case, AccountSetupOptions was the first caller (to create the
AccountManager Account for Exchange)
* The subsequent call to register a listener therefore had its registration
tied to the context of AccountSetupOptions, and was therefore leaked
when AccountSetupOptions finished!
* This caused a chain of problems - the leaked receiver, an Exception in
AccountManager when trying to ping the listener in an expired context,
and eventually the bug referenced above, which became a P1 issue

Change-Id: I478e28d21ca77419afa8011e4ed8101cdf67ab79
ctivity/setup/AccountSetupOptions.java
fa52e6c95674aef6461a5cfc670a052e1c5b7f2f 21-Sep-2009 Andrew Stadler <stadler@android.com> Clean out old mailbox names logic and fix a couple of bugs.

* Get rid of old Account.getxxxFolderName() calls.
* Clean up any call sites to them
* Properly rename the existing special folder name identifiers
* Use a hash table in MessagingController to improve identification
of special folders for IMAP accounts
* Fix a bug in Controller, which was creating new server-side folders
using localized names.
* Fix a bunch of code in Controller that was using mContext, instead of
using mProviderContext to support testability.
* Fix broken unit tests in ControllerProviderOpsTests

Fixes bug 1904373
ontroller.java
mail.java
essagingController.java
tility.java
ctivity/FolderMessageList.java
rovider/EmailContent.java
ad4ec0590d3d38c9cca621eb12569b6b6766be02 21-Sep-2009 Andrew Stadler <stadler@android.com> Fix broken MessageView tests

I'm surprised these were working at all.
ctivity/MessageView.java
7b79163aac1542577304d60fa76de6feb6be48c7 21-Sep-2009 Marc Blank <mblank@google.com> Show "sync contacts" setting properly in the settings page

Change-Id: I9c198e7795a8f2ea348361092eae22c8ff22a1a0
ctivity/setup/AccountSettings.java
2b4b5e2f26b2fc9e0875a2a1974d8010794f3642 21-Sep-2009 Marc Blank <mblank@google.com> Clean up recent submission per stadler

Change-Id: I9fdaf3ccefe7eab41ad853e120af36b78a30ce7b
ail/transport/Rfc822Output.java
c190de8369478ccfb155afed89348a8d5a9c6ebc 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26015 into eclair

* changes:
Handle issues in SmartReply/SmartForward
8067b54294356f375521ba3d1e7db3df117b65a4 21-Sep-2009 Andrew Stadler <stadler@android.com> UI cleanups for new account creation

* Improve appearance of basics screen and use simplified text
* Provide alternate text when in EAS account setup flow (from acct mgr)
* Change "Exchange/ActiveSync" button to "Exchange account"
* Add some spacing to the three buttons, to improve appearance

Bugs addressed:
2128055 Change string in account picker activity to Exchange
2132713 Welcome message for Email app is inappropriate when coming from
Settings -> Accounts & sync -> New account
ctivity/setup/AccountSetupBasics.java
2f99314326de0ee3bab9fbf18d511b24c0574ee1 20-Sep-2009 Marc Blank <mblank@google.com> Handle issues in SmartReply/SmartForward

* SmartReply doesn't put in header information related to the original, which
looks like a bug in EAS, so we add our own (as we do for SMTP)
* SmartForward works properly, but doesn't put any CRLF between the new text
and the original; we fix that by adding one after the original text.
* Addresses #2132658

Change-Id: I48efec0d02598a8e9ce2a54b4c66464e8e62e5d6
ail/transport/Rfc822Output.java
7041dc5d1b4e231c7ee51a76b0dd02f5525ac51d 20-Sep-2009 Marc Blank <mblank@google.com> Reconnect Settings -> Accounts to Email account settings screen

* This was broken during the AccountManager naming reversion

Change-Id: Ib2ccc9ca187ffdaf4a978c3c8111808be50d1583
ctivity/setup/AccountSettings.java
a740e2935746254b836051069813489cb38be666 20-Sep-2009 Marc Blank <mblank@google.com> Fix bugs related to orientation change in MessageCompose

* 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
ctivity/MessageCompose.java
8d5004a6eb28844c9d86a5e97a947043b693eee6 20-Sep-2009 Andrew Stadler <stadler@android.com> Modernize the code to load message and body from DB.

* Don't use unneeded managed cursors
* Put more of the DB work in async
* Don't try to load HTML and plaintext simultaneously
* Explicitly catch & handle exceptions during db ops

Bug # 2087051 (see also bug # 2122960 re unexpected db exceptions)

Change-Id: I446086bc4f3a85b2e766b12d1f7271e61e3ae8d5
ctivity/MessageView.java
8587aa61211d288d05b5fb2ddf02d69cabe6a9e2 19-Sep-2009 Marc Blank <mblank@google.com> Make EmailProvider more threadsafe w/r/t transactions

* Since transactions can be nested, get rid of pointless/dangerous
flag for indicating we're in a transaction.
* Fixes #2131847

Change-Id: I2955e8a7659533e8ee9e71b949a042570466df45
rovider/EmailProvider.java
726d22b96280f376f52367304a53f5ac1d4e60f3 20-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25895 into eclair

* changes:
Fix service behavior w/r/t onStartCommand, onCreate, onDestroy
02df29b647ae77f0ff283ab9ace737b077db3509 19-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25903 into eclair

* changes:
Fix bug that caused Cc field to be displayed when empty.
a4482e865dd3b219be672898df13dbbf1f4ae48d 19-Sep-2009 Marc Blank <mblank@google.com> Fix service behavior w/r/t onStartCommand, onCreate, onDestroy

* Make sure to null out vars in onDestroy
* Use START_STICKY as return value for onStartCommand
* Start SyncManager from EasAuthenticator callback, rather from the
authenticator itself (otherwise, the Account might not have been
created when we start SyncManager)

Change-Id: I54ff8d5586e96f016b365587717710dee3202da8
ctivity/MessageList.java
ctivity/setup/AccountSetupOptions.java
ervice/EasAuthenticatorService.java
24bbde37478bb717d72a13e880359d1ab28216a8 19-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25897 into eclair

* changes:
Revert change to AccountManager naming; use email address again
b4626d151c1b63a48f7a2fea104fbdb62abcbcee 19-Sep-2009 Andrew Stadler <stadler@android.com> Fix bug that caused Cc field to be displayed when empty.

The IMAP & POP messages are being stored with cc="" instead of null,
which is taken care of by testing the output of toFriendly() instead
of the raw field from the DB.

Change-Id: I9460e7ae098ac5cd0ccd527381ffd4e6d9defae4
ctivity/MessageView.java
657de3bfd6024811c6d6ef6fb2fb2c2750d9f54a 19-Sep-2009 Marc Blank <mblank@google.com> Revert change to AccountManager naming; use email address again

* Forces wipe of existing accounts

Change-Id: I65d08e07a2d74f94f9142e85791d9bf49c100241
ail/store/ExchangeStore.java
rovider/EmailProvider.java
9312faea437854f075df57b9ec23a5d57cb8db0c 19-Sep-2009 Andrew Stadler <stadler@android.com> Restore lost connection error UI

We lost the reporting of connection errors in the UI. These were
originally displayed in FolderMessageList, under the name of each folder.

In the new implementation, we borrow the "undo" banner from Gmail and
display it whenever there is a connection error in a mailbox.

* Add banner, and code to animate it on/off the top of the list.
* Toggle banner whenever a connection state change occurs in MessageList
* Toggle banner whenever a connection state change occurs in MailboxList
* Slight change to callback semantics for sendMailCallback
ontroller.java
essagingController.java
ctivity/MailboxList.java
ctivity/MessageList.java
cd1e2072008da7467c852d6043fb9f69ff5bc42b 19-Sep-2009 Andrew Stadler <stadler@android.com> Fix NPE when entering account settings.
ctivity/setup/AccountSettings.java
91f12b8d520fbdcd26e6cf80fed26ce73d9ad782 18-Sep-2009 Marc Blank <mblank@google.com> Fix problem with account settings not being saved (#2131153)

Change-Id: I6845604c6f3326e136060cace55fc53fcca867c9
ctivity/setup/AccountSettings.java
eadb55b04eae126fdef442bae6d72c804df735d0 18-Sep-2009 Marc Blank <mblank@google.com> Implement hooks from Settings->Accounts to Exchange account setu

* Fixes #2106718
* Fixes #2106733
* Remove "Add another account" from the preference screen

Change-Id: I8db1400d2bdb6ed7d3aeb2049cc1a399c47c38c5
ctivity/setup/AccountSettings.java
a96c941d9ffa69897ff68a6298b69a2805b81d64 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25721 into eclair

* changes:
Clean up transport encryption & port options
68b620cca0097e2fbde9498bd76129d081c5c9b2 18-Sep-2009 Jeff Sharkey <jsharkey@android.com> Switch Email to new FastTrack API.

As part of http://b/2087222 we have a new API specifically
for launching FastTrack. This allows SHOW_OR_CREATE to be
returned to its original behavior.

I've tested this change and confirmed that it's WAI, and
may have also fixed up some deprecated references.
ctivity/MessageView.java
8b91975fa5237652ba93a6deb721d2115e2e1262 18-Sep-2009 Andrew Stadler <stadler@android.com> Clean up transport encryption & port options

* Remove SSL-Optional and TLS-Optional choices from UI
* Remove SSL-Optional and TLS-Optional choices from providers.xml
* Switch over most SMTP connections from 25 to 587
* Clean up the providers list which has a lot of "optional" cases
that were probably falling back to unencrypted.

Fixes bugs:
2110243 Settings UI shouldn't offer SSL/TLS (if available) options
2089070 Update list of providers

Change-Id: I57be57b349eed33a5284121d904528279a36a91c
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOutgoing.java
27bc39399e47e8f14cbb42834990546eb93851de 18-Sep-2009 Andrew Stadler <stadler@android.com> Turn off debugging code that was accidentally left on.

This goes with Change I52e53c4b.

Change-Id: Ife5672af1c0c5cf2b2c279a9a912beb26c64390d
ervice/MailService.java
a6888d7448f27b39cb66a26efedf38b06ff9adae 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25459 into eclair

* changes:
Fix sort order of MailboxList
925be3bf76a943375947be8565800c24e4d27a6c 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25462 into eclair

* changes:
UI Refuresh of account folder list
15206a12e818dd1eeb4c5add851092b8a3e902a3 17-Sep-2009 satok <satok@google.com> UI Refuresh of account folder list

BUG: 1904417

* Extend chip
* Add separator between a folder button and account name
ctivity/AccountFolderList.java
01f61ef912879c12665d2073917626cb3ee7df0a 18-Sep-2009 Andrew Stadler <stadler@android.com> Fix acct settings -> inbox checks -> notifications

This cleans up a number of bugs that could be generically described as
"MailService and Notifications not being updated when accounts or account
settings are changed."

This also fixes a number of race conditions, one of which was causing
accounts to be refreshed in a nearly-endless loop, and another which
could cause an endless loop of alarms to be posted & fired..

Specific changes:
* Update/reschedule any time an account is edited (this was accidentally
broken and being handled on EAS only.)
* Make sure we reschedule if an account becomes unavailable
* Clear notifications whenever refreshing accounts
* Reload local copy of account settings whenever refreshing accounts
* When restoring prev sync times (this happens when process is killed),
be sure to also recalculate next sync times.
* Set flags on the pending intents to make sure old pending intents are
not being reused.
* Set a watchdog each time we check the mail, so if we are killed during
the mail check, we will be woken up again to retry.
* Fix a 2nd race condition in which a just-created account fails to sync,
due to not (yet) having an inbox.
* Clean up handling of Controller callback:
* Fix a minor bug in which refresh of non-inbox mailboxes would delay
the next timed sync of the inbox for that account.
* If the checkmail ended in an error (result != null) the service was
never rescheduled.

Bugs Fixed:
bug 2078149 - Update service and notifications when account settings
change or accounts are added/deleted.
bug 2084412 - Fix race condition caused by first intent being refired
bug 2071484 - Make sure we wake up later if killed during mail check

Change-Id: I3ee0d1b389c652351de5eb798c32a2daea244067
ctivity/setup/AccountSettings.java
ervice/MailService.java
492e8498e75c8f3faec17cc89bcabc8c5d7d1ca9 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25427 into eclair

* changes:
Don't add backslash if there already is one; fixes #2124974
e7e1ca432e1aace5b7f11a3f1684a4abc503e6b2 16-Sep-2009 Marc Blank <mblank@google.com> Change AccountManager username for Exchange to the user's login credential

* This is not a backward-compatible change (sorry)
* Existing AccountManager EAS accounts and contacts are deleted
* Existing EmailProvider data is deleted
* Change works with new code (stadler) to avoid account duplication

Change-Id: Ife09c51fa714d91054d017b497bce603add5375a
ail/store/ExchangeStore.java
rovider/EmailProvider.java
3449b3184c622f8ece729d4f6abaa5b74b794759 17-Sep-2009 satok <satok@google.com> Fix sort order of MailboxList

BUG: 2083746
ctivity/MailboxList.java
acfd155c1202ebde4f9d8f19d5308a4da08d108f 17-Sep-2009 Marc Blank <mblank@google.com> Don't add backslash if there already is one; fixes #2124974

Change-Id: If5fa8369ee4c52449047d5134f3bf28feb88de1a
ctivity/setup/AccountSetupExchange.java
767ea863986c1d03332ca43591106510de0c8725 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25344 into eclair

* changes:
Add "Sync Contacts" to Account preferences screen (part of #2106733)
e428f941610ced75a9a104104c98cb35358d6fae 16-Sep-2009 Marc Blank <mblank@google.com> Add "Sync Contacts" to Account preferences screen (part of #2106733)

* Also added some checks for null Accounts and HostAuth

Change-Id: Ia4ae68d0e8a62abdaf002519766b6685b6947e9e
ctivity/setup/AccountSettings.java
092d35c98d00c5a8b1ba93f51f8e59220f1488cb 16-Sep-2009 Andrew Stadler <stadler@android.com> Fix NumberFormatException in POP3 message sync

* Write unit test to replicate failure(s) in POP3 use of parseInt. All
calls to parseInt must be guarded by try/catch NumberFormatException.
* Fix the failures

Bug # 2115586
ail/store/Pop3Store.java
0c4dc85190028f389f0dcbc3dbed0b344d20a313 16-Sep-2009 Andrew Stadler <stadler@android.com> Harden against crashes caused by account deletes

The basic failure mode is to delete an account while it is being
synced or some other background activity. The fixes in this CL will
harden against this, but it will not be a perfect solution; That
will require shutting down all sync, which is difficult in the current
too-many-threads implementation.

Primary bug# 2112564
ontroller.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ctivity/FolderMessageList.java
ctivity/MessageList.java
2aa3e92fe3b4dde20f388ccf2a9502d12ad6969c 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25041 into eclair

* changes:
show message list selection
5569ec9c9d0cb8b7f57bfcad42ca4466a69c6d8d 15-Sep-2009 satok <satok@google.com> show message list selection

BUG: 2117057

* add styles for items in MessageListView
* reduce color diff of Read/Unread
ctivity/MessageList.java
ac37c5c15a3fd4f91f264800966da8e28f338c87 16-Sep-2009 Marc Blank <mblank@google.com> Change Exchange username validation to exclude bare backslash

* Fixes #2121422

Change-Id: Id55dfa365b83d725926e3e7dcd7b646256863aa1
ctivity/setup/AccountSetupExchange.java
da8836a76cd8a6eaa7e3693eeacc6393870b2066 15-Sep-2009 Andrew Stadler <stadler@android.com> Give warnings if dupe account created:

* Check for existing accounts with matching servername + username
* Show a dialog and block account creation
* Triggers in three cases:
* After input of an auto-setup account (e.g. Gmail or AOL)
* After input of manual setup (incoming) parameters
* After changing incoming parameters of *any* existing account
* Made some notes in EmailContent regarding fields in HostAuth that we
are not actually using.
* Added HostAuth unit tests

Primarily fixes bug # 1964449
Bonus fix for bug # 1594408

Change-Id: I49310faf6654280582e0ab3d3e40f2701bfcd21d
tility.java
ctivity/AccountFolderList.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
rovider/EmailContent.java
2d5691cac1874eb3491353ab608a84c2a75e2b62 15-Sep-2009 Marc Blank <mblank@google.com> Support bcc in Exchange (Fixes #2117849)

* Must send the bcc header for EAS

Change-Id: I38d119beed334c6bb23a09b87375804f8c03ea76
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
ffc681a4da85c82c80d819ab8afb4442577c52a0 15-Sep-2009 Marc Blank <mblank@google.com> Handle the case of no body being present (happens in unit tests)

* Fixes #2121403
ail/transport/Rfc822Output.java
d2174733b146eeccd5f3b3b95f98e1e1aaafb257 08-Sep-2009 satok <satok@google.com> Auto-sync of stale mailboxes

BUG: 2050116
- auto sync onResume
- add mNonPushMode
-- mNonPushMode is updated in SetFooterTask
mail.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ervice/MailService.java
043dba5e1b79037f438483f32108aa348d0f0ad6 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24672 into eclair

* changes:
Enable long press Open on Accounts screen
1d98989222f2d023ddb08a70d5abb850029f95dc 09-Sep-2009 Marc Blank <mblank@google.com> Implement SmartReply/SmartForward for EAS; fixes #2098779

* SmartForward and SmartReply are EAS commands that automatically
include the original message and, if a forward, all original
attachments, regardless of whether they've been downloaded to
the device
* Both commands improve battery life by sending less data; greatly
so for SmartForward if there are attachments

Change-Id: I12432cd5275a3b54e9a80d5cd59da437c4a086cc
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
e59c8725c595ae21dff5e04dc418818a18555a55 14-Sep-2009 Marc Blank <mblank@google.com> Make sure SyncManager keeps running in various edge cases

* Have Welcome start the service (in case the app has been reloaded)
* Have SyncManager.ping start the service if there's no instance of
SyncManager

Change-Id: I8bed2843a3e065d2db29fad67dfb0bb3a5d0ff5e
ctivity/Welcome.java
403a45e73606f3d41624c3e3ac02597c08145281 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24844 into eclair

* changes:
Reimplement reply/forward to use mTextReply/mHtmlReply
f2dded3a2fba83dd3f0d14cce6abe467a4ab66eb 12-Sep-2009 Marc Blank <mblank@google.com> Reimplement reply/forward to use mTextReply/mHtmlReply

* 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
ctivity/MessageCompose.java
ail/transport/Rfc822Output.java
60c7502b6777be550aaace9e9d780a9f84c8b03f 12-Sep-2009 Marc Blank <mblank@google.com> Change exchange setup screen per #2025029

Change-Id: Ib94713857902e336984b847f70c96e04826b9b74
ctivity/setup/AccountSetupExchange.java
9486e1c1d3383868227665073742be0bb662e600 11-Sep-2009 satok <satok@google.com> Enable long press Open on Accounts screen

BUG: 2083565

Fix the button name
ctivity/AccountFolderList.java
be60dfdee7c2c0f73d54e1b04a36967508d428ae 11-Sep-2009 Andrew Stadler <stadler@android.com> Update MessageListView to fit punchcut's design

BUG:1904421

* update READ/UNREAD indications
** don't change color chip
** change background color
* Change Date
* Change the position of attachement icon
* Change menu icon for folder
ctivity/MessageList.java
f9ab857a5599faac2896394180fcd4ed56b09941 11-Sep-2009 Andrew Stadler <stadler@android.com> Implement delete-from-trash

* Edit Controller.deleteMessage() to handle both cases
* Refactored to start from processPendingActionsSynchronous() and
dispatch to series of smaller methods to handle deletes vs. updates
and the details of the various specific operations.
* Added processPendingDeletesSynchronous() which looks for delete-from-
trash and does the right thing locally and/or remotely.

Fixes bug # 1811026
ontroller.java
essagingController.java
ctivity/FolderMessageList.java
6c21942ec45f561d711b3d74ecca8e62afb735c4 10-Sep-2009 Andrew Stadler <stadler@android.com> Implement move-to-trash for IMAP and POP3.

* 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
ontroller.java
egacyConversions.java
essagingController.java
tility.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ctivity/setup/AccountSettings.java
rovider/EmailContent.java
rovider/EmailProvider.java
805562e26f50bd57c3b9bd357644285d3f1941a4 10-Sep-2009 Marc Blank <mblank@google.com> Fix logic for use of "Sync Contacts" button value

Change-Id: I9abed1830a61795542bdf15ee62395a63abc9222
ctivity/setup/AccountSetupOptions.java
6d1271aee78f195e094aca650d8dceee79fbb5e4 09-Sep-2009 Marc Blank <mblank@google.com> Fix crash in large tests (#2108431)

Change-Id: I82a0ec81361b722bfa1cb4f197e3c999936ff192
ctivity/MessageCompose.java
cef2344e70b4ab90cbbb01aac00f248976d273df 06-Sep-2009 Marc Blank <mblank@google.com> Rework EAS account creation & ssl operation

* Fixes 2048663, 2025029, and 2100131
* Add "Trust Certificates" checkbox in EAS account creation
* Use custom ClientConnectionManager for HttpClient with registry
for plain, ssl, and tssl (trusted ssl) connection
* Use a ConnectionPool for HttpClient connections
* Remove "Domain" checkbox in EAS account creation
* Remove tests related to the "Domain" field
* TODO Write a test for valid usernames (requires a bit of research)
<name>, <email address>, <domain>/<name, and <domain>\<name> are all
valid, but there might be others

Change-Id: I4a0338df5960bfd3d679a88aaf22d1c49f49992b
ctivity/setup/AccountSetupExchange.java
ail/store/ExchangeStore.java
ail/store/TrustManagerFactory.java
rovider/EmailContent.java
ervice/EmailServiceProxy.java
e25698319325d5e9619bc45ae85d861b0f1c5954 08-Sep-2009 Marc Blank <mblank@google.com> Add sourceKey to Body table; add flags for reply/forward in Message

* Set reply/forward flag and sourceKey as appropriate in MessageCompose
* Update provider tests accordingly

Change-Id: I7f49d80a735314a1a38f09fbf1f234257c41af8c
ctivity/MessageCompose.java
rovider/EmailContent.java
rovider/EmailProvider.java
4587efc1d3da8dc0b1759d7d82677f347b529830 08-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Replacing old contacts API references with new ones.
ctivity/MessageView.java
a5b855898d3a1da2ddfbcd7b012688dae57cfcdd 06-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Re-enabling email suggestions and switching to new contacts API.
mailAddressAdapter.java
ctivity/MessageCompose.java
7b03c7936a2fd238f366fe145619308e5b31a8ec 05-Sep-2009 Andrew Stadler <stadler@android.com> A bit more debugging to catch the service race condition.

NOTE: This switches on Email.DEBUG for everyone, and should be
removed.


Change-Id: I700099a9aa5e5c64d8c282cb8d07a47c7c408862
ervice/MailService.java
8549068cb55a014f81c3189ad40a164b5d036f03 05-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23963 into eclair

* changes:
MessageView: bug 2076472, fix deletion WRT prev/next navigation.
b8d0c55a05b97e53957dfd6619ea97edeca989cf 04-Sep-2009 Marc Blank <mblank@google.com> Fix reply all behavior to prevent duplicates, etc.

* 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
ctivity/MessageCompose.java
db003dd489fe00ac4384e2768e9ed32dbfff4d53 05-Sep-2009 Andrew Stadler <stadler@android.com> MessageView: bug 2076472, fix deletion WRT prev/next navigation.

- fix doPrevious() which was not correctly moving the cursor due to
bug 2100645
- correctly handle configuration change (keyboard open/close) by saving
the current message
- reorder the operations in onDelete: first move the cursor, and next
delete, to avoid the possibility of the observer call happening with
the deleted message as messageId.
ctivity/MessageView.java
5d09beeacbca54bda48055188585354bfaf238ad 05-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23803 into eclair

* changes:
MessageCompose: Bug 2078435, Correctly set the attachement flag.
9be10e62ed4c809c56e2bcc357d5bb7d5dd543c1 04-Sep-2009 Marc Blank <mblank@google.com> Remove the "unique" requirement for serverId; it should never have been there

* People using multiple accounts without this change could end up with missing folders
* Fixes 2099514
* Database version incremented; this change will cause a database wipe

Change-Id: I08d23fa54d8194758e1f7c2ffb528a14bc184f08
rovider/EmailProvider.java
5768ef614bc7e45720da4ea2c92d261292993970 05-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23939 into eclair

* changes:
Fix crash related to long press of footer view in MessageList (2099784)
3113ae67fdee3fa0ec8ad20af1568542570e28dc 03-Sep-2009 Mihai Preda <preda@google.com> MessageCompose: Bug 2078435, Correctly set the attachement flag.

- 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.
ctivity/MessageCompose.java
62fb7cf5f58aa063e43b2ea87f48285cdd066bdb 01-Sep-2009 Mihai Preda <preda@google.com> Email MessageView: Bug 2053500, presence.

- fix the query for presence status.
- put it in an AsyncTask instead of Thread, remove from Handler.
- set the target rect when invoking the presence bar.
ctivity/MessageView.java
8af852315494e13591fb8a01a4e29e522845b3be 04-Sep-2009 Marc Blank <mblank@google.com> Fix crash related to long press of footer view in MessageList (2099784)

Change-Id: I4be240096022ee69244532bbf876a47a520188bc
ctivity/MessageList.java
9b9a2e69b920823c18b27740ee77cef007316d60 04-Sep-2009 Andrew Stadler <stadler@android.com> Improve logging in MailService

The goal is to generate better reports to help find the race condition
described in bug 2084412

Change-Id: Idfc453af17edf08e89d2aa656585b83ed48691c8
ervice/MailService.java
4f11b50de573ab8ce937e5c7544ec4c21bd62f1f 03-Sep-2009 Mihai Preda <preda@google.com> MessageView: Bug 2097855, observer on prevNextCursor unregistered twice.
ctivity/MessageView.java
67650c8bf7d154d5deff6dcae531da544d85ab90 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23435 into eclair

* changes:
Email: BUG 1964940 Support multiple share from Gallery in Email
bc1e760c113a610aa7b3c0ca1ca6c027a3f863a0 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23771 into eclair

* changes:
Fixed Labels for buld email
58bd29e740a137cf705cbfa7ad512135d6b57fdc 02-Sep-2009 satok <satok@google.com> Fixed Labels for buld email

BUG:2084730
ctivity/MessageList.java
9c60b110a991019959ca5c01f0db7b508048810a 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23726 into eclair

* changes:
Clean up next/prev behavior in MessageView
4bb52e36b18ab5e2fb9242069611bc0ef6116c09 02-Sep-2009 satok <satok@google.com> Fix the foldername of outbox

BUG: 2077596

* fixed the array of special_mailbox_display_names
* added unit tests
tility.java
rovider/EmailContent.java
6d22ccaa2f3be78ea94e0758cef51ab9719e52a5 03-Sep-2009 Andrew Stadler <stadler@android.com> Clean up next/prev behavior in MessageView

To improve functionality of next/prev buttons:
* Stop using managed query for next/prev cursor, so requery won't
run in UI thread. Add explicit lifecycle management.
* Requery on every onResume()
* Use a listener to catch external changes. This applies both to synced
changes and also local deletes.
* If we ever find ourselves out of the list, finish() immediately
to avoid any race conditions.

To reduce flicker & other problems during msg-to-msg navigation:
* Clear attachments list so it doesn't accrete as we navigate
* Clear body so we don't show previous body with newer headers

Fixes bug 2076472 and (possibly) 2069241 & 2078933
ctivity/MessageView.java
64814b3928a373f341ec819b3367320f8d7bc981 25-Aug-2009 satok <satok@google.com> Update the design of Unread Count

BUG: 2065601

* Show Unread Count of Accounts in AccountFolderList
* Change the background according to the folder's type
* Change the style of unread counts

TODO: Change background images of Unread Count
ctivity/AccountFolderList.java
ctivity/MailboxList.java
91a5cd517f1f30131305a299efae1449f9e4118c 02-Sep-2009 Andrew Stadler <stadler@android.com> Clean up handling of Exchange setup option

* Use concrete declarations, not the old sample code
* Remove unused "sample" code
* Create ExchangeSender.java
* Strip out the unused (old sample code) parts of ExchangeStore.java
* Unit test to make sure EAS is being offered
* Fix "account leak" in AccountSettingsTests

This was triggered by donut bug # 2092944 but the solution is
different because we support EAS here.
ail/exchange/ExchangeFolderExample.java
ail/exchange/ExchangeSenderExample.java
ail/exchange/ExchangeStoreExample.java
ail/exchange/ExchangeTransportExample.java
ail/store/ExchangeStore.java
ail/transport/ExchangeSender.java
fa2238ca40080dd6b28036d1e512d9a0e690d3d8 01-Sep-2009 Mihai Preda <preda@google.com> Email: BUG 1964940 Support multiple share from Gallery in Email
ctivity/MessageCompose.java
936babc145e2e6eb2e222f2ce5e3da8f9e4fb9f2 02-Sep-2009 Andrew Stadler <stadler@android.com> Bulk change of columns, LAST TIME.

* Add reply columns to Body
* Remove a bunch of unused columns from Message
* Update SQL tables, content read/write, etc.
* Small tweaks to app code that was not-really-using the old columns.
* Update existing unit tests for new/changed columns
* Disable TagsTests to solve a tests failure (prexisting, not caused by
this CL)

Change-Id: Ief493796dfe219669755170d76786f91570cbb9b
egacyConversions.java
rovider/EmailContent.java
rovider/EmailProvider.java
1b590566611017d95076ea7c4b36a5704219175a 01-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23021 into eclair

* changes:
Email: check for closed cursor in onPostExecute for AsyncTasks.
75a0873dd9520f858b0bed576c9d84663c70b570 01-Sep-2009 Marc Blank <mblank@google.com> Remove the temporary call to start SyncManager in Welcome.java

Change-Id: Ic15b19374e89d2b1329e55d4bc86336499a983fd
ctivity/Welcome.java
58267fe146c29251f457444364f844fe141de84f 29-Aug-2009 Marc Blank <mblank@google.com> Fix some Contacts upsync bugs; add logging for serialization

Change-Id: I855a8ee3df520f53fc94866b8463d314cf800ca5
ervice/EasAuthenticatorService.java
285efb4aff0c3a0ef15d249223d9e8c6c3d0ce77 28-Aug-2009 Mihai Preda <preda@google.com> Email: check for closed cursor in onPostExecute for AsyncTasks.

BUG 2081965
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
ctivity/MessageView.java
52129ec4b2b4d02012f6d87ed146916995b096d2 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23001 into eclair

* changes:
MessageCompose: BUG 2069196, compose email from the correct account.
948e5ae63b752dacccc731e019326f1dd2eeef0b 28-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: BUG 2069196, compose email from the correct account.
ctivity/MessageCompose.java
ab11649eed5cb73ce06d9fe266456e221b82796d 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22989 into eclair

* changes:
Fix usage of isDefault and IS_DEFAULT to be consistent
242fde192081c571569f5989419ca2a19ad34482 28-Aug-2009 Marc Blank <mblank@google.com> Fix NPE in bug #2080357

Change-Id: I07c0b65e16568e9cf182b70302f2a1ce90d2581b
essagingController.java
0401ad5334fad104336413173f17a5d72b9b5518 28-Aug-2009 Marc Blank <mblank@google.com> Fix usage of isDefault and IS_DEFAULT to be consistent

* There was inconsistent usage between int and boolean for this column

Change-Id: Ifa7bd6f2563920a95b6b714f3a7b14e5be29d176
rovider/EmailContent.java
2ded414e99ec6e275865df6cc5d62b4b9c3e01be 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22840 into eclair

* changes:
Sync "read" and "favorite" back to server.
423206653fc1841153f6c6c00599a65d5c5f2191 27-Aug-2009 Andrew Stadler <stadler@android.com> Sync "read" and "favorite" back to server.

* Add \FLAGGED support to IMAP (writeback)
* Add code in Controller to kick MessagingController
* Rewrite pending commands system to scan through provider's updated
messages table and react
* Fix a unit test that I broke
* Cleaned out some of the old PendingCommand support

Addresses the 2nd half (upsync) of bug 1904385

TODO:
Can I add a unit test for IMAP flag writer?

Change-Id: I5a96a695d4f35fca1395506f165b86d9fb19b543
ontroller.java
essagingController.java
ctivity/FolderMessageList.java
ail/store/ImapStore.java
6c99ea3d02ba1b6b351a4ff4a39eadf90e494349 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22829 into eclair

* changes:
Fix #2081145 (Empty subject line imitates magic eight ball)
b01bce9b50bf2f8088e04a7e1ea2a037e52fc41f 27-Aug-2009 Marc Blank <mblank@google.com> Fix #2081145 (Empty subject line imitates magic eight ball)
ctivity/MessageList.java
7ac828bce884c26d7f28486ec49d7f99b81842d3 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22823 into eclair

* changes:
Fix bug #2080302
1851882c8c4ab06aa66e17735acd596c2c97b95a 27-Aug-2009 Marc Blank <mblank@google.com> Fix bug #2080302

* Was trying to retrieve an integer as a boolean in the ContentValues
* The actual Exception (ClassCastException) was buried by ActivityThread
rovider/EmailContent.java
58299b0b668a8913f946f48844b8a7cbcbb69963 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22793 into eclair

* changes:
Handle errors in account creation by AccountManager
eac52c9398327de297e3369409e5f2225d39a08c 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22798 into eclair

* changes:
MessageCompose: bug 2080075 & 2077496.
a3c6c6ed294d5a1fb0662fdacc1388944487fdf2 26-Aug-2009 Marc Blank <mblank@google.com> Handle errors in account creation by AccountManager

* Don't create our EmailProvider Account until we get a confirmation from
AccountManager that the system Account is created
* Put up an erorr dialog if AccountManager fails for some reason (this is
what we saw in bug #2072668)
ctivity/setup/AccountSetupOptions.java
ail/store/ExchangeStore.java
ea0fea2558f78ba54d9a8fbca6af466d9542d038 26-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: bug 2080075 & 2077496.

- 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
mailAddressAdapter.java
ctivity/MessageCompose.java
2ac94a9cc254ff0a4c17407eb1bda31d433ef651 26-Aug-2009 Andrew Stadler <stadler@android.com> Update Star and Read/Unread from IMAP server

* Set the star and the read/unread states properly when a
message is downloaded for the first time.
* Update them on already-downloaded messages.

This is download only - not upload
Bug 1904385

Change-Id: Id03a0957677bb39f4a57ed0542eaa8accc36ab48
egacyConversions.java
essagingController.java
ail/store/ImapStore.java
c1edb4a80185311072622a93b8a7458bc549de99 25-Aug-2009 satok <satok@google.com> Show/Hide/Change appropriate buttons in footer of MessageList.

BUG: 1904403

* Change the text of READ/UNREAD button dynamically according to the state of selection
* Change the text of favorite button dynamically according to the state of selection
ctivity/MessageList.java
98c10db5103aca003446b446efa7492b7cd36f34 25-Aug-2009 Andrew Stadler <stadler@android.com> Clean up menus in MessageList

* Final list of options while normal mailbox is shown
* New list of options while smart folder is shown
* Correct lists of context options for drafts, outbox, trash, and
everywhere else (full list)
* Enable reply, reply all, and forward

TODO: needs a better icon for menu->folders

Resolves bug 1904421 items 4a, 4b, 5a
Resolves bug 2078092
ctivity/MessageList.java
67be84728a05f969ae1306fc1fed21fb1a2a8526 25-Aug-2009 satok <satok@google.com> Update UI of accounts folder list and smart folders

BUG: 1904417

* Changed the order of menu options
* Made context menu for smart folders
* Added context menu for Accounts
ctivity/AccountFolderList.java
9b27c7fd903109bb20812da0421ce44676aa0189 25-Aug-2009 Mihai Preda <preda@google.com> MessageView: display inline images.
- also display "show pictures" the same as in donut.
- inline images don't show in attachemnts list.
ctivity/MessageView.java
68c3c7518e132bdbfd17a0b122fbe09c08e0acdc 23-Aug-2009 Marc Blank <mblank@google.com> Use LED for notification (same parameters as Gmail and GTalk services)

* Agreed to by Erick and Prasenjit

Change-Id: I1a0f3642c9b10f981b2feed55762407ed853763d
ervice/MailService.java
df86adf87328a439347260331592509787020420 25-Aug-2009 Andrew Stadler <stadler@android.com> Finish the code to demand-load partially loaded messages.

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
ontroller.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ervice/MailService.java
60a04912e0973183c40ac34fb121ab77e471ec39 24-Aug-2009 satok <satok@google.com> Change all context menus

BUG: 2051086

* Add titles to all context menus
* Fix bug that prevented display of context menus in MessageList

TODO: localize special folder names
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
dadba9949895696108b31124fc0c6aa1a297ab1c 21-Aug-2009 satok <satok@google.com> Localize special folder names

* make utility for looking up icon id for mailbox
* make utility for looking up localized name for mailbox

BUG: 2065586
tility.java
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
4bc4fed47bec36b48203ae7dd6cd7e4727cfea70 23-Aug-2009 Dianne Hackborn <hackbod@google.com> Use new service command processing to avoid leaving the service running.

The service still needs to schedule an alarm in its onStartCommand() so that
it will run in its next poll interval.

Change-Id: I66228ef573e84a5c7d33bcb07f4772626079b960
ervice/MailService.java
e1f0b0a9bcc78ade7f3b2ac540705701f19cd6cd 25-Aug-2009 Andrew Stadler <stadler@android.com> MessageView: next/prev navigation.

in addition:
- fix AND-OR precedence in cursor query in MessageList.
- move special mailbox ids from MessageList to Mailbox
- move shared code from MessageList to com.android.email.Utility
- add invisible prev/next to landscape in order to avoid special-case in code
- select mailbox list using IN() instead of list of OR

Note: Checked in by Andy to facilitate further work on MessageView.

Change-Id: I8049be2b45fed1e4e697a0ed895492c4d0e59e0a
tility.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MessageList.java
ctivity/MessageView.java
rovider/EmailContent.java
ervice/MailService.java
77398c42899a383680005b92955a29ab3d872c5c 24-Aug-2009 Andrew Stadler <stadler@android.com> Reenable Load More Messages for IMAP/POP

* Properly reset all mailbox limit values
* When load more messages is clicked, increment limit and resync
* Also fixed a race condition in provider

Resolves bug 2065626

Change-Id: If50f25a5cb3b549b3acc48406c78533ad86ed4d5
ontroller.java
mail.java
essagingController.java
ctivity/MessageList.java
rovider/EmailProvider.java
a9a5dd60d6c9f350cf370409d10d5a9e692c8273 22-Aug-2009 Andrew Stadler <stadler@android.com> Two minor crash fixes

* Don't call deprecated presence Uri
* Don't return null from SyncManager.getAccountList()
ctivity/MessageView.java
95993a4b8466c2a47f4eba7a65b4ba194986cff5 18-Aug-2009 satok <satok@google.com> Update Title bar to use custom titles

BUG: 2050630

* remove fat title bar
* show new titles by using custom title bar
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ctivity/MessageList.java
d382107bdc95d4472050d0879dff7e30193ef1c2 20-Aug-2009 Jeff Hamilton <jham@android.com> Don't try to load the owner info for now, it's not available.
ctivity/setup/AccountSetupBasics.java
ed651a645cfaeff6b6472677c6fc7621c6faf732 21-Aug-2009 Bob Lee <crazybob@google.com> am dbbd29c8: Updated Email to use shared trust manager instead of initializing its own copy.

Merge commit 'dbbd29c822235d0c4c2ba9bad808ff5d4b86d399' into eclair

* commit 'dbbd29c822235d0c4c2ba9bad808ff5d4b86d399':
Updated Email to use shared trust manager instead of initializing its own copy.
dbbd29c822235d0c4c2ba9bad808ff5d4b86d399 21-Aug-2009 Bob Lee <crazybob@google.com> Updated Email to use shared trust manager instead of initializing its own copy.
ail/store/TrustManagerFactory.java
bcff14acf25d3a999b7448e317604e694c204f47 21-Aug-2009 Andrew Stadler <stadler@android.com> Create setup flow for use by Accounts manager.

* Create a new entry point for the exchange setup flow and switch
EASAuthenticatorService to call it
* Pass "eas flow mode" down through the setup screens
* Slightly modify their behavior as we go (e.g. we skip the
(account type" screen since we know it's EAS.)
* Add a checkbox to "sync contacts from this account" and pass that
value into ExchangeStore when we set up the account.
* Change the flow exit to pop back to the account manager instead of
taking the user to the new inbox.

This CL satisfies cases 1 & 2 of bug # 1974752.
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ail/store/ExchangeStore.java
ervice/EasAuthenticatorService.java
a8aedb2f374ef88a433857d78e71c651425bcce0 20-Aug-2009 Marc Blank <mblank@google.com> Add "contacts" option to EasAuthenticator, which determines whether Contacts should be synced

* The state of Contacts syncing can be changed from various places in the UI
* In a future CL, SyncManager will respect this setting
ervice/EasAuthenticatorService.java
4b41bae270ea4c49ec8403084db43ee9b37cdda4 20-Aug-2009 Andrew Stadler <stadler@android.com> Enable IMAP/POP sending and EAS resend

* 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
ontroller.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
rovider/AttachmentProvider.java
rovider/EmailContent.java
ervice/MailService.java
c0c9c33322deecace00a32766e0a1b355aad4b31 20-Aug-2009 Marc Blank <mblank@google.com> Add URI's that atomically add a value to a particular field (Account or Mailbox)

* Message, etc. could be added, if this had a use case
* Unit test added for both Account and Mailbox cases
* Eclipse changed some parens around; it won't happen again
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/MailService.java
d366346a640c93d70b78ddadfbc3a3b74944359b 20-Aug-2009 Marc Blank <mblank@google.com> Implement sendMessageStatus callback in EAS

* Change API for callback to include message subject (when msg is isn't valid)
* Update users of callback to add the new argument
* Use API in EasOutboxService to send status messages back to the UI

Still TODO: Add relevant error codes for sending problems that are not related
to connection or login issues
ontroller.java
44144d0301213536b02f2080237b63d8271b2d0b 18-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: initial save attachments and load them back.

- load attachments for EditDraft.
- save attachments when save message.
- unit test for restoreAccountsWithMessageId()
ctivity/MessageCompose.java
ctivity/MessageView.java
rovider/EmailContent.java
03be523b16eb4cc5698ef130ddcd057912b81ac5 20-Aug-2009 Marc Blank <mblank@google.com> Don't run SyncManager unless there are EAS accounts

* Check that there is at least one EAS account before starting SyncManager thread
* Have EasAuthenticatorService ensure that SyncManager has started
ervice/EasAuthenticatorService.java
e346193f06c6c3ffd8412ce151109df8b7f45999 20-Aug-2009 Andrew Stadler <stadler@android.com> Add status item to bottom of message list.

* Add code to (optionally) add footer, update text & progress dynamically
* Add hook to dispatch various actions (refresh, load more, etc.)
* Some cleanup of the launch helpers for MessageList

TODO:
* controller handler for the "send messages" case (subsequent CL)
* controller handler for the "more messages" case (subsequent CL)
* reporting of send results etc. into the status line
ontroller.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
ctivity/MessageList.java
0d1078363581db8caded06cf94e729e88a88761a 19-Aug-2009 Andrew Stadler <stadler@android.com> Finish loading large IMAP/POP messages

* Handle messages >25k
* When structure is available (e.g. IMAP) pull in the entire body
and the list of attachments
* When structure is not available (e.g. POP) pull in a large chunk of
the body to try and capture the message body at least.
* Implement loadAttachment for IMAP/POP to demand download large items
* Tested with IMAP & POP messages

INCOMPLETE (file bugs):
* implement logic for the old loadMessageForView calls that comes from
MessageView (when you open a message that's partially-loaded)
* Resolve handling of mimetype when attachment info is read (currently
we're assuming base64 in a couple of places)
* delete account => delete attachments
* delete attachment => delete file
* create account => clear existing attachments for acct id
ontroller.java
roupMessagingListener.java
egacyConversions.java
essagingController.java
essagingListener.java
ctivity/MessageView.java
ail/Folder.java
ail/exchange/ExchangeFolderExample.java
ail/store/ExchangeStore.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
fb67ec958c44fcd46b524cc85d5f8ad3aeb4d2fd 19-Aug-2009 Jeff Hamilton <jham@android.com> Handle null cursors when looking up owner info.
ctivity/setup/AccountSetupBasics.java
cbe513d4305893edde60aca645b290f31f7643da 19-Aug-2009 Andrew Stadler <stadler@android.com> Integrate EAS push notifications with the main notifications.

* Use the new account-based field for number of new messages
* Add support for async notifications in MailService
* Change EAS to call MailService to notify user
ctivity/MessageList.java
ervice/MailService.java
a867ebba6233becf2061c80e1c53d7d395a6cffc 18-Aug-2009 Marc Blank <mblank@google.com> Have body database attach just once, and never detach

* Much cleaner implementation
* Prevent errors when various threads collide for attach
rovider/EmailProvider.java
4a8c70c09be3914ded18031b4cca5a6d867de0d3 18-Aug-2009 Andrew Stadler <stadler@android.com> Add "num new messages" field to Account

* Reset DB version to "1"
* Added field and support code (save, restore, & parcel)
* Added forgotten mProtocolVersion to parcelable code
* Added unit test for parceling

Also, fixed race condition in SyncManager that was underlocking the
wake locks during tests.
rovider/EmailContent.java
rovider/EmailProvider.java
46d7d7f1b6387d144c3f9e7c987418dc8f55fad4 18-Aug-2009 Andrew Stadler <stadler@android.com> Rework service to use provider accounts and controller.

* 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
ontroller.java
roupMessagingListener.java
essagingController.java
essagingListener.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ail/Store.java
ail/exchange/ExchangeStoreExample.java
ail/store/ExchangeStore.java
ervice/MailService.java
f82727741980527b8834a383404b6dba028f18b3 18-Aug-2009 satok <satok@google.com> Fix to show icon trash.
ctivity/MailboxList.java
d8cc57c83dae60d6b3b2118de821a66b95deb161 17-Aug-2009 Andrew Stadler <stadler@android.com> Remove unnecessary @Override from static method

You can't really @Override a static method, since there is no object
dispatch. The build system allows it, but Eclipse complains.
ail/exchange/ExchangeSenderExample.java
a4bbb7d923a6c9fc6eaa2c920cc4c25ffa03c3cd 17-Aug-2009 Mihai Preda <preda@google.com> email.mail.Sender: fix order of (context, uri) arguments in reflection invocation of SmtpSender.newInstance().

Account creation was not possible because of this.
ail/Sender.java
ail/exchange/ExchangeSenderExample.java
9627d014e16235eadf981b9165807dc72a14a383 12-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: update body on save.

- 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.
ontroller.java
ctivity/MessageCompose.java
rovider/EmailContent.java
rovider/EmailProvider.java
a39992fd7da83197ef5b7bff7d29d6916c2e8adc 17-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21479 into eclair

* changes:
Use custom icons for special mailboxes
55c390fe9399b2e6cd042f0e3dea6c1bc947ef29 17-Aug-2009 satok <satok@google.com> Use custom icons for special mailboxes

BUG: 2051100

TODO: Add trash icons
ctivity/MailboxList.java
e829daa29c3d0b3a432c72996c090e8cb712db9a 17-Aug-2009 satok <satok@google.com> Set unread count of summery indox and delete unread and draft summery inboxes

Bug: 2037400
* Delete unread summery inbox
ctivity/AccountFolderList.java
724ec1b7da16cfb384e55daa0ad5b6cae8289314 17-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21469 into eclair

* changes:
do not merge: Merged CL 21093 from goog/master to goog/eclair
73fa3562f21216d4870343db9bfb95f75d5cdccb 17-Aug-2009 satok <satok@google.com> do not merge: Merged CL 21093 from goog/master to goog/eclair
ctivity/MailboxList.java
d0254da4e033df3265d9cea9bcbd8b6817e1d625 16-Aug-2009 Fred Quintana <fredq@google.com> do not merge: cherrypicked 7bb05334b3d711ff1d03672b35f89b326acba198 from master branch
ail/store/ExchangeStore.java
ervice/EasAuthenticatorService.java
b35defc76c67262dfc735f6a8637f680dd5e6db3 14-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21216 into eclair

* changes:
Fix EAS debug switches and clean up debug prefs code.
76a211e0d9ac6171ff20e1c3dda7a74692d35b6e 14-Aug-2009 Andrew Stadler <stadler@android.com> Fix EAS debug switches and clean up debug prefs code.
mail.java
references.java
ctivity/Debug.java
c640cbbaf385566e1b6de361b2b23156e10f695d 13-Aug-2009 Andrew Stadler <stadler@android.com> Update SMTP to send from provider messages, and attachments

* Change Sender definition (remove old Message from API) and update
any existing calls through that API
* Rewrite SMTPSender to use provider messages
* Add attachments to RFC822Output
* Minor bugfixes in RFC822Output
* Unit tests
essagingController.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupCheckSettings.java
ail/Sender.java
ail/exchange/ExchangeSenderExample.java
ail/transport/Rfc822Output.java
ail/transport/SmtpSender.java
8db0babf726afc4018a721aa589a5ab461630948 12-Aug-2009 Marc Blank <mblank@google.com> Separate syncInterval constants for Account and Mailbox to remove confusion
rovider/EmailContent.java
02dd41b319ded6b2c607edcd0f7fbb89fdb1c3a7 12-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20819

* changes:
Use new Rfc822Output class for sending mail; fix bug in Rfc822Output
fb7974f5bfb6275fb856b0f7ff386ef10680c83a 03-Aug-2009 Mihai Preda <preda@google.com> Fix SQL for DELETE_ORPHAN_BODIES and DELETE_BODY.

and add unit tests.
rovider/EmailProvider.java
5c3f1f8cb72d25572f18b8ca651eef14047cac42 12-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20718

* changes:
Renew Unread Counts and accounts on Resume See bug 2041204
2374fcb1a0c952206b3104c7a42dd4d1712598b5 11-Aug-2009 satok <satok@google.com> Renew Unread Counts and accounts on Resume See bug 2041204
ctivity/AccountFolderList.java
5669d4542d1214ab440dbd34b8cf7d72d1eddc86 29-Jul-2009 satok <satok@google.com> Show the title of MessageList See bug 2029282
ctivity/MessageList.java
4f195e716c1e7d3b0e313a42f260594841e45498 12-Aug-2009 Marc Blank <mblank@google.com> Use new Rfc822Output class for sending mail; fix bug in Rfc822Output

* Change EasOutboxService to use the new Rfc822Output class for sending
* Fix small bug in Rfc822Output (was writing both in Base64 and plain text)
* Fix bug in SyncManager related to auto-starting EAS outbox
ail/transport/Rfc822Output.java
3f1ac4da947f426775c9546f2e37206f58ce1a6e 12-Aug-2009 Andrew Stadler <stadler@android.com> Add code to handle IMAP/POP attachments.

IMAP messages up to about 25k will be downloaded properly.

* Move Store->Provider message rewrite code to a separate utility.
* Add code to descend a Store message and write provider attachments.
* Unit test basic IMAP attachment handler

TODO:
* handle large IMAP messages.
* unit test for POP
* unit test for large IMAP messages
ontroller.java
egacyConversions.java
essagingController.java
rovider/AttachmentProvider.java
a9a0e57436bce15e186bef216564e996ec20ae82 11-Aug-2009 Andrew Stadler <stadler@android.com> An RFC822 streamer for sending provider messages.

* Message headers with proper encoding
* Should handle all non-US encodings properly
* Sends body text only (no HTML planned)

This is implemented but not fully tested - I'm submitting now so Marc
can evaluate & test in EAS environment.

TODO: Unit tests
TODO: Attachments
ail/Address.java
ail/transport/Rfc822Output.java
cc402e42ab70699fb43d23e69a724639b9507738 09-Aug-2009 Marc Blank <mblank@google.com> Clear error states on network reconnect; add temporary notifications; see details

* When we get a network connect broadcast, clear error states so sync can
restart for any boxes in an error state
* Add temporary notification code for the testers
* Add file-based debug logger
* Add Exchange logging to debug screen (adds additional exchange debugging)
* Add Exchange sd card logging to debug screen (logs to sd card)
* Change setLogging service API to send an int rather than a boolean
* Make sure push mailboxes are set up again when account changes to push
* Make sure push mailboxes are set up again when account mailbox starts
* (Fixed contacts sync bug found during debugging these changes)
ontroller.java
mail.java
references.java
ctivity/Debug.java
ctivity/setup/AccountSetupBasics.java
ervice/EmailServiceProxy.java
fc579d4477ed3632de0a04678ea490875de85eff 08-Aug-2009 Marc Blank <mblank@google.com> Refactor, cleanup, and fix sync bugs

* Found/fixed major sync bug re: first-time sync (emulator only)
* Moved deviceId code to SyncManager
* Added code to handle some edge cases related to sync errors
rovider/EmailContent.java
b9d6ba11c729d3ae6a59ceae780d9bd54032d6dd 07-Aug-2009 Marc Blank <mblank@google.com> Fix various problems related to synchronization, reload folder list, etc.

* The reloadFolderList service call mustn't reset the account mailbox if the foler
list has never synced
* Be careful to not commit anything after a mailbox has been stopped
* Be careful to synchronize before checking the stopped state of a mailbox
ervice/EmailServiceProxy.java
9b598924ec1dd53f865a6aa552d40161aeb5dd0b 05-Aug-2009 Marc Blank <mblank@google.com> Try to work around the "ping loop" problem in some Exchange 2003 servers

* First try reloading the folder list; this can sometimes work
* Otherwise, change push to 5 minute sync
* Send notification if we switch to 5 minute sync so there are no surprises
* Added syncStatus column to EmailProvider (can be used for any purpose)
* Use syncStatus to keep track of sync type, result type, and change count;
detect ping loop as consecutive ping's with no changes
* Remove InteractiveSyncService (no longer needed)
rovider/EmailContent.java
rovider/EmailProvider.java
17d86bb52954369d96643da65fd9a3b057f8435f 06-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20277

* changes:
Initial support for Exchange account creation via AccountManager
06275c4207206e9e14b2f27817e068f53e48eac9 06-Aug-2009 Marc Blank <mblank@google.com> Initial support for Exchange account creation via AccountManager

* Export AccountSetupBasics so that it can be launched by AccountManager
* Update EasAuthenticatorService to return an Intent for AccountSetupBasics
* UI needs to be updated to skip account type screen, change welcome, etc.
ervice/EasAuthenticatorService.java
a5af05f1a94ba9d0a91bd6507492cf6946f88a4d 04-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: load body.
- load body for edit-draft, replay, forward.
- fix debug secret code for no-keyboard devices.
- fix CR-LF BUG 1911254.
- fix menu invoke compose from folder with mailboxId < 0.
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/setup/AccountSetupBasics.java
47f1b7a32be835a59232f28ec03c1cb9a9cbbcce 06-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20084

* changes:
Change context menu by mailbox type See bug 1399964 for details.
375f968aa5ff60949fc3d637393cc8bc65d92fb1 05-Aug-2009 satok <satok@google.com> Change context menu by mailbox type See bug 1399964 for details.
ctivity/MessageList.java
d65901784abf577f3f3c99f15df5fcc3222d6513 06-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20206

* changes:
Fix EmailProvider so that deletions can occur during batch operations
cba3a48f97ae2e6d875ac4284a4066da94c922d5 06-Aug-2009 Marc Blank <mblank@google.com> Fix EmailProvider so that deletions can occur during batch operations

* Fixes bug #2034170
* Attach the body database during all batch operations
* Change insert, delete, update, and query to use the main database for
all operations during a batch operation; trying to use the body database
while it is attached will result in a SQLiteException (database locked)
rovider/EmailProvider.java
bbcb150dee730fe1a2f62988d5c6c1b64af3b821 05-Aug-2009 satok <satok@google.com> Don't show mailboxes with flagVisible=0 See bug 1938449 for details.
ctivity/MailboxList.java
2917e895c7e7c33407a77c76232569d4bd4905cf 29-Jul-2009 Mihai Preda <preda@google.com> MessageCompose:
- set displayName for composed messages (from To:)
- set FLAG_LOADED
- do the save & send in an AsyncTask
- some clean-up
ontroller.java
mail.java
ctivity/MessageCompose.java
f00dccd32125c727cc18d837b59c15c95f5d78bc 31-Jul-2009 Marc Blank <mblank@google.com> Massive reworking of EAS serialization; much smaller and faster now

* Remove all use of Strings in favor of the parser's static final int's
* Strings remain in Tags for debugging output only
* Renamed lots of classes to be more consistent
* Centralized logging behavior in Eas class
* Found and fixed some bugs in the process:
- Account deletion wasn't removing HostAuth's correctly in the trigger
- Adding a second EAS account was trashing the first one
- Fixed looping sync behavior caused by Exchange 2003 bug
ontroller.java
rovider/EmailContent.java
rovider/EmailProvider.java
77898e14e96feb5d107c4e69b5241169e7425058 31-Jul-2009 Andrew Stadler <stadler@android.com> Enable logging in EAS based on Email.DEBUG flag.
ontroller.java
mail.java
ctivity/Debug.java
8f7f93a7b36d873d5adba65f4da54819880c0285 31-Jul-2009 Andrew Stadler <stadler@android.com> Enable account & mailbox sync for exchange

* 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
ontroller.java
essagingController.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MailboxList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
5dd01e89a473f87f47199df0e66e8af802b9dc79 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9197

* changes:
Use providers to update the unreadCount of Mailboxes
758a532fce2f672673d38b2daa5f67eb757b118b 30-Jul-2009 Marc Blank <mblank@google.com> Use providers to update the unreadCount of Mailboxes

* Triggers added for insert/delete/update of Message
* update of Mailbox will never set unreadCount
* Removed old test for unread counts and replaced with on
that tests trigger operation.
* Remove Account.updateUnreadCount (deprecated)
rovider/EmailContent.java
rovider/EmailProvider.java
9f9aaeaa3ad3784beabb104519131957f092e6b0 31-Jul-2009 Andrew Stadler <stadler@android.com> Updates to AccountFolderList

* Switch to custom list item view
* Make the folder button work right
* Add the "Accounts" separator
* Change top text to "Email"
ctivity/AccountFolderList.java
ctivity/AccountFolderListItem.java
90ed7a4e23c1861b4a0222181aadf780dde76f47 30-Jul-2009 Andrew Stadler <stadler@android.com> Convert AccountFolderList to flat list

TODO: convert item to custom view
TODO: click on folder icon
TODO: mailbox per-type icons (e.g. inbox, outbox)
TODO: separator between two sections
ctivity/AccountFolderList.java
948c36f47ac5bb3c47c85cd6269b188a82f458c3 27-Jul-2009 Marc Blank <mblank@google.com> Reimplement EAS contacts sync to work w/ new system facilities

* Modify to work with ContactsProvider2
* Modify to work with system AccountManager
* Modify to work with system SyncManager (for triggering user-change syncs)
* Sync server->client for adds/deletes implemented (CP2 doesn't handle delete yet)
* Sync server->client changes handled efficiently (only write changes)
* Some fields still not handled
* Rewrote most of the CPO code to handle server->client changes
* Sync client->server works for supported fields
ctivity/setup/AccountSetupOptions.java
ail/store/ExchangeStore.java
ervice/EasAuthenticatorService.java
9150b3005f98000108cacf5804577743470e9ff9 30-Jul-2009 Andrew Stadler <stadler@android.com> Convert AccountFolderList to fat title bar style.

Also sharing fat title bar layout with MailboxList now.
ctivity/AccountFolderList.java
ctivity/MailboxList.java
9e5ee4589fb2333ae0a042511453c0ea1b8545b5 30-Jul-2009 Andrew Stadler <stadler@android.com> Create MailboxList for new UI activity.

* Shows mailboxes
* Click to open mailbox (see messages)
* Basic menus
* Fat title bar (appearance)
* Fat title bar (buttons)

Temporary hack to call this from AccountFolderList (when you click the
account groups and "expand" them, you come here instead.)
ctivity/AccountFolderList.java
ctivity/MailboxList.java
ea69fc40d75f5fcf38872f836cdea9fb3aa9c991 30-Jul-2009 Andrew Stadler <stadler@android.com> Rework Controller to use new single callback from EAS.

* Use unified callback instead of per-call callbacks
* Remove per-call tag
* Rework MessageView to operate without tag
* Minor cleanups in service side
ontroller.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ervice/EmailServiceProxy.java
183e4a7a8531dabe412660b39013d2dab1cd9587 29-Jul-2009 satok <satok@google.com> Localize special folder name
ctivity/AccountFolderList.java
c449cba5101f083d4cef8acd9972bc05598bad44 29-Jul-2009 Marc Blank <mblank@google.com> First pass at implementing new IEmailServiceCallback.

* Add setCallback method to IEmailService interface
* Remove the callback from loadAttachment and loadMore in SyncManager and
EmailServiceProxy
* Remove the callback from PartRequest
* Update EasSyncService to use the saved callback in SyncManager

Note: Unsure how to handle the case in which SyncManager dies, since it
will no longer have the callback available...
ontroller.java
ervice/EmailServiceProxy.java
eeac194150d6f2e4be271d1ddd5238b7bf933f4d 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8810

* changes:
initial Controller.sendMessage() and invocation from MessageCompose.
aef3fb963b3ff08a08ccf3b7e5c08fc126aa64f3 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8744

* changes:
Show/Hide Account folders dynamically by checking number of messages
fac5dc2d77315fe4e07ff3bb0afdea11dd1bb62b 28-Jul-2009 satok <satok@google.com> Show/Hide Account folders dynamically by checking number of messages
ctivity/AccountFolderList.java
334903369e1ea8f032d7ffd67f57f4e7004dc2cf 28-Jul-2009 Mihai Preda <preda@google.com> initial Controller.sendMessage() and invocation from MessageCompose.
ontroller.java
mail.java
ctivity/MessageCompose.java
3e79032dd15b109a81ecb373f7efab39dea040a4 28-Jul-2009 Mihai Preda <preda@google.com> Fix MessageCompose tests.

BUG 2017612.
ctivity/MessageCompose.java
67143e568054f0e207b87e48a0746a18a792f540 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8646

* changes:
Remove mOldMessage from MessageView.
ff683a5b98eb0cc9c3e18bd022aa00c617b2eae1 27-Jul-2009 Mihai Preda <preda@google.com> Remove mOldMessage from MessageView.

And add Address.unpackFirst() (used in MessageView) + test.
ctivity/MessageView.java
ail/Address.java
274576bb90bbe6adac62dcf099cf2ca0359f6303 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8656

* changes:
Load source message in UI in MessageCompose for reply/forward/edit-draft.
a98de7e55e91229c35352b496fad3fbb108a9609 28-Jul-2009 Andrew Stadler <stadler@android.com> Finish Attachment support for EAS accounts.

* Change service API to allow caller to supply complete target path/file
* Also allow caller to supply the final content_uri
* In MessageView, use full integration with EAS service API and
attachments content provider to enable:
* Save: Only works on SD card
* View: Works w/o SD card using content provider & intents
* Thumbnail previews
ontroller.java
ctivity/MessageView.java
rovider/AttachmentProvider.java
ervice/EmailServiceProxy.java
3d25a519abf676f050b546d34401a277aea5de40 28-Jul-2009 Andrew Stadler <stadler@android.com> Convert AttachmentProvider to use new Provider db.

* Rewrite internals to use EmailProvider instead of raw db access
* Minor changes to APIs as necessary (and scattered changes to follow)
* Convert unit tests and check them
ctivity/MessageView.java
ail/internet/EmailHtmlUtil.java
ail/store/LocalStore.java
rovider/AttachmentProvider.java
63b2ad5bfb5687a52159362d35fb79a67dc14940 27-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8633

* changes:
Fix UnsupportedOperationException in AccountSetupBasic caused by Account.update() when !isSaved().
0712ce063cf556ef6e2b94b0ef0fb13d6792fe76 27-Jul-2009 Mihai Preda <preda@google.com> Load source message in UI in MessageCompose for reply/forward/edit-draft.

Replace EmailContent.Message with Message.
Remove MessageCompose.mAccountId (mAccount is enough).
ctivity/MessageCompose.java
180d69e08546c6498e0e710c5db6c4fe6296001a 27-Jul-2009 Mihai Preda <preda@google.com> Fix UnsupportedOperationException in AccountSetupBasic caused by Account.update() when !isSaved().

Bug 2001896.
Introduced by CL 8158.
ctivity/setup/AccountSetupBasics.java
301ac18bb7f211b473c4f6fa6ec9bb276bbc6c10 27-Jul-2009 Andrew Stadler <stadler@android.com> Create tests and improve docs on AttachmentProvider

No change in functionality. Just getting a test infrastructure in place
before rewriting to use new EmailProvider. Provides tests for:

* get type (raw & thumb)
* open file (raw)
* open file (thumb)
* query
* resolveAttachmentIdToContentUri
rovider/AttachmentProvider.java
c7ccb68ba402c867f08d35b33ea151b1672d3a79 24-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8253

* changes:
Modified to display unread count correctly.
41f775bbc731b25854da9f5a80c66a4aa1eb0af9 22-Jul-2009 satok <satok@google.com> Modified to display unread count correctly.
ctivity/AccountFolderList.java
rovider/EmailContent.java
b8a781f220617d6e7750c5e9f093742206add45f 24-Jul-2009 Marc Blank <mblank@google.com> Load EAS attachments internally with new API ; re-sync after account changes

* Fix bugs #1993689 and #1997842
* Update test for attachment name creation
ontroller.java
ervice/EmailServiceProxy.java
21ace307e07cb4c363c4183f4d62f4049f5d92fd 17-Jul-2009 Mihai Preda <preda@google.com> Clean-up in MessageCompose, using EmailContent.Message.

Difficulties:
re-enable EmailHtmlUtil.resolveInlineImage() and
MessageCompose.loadAttachments() that operate on MIME parts.
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/MessageView.java
ail/Address.java
ail/internet/EmailHtmlUtil.java
852974bc0b983390f560073ffb9bb80cd22a24a8 24-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8306

* changes:
update the permissions for the AccountManagerService
7375d950e4c71a3ab2c8c726b7641c825fb92efc 24-Jul-2009 Marc Blank <mblank@google.com> Move to single EmailContent file; fix bug #1998157
ail/store/ExchangeStore.java
rovider/EmailContent.java
ee37898bcb1c36c9a840af8f3801bf366649f820 23-Jul-2009 Fred Quintana <fredq@google.com> update the permissions for the AccountManagerService
ervice/EasAuthenticatorService.java
6ae38e4a3937898c5d3fec11a9dc2fb4bab8eab6 23-Jul-2009 Andrew Stadler <stadler@android.com> Moving message operations into Controller, and load attachments.

* Moved logic into Controller:
* toggling read/unread
* toggling favorite status
* some new unit tests
* load attachment
* Completed logic for EAS to save attachments and MessageView to
begin and complete that process.

NOTE: Until EAS has a mode for saving the attachment locally (and I
rewrite the attachmentprovider to handle the new database) I am
implementing "view" attachment to just call "save". This means that
attachments "viewed" will be dropped onto the SD card, instead of
cached and flushed.

TODO: Controller is not properly working in its own thread, yet, so
we are not properly preventing ANR's yet.
ontroller.java
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MessageList.java
ctivity/MessageView.java
531ae9d25f4310e4774e136ed74ed9749f940861 23-Jul-2009 Marc Blank <mblank@google.com> Fix bug #1997284 re: single default account

* Fixed the bug and uncommented the relevant tests in ProviderTests
rovider/EmailContent.java
9e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857 23-Jul-2009 Andrew Stadler <stadler@android.com> Remove saveOrUpdate from EmailContent to prevent stale writes

* 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.
ontroller.java
essagingController.java
ctivity/AccountFolderList.java
ctivity/AccountShortcutPicker.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSettingsUtils.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/MailService.java
54c1f2bf9a6574240b7c9af253f83a2b566442ab 22-Jul-2009 Andrew Stadler <stadler@android.com> Improvements to default account handling

* 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.
ctivity/AccountFolderList.java
ctivity/MessageCompose.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupOptions.java
rovider/EmailContent.java
986a3b5f0332c906b22fdd45ff5cd4da5e540db9 21-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8002

* changes:
Prevent EAS startup race condition while debugging
eda017627e7234fb8c7d0fa4cc41557bb2bf796a 21-Jul-2009 Marc Blank <mblank@google.com> Prevent EAS startup race condition while debugging

* Make sure that mAccount and mMailbox are up-to-date at all sync starts
* Prevent duplication of mailboxes in schema, since it's always wrong
* Add a service call to enable/disable logging in EAS
rovider/EmailProvider.java
ervice/EmailServiceProxy.java
4e4abc645ce05d6ea009bb19df834911c821fafb 21-Jul-2009 Andrew Stadler <stadler@android.com> Clean up launch-time & account setup behaviors.

* Moved welcome message into account setup basics (name/pass)
* Reworked Welcome to go to AccountSetupBasics on count=0
* In AccountFolderList, removed old welcome message code, and add
code to launch AccountSetupBasics when last account is deleted
* Fixed shortcut picker so launcher shortcuts work again
* Reimplemented shortcut receiver (in MessageList now)
* Default EAS accounts to SSL

Addresses bug 1916583 & 1987440
ctivity/AccountFolderList.java
ctivity/AccountShortcutPicker.java
ctivity/MessageList.java
ctivity/Welcome.java
ctivity/setup/AccountSetupAccountType.java
28fc7799cee83a1de5b7257e4d89c28e8fce89bc 21-Jul-2009 Marc Blank <mblank@google.com> Add support for the flag (favorite) property in EAS 12; cleanup

* Support flag property in Exchange 2007 (EAS 12)
* Support startSync/stopSync/reloadFolderList in EAS service
* Cleanup files a little bit
ervice/EmailServiceProxy.java
5790d1458fc9f4c3e32a985827f3b3e942a356c9 20-Jul-2009 Marc Blank <mblank@google.com> Work on EmailService calls, attachment loading, etc.

* Stubbed in attachment loading in MessageView for EAS messages
* Modified MessageView.Listener to implement IEmailServiceCallback
for testing callback functionality
* Rewrote EmailServiceProxy entirely
* Simplified loadAttachment service call
ctivity/MessageView.java
ail/store/ExchangeStore.java
rovider/EmailProvider.java
ervice/EmailServiceProxy.java
53093871c492d03947c494f17e2463b27345e083 18-Jul-2009 Marc Blank <mblank@google.com> Changes to EAS: attachments, HTML text, and sending mail (without atts)

* Added HTML support for Exchange 2007 and later
* Modified MessageView to show HTML parts of body (if present)
* Replace some unused convenience methods in Body to be ones that are more
useful (i.e. retrive body for a given message id)
* Made EAS sending operational
* Updated SyncManager to recognize the creation of new messages and check
for work to be done (i.e. starting Outbox sync)
* Modified MessageView to remove EmailContent.X references
* Also changed the pattern EmailContent.getContent(cursor, class) to the better
new ClassName().restore(cursor)
* Add a test of the utility to determine mime type from file name (since
EAS doesn't provide this with attachment header information)
* Fixed bug in ProviderTestUtils in which the base (EmailContent) fields weren't
being checked for equality in the various subclass equality testers. Fixed a
bug in saving emails that was caught by fixing this bug.
ctivity/MessageView.java
rovider/EmailContent.java
rovider/EmailProvider.java
d10ffd33de362c7dde4f953b749e1310238f9913 18-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7780

* changes:
resolved conflicts for Email MessagingController null check from donut to master
7e91c121bb89928ed13ec7550f381e9c7af4bb9e 18-Jul-2009 Andrew Stadler <stadler@android.com> Enable listing attachments in MessageView

* Rename internal helper class from Attachment to AttachmentInfo
* After message loads, query for Attachments
* Play back cursor adding attachments
* Commented out almost everything else related to loading or opening them
ctivity/MessageView.java
035ce8bcd1041d4402ee6e567b25e97c3d7915ef 18-Jul-2009 Brett Chabot <brettchabot@google.com> resolved conflicts for Email MessagingController null check from donut to master
8a3b8992f9b0e6f3d4e20aece74ec72523fa5da4 17-Jul-2009 Brett Chabot <brettchabot@google.com> Add null check when initializing email messaging controller visible limits.

This is to fix the NPE that would often occur during test runs. I believe the
root cause is mock accounts would be created by some email unit tests that did
not have values for all fields. Before these accounts were deleted, the main
email thread would try to access them and blow up with a NPE.
essagingController.java
4119218e2fd64341ac946fb8f2cbdb796a444cb8 17-Jul-2009 Andrew Stadler <stadler@android.com> Add support for get-attachments-by-message-id

* clean up provider URI's in this area
* minor bugfix in EmailContent, and add auto-writeback of messageId into
saved attachments
* clean up existing attachment unit tests
* add new tests
rovider/EmailContent.java
rovider/EmailProvider.java
d4c18546fb7f97d51110155a8fac14f98667dd47 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7580

* changes:
Eliminate Config.LOGV (deprecated, always false). Add Email.LOGD as a development log guard.
f33986d5cc248d2eeed0707143d81e94866f8e3a 16-Jul-2009 Mihai Preda <preda@google.com> Eliminate Config.LOGV (deprecated, always false).
Add Email.LOGD as a development log guard.
mail.java
essagingController.java
references.java
ctivity/FolderMessageList.java
ctivity/MessageView.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/transport/StatusOutputStream.java
rovider/EmailProvider.java
0dba37ec51ae2932271dbf13c51f32fb819f2527 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7552

* changes:
Fix push bug, minor changes to logging and removal of debug code
6a6d67edded552c48640c8feb395bbbbf8a1cd73 16-Jul-2009 Marc Blank <mblank@google.com> Fix push bug, minor changes to logging and removal of debug code
ail/store/ExchangeStore.java
3c27c654261ab97dc157315ad9e91d911773eb0d 16-Jul-2009 Andrew Stadler <stadler@android.com> Small cleanups to POP/IMAP sync.

* Close after sync, so next sync will open and update message count.
essagingController.java
976f92908dd2f69f21f62690632ff24b08d9f5d3 16-Jul-2009 Marc Blank <mblank@google.com> Add support for attachments in EmailProvider and (preliminary) EAS

* EmailProvider now saves Attachment records atomically with Message (and Body,
of course) if an ArrayList is stored in mAttachments
* Update EAS code to support attachment discovery
* Update EAS code to support attachment download via service API (preliminary)
* Add test for atomic attachment save
* Add test for unique file creation (external)
rovider/EmailContent.java
c5f783f022d4ea185bd4422a132188fd754a6463 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6675

* changes:
First steps towards using the new EmailContent.Message in MessageCompose.
f2fdd899ef28b0cf95256a7274d19719e0e27488 15-Jul-2009 Andrew Stadler <stadler@android.com> Clean up new account creation & initial sync.

* Give MessageList the ability to do a folder scan (from server)
in order to "find" the inbox after account creation.
* Don't show messages that haven't even been partially downloaded yet
(reduces flicker during POP initial sync)
* Move some folder lookup code (in MessageList) out of UI thread
* Restore simple color chip code so multiple accounts look good
in MessageList
essagingController.java
ctivity/MessageList.java
c6893ddf0fc1a647ca13a2b3aac2c68ca345de37 09-Jul-2009 Mihai Preda <preda@google.com> First steps towards using the new EmailContent.Message in MessageCompose.
ontroller.java
mail.java
ctivity/MessageCompose.java
ail/Address.java
rovider/EmailContent.java
rovider/EmailProvider.java
6b158f715b2ab6b2f35e894857446023f1d8be88 14-Jul-2009 Marc Blank <mblank@google.com> Handle UI delete in EAS where the message is moved to trash

* Check for the folder of updated messages, and delete those now in trash
* Created convenience method for finding a mailbox of a particular type in
an account (helpful for finding, say, an Inbox or Trash for a given account
* Fix deleted/updated message table so that the _id column is defined to be
unique (to prevent duplicate change records from being written)
rovider/EmailContent.java
rovider/EmailProvider.java
316bb44e1a2478a675bcb832d55c5337bfc4bfb9 14-Jul-2009 Marc Blank <mblank@google.com> Use MatrixCursor instead of (internal) ArrayListCursor
ctivity/AccountFolderList.java
2999db7866a33b39ddafb69f20c869ff5638734c 14-Jul-2009 Andrew Stadler <stadler@android.com> Add Summary Section to AccountFolderList ("at a glance")

* Wrap group cursor in a MergeCursor to insert 1st row
* Clean up a few loose ends (e.g. no longpress on summary row)
* Implement the summaries child cursor
* Add special queries to MessageList for Inbox, Unread, Favorites

There are *a lot* of TODO's in this checkin; I just wanted to get some
basic UI up and running so we could start to explore issues created by
the new configuration. A lightweight sampling:
* Aggregrate filters (e.g. all inboxes) need to be handled in the
provider, instead of with the current two-query hack.
* We'll need a lot of UI cleanup, e.g. different contextual menus
* We'll need to generalize some of the code in order to more easily
support repeating the same compound queries - e.g. MessageView actually
needs the same query in order to enable the next/prev buttons.
ctivity/AccountFolderList.java
ctivity/MessageList.java
17250429db16553b59d5df5e358f71406dd2b322 07-Jul-2009 Andrew Stadler <stadler@android.com> Various EAS related changes related to accounts and services.

* Renamed ISyncManager/ISyncManagerCallback to IEmailService/IEmailServiceCallback
* Restored ExchangeTransportExample to its original state; created ExchangeStore to
handle validation functionality instead; updated stores.xml to reflect these changes.
* Add support for AccountManager in EAS code (this is necessary for the contacts and
calendar providers to work with syncable data); created EasAuthenticatorService to
as our authenticator, which required adding authenticator.xml and modifying the
manifest to register our service with AccountManager metadata
* Created EmailServiceProxy as a convenience for the UI in calling into the EAS
service; created EmailServiceStatus class for status codes in callbacks.
ctivity/FolderMessageList.java
ctivity/MessageListItem.java
ail/exchange/ExchangeTransportExample.java
ail/store/ExchangeStore.java
ervice/EasAuthenticatorService.java
ervice/EmailServiceProxy.java
ded3c915d88a5ee2d143b75cbf5718dae92a2f1c 11-Jul-2009 Andrew Stadler <stadler@android.com> Add folders to AccountFolderList

* Scan folders and write into child cursors
* Clicking a folder takes you to MessageList
* Remove most links to FolderMessageList (nearly dead!)
* Repair 1-account startup behavior (takes you directly to inbox)
* Cleanup a few basic things like context menus & refresh

TODO: Magic mailbox section at the top
TODO: As always, better linkage to sync engine(s)
TODO: Menus, context menus, etc.
TODO: Proper handling of expandable list - accounts should stay open?
ctivity/AccountFolderList.java
ctivity/FolderMessageList.java
ctivity/MessageList.java
ctivity/Welcome.java
ctivity/setup/AccountSetupNames.java
ervice/MailService.java
72dce733900a812cf11a5ac08756362030556849 09-Jul-2009 Andrew Stadler <stadler@android.com> Convert Accounts to AccountFolderList

* 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)
ctivity/AccountFolderList.java
ctivity/Accounts.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageList.java
ctivity/Welcome.java
ervice/MailService.java
b55bfc96f402ce31bcc3c9102c10f7cafc1cf125 09-Jul-2009 Andrew Stadler <stadler@android.com> Enable multi-selection actions

* Toggle small pane with multi-select action buttons
* Implement multi-read/unread
* Implement multi-favorites (stars)
* Implement multi-delete

TODO: menu items when there are selected items
ctivity/MessageList.java
e8d58c01ec3f5f783bbca6841d95ca44570c6fd9 08-Jul-2009 Mihai Preda <preda@google.com> Implement efficient Address pack/unpack and unit-test it.

Also unit-test legacy pack/unpack.
ail/Address.java
432d1ec3ed54cd2f627fd79b5fe7b64341fa273a 07-Jul-2009 Andrew Stadler <stadler@android.com> Add custom item view to MessageList

* Stores per-message metadata
* Fix a number of todo's in MessageList
* Clicking on checkbox toggles state, updates checked list
* clicking on star toggles favorite state

To do: When one or more messages are checked, we should slide in a
panel with action buttons.
ctivity/MessageList.java
ctivity/MessageListItem.java
a396a9bf1492febcb90c89faf1c0528a94bf5eaa 07-Jul-2009 Andrew Stadler <stadler@android.com> Minor cleanups (layout only)
ctivity/MessageList.java
5e444dd79408a92402830639bbc9d103c2bed397 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5793

* changes:
Major refactor and cleanup of EAS code
b6493a07ef625c0e290890c2e60256b47a066e5e 05-Jul-2009 Marc Blank <mblank@google.com> Major refactor and cleanup of EAS code

* Rewrote push logic to encompass multiple folders (i.e. calendar/contacts)
* Change inbox from push frequency to ping frequency after initial sync
* Implement upsync logic for email (i.e. sending changes to the server)
* Did cleanup of some files (there's still some to do) re: format, style
* Initial one-way sync of Contacts data - add and delete are implemented
* Created adapter package for all parts of the EAS adapter
* Created utility package for utility code that will eventually be merged
with code in the Email application (Base64, QuotedPrintable, etc.)
* SyncManager/AbstractSyncService can be used in the future for other
protocols, especially IMAP push
ctivity/MessageList.java
ail/MessagingException.java
rovider/EmailContent.java
rovider/EmailProvider.java
61e6ff4521dd872db42f7920322b19aa54d9e3e2 07-Jul-2009 Andrew Stadler <stadler@android.com> Fixed minor typo in MessageView
ctivity/MessageView.java
7c3cca80a0b4dacb7bcb48c65a9999138b5df82b 06-Jul-2009 Andrew Stadler <stadler@android.com> Reenable delete-message UI and write delete-from-provider.

* Longpress delete in MessageList
* Delete or Menu-Delete in MessageView
* Add deleteMessage() to Controller
* Unit tests for the new code in Controller
ontroller.java
ctivity/MessageList.java
ctivity/MessageView.java
45f9dd22e1141b531c564f11cb40b54adb82f848 02-Jul-2009 Andrew Stadler <stadler@android.com> Fix bug in GroupMessagingListener and add unit tests
roupMessagingListener.java
bb0f962dbbc65b97fea0dd009cac34b0561f7346 02-Jul-2009 Andrew Stadler <stadler@android.com> Enable message read/unread toggling

* Automatically marked read when entering MessageView
* Marked unread via menu selected during MessageView
* Provider updated (directly - see note)
* Enable context menu in MessageList and enable "open" & toggle unread

NOTE: Does not use the correct service notifications yet; Just updates
the providers.

NOTE: The UI for the context menu is incomplete, it says "mark as read"
but it actually toggles the state. The true UI is to flip the text to
match the current state e.g. "mark as read" or "mark as unread". That
will be much simpler to implement when we switch to a custom list item
view class, where we can cache the read/unread state (and other tidbits).
ctivity/MessageList.java
ctivity/MessageView.java
48c8cc34b7c9eb25528b9bc17e60273ffa267db6 01-Jul-2009 Andrew Stadler <stadler@android.com> Add "favorite" star to MessageView

* Shown next to subject (non-final layout)
* Value taken from provider data
* Tapping star toggles state
* State writes back to provider

NOTE: I am currently doing the provider writeback via direct provider
calls (using the synced-message URI) but not doing it with a service call,
so at this point there is no triggering of any server-side update.
However a sync engine might "discover" the change.

NOTE: I made a global change of "mMessage" to "mOldMessage" because
there is still a lot of legacy code in MessageView and I wanted to clearly
demarcate the code that still needs to be redone.
ctivity/MessageView.java
7c3de934291814095908cfdd6816a98f89a43096 01-Jul-2009 Andrew Stadler <stadler@android.com> Add attachments, favorites, and selections to MessageList.

* Attachment icon is displayed when message.mAttachment != 0
* Favorite icon is set/cleared from message but not clickable
* Selection icon is not clickable

Further progress requires implementing a custom child view which can
handle sub-clicks properly.
ctivity/MessageList.java
4765472db80caafae0907d92ff057ddc4b54c9ea 01-Jul-2009 Andrew Stadler <stadler@android.com> Add MessageList activity

* Add MessageList Activity class and Manifest entry
* Add appropriate layouts, views, etc.
* Wire into FolderMessageList

Lots to do, but this gives us a useable screen.
ctivity/FolderMessageList.java
ctivity/MessageList.java
b7e954bba6539141d24efdb0a0091962e5002ba0 27-Jun-2009 Mihai Preda <preda@google.com> Fix ConcurrentModificationException in MessagingController.

The exception was caused by removing from the HashSet (in Controller.java)
while iterating over it. The locking offered no protection in that case.

Extracted the notification of listeners (MessagingListener) in separate class
to simplify reimplementation.

Got rid of a couple of generic catch(Exception) that were hiding surprises.
roupMessagingListener.java
essagingController.java
ctivity/FolderMessageList.java
ail/StoreSynchronizer.java
ddc871d9eddd088c0200a30dbfeb24812a81cf80 30-Jun-2009 Andrew Stadler <stadler@android.com> Fixed a few EmailProvider omissions; added tests

* EmailProvider query wasn't handling queries for deleted messages
* EmailProvider wasn't catching exceptions on some 'drop table' ops
* Added tests of synced messages (delete and update)
rovider/EmailProvider.java
2ed5063274db05afb05b0bf421b57b1ffdbb5ad3 30-Jun-2009 Takaoka G. Tadashi <takaoka@google.com> am 4f23ebd3: Fixed Pop3Store to be able to delete message in Inbox.

Merge commit '4f23ebd3dcca596533a33e6faedb446a814d32e3'

* commit '4f23ebd3dcca596533a33e6faedb446a814d32e3':
Fixed Pop3Store to be able to delete message in Inbox.
73018c31d6b8ea636f371025f1c26670437c1129 28-Jun-2009 Marc Blank <mblank@google.com> Add new mailbox types for use by EAS
rovider/EmailContent.java
f374304e92cc6c27ce1a59242d4b9ff02a9cbb14 27-Jun-2009 Marc Blank <mblank@google.com> Add support for sync related provider operations

There is now a deleted table as well as an updated table for Messages,
and some new URIs that are well documented in EmailProvider
rovider/EmailContent.java
rovider/EmailProvider.java
4f23ebd3dcca596533a33e6faedb446a814d32e3 25-Jun-2009 Takaoka G. Tadashi <takaoka@google.com> Fixed Pop3Store to be able to delete message in Inbox.

When delete policy is DELETE_POLICY_ON_DELETE, PENDING_COMMAND_TRASH
will be invoked. But in POP3 account, because of 1) Inbox is
OpenMode.READ_ONLY, 2) getMessage(uid) just after open() is not work
correctly, 3) remote Inbox folder is not closed after deleting message,
PENDING_COMMAND_TRASH does not work. And also the fat that some POP3
server use UID with '-' prevents PENDING_COMMAND_TRASH to recognize
the message is remote message.

Internal Bug: 1651709
essagingController.java
ail/store/Pop3Store.java
7143d969dde180b7a44bdc42ade6ca2878d0760d 25-Jun-2009 Andrew Stadler <stadler@android.com> Add unit tests for Provider and fix bugs that were found

Uses a mock provider to avoid touching production databases.
Includes utilities for creating accounts, mailboxes, and messages.
Tests basic object creation & readback, object deletion, and some
forms of hierarchical deletion. Has many TODO notes for additional
tests to be written.

In EmailContent, found & fixed a few fields that weren't being written to
the database properly.
rovider/EmailContent.java
c3905eccddaf340b621da6ea2ce82bb3c4296fff 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4842

* changes:
Don't drop invalid addresses while editing & check that all addresses are valid before send.
ed0e683d86d27aecb39347b1749b5c572594ba6c 20-Jun-2009 Mihai Preda <preda@google.com> Don't drop invalid addresses while editing & check that all addresses are valid before send.

BUG: 1542391
add unit tests.
ctivity/AddressTextView.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ail/Address.java
5f4dbd64389cd6540a93cde1daed304bf9392a01 24-Jun-2009 Andrew Stadler <stadler@android.com> Attempt to download small messages, and POP messages.

POP doesn't supply headers in the ENVELOPE phase, so we have to
explicitly ask for, download, copy, and save small message bodies.

Fix bug in EmailProvider (it was not always detaching the body db),
leaving the DB locked in some situations.

Problems outstanding:
* POP messages are committed before they have headers, which leads
to blank entries in the UI. It might be worth tagging them and
selecting them out until they're ready to display.
* Inefficient because we're reloading the message from the provider on
each pass, instead of hanging onto it and updating it.
* Not marking "complete" yet because we aren't handling attachments
or inline images yet. So we keep on reloadin'.
essagingController.java
ctivity/MessageView.java
rovider/EmailContent.java
rovider/EmailProvider.java
2c67f1f8b869454ed24c0ac3c813aca26d2f3978 16-Jun-2009 Marc Blank <mblank@google.com> Initial submission for EAS support (email)

* There is some temporary code ensuring that SyncManager runs (this will be removed when Exchange
is entirely independent)
* The service interface (aidl) is in place for most user-facing actions (load more, start sync, etc.)
* EAS account validation is done via aidl
* Folder and message sync appear to be functional in this early submission
* Provider now does cascading deletes (Account -> HostAuth and Mailbox, Mailbox -> Message,
Message -> Attachment and Body)
ctivity/Welcome.java
ail/AuthenticationFailedException.java
ail/MessagingException.java
ail/exchange/ExchangeTransportExample.java
rovider/EmailContent.java
rovider/EmailProvider.java
ervice/BootReceiver.java
553603337ae985e59f54784be441671db7b849d6 23-Jun-2009 Andrew Stadler <stadler@android.com> Quick cleanups of FolderMessageList and MessageView

Show date/time properly
Unpack from, to, cc, bcc
ctivity/FolderMessageList.java
ctivity/MessageView.java
7b0b463477ef7172bd4b9e19c6338634ebedd8ee 23-Jun-2009 Andrew Stadler <stadler@android.com> List messages from MessagingController & Stores.

* update MessageListener callbacks and remove the callbacks that
edit data (this comes through the provider now).
* provide simple linkage via Controller to sync a mailbox
* update FolderMessageList to trigger mailbox sync
* rewrite synchronize to push messages into provider
* small improvements to FML (sorting; show read/unread status)
* note: trailing whitespace cleanup in some files
ontroller.java
essagingController.java
essagingListener.java
ctivity/FolderMessageList.java
ail/StoreSynchronizer.java
rovider/EmailContent.java
ervice/MailService.java
33e176f4919569a9444d641e94034785c10c5562 21-Jun-2009 Marc Blank <mblank@google.com> Remove the bodyId column in the message base for consistency

Foreign keys belong in the child, not the parent, as is done with other
EmailContent classes. Therefore, Body has a messageKey, and Message has
no bodyKey.

Updated MessageView to use the proper query for retrieving a message body.
ctivity/MessageView.java
rovider/EmailContent.java
rovider/EmailProvider.java
07871c4ce74f249a42c548f1e656ea14d3409ba1 22-Jun-2009 Andrew Stadler <stadler@android.com> Clean up code to delete account & delete mailbox.

Delete account was already written but needed to be cleaned out (and
removed vestiges of LocalStore code as well.)

Delete mailbox required some new code in listFolders. This happens
every time we refresh an account.
essagingController.java
ctivity/Accounts.java
6c5460886f83d098ccc8a3f04e46cf0035cc9962 18-Jun-2009 Mihai Preda <preda@google.com> am a4926736: Review Email tests annotations (small/medium/large) and change some annotations based on time.

Merge commit 'a492673609111fe8c41ae152d62547b267346502'

* commit 'a492673609111fe8c41ae152d62547b267346502':
Review Email tests annotations (small/medium/large) and change some annotations based on time.
a492673609111fe8c41ae152d62547b267346502 18-Jun-2009 Mihai Preda <preda@google.com> Review Email tests annotations (small/medium/large) and change some annotations based on time.

Fix an NPE appearing when running the test suite.

BUG: 1566281, 1910409.
ail/Store.java
bcec088320fc56cd5b5e1bbc706e4b7e304b95bf 18-Jun-2009 Andrew Stadler <stadler@android.com> Begin implementation of new master controller

The first thing we'll implement is a function to list remote folders,
and it will call the existing MessagingController to do that for IMAP
and POP3.

Also change default folder type # order to get desired order in UI
ontroller.java
essagingController.java
essagingListener.java
ctivity/FolderMessageList.java
rovider/EmailContent.java
19fd130680ca39e133d24262e425f00263276cb2 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4482

* changes:
Add URI's for updated messages, and Provider support for them
e34525d0f026a7467cee1cb5fddcf25ba6f35207 17-Jun-2009 Marc Blank <mblank@google.com> Add URI's for updated messages, and Provider support for them

Messages that have been updated in the database live in a different table
and therefore can't be accessed in the provider without the added support.
rovider/EmailContent.java
rovider/EmailProvider.java
94386cce2ae71c81981b7c6792332d719a1071cf 17-Jun-2009 Mihai Preda <preda@google.com> am aeeefedb: Thumbnail cache file should be deleted when AttachmentProvider is created.

Merge commit 'aeeefedb43c40e887850654ac88270755f5631c1'

* commit 'aeeefedb43c40e887850654ac88270755f5631c1':
Thumbnail cache file should be deleted when AttachmentProvider is created.
50a24d5e953d153fb86253579ca3d345053c092a 17-Jun-2009 Mihai Preda <preda@google.com> am 075e9d51: Added recursive limit check to renderAttachments method.

Merge commit '075e9d5104c0e23a6188677f5c9e99fcbcfdbc60'

* commit '075e9d5104c0e23a6188677f5c9e99fcbcfdbc60':
Added recursive limit check to renderAttachments method.
d250bcd5cd86302bcb1ed54ef0ba76deacbcdf16 17-Jun-2009 Mihai Preda <preda@google.com> resolved conflicts for merge of a830816f to master
1f5a93936bb8a6364f6563d99a4e5a452b25af63 16-Jun-2009 Marc Blank <mblank@google.com> Fix to bug in Message.save
rovider/EmailContent.java
aeeefedb43c40e887850654ac88270755f5631c1 16-Jun-2009 Mihai Preda <preda@google.com> Thumbnail cache file should be deleted when AttachmentProvider is created.

Integrates CL 149651 from p4 Docomo email.
Bug 1902523.
rovider/AttachmentProvider.java
075e9d5104c0e23a6188677f5c9e99fcbcfdbc60 16-Jun-2009 Mihai Preda <preda@google.com> Added recursive limit check to renderAttachments method.

Integrates CL 149561 from p4 Docomo email.
Bug 1897000.
ctivity/MessageView.java
a830816fe2e33785fff98d82fd45a9643c9f3e8f 16-Jun-2009 Mihai Preda <preda@google.com> Updating attachment thumbnail after attachment or inline image has been downloaded.

Integrates 149560 from Docomo email.
ctivity/MessageView.java
b5903285dd6d2d95ce80016fa192c9ed44a04f25 16-Jun-2009 Andrew Stadler <stadler@android.com> Enable MessageView using provider.

Very primitive, just shows a few headers, and no navigation at all (you
can only go "back" from here.
ctivity/FolderMessageList.java
ctivity/MessageView.java
rovider/EmailContent.java
1da551bd08ecaada1784a3ba190dfa05c14a6343 16-Jun-2009 Andrew Stadler <stadler@android.com> Fix build break, master # 4712
ctivity/MessageView.java
a290f503f14432163f74548a5e5d1dc5003ad049 15-Jun-2009 Marc Blank <mblank@google.com> Refactored EmailStore, EmailContent, EmailProvider

EmailStore goes away, replaced by EmailContent
All database activity is moved to EmailProvider
mail.java
essagingController.java
essagingListener.java
ctivity/AccountShortcutPicker.java
ctivity/Accounts.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ail/StoreSynchronizer.java
ail/exchange/ExchangeTransportExample.java
ail/internet/EmailHtmlUtil.java
rovider/AttachmentProvider.java
rovider/EmailContent.java
rovider/EmailProvider.java
rovider/EmailStore.java
ervice/MailService.java
879318ee3048ccc8281739441749121c13873b7d 15-Jun-2009 Andrew Stadler <stadler@android.com> Add message list (from provider) to FolderMessageList.

1. Use proper AsyncTask for all cursors
2. Convert to CursorTreeAdapter and get data from cursors
3. (Temporarily) block all context menus and other things that would
crash.

With this CL you can view folders and see the message list but you cannot
view the messages (that's next).
ctivity/FolderMessageList.java
a244abdad0abc2a2b9876cadcbb3e9c49aafbb4f 15-Jun-2009 The Android Open Source Project <initial-contribution@android.com> Do not merge. Merge commit '14f3e16' into donut
14f3e1679369977420e0f0905f23477110af64dc 15-Jun-2009 The Android Open Source Project <initial-contribution@android.com> IA 149719: Display Bcc: field if present...
ctivity/MessageView.java
13b92c618ef6f10a4ea44d2956af8cbc372a6996 11-Jun-2009 Andrew Stadler <stadler@android.com> Convert Accounts activity to use AsyncTask
ctivity/Accounts.java
0dff228dc769e141ec2a27d951963a0d705ddabb 10-Jun-2009 Mihai Preda <nobody@android.com> AI 149714: Download inline images for viewing if necessary and don't
delete attachment cache files if these are inline images.
The purpose of original logic of loadAttachmnet() is to keep
at most one attachment cache, probably to limit the size of
cached file. But it also purges all inline images.
Integrates CL 149551 from DocomoEmail.
BUG=1884385,1860250

Automated import of CL 149714
essagingController.java
essagingListener.java
ctivity/MessageView.java
ail/internet/EmailHtmlUtil.java
ail/store/LocalStore.java
68a9ccfcde85505f06ddba28c22481c80419ddd4 10-Jun-2009 Andrew Stadler <stadler@android.com> final cleanups to get basic message operations working properly.

* 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
mail.java
ctivity/AccountShortcutPicker.java
ctivity/Accounts.java
ctivity/MessageCompose.java
ctivity/Welcome.java
ctivity/setup/AccountSetupBasics.java
rovider/EmailStore.java
d2b0efa2f591f883eaad3d9f8996bbacdcec5c34 09-Jun-2009 Andrew Stadler <stadler@android.com> Cleanup broken unit tests from previous submit. This now works:

What works:
* All unit tests
* 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)
* Viewing messages
* Composing messages
* Some details of account editing
* Import of existing accounts
essagingController.java
rovider/EmailStore.java
c0033f24a26a08c47aa38d957f42cf63cfa3c345 09-Jun-2009 Andrew Stadler <stadler@android.com> Convert remainder of app to use provider-based 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
mail.java
essagingController.java
essagingListener.java
ctivity/AccountShortcutPicker.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
ctivity/setup/AccountSettings.java
ail/StoreSynchronizer.java
ail/internet/EmailHtmlUtil.java
rovider/AttachmentProvider.java
rovider/EmailStore.java
ervice/MailService.java
7ac2b6e04863db62389ad748c394116e5df137f3 08-Jun-2009 Mihai Preda <preda@google.com> am a9576bda: resolved conflicts for merge of 7403a547384df0c3cb2cb7539d018a3b2029401d to donut

Merge commit 'a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03'

* commit 'a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03':
AI 149664: Move escapeChar from MessageView to EmailHtmlUtil.
a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03 08-Jun-2009 Mihai Preda <preda@google.com> resolved conflicts for merge of 7403a547384df0c3cb2cb7539d018a3b2029401d to donut
7403a547384df0c3cb2cb7539d018a3b2029401d 08-Jun-2009 Mihai Preda <nobody@android.com> AI 149664: Move escapeChar from MessageView to EmailHtmlUtil.
Integrate CL 148437 from DocomoEmail.
BUG=1860250

Automated import of CL 149664
ctivity/MessageCompose.java
ctivity/MessageView.java
ail/internet/EmailHtmlUtil.java
294a4fd0c6b15c1f8f41ca03be66ed95e16e5a6d 06-Jun-2009 Andrew Stadler <stadler@android.com> Enable creation of new accounts using provider-based accounts.

What works:
* Editing existing accounts
* Create new accounts
* Checking account settings against server

What breaks (in approx order of planned fixes)
* Some details of account editing
* Viewing mailboxes & messages
* Mail sync using accounts
* Import of existing accounts
ctivity/FolderMessageList.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupExchange.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
rovider/EmailStore.java
da93b380d19ee9ca06897ab7a67c0be5828dabad 05-Jun-2009 Mihai Preda <nobody@android.com> am 23a27697: Merge branch \'readonly-p4-donut\' into donut

Merge commit '23a27697963642d6450b70dd83709492c1bdde72'

* commit '23a27697963642d6450b70dd83709492c1bdde72':
AI 149607: Add relevant title to attachment file chooser.
c4a9e52f49f8213fdd55941e26da6f370cabc9d7 05-Jun-2009 Mihai Preda <nobody@android.com> am cf4a3aea: Merge branch \'readonly-p4-donut\' into donut

Merge commit 'cf4a3aea3fa31210deca572c6c933034036fe558'

* commit 'cf4a3aea3fa31210deca572c6c933034036fe558':
AI 149604: Localized the special folders name in FolderMessageView.
84bba2c57b76c461a4d5c7bf6328ba047802e60a 05-Jun-2009 Mihai Preda <nobody@android.com> am 9c629105: Merge branch \'readonly-p4-donut\' into donut

Merge commit '9c62910550ee132ead267fa465a726f917db7fd0'

* commit '9c62910550ee132ead267fa465a726f917db7fd0':
AI 149603: Show progress dialog while loading attachment. Fixed possible ArrayIndexOutOfBoundsException in message view.
8043caa55a414bdb78d438eac1b27afc0574e8bd 05-Jun-2009 Mihai Preda <nobody@android.com> am 4dad6670: Merge branch \'readonly-p4-donut\' into donut

Merge commit '4dad6670724a57e560aac3d07bfda0a1f05fd2f2'

* commit '4dad6670724a57e560aac3d07bfda0a1f05fd2f2':
AI 149600: Fixed message view web link be more robust.
23a27697963642d6450b70dd83709492c1bdde72 05-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
a00eb291f1428a9aaf3eb9becb60f59ebf8598a8 05-Jun-2009 Mihai Preda <nobody@android.com> AI 149607: Add relevant title to attachment file chooser.
Delete the original source message only when the message is in Drafts folder.
If the original message is in the other folder than Drafts, it should be
retained.
Integrates 149194,149306,149459 from DocomoEmail.
BUG=1860250,1887835

Automated import of CL 149607
ctivity/MessageCompose.java
cf4a3aea3fa31210deca572c6c933034036fe558 05-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
7eb313fb00508ea173a7ea3d1c928c61a67991bf 05-Jun-2009 Mihai Preda <nobody@android.com> AI 149604: Localized the special folders name in FolderMessageView.
Integrates 149049,149217 from DocomoEmail.
BUG=1860091,1860250

Automated import of CL 149604
ctivity/FolderMessageList.java
9c62910550ee132ead267fa465a726f917db7fd0 05-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
c099563834c01380eb6528772deac41ebf79a749 05-Jun-2009 Mihai Preda <nobody@android.com> AI 149603: Show progress dialog while loading attachment. Fixed possible ArrayIndexOutOfBoundsException in message view.
Integrates 149422,149510,149516 from DocomoEmail.
In some situation, email header From: might be empty or have
illegal email address. The assumption that From: must exist
will be violated and causes ArrayIndexOutOfBoundsException.
BUG=1741969,1890770,1860250

Automated import of CL 149603
ctivity/MessageView.java
f53ef9b50ca91860646371c670676593a6b50173 05-Jun-2009 Mihai Preda <nobody@android.com> Merge commit 'goog/donut' into donut
4dad6670724a57e560aac3d07bfda0a1f05fd2f2 05-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
980385b0f98eb8a0cba0bc43823da6d104a3e71b 05-Jun-2009 Mihai Preda <nobody@android.com> AI 149600: Fixed message view web link be more robust.
Integrates 149300 from DocomoEmail.
This is work around for
- Regex.WEB_URL_PATTERN would not handle protocol part case
insensitive correctly.
- WebView only could follow the href link that protocol part
is lower case.
BUG=1860250,1842508

Automated import of CL 149600
ctivity/MessageView.java
f5df62899173f52020fa3e9e070f70c344888471 05-Jun-2009 Andrew Stadler <stadler@android.com> am a392e070: Add android.permission.WRITE_EXTERNAL_STORAGE Add unit test to verify writeable to sdcard.

Merge commit 'a392e070bc9590986e57ef6a89bed34f7efc10d0'

* commit 'a392e070bc9590986e57ef6a89bed34f7efc10d0':
Add android.permission.WRITE_EXTERNAL_STORAGE
372c12bfbb7ff9ec684e7b2d36389f79fafe24a9 05-Jun-2009 Mihai Preda <nobody@android.com> am a15503a4: Merge branch \'readonly-p4-donut\' into donut

Merge commit 'a15503a4a6cf46e810bde4aedc846680ed288c1c'

* commit 'a15503a4a6cf46e810bde4aedc846680ed288c1c':
AI 149578: Fixed possible NullPointerException in MessageCompose.
18106fe981f5e918070ffdb126e15f6fca9d0c14 05-Jun-2009 Mihai Preda <nobody@android.com> am 7330fe49: Merge branch \'readonly-p4-donut\' into donut

Merge commit '7330fe4953c39741376bdd8cb3e5c2c03068b0aa'

* commit '7330fe4953c39741376bdd8cb3e5c2c03068b0aa':
AI 149573: Display To: instead of From: in Drafts folder && Display unread message count for inbox, total message count everywhere else.
a392e070bc9590986e57ef6a89bed34f7efc10d0 05-Jun-2009 Andrew Stadler <stadler@android.com> Add android.permission.WRITE_EXTERNAL_STORAGE
Add unit test to verify writeable to sdcard.

Fixed bug http://b/issue?id=1883487
ctivity/MessageView.java
a15503a4a6cf46e810bde4aedc846680ed288c1c 04-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
e6ec9d86e8acd2b0b736f5ea05d13a12355d6511 04-Jun-2009 Mihai Preda <nobody@android.com> AI 149578: Fixed possible NullPointerException in MessageCompose.
Integrates 148996,149295 from imode email.
BUG=1862155,1798576,1860250

Automated import of CL 149578
ctivity/MessageCompose.java
7330fe4953c39741376bdd8cb3e5c2c03068b0aa 04-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
70798a7892079a71bed4e2c9833b29caaa725cb5 04-Jun-2009 Mihai Preda <nobody@android.com> AI 149573: Display To: instead of From: in Drafts folder && Display unread message count for inbox, total message count everywhere else.
Integrates from imode email: 148948,149107,149247,149248,149249,149287.
BUG=1591391,1842520,1860085,1459866,1860250

Automated import of CL 149573
ctivity/FolderMessageList.java
ail/store/LocalStore.java
98475b1d7c0db7cfc045b5d71008e973a376ce21 04-Jun-2009 Mihai Preda <nobody@android.com> am 438275b2: Merge branch \'readonly-p4-donut\' into donut

Merge commit '438275b283224a9f830e42d4e645981d1f73589b'

* commit '438275b283224a9f830e42d4e645981d1f73589b':
AI 149564: Escape special characters such as '<>&' in text/plain for display in WebView.
438275b283224a9f830e42d4e645981d1f73589b 04-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
ca5089efb84fd3c60cf317de474f8e313b8119e5 04-Jun-2009 Mihai Preda <nobody@android.com> AI 149564: Escape special characters such as '<>&' in text/plain for display in WebView.
Integrate CL 144586,145919 from imode.
Remove the Emoji escaping/workaround for WebView.
Also integrate MimeHeader.java from CL 143064 from imode.
BUG=1785319,1860250

Automated import of CL 149564
ctivity/MessageView.java
ail/internet/MimeHeader.java
9019315b2642d58691cf09d32c07c0cf902f0a41 04-Jun-2009 Andrew Stadler <stadler@android.com> Conversion to provider-based Account. What works:
* Editing existing accounts
* Two placeholder accounts are written

What breaks (in approx order of planned fixes)
* Some details of account editing
* New account creation,
* Viewing mailboxes & messages
* Mail sync using accounts
* Import of existing accounts
ctivity/Accounts.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
rovider/EmailContent.java
rovider/EmailProvider.java
rovider/EmailStore.java
361a7225f2aa86ce3bdecdff0f99500417d00e88 03-Jun-2009 Mihai Preda <nobody@android.com> am d64d0e56: Merge branch \'readonly-p4-donut\' into donut

Merge commit 'd64d0e56de58ca3c776f2edae1ebbbafd500d15e'

* commit 'd64d0e56de58ca3c776f2edae1ebbbafd500d15e':
AI 149523: Correctly display inline images in Reply and Forward messages.
d64d0e56de58ca3c776f2edae1ebbbafd500d15e 03-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
7436601fae756e8bc1f916560a1c2d1f8ce576fc 03-Jun-2009 Mihai Preda <nobody@android.com> AI 149523: Correctly display inline images in Reply and Forward messages.
Integrates CL 148436, 148515, 148833 from imode email.
BUG=1814789,1860250

Automated import of CL 149523
ctivity/MessageCompose.java
ctivity/MessageView.java
ail/internet/EmailHtmlUtil.java
rovider/AttachmentProvider.java
84969fb580f569c0e3625a3c59a71d2909ae198d 01-Jun-2009 Fred Quintana <fredq@google.com> update to adhere to applyBatch changes
rovider/EmailProvider.java
rovider/EmailStore.java
0cb7ddfc27413fa7b2a4228ad9dc148d19c9c14d 02-Jun-2009 Andreas Huber <andih@google.com> Fixing the build. Methods implementing interfaces must not be declared @Override.
rovider/EmailStore.java
626f3e48a4f14c38a973dd2bea2e2debea7637a5 01-Jun-2009 Andrew Stadler <stadler@android.com> Updates to EmailStore and EmailProvider:
1. Call notifyChange() after all API calls.
2. Make Account & HostAuth parcelable
3. Temporary APIs to create "store URI" strings for the existing mail code
rovider/EmailProvider.java
rovider/EmailStore.java
061f4d21dc0cb016302699218067ed120f5f29aa 01-Jun-2009 Mihai Preda <nobody@android.com> am d9c1e51d: Merge branch \'readonly-p4-donut\' into donut

Merge commit 'd9c1e51d841369ba7f26b8769337471ca10b7b84'

* commit 'd9c1e51d841369ba7f26b8769337471ca10b7b84':
AI 149446: Add sending pending outbox message feature; integrates 148664, 148823 from imode to donut.
d9c1e51d841369ba7f26b8769337471ca10b7b84 01-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
39137e51aa3b454cfa1258a10c9c7499261b175a 01-Jun-2009 Mihai Preda <nobody@android.com> AI 149446: Add sending pending outbox message feature; integrates 148664, 148823 from imode to donut.
BUG=1860250,1793767

Automated import of CL 149446
essagingController.java
essagingListener.java
ctivity/FolderMessageList.java
4c27102aea9921a6bbdfec3bc44e32d5d03c47d9 01-Jun-2009 Mihai Preda <nobody@android.com> am fbde900c: Merge branch \'readonly-p4-donut\' into donut

Merge commit 'fbde900c37ae76ec3c6181b3328d4ddf7c46cc7e'

* commit 'fbde900c37ae76ec3c6181b3328d4ddf7c46cc7e':
AI 149442: Integrate CL#140625 (Fix attachment uri and content uri confusion) from imode to donut.
AI 149328: Add extended header support to MimeMessage, MimeBodyPart, and LocalStore.
fbde900c37ae76ec3c6181b3328d4ddf7c46cc7e 01-Jun-2009 Mihai Preda <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
5182d80674a1ef90586f52355a21a82e8265c10a 01-Jun-2009 Mihai Preda <nobody@android.com> AI 149442: Integrate CL#140625 (Fix attachment uri and content uri confusion) from imode to donut.
BUG=1598754,1860250

Automated import of CL 149442
ctivity/MessageView.java
ail/store/LocalStore.java
rovider/AttachmentProvider.java
fae4727a911a13cd0bfaaf2f1167d780bafb592b 29-May-2009 Marc Blank <mblank@google.com> Squashed commit of the following:

commit 19beb6f0cc6c0f3f0cbcdcd66cec9f141b470d70
Author: Marc Blank <mblank@google.com>
Date: Fri May 29 14:23:01 2009 -0700

Changes to EmailProvider

commit 84cced7b94bde4688ad986a45a6bf876cde3bdbe
Author: Marc Blank <mblank@google.com>
Date: Fri May 29 14:02:20 2009 -0700

Fix additional formatting issues.

commit 1faeb1763ba8a967fbf79ddbc48822af08c65a15
Author: Marc Blank <mblank@google.com>
Date: Thu May 28 19:26:03 2009 -0700

Changes in EmailStore.Account
- Add isDefault column
- Add status methods setDefaultAccount/getDefaultAccount

Resubmit previous with formatting issues addressed.
ctivity/Welcome.java
rovider/EmailProvider.java
rovider/EmailStore.java
ea6b71e0f4b515df378426a703bf3261db2f1306 28-May-2009 Andrew Stadler <stadler@android.com> Per android code style guide, all member variables start with "m"
rovider/EmailContent.java
rovider/EmailProvider.java
rovider/EmailStore.java
7b92d9a2a9b64480a4c510b218d812581b9c4473 28-May-2009 Tadashi Takaoka <nobody@android.com> Merge branch 'readonly-p4-donut' into donut
a8884b9b72b164dfd347dab24f754bd8f7fcbd7c 28-May-2009 Tadashi Takaoka <nobody@android.com> AI 149328: Add extended header support to MimeMessage, MimeBodyPart, and LocalStore.
This extension is necessary to support some vendor specific
extended header, such as X-NoRtn-Addr of i-mode.net mail.
This change will update LocalStore database version to 24.
And it should be consistent between donutburger Email and DocomoEmail.
BUG=1741969

Automated import of CL 149328
ail/Part.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/store/LocalStore.java
bd649fc1fd0f8018b2c2036ed7a1465af6fdfd8a 28-May-2009 Andrew Stadler <stadler@android.com> General changes to generalize account & hostauth classes:
- Remove references to SMTP and use generic "send" and "recv" notation
- Move protocol indication into hostauth
- Add TLS (along with SSL)
rovider/EmailProvider.java
rovider/EmailStore.java
2e758791d000ec1648bd2199dd1209d36488b69c 28-May-2009 Andrew Stadler <stadler@android.com> Rename Email to EmailStore to avoid collision with existing Email.java
rovider/Email.java
rovider/EmailProvider.java
rovider/EmailStore.java
c5f2a7af7679e46ae08bbe399680495b9bc6679a 28-May-2009 Marc Blank <mblank@google.com> I fixed the authority in Email to point to the EmailProvider's authority, and I added the EmailProvider to the manifest.
rovider/Email.java
f3d5b202360031979714c3e366c386bcc7e6a40e 27-May-2009 Andrew Stadler <stadler@android.com> Import first versions of Provider from Marc
rovider/Email.java
rovider/EmailContent.java
rovider/EmailProvider.java
f50c7fb0842c403edc47ea7258af06e7fd1f262c 26-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2252 into donut

* changes:
Fix the java.lang.StringIndexOutOfBoundsException that occurs when an SMTP server closes the connection early or returns an empty line. Fix the same error in the Pop3 UIDL parser.
fc9e1ce0304e89c275bf71e254fa5a954b43e338 22-May-2009 Andy Stadler <nobody@android.com> AI 149203: Manual merge CL 149118: "Make URL which is in the head of body text be
clickable."
BUG=1810716

Automated import of CL 149203
ctivity/MessageView.java
b011a812e05902d7e417b8c47acc90a592f4b412 22-May-2009 Andrew Stadler <stadler@android.com> Fix the java.lang.StringIndexOutOfBoundsException that occurs when an SMTP server closes the connection early or returns an empty line.
Fix the same error in the Pop3 UIDL parser.
ail/store/Pop3Store.java
ail/transport/SmtpSender.java
c2887cd81de8867092136e69a19c1e771a35a66a 21-May-2009 Andy Stadler <nobody@android.com> AI 149140: Automated g4 rollback of changelist 148333.
*** Reason for rollback ***
Rollback global lock because bug (now fixed) was not caused by
threading/concurrency.
*** Original change description ***
Evidence from failures, and inspection of source, leads me to believe
that SharedPreferences has some non-thread-safe paths. As a quick,
brute-force workaround, I'm putting a global lock around our use of it.
This is a bit inefficient, but cases of multiple threads writing to it
should be very rare.
Note, we don't have an explicit test for this (I will think about
finding a way to write one), but the evidence of this failure is that
after some amount of activity in the Email app, we see corrup
... description truncated by g4 rollback ...

Automated import of CL 149140
ccount.java
f9edef8dee689bd5402b12d4838465923ea54e68 21-May-2009 Andy Stadler <nobody@android.com> AI 149088: Automated g4 rollback of changelist 148488.
*** Reason for rollback ***
Problem found (bug in ICU encoder/decoder) so instrumentation no
longer required here.
*** Original change description ***
Heavily-instrumented Account.java that's looking for the precise moment
when an Account string gets corrupted. Looks for bad base64 strings
and bad store Uri's. Logs the error, and (optionally/disabled) throws
an exception (good for debugging).
BUG=1822859

Automated import of CL 149088
ccount.java
c6efb28ad3466b6f59c0f72428eb5244bcb757de 20-May-2009 Andy Stadler <nobody@android.com> AI 149059: Manually merge CL 148988 to fix "Not to revert SEEN flag if POP, and
fixed counting unread messages bug".
BUG=1785254

Automated import of CL 149059
essagingController.java
80257af81bbdbd015e81324a7b5c27b763b9d512 19-May-2009 Andy Stadler <nobody@android.com> AI 149020: Manually merge CLs 148814, 148818 which fix IMAP response parsing to be
able to handle a literal string in the middle of the response.
BUG=1814528

Automated import of CL 149020
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
305382f790cde9afc2876b2e95661d61fe4f02ce 07-May-2009 Andy Stadler <nobody@android.com> AI 148488: Heavily-instrumented Account.java that's looking for the precise moment
when an Account string gets corrupted. Looks for bad base64 strings
and bad store Uri's. Logs the error, and (optionally/disabled) throws
an exception (good for debugging).
BUG=1822859

Automated import of CL 148488
ccount.java
93116fe28ed366a4cc2285fba2019c0b4a316a31 07-May-2009 Andy Stadler <nobody@android.com> AI 148457: Allow exchange accounts to be set up without an empty domain
specification. This relaxes a rule that was incorrectly applied.
BUG=1740626

Automated import of CL 148457
ctivity/setup/AccountSetupExchange.java
08e2bc5bb43e3d00ca9f89ac5432b420da206e30 07-May-2009 Andy Stadler <nobody@android.com> AI 148382: Check cursors in LocalStore so we avoid errors when the folder itself
has been deleted from the DB. Add unit tests.
BUG=1835733

Automated import of CL 148382
ail/store/LocalStore.java
615fcaf33721cc56fc41eb57fdd13b96e201be31 07-May-2009 Andy Stadler <nobody@android.com> AI 148378: Allow store to create BinaryTempFileBody from a preexisting file
instead for forcing a copy via input stream.
BUG=1807499

Automated import of CL 148378
ail/internet/BinaryTempFileBody.java
dab90a7b350e9c7dc23d501f12a40060d7178763 07-May-2009 Andy Stadler <nobody@android.com> AI 148377: Push Mode changes: (1) Add android.permission.WAKE_LOCK and
READ_PHONE_STATE so a push mode service can hold an active
network connection, monitor roaming status, etc. (2) Refresh
push mode status on Refresh(), not just on Check, so UI
(settings) changes, which call refresh(), propagate immediately
to the stores.
BUG=1776149

Automated import of CL 148377
ervice/MailService.java
63a22008c7b71675ab6d4c0526556a81a2c60632 07-May-2009 Andy Stadler <nobody@android.com> AI 148376: Two policy changes for lookback window: (1) Change default
for new accounts to "1 day". (2) Remove "all" from the list
of available lookback window sizes, to prevent runaway
during our simplistic sync model.
BUG=1789913

Automated import of CL 148376
ctivity/setup/AccountSetupAccountType.java
3b7a93e8bbeda13e49ef17b45ba7b46fe8284dee 07-May-2009 Andy Stadler <nobody@android.com> AI 148375: Explicitly remove deleted accounts from the Store cache. This resolves
possible bugs when an account is deleted and recreated.
BUG=1740626

Automated import of CL 148375
ctivity/Accounts.java
ail/Store.java
235609d04e95db2097efcc3c999a8fbd6c1ae23e 06-May-2009 Andy Stadler <nobody@android.com> AI 148334: Provide a new entry in MessageUpdateCallbacks by which the store can
indicate that the message of interest no longer exists. This is used
in remoteFolder.copyMessages, for example because the message was
already deleted by another client.
BUG=1807499

Automated import of CL 148334
essagingController.java
ail/Folder.java
5293030ba0433c06ba3af371b809ab8586d775b4 06-May-2009 Andy Stadler <nobody@android.com> AI 148333: Evidence from failures, and inspection of source, leads me to believe
that SharedPreferences has some non-thread-safe paths. As a quick,
brute-force workaround, I'm putting a global lock around our use of it.
This is a bit inefficient, but cases of multiple threads writing to it
should be very rare.
Note, we don't have an explicit test for this (I will think about
finding a way to write one), but the evidence of this failure is that
after some amount of activity in the Email app, we see corruption in
the string mSenderUri.
BUG=1822859

Automated import of CL 148333
ccount.java
843125b98a8130069fb4cdca92029fed3e189e7b 05-May-2009 Andy Stadler <nobody@android.com> AI 148300: Reduce memory waste in getTextFromPart(), and improve error handling.
Fix NPE's in loadMessageForViewBodyAvailable().
BUG=1831272

Automated import of CL 148300
ctivity/MessageView.java
ail/internet/MimeUtility.java
09866af013539355d019acdf6a15cdf89ac65d6b 04-May-2009 Andy Stadler <nobody@android.com> AI 148257: Allow preview of any files (mime type */*) by removing
the original filters. This affects preview, not download.
This does not preflight the launch at all, it is very simple
as it simply downloads the attachment and then tries to open it.
If no activity is found, it uses a toast to say "couldn't do
that." A better fix will be to pre-check the mime type to see
if there are any intent filters to handle it.
BUG=1650669

Automated import of CL 148257
mail.java
62c4a629852141d610ec88220e6aacc8d3bd2897 04-May-2009 Andy Stadler <nobody@android.com> AI 148256: Finish cleaning up the concurrency bugs in FolderMessageList.
At this point, *all* MessageListener callbacks should have their
work routed through the handler for deeper processing (especially
anything that affects the lists) to be in the UI thread only.
Also fixed a minor regression introduced in CL 148096 (on
configurations with a single account, the inbox was not
automatically preopening - this affected desktop shortcuts
as well.)
BUG=1812798

Automated import of CL 148256
ctivity/FolderMessageList.java
1e2ca965e7b7eed83bf96417b1160689b32f6830 04-May-2009 Andy Stadler <nobody@android.com> AI 148255: Don't show "Outgoing Settings" preference when sender does not
provide a class for launching the settings editor.
BUG=1812798

Automated import of CL 148255
ctivity/setup/AccountSettings.java
ail/exchange/ExchangeSenderExample.java
c9f151d4fe47c5d426109822a7042ae8bbeb0a06 02-May-2009 Andy Stadler <nobody@android.com> AI 148230: Allow stores to indicate if they support server-side copying of sent
mail into the "Sent" folder, thus eliminating the need to perform a 2nd
upload into the server's Sent folder. IMAP and POP3 do not support
this (although IMAP could when it recognizes Gmail IMAP servers.)
BUG=1807499

Automated import of CL 148230
essagingController.java
ail/Store.java
ail/exchange/ExchangeStoreExample.java
9197f428946d5c77613b64a50c93a46e2acf62dc 02-May-2009 Andy Stadler <nobody@android.com> AI 148216: Provide UI for fixed sync window sizes, as required by EAS.
When in fixed sync window size mode, change "load more
messages" to "refresh".
BUG=1789913

Automated import of CL 148216
ccount.java
ctivity/FolderMessageList.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupOptions.java
035dfc08598c0b2cb517d761b24294dadfca3f24 02-May-2009 Andy Stadler <nobody@android.com> AI 148215: Provide a better way for stores to get their callbacks, since they
might be null at creation time, and available slightly later.
BUG=1807499

Automated import of CL 148215
ail/Store.java
9ba72bb00d5621997eda2033226bce1e0146a111 01-May-2009 Andy Stadler <nobody@android.com> AI 148204: Encapsulate a requirement for some remote stores, that need to preload
message structures before fetching the message body. Code for IMAP &
POP3 is unaffected, but remote stores can override
requireStructurePrefetch() in order to trigger the new behavior.
BUG=1807499

Automated import of CL 148204
essagingController.java
ail/Store.java
ail/exchange/ExchangeStoreExample.java
c5c2b9673907d44fa03ac277a9028704b6277c7b 01-May-2009 Andy Stadler <nobody@android.com> AI 148145: Remove the account-based storage of store persistent data, and instead
combine it with the same code that handles folder persistent data (in
the database). The schema is really simple; Rows with a folder id of
-1 are store data. This also adds the ability to use keys to store
multiple values, instead of a single string per account. Added/updated
unit tests.
3rd party stores will need slight code changes because the persistent
callbacks now accept keys.
BUG=1807499

Automated import of CL 148145
ccount.java
essagingController.java
ctivity/Accounts.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupCheckSettings.java
ail/Store.java
ail/store/LocalStore.java
ervice/MailService.java
d8cbeaf7aee0b307b96c2aa1c2a93c4c417838e2 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148098: Manual merge CL 148086 to fix additional problems with non-ASCII chars
in address fields.
BUG=1676634

Automated import of CL 148098
ail/Address.java
ail/internet/MimeMessage.java
067d0a87fa88436aa9fbbaf9767102c102d2a6ce 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148097: Fix bug in exchange account setup (actually it only affects
editing existing accounts). Added simple functional tests for
Activity UI.
BUG=1812798

Automated import of CL 148097
ctivity/setup/AccountSetupExchange.java
05aba0b4ba5667717aa6f9f54aa288d585dbb77b 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148096: Fix multiple concurrency bugs in FolderMessageList, which wasn't
being strict enough about decoupling the MessageListener from
updates to the various lists that should only happen in the UI
thread.
BUG=1812798

Automated import of CL 148096
ctivity/FolderMessageList.java
c795d8b324e32c19c936f331a08a52efb4a5e09f 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148095: In MessageView, protect the listener callbacks that directly
access mMessageContentView.
This is a brute-force solution, and I have also left TODO notes
mentioning that it might make more sense (long term) to use the
existing handler message mechanism.
BUG=1812798

Automated import of CL 148095
ctivity/MessageView.java
0cfffc5222f951475b249f7ed1c8ceefb34f6ffe 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148091: Manual merge CL 148078 which resolves bugs when you have non-ASCII
names in email address fields of MessageCompose.
BUG=1676657

Automated import of CL 148091
ail/Address.java
3c3add638ec34c8627e3783f810e3b68ad01a007 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148027: Fix concurrency failure in Folder.getUnreadMessageCount() and
Folder.getVisibleLimit(), which used local copies of the data from the
DB. If there were two Folder objects associated with a single actual
folder, updating one wouldn't be reflected in the others.
BUG=1812798

Automated import of CL 148027
ail/store/LocalStore.java
c05afb24bbb47be9b9c5224cfe9aa6a3a84b6870 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148019: Add "accountInstanceLimit" to stores.xml so a given type of connection
(e.g. EAS) can limit itself to n (usually 1) accounts per device.
The UI for this is really simple - don't show the EAS button when the
limit is reached. More work would be required in
AccountSetupAccountType.java in order to do a more sophisticated UI
(e.g. show the button but pop a toast if the limit is reached.)
BUG=1740626

Automated import of CL 148019
ctivity/setup/AccountSetupAccountType.java
ail/Store.java
8264c4fa21d922ad028242ae12e8da62c82a88a4 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148002: Add X_DOWNLOADED_FULL, X_DOWNLOADED_PARTIAL, and DELETED flags
to the set that are stored in their own columns (and thus can
be quickly selected from). Add code to migrate old style
flags into new flags. Add tests.
BUG=1786939

Automated import of CL 148002
ail/store/LocalStore.java
a13aea24a396ae8f115b016b702bd2457ad04e6d 28-Apr-2009 Andy Stadler <> AI 147868: Fix CL 146360 which didn't make the changes persistent. Changed
MessagingController to accept and track a Context, instead of the
unnecessary Application object, which makes this fix more testable.
BUG=1790798

Automated import of CL 147868
essagingController.java
de6b2519be29b25e5a596c59c969ee0d55d7478e 28-Apr-2009 Andy Stadler <> AI 147866: To better support remote stores that write back persistent data
or other changes during a delete operation, we need to explicitly
open the remote trash folder and give it the callbacks.
BUG=1807499

Automated import of CL 147866
essagingController.java
6c0cd4961030eca992b9ed1f4e0f4189ddeedcf5 27-Apr-2009 Andy Stadler <> AI 147839: In checkMail(), do a listFolders() before the existing sync...()
calls for each account. This allows the folder list to be
updated before it is synced, which is necessary for some
stores.
BUG=1807499

Automated import of CL 147839
essagingController.java
b24a1eb3d0dc9d119db085d3f648f781a405457e 25-Apr-2009 Andy Stadler <> AI 147765: Fix concurrency bugs in MessagingController, in the collections
mCommands and mListeners.
BUG=1812798

Automated import of CL 147765
essagingController.java
ail/StoreSynchronizer.java
100867a2317c7c40d362ce9db982ee2875d3f448 24-Apr-2009 Andy Stadler <> AI 147730: 1. Create an API by which a Store can specify its own custom
synchronizer code.
2. Refactor (and spell-fix) the core folder synchronizer. Extract
the innards that are IMAP/POP specific, leaving common wrapper
code in a simpler shell.
3. For each account & folder to sync, check the store and call
the specialized sync'er (if provided) or the generic one.
BUG=1807499

Automated import of CL 147730
essagingController.java
ail/Store.java
ail/StoreSynchronizer.java
ail/exchange/ExchangeStoreExample.java
5551f7feb210313aaf3e5a33cdaec5f991ba3288 24-Apr-2009 Andy Stadler <> AI 147714: New, lighter-weight version of CL 147620. Still touches as many files,
due to API change, but still has a smaller footprint. Also fixes the
bug in the original, which is that we actually needed to udpate the
local trash folder, not the remote one.
BUG=1807499

Automated import of CL 147714
essagingController.java
ail/Folder.java
ail/exchange/ExchangeFolderExample.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
b633efa2b7386b814ff5b9cd05af4c1c8a905fb7 24-Apr-2009 Andy Stadler <> AI 147708: Automated g4 rollback of changelist 147620.
*** Reason for rollback ***
We figured out a simpler solution affecting fewer files - we
don't actually need the new remotestore API.
*** Original change description ***
Some stores require changing the UID of a message when it is
copied to a new folder (I'm looking at you, EAS). Add a callback
to Folder.copyMessages() which allows the store to report back
such changes. Then, add a new api to record the new values:
Folder.updateMessages().
For now, the two APIs are linked by a common callsite in
MessagingController, so the existing stores can use a minimal
implementation - if they don't call the callback, nobody will
call the update.
BUG=1807499

Automated import of CL 147708
essagingController.java
ail/Folder.java
ail/exchange/ExchangeFolderExample.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
1df530294d37573e1b1a97bc1c01a43af3127224 24-Apr-2009 Andy Stadler <> AI 147620: Some stores require changing the UID of a message when it is
copied to a new folder (I'm looking at you, EAS). Add a callback
to Folder.copyMessages() which allows the store to report back
such changes. Then, add a new api to record the new values:
Folder.updateMessages().
For now, the two APIs are linked by a common callsite in
MessagingController, so the existing stores can use a minimal
implementation - if they don't call the callback, nobody will
call the update.
BUG=1807499

Automated import of CL 147620
essagingController.java
ail/Folder.java
ail/exchange/ExchangeFolderExample.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
72288724d40a4179ea0f978fee72e8b8dd293007 24-Apr-2009 Andy Stadler <> AI 147538: Because mPreferences is transient, we need to pass Context into the
persistent callbacks, in order to recreate it occasionally.
BUG=1786939

Automated import of CL 147538
ccount.java
ail/Store.java
f2c5f08b32352b7566709fa0663532ceb6a222d2 24-Apr-2009 Andy Stadler <> AI 147537: Fix copy/paste mistake in previous CL.
BUG=1807499

Automated import of CL 147537
essagingController.java
3f66d3de11400cdaca7ceb0cbfae9ab3d5783a9e 23-Apr-2009 Andy Stadler <> AI 147486: Change the remote/local mapping callback to be folder-by-folder instead
of for the entire store.
BUG=1807499

Automated import of CL 147486
essagingController.java
ail/Folder.java
ail/Store.java
2990ff1f968c5424b6218d2829b87ca1c4a32db4 23-Apr-2009 Andy Stadler <> AI 147452: Update LocalFolder.fetch() to support STRUCTURE mode, in
addition to existing support for BODY mode. Add tests.
BUG=1807499

Automated import of CL 147452
ail/store/LocalStore.java
912dc3b1946e8f16b34daaa9a8e541219ed46d95 23-Apr-2009 Andy Stadler <> AI 147423: Provide a hook to notify remote stores that local stores are set up.
BUG=1807499

Automated import of CL 147423
essagingController.java
ail/Store.java
29bbfd0b971a7afca9e61f9475036f3b53f0209c 22-Apr-2009 Andy Stadler <> AI 147401: Redo the implementation of store-specific flags to allow
deeper database-style operations with them. This enables two
new LocalStore APIs to be provided: A new version of
GetMessages() that can retrieve only flagged (or un-flagged)
messages, and a new method to set flags for an entire set of
messages, in a single SQL transaction.
BUG=1786939

Automated import of CL 147401
ail/Flag.java
ail/Folder.java
ail/Message.java
ail/store/LocalStore.java
7e6df9c6aa616978efa9fc8288014735f9bf7edd 16-Apr-2009 Andy Stadler <> AI 146379: Provide a small set of message flags that can be set by stores and will
be persisted by LocalStore.
BUG=1786939

Automated import of CL 146379
ail/Flag.java
37e98419d7778656b39eba21d9061ccd01a20196 15-Apr-2009 Andy Stadler <> AI 146366: Automated g4 rollback of changelist 146361.
*** Reason for rollback ***
Despite the markings in the CL, this was inadvertently merged.
This CL restores donut & downstream branches to the desired state.
*** Original change description ***
am: CL 146359 D* N*T M***E - we'll keep the fix for donut+
Automated g4 rollback of changelist 146273.
*** Reason for rollback ***
Inadvertently approved for cupcake, past deadline.
*** Original change description ***
Fixed "show pictures" button isnot displayed for HTML messages.
Original author: stadler
Merged from: //branches/cupcake/...
BUG=1766880

Automated import of CL 146366
ctivity/MessageView.java
af88cfc4828b1e2844d335e5eda9e942235526f0 15-Apr-2009 Andy Stadler <> AI 146361: am: CL 146359 DO NOT MERGE - we'll keep the fix for donut+
Automated g4 rollback of changelist 146273.
*** Reason for rollback ***
Inadvertently approved for cupcake, past deadline.
*** Original change description ***
Fixed "show pictures" button isnot displayed for HTML messages.
Original author: stadler
Merged from: //branches/cupcake/...

Automated import of CL 146361
ctivity/MessageView.java
1f48259d22001f3e745e34e1bf142dfaf6cad94b 15-Apr-2009 Andy Stadler <> AI 146360: Provide an API by which the server (or store) can tag some
of the role-specific folders such as Drafts, Sent, or Trash.
This allows us to properly target these folders even on
systems where they have different names. I capture the
tagged names into the existing columns in the account data,
where they are used elsewhere in the code (no changes
necessary).
Use default implementations on POP3 and IMAP for now -
no change from original behavior. The new code is
primarily to support EAS (for now).
BUG=1790798

Automated import of CL 146360
essagingController.java
ail/Folder.java
4836f3c289f728048435ea2b5055e65b167f5a88 15-Apr-2009 Andy Stadler <> AI 146331: Make the download window sizing adjustable on a per-store basis.
The default values are 25 (default) and 25 (increment). This is fine
for Stores that control downloads by # of messages, but won't work for
stores that use other measurements - e.g. EAS windows the download in #
of days. So for this change:
1. Allow the StoreInfo to provide non-default values
2. Remove the hardcoded references to the default values
3. Use StoreInfo values everywhere
4. Set the values to 1,1 in EAS store info
BUG=1789913

Automated import of CL 146331
mail.java
essagingController.java
ail/Store.java
ail/store/LocalStore.java
1464095f9f6ff4860b6a8d4a74ee0e5079707019 15-Apr-2009 Tadashi Takaoka <> AI 146274: am: CL 146273 Fixed "show pictures" button isnot displayed for HTML messages.
Original author: takaoka
Merged from: //branches/cupcake/...

Automated import of CL 146274
ctivity/MessageView.java
c6039f7d17eea53ea7aa59dfade42d9546440929 14-Apr-2009 Andy Stadler <> AI 146134: Add persistence API for remote stores & folders to use while
syncing. This provides a key-value store, per folder, that
can be used by network Stores to record persistent data such
as sync status, server keys, etc.
Note that, by definition, this only applies to remote folders
(e.g. IMAP, POP3). You'll see everywhere that LocalFolder is
passed null, and this is correct - LocalFolder *is* persistent
storage and does not need external help.
Note to reviewers: The core changes are Folder.java,
LocalStore.java, and LocalStoreUnitTests.java, so please give
them the bulk of your reviewer attention. The other files
are just following along with minor API changes. Of those,
the one worth close examination is MessagingController.java,
which is the only place in the system where remote Folders
are bonded with Local Folders and thus where this new API
comes into play.
Note to jham: Can you please take a look at
LocalStore.LocalFolder.setPersistentString() and recommend
better SQL foo than my primitive test-then-update-or-insert
logic, which is not transactional or threadsafe.
BUG=1786939

Automated import of CL 146134
essagingController.java
ctivity/FolderMessageList.java
ail/Folder.java
ail/exchange/ExchangeFolderExample.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
cd7e5664f9de81dbe3ba8e57941ca6aa6c1dc3d7 14-Apr-2009 Andy Stadler <> AI 146061: Add persistent storage that Store classes can access.
The current design for Store classes (e.g. IMAP) did not provide for
any persistent storage. This is the beginning of a mechanism to
provide that. It's quite simplisitic - each Store can read/write one
persistent string - but that's enough for the first simple use case
(saving some sync data for EAS).
The core changes here - suggest reviewing first - are in Account.java,
Store.java, and AccountUnitTests.java. Everything else is just
following the API change that was necessary.
Note that, by definition, this only applies to remote stores (e.g.
IMAP, POP3). You'll see everywhere that LocalStore is passed null, and
this is correct - LocalStore *is* persistent storage and does not need
access (so far, at least).
BUG=1786939

Automated import of CL 146061
ccount.java
essagingController.java
ctivity/AccountShortcutPicker.java
ctivity/Accounts.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupCheckSettings.java
ail/Store.java
ail/exchange/ExchangeStoreExample.java
ail/store/ImapStore.java
ail/store/Pop3Store.java
ervice/MailService.java
8664ecf1817e9965f9910dd12f6115ef4aaa8f2a 09-Apr-2009 Andy Stadler <> AI 145227: Add callback for push-mode stores to report async updates.
The logic for this is quite simplistic, for now: When the store
reports that it has new messages, it triggers a service refresh,
just as if a pull-mode interval had expired and it is time to
check the server.
Note, unfortunately at this time there are no tests, because there
are not currently any good test seams in MailService.java.
BUG=1776149

Automated import of CL 145227
ail/Store.java
ail/exchange/ExchangeStoreExample.java
ervice/MailService.java
ea6fea9bb22368c10083d5dce52adae86e51a243 08-Apr-2009 Andy Stadler <> AI 144953: Provide UI for push mode accounts.
1. Generalize the code for the various spinners that control
account check frequency.
2. Provide an API for looking up store attributes (and refactor
existing instatiateStore logic to use it).
3. Cleanup the old code that was used to setup frequency spinners.
4. Hardwire Exchange accounts to default into push mode.
Notes to tester:
1. For each account type (POP, IMAP, EAS) we need to check that
auto & manual creation "do the right thing" for frequencies.
POP & IMAP should offer "none" or time intervals, while EAS
should offer "push", "none", or time intervals.
2. EAS accounts should default to "push", all others to "15 min"
3. Make sure that you can edit existing account settings and see
the right choices (only EAS should be offered push).
4. I couldn't write an automated test for the mail checker service,
please confirm that POP & IMAP accounts are checked at the right
intervals (or never, if set for "none".)
BUG=1776149

Automated import of CL 144953
ccount.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupOptions.java
ail/Store.java
ervice/MailService.java
87c43cada618a783197533934301230e608ab940 04-Apr-2009 Andy Stadler <> AI 144525: Add structural support for Exchange transport. The idea is that
the shipping client will include the necessary generic pieces for
configuring an Exchange client (e.g. account setup) but will not
include actual Exchange client code (e.g. transport / protocol).
Also added a "sample code" implementation of Exchange for use
as a starting point for implementors. (Note, this will not ship
in Donut, it's a placeholder for working on the "framework"
aspects.)
BUG=1740621,1740626

Automated import of CL 144525
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupExchange.java
ail/exchange/ExchangeFolderExample.java
ail/exchange/ExchangeSenderExample.java
ail/exchange/ExchangeStoreExample.java
ail/exchange/ExchangeTransportExample.java
2b0c619f1edd9fd89dc06bf35d99ece91f415f1e 04-Apr-2009 Andy Stadler <> AI 144520: General cleanup after the integrations in CL 143018. Some spelling
errors, inconsistencies in passing Application/Activity/Context, and
some error handling cleanups. These are all changes that would have
probably been made before the original submits, but I didn't want
to fix them in the integration step.
BUG=1740621

Automated import of CL 144520
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ail/Sender.java
ail/Store.java
ae8ca3fbd1545c3a94011d7d70bcadac99e7779f 27-Mar-2009 Andy Stadler <> Automated import from //branches/donutburger/...@143018,143018
essagingController.java
ctivity/Accounts.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ail/Sender.java
ail/Store.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/transport/SmtpSender.java
dfa98d5e1fdf976e232819b8e31d15d637a41663 26-Mar-2009 Andy Stadler <> Automated import from //branches/donutburger/...@142711,142711
ctivity/MessageView.java
d12181df8f64f0b315dad0bf75d289c41dd7ca42 25-Mar-2009 Tadashi Takaoka <> Automated import from //branches/donutburger/...@142461,142461
mail.java
7265bb729b822457f9ae56ef4dd23db5e6ada8d6 25-Mar-2009 Andy Stadler <> Automated import from //branches/donutburger/...@142152,142152
mail.java
ctivity/MessageCompose.java
7dbeb7d91c7b3970426af6debe48301ba053fd79 25-Mar-2009 Andy Stadler <> Automated import from //branches/donutburger/...@141237,141237
ail/internet/MimeMessage.java
ail/internet/MimeUtility.java
3469902379242c723b871d1dcb09b02d0998d538 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
ctivity/MessageView.java
ail/Address.java
ail/Part.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/internet/MimeUtility.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/transport/LoggingInputStream.java
3b85e2c2b5662c58525baa41479e42c59e292f66 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
ctivity/MessageCompose.java
ctivity/MessageView.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
3debc4f25a34600b896bb4a77a51bf39427b1cad 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
ctivity/MessageCompose.java
ctivity/MessageView.java
3db9542af6be894a4b053c3c6eb9baf456cc8a44 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
ctivity/MessageView.java
ervice/MailService.java
96c5af40d639d629267794f4f0338a267ff94ce5 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ccount.java
mail.java
mailAddressAdapter.java
mailAddressValidator.java
ixedLengthInputStream.java
essagingController.java
essagingListener.java
eekableInputStream.java
references.java
tility.java
ctivity/AccountShortcutPicker.java
ctivity/Accounts.java
ctivity/Debug.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
ctivity/ProgressListener.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SpinnerOption.java
odec/binary/Base64.java
odec/binary/Base64OutputStream.java
ail/Address.java
ail/AuthenticationFailedException.java
ail/Body.java
ail/BodyPart.java
ail/CertificateValidationException.java
ail/FetchProfile.java
ail/Flag.java
ail/Folder.java
ail/Message.java
ail/MessageDateComparator.java
ail/MessageRetrievalListener.java
ail/MessagingException.java
ail/Multipart.java
ail/NoSuchProviderException.java
ail/Part.java
ail/Sender.java
ail/Store.java
ail/Transport.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/internet/MimeMultipart.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/store/TrustManagerFactory.java
ail/transport/CountingOutputStream.java
ail/transport/EOLConvertingOutputStream.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
ail/transport/StatusOutputStream.java
rovider/AttachmentProvider.java
ervice/BootReceiver.java
ervice/MailService.java
8c2158a5ebb88e226c23b66ff95910158a2727df 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ccount.java
mail.java
mailAddressAdapter.java
mailAddressValidator.java
ixedLengthInputStream.java
essagingController.java
essagingListener.java
eekableInputStream.java
references.java
tility.java
ctivity/AccountShortcutPicker.java
ctivity/Accounts.java
ctivity/Debug.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
ctivity/ProgressListener.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SpinnerOption.java
odec/binary/Base64.java
odec/binary/Base64OutputStream.java
ail/Address.java
ail/AuthenticationFailedException.java
ail/Body.java
ail/BodyPart.java
ail/CertificateValidationException.java
ail/FetchProfile.java
ail/Flag.java
ail/Folder.java
ail/Message.java
ail/MessageDateComparator.java
ail/MessageRetrievalListener.java
ail/MessagingException.java
ail/Multipart.java
ail/NoSuchProviderException.java
ail/Part.java
ail/Sender.java
ail/Store.java
ail/Transport.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/internet/MimeMultipart.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/store/TrustManagerFactory.java
ail/transport/CountingOutputStream.java
ail/transport/EOLConvertingOutputStream.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
ail/transport/StatusOutputStream.java
rovider/AttachmentProvider.java
ervice/BootReceiver.java
ervice/MailService.java
1f5bbf66d14caf6c8e7fb594fd1203601f588e93 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ctivity/MessageView.java
7a8703fda965e08ee255ef5f40f7e121ebf2f5e6 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
ctivity/MessageView.java
88a1d6f92da47dc816377ee8911db15927b9f62b 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
mail.java
ctivity/AccountShortcutPicker.java
ctivity/MessageCompose.java
ff4eb775dfc72375053733d7b8a0b18c4f43dbbb 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
mail.java
essagingController.java
references.java
ctivity/AccountShortcutPicker.java
ctivity/FolderMessageList.java
ctivity/MessageView.java
f7ae27b973c7a93cd5fb8432940179f6b76a9548 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ctivity/Accounts.java
ctivity/MessageCompose.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ail/internet/MimeMessage.java
ail/store/ImapResponseParser.java
be72b1d08af5851ba79651671df8c8b750e35f73 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
ctivity/setup/AccountSetupBasics.java
b957c795560ac4f5ea45a00c3103c5bc25ec01d0 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
ail/internet/MimeUtility.java
687f9962d7095e18ef994cd0e64337f02ed1a5bd 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ccount.java
mail.java
mailAddressValidator.java
ixedLengthInputStream.java
essagingController.java
essagingListener.java
eekableInputStream.java
references.java
tility.java
ctivity/Accounts.java
ctivity/Debug.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
ctivity/ProgressListener.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SpinnerOption.java
odec/binary/Base64.java
ail/Address.java
ail/AuthenticationFailedException.java
ail/Body.java
ail/BodyPart.java
ail/CertificateValidationException.java
ail/FetchProfile.java
ail/Flag.java
ail/Folder.java
ail/Message.java
ail/MessageDateComparator.java
ail/MessageRetrievalListener.java
ail/MessagingException.java
ail/Multipart.java
ail/NoSuchProviderException.java
ail/Part.java
ail/Sender.java
ail/Store.java
ail/Transport.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/internet/MimeMultipart.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/store/TrustManagerFactory.java
ail/transport/CountingOutputStream.java
ail/transport/EOLConvertingOutputStream.java
ail/transport/MailTransport.java
ail/transport/SmtpSender.java
ail/transport/SmtpTransport.java
ail/transport/StatusOutputStream.java
rovider/AttachmentProvider.java
ervice/BootReceiver.java
ervice/MailService.java
8978aac1977408b05e386ae846c30920c7faa0a6 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ccount.java
mail.java
mailAddressAdapter.java
mailAddressValidator.java
ixedLengthInputStream.java
essagingController.java
essagingListener.java
eekableInputStream.java
references.java
tility.java
ctivity/Accounts.java
ctivity/Debug.java
ctivity/FolderMessageList.java
ctivity/MessageCompose.java
ctivity/MessageView.java
ctivity/ProgressListener.java
ctivity/Welcome.java
ctivity/setup/AccountSettings.java
ctivity/setup/AccountSetupAccountType.java
ctivity/setup/AccountSetupBasics.java
ctivity/setup/AccountSetupCheckSettings.java
ctivity/setup/AccountSetupIncoming.java
ctivity/setup/AccountSetupNames.java
ctivity/setup/AccountSetupOptions.java
ctivity/setup/AccountSetupOutgoing.java
ctivity/setup/SpinnerOption.java
odec/binary/Base64.java
odec/binary/Base64OutputStream.java
ail/Address.java
ail/AuthenticationFailedException.java
ail/Body.java
ail/BodyPart.java
ail/CertificateValidationException.java
ail/FetchProfile.java
ail/Flag.java
ail/Folder.java
ail/Message.java
ail/MessageDateComparator.java
ail/MessageRetrievalListener.java
ail/MessagingException.java
ail/Multipart.java
ail/NoSuchProviderException.java
ail/Part.java
ail/Store.java
ail/Transport.java
ail/internet/BinaryTempFileBody.java
ail/internet/MimeBodyPart.java
ail/internet/MimeHeader.java
ail/internet/MimeMessage.java
ail/internet/MimeMultipart.java
ail/internet/MimeUtility.java
ail/internet/TextBody.java
ail/store/ImapResponseParser.java
ail/store/ImapStore.java
ail/store/LocalStore.java
ail/store/Pop3Store.java
ail/store/TrustManagerFactory.java
ail/transport/CountingOutputStream.java
ail/transport/EOLConvertingOutputStream.java
ail/transport/SmtpTransport.java
ail/transport/StatusOutputStream.java
rovider/AttachmentProvider.java
ervice/BootReceiver.java
ervice/MailService.java