History log of /packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
07c30f88abfefb9109f7b6a211e2229340d7ee49 14-Oct-2014 Andrew Sapperstein <asapperstein@google.com> Catch ClassCastException. b/17975945

No idea how this state would ever happen. Added logging for that case.

Change-Id: I48e60ed1f9fc4fc73b10d9d78a115c928e86c839
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
2cb6c1ca2b508331ee29d16b71f5ec024cd22555 18-Sep-2014 Jin Cao <jinyan@google.com> More keyboard polish

- Weird condition where user presses right to go into a conversation,
we load the conversation then set mConversationToShow = null. But
then our posted runnable for "peeking" the conversation completes,
and we show a null conversation which defaults to the first conv.

- Don't focus if the pager can't find anything to focus. This prevents
the focus from being put to default location (top left) if
onRequestFocusInDescendants fail.

- When the user taps a conversation, the list loses selectedItem. Use
checked item as fallback for navigation. However, sometimes the
listview loses focus when the user taps a conversation, thus
it wont receive any onKey events. I'll try to figure that out later.

- Check target size before commiting the undo action for toast bar.

b/17570560
b/17567978

Change-Id: I3d471dc1c1d956957463198086112d5a352fb775
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
5f47f3a62f4b7e90c38d5f9bba27bc31d8068113 10-Sep-2014 Jin Cao <jinyan@google.com> Force re-render header on update

When we process an inplaceupdate on message header,
set a flag to force the header details to re-render
since by default it won't re-render if the summary
is already set.

b/17409699

Change-Id: If03d334780831ddf3c278c0c60554718a4cce728
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
c966a8a65a75559f677574c2a53cb9d43490f04e 22-Aug-2014 Jin Cao <jinyan@google.com> Focusing on the conversation pager grabs wrong initial focus

When the framework tries to shift focus from the listview
to the conversation pane, it calls onRequestFocusInDescendants.
By default, this method will find the first child that is focusable
and call requestFocus on that child.

This won't work for ConversationContainer because we add the
children view in reverse order. As a result, it always tries
to focus the conversation footer first.

Override onRequestFocusInDescendants to always auto focus
the first header item fixes this issue.

In ConversationViewAdapter, we also prevent views that
are recycled from grabbing focus with up/down navigation.

This CL also contains a ClassCastException bug fix for
ConversationListFragment$onKey.

b/17189775 b/17113398 b/17162145

Change-Id: I739207178fe3df1087d6504fffb11bfdf854a5dc
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
7ee90b37599cb6717782d40a6d085849918c29df 14-Aug-2014 Jin Cao <jinyan@google.com> Keyboard polish

Some polish for our custom conversation view navigation,
e.g. pressing up when you are on the first header item
will auto focus the overlay, same thing for down and last
item.

Disable focus for conversation header since there isn't
much actionable items there (MAYBE star, can discuss later).

b/3304236

Change-Id: I06796adac09716bccdae2636c7a9da245896eb34
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
0b69338a45faa422ccba8faf64c9816c55d33e4a 11-Aug-2014 Jin Cao <jinyan@google.com> [KBNav] two-pane landscape navigation polish

The system default navigation doesn't work quite as well
in landscape mode (e.g. focus on conversation view's reply,
hitting up goes to the mini-drawer instead of the message
header). This is partly because our overlay views are not
in a real list, thus we can't take advantage of the framework's
navigation support for listviews.

I decided to roll my own navigation entirely for
conversation view and manually focus/scroll.

This CL also includes some polishes for interactions in landscape
mode between drawer, TL, and CV panes.

b/16636060

Change-Id: Id1de01439a118702756d52f6a8b3f02395a0f932
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
a7404589b03ac9dd0d07b3f7d0a1ec92ac9acb62 05-Aug-2014 Jin Cao <jinyan@google.com> [KBNav CV] basic support for CV keyboard nav

Support basic navigation via keyboard in CV.

b/16636060

Change-Id: I66dbcd8015d722244b57c4e24579d0d854d3ee74
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
a2b0de96fcd5f83d7929ea66dd01d7dd5ad33de7 08-Aug-2014 Andrew Sapperstein <asapperstein@google.com> Replace wtfs with e's.

Change-Id: I476ec2d4bc8a10d15397231b0f7bce2be6f08c52
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
e1557036849265afc24528be9effbe299b640bff 08-Aug-2014 Andrew Sapperstein <asapperstein@google.com> CV attachments. b/16138036.

Change-Id: I612bb54ccd2710754be03d9b4a566da544780d09
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
afaab1752ab5b507cdaad7b3619ffc1c9728368f 08-Aug-2014 Andrew Sapperstein <asapperstein@google.com> Remove above attachment promo. b/16138036.

Change-Id: I611f0f7e6eeea0247956e0f1a9f2ec3ec51c9eef
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
3047a9f03d9febaf2aba1e5ea0827e0b740d1ab2 23-Jul-2014 Andrew Sapperstein <asapperstein@google.com> stable action items

b/16167419

Change-Id: I72c7c44f5728563da1fcbd39daa31ccd41845d8a
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
735a22a197215ec4787ad9f3cbaf465cce54f4d0 11-Jul-2014 Andrew Sapperstein <asapperstein@google.com> Quantum CV - drafts. b/16138121

New assets, new red color for drafts.
Super-collapsed becomes red when there's a draft.
Conversation footer is hidden when last message is a draft.

Change-Id: I89a58971a19475be79f56cae53934f3c7b2ab894
Missing: properly re-sizing the footer.
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
605dcfcefab6b222db6178f9c64a9d7a1c464da9 03-Jul-2014 Andrew Sapperstein <asapperstein@google.com> super collapsed block b/15595931

Change-Id: I197cff27874feac2317603783c65388d12be8d48
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
e2a30e19a9fff0e4368c4ec36280a3fcd4ca03e2 03-Jul-2014 Andrew Sapperstein <asapperstein@google.com> conversation footer b/15595931

Change-Id: I9eda1060f4e49a0448a321f603aec0a254daf86a
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
eb58a092961773a8da67c0e0dd5770346381d938 24-Jun-2014 Andrew Sapperstein <asapperstein@google.com> Updated conversation header for quantum CV.

b/15595931

Using a combination of breaking and non-breaking spaces
to ensure that labels start on a new line if they don't
all fit in the remaining space of the first line they can
be drawn on.

Starring works now.
Can click the labels to open change labels again.
Priority indicator is now baseline aligned.
Properly drawing the label chips.
Label chips moved up to the baseline
RTL support.
New star asset.

Change-Id: Ife32339f174bff7beafc979f9cc9761cefffed72
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
59ccec3db4710f2aea6a4a9a30160ad19331367d 19-Jun-2014 Andrew Sapperstein <asapperstein@google.com> Remove borders/cards from conversation view.

b/15595931

Change-Id: I51b5ce1d9387d6354d421b0e399a2003c6e84c54
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
381c322eb30c39f63a2bb82812d63262eb3c1c1c 20-Apr-2014 Andrew Sapperstein <asapperstein@google.com> Save to drive promo. b/7659807.

Provides a space above the attachment bars to show
some additional content. Default behavior does nothing.
Hooks have been added to allow resizing of the message
footer.

Change-Id: Ib950091d176311bdb06c7c7a466223beb997a7b5
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
4e87a08e295e775f9a30b4f49f95f983410da784 14-Mar-2014 Andrew Sapperstein <asapperstein@google.com> Merge "View entire message UI." into ub-mail-master
f59d01c3116dc2adde97a5b52aa6094144c2d315 20-Feb-2014 Andrew Sapperstein <asapperstein@google.com> View entire message UI.

We need the per-message plid server support,
but we are forwarding the clipped bit to
the UI and showing a button based on that
bit. Clicking that bit will open the
plid viewer for gmail. Email should be
unaffected as it does not ever return clipped as true.

b/2887917.

Change-Id: Iddb54e37cf650ca16a75fcbe69f1861becdd81b9
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
e6bf30d6e98eb6140b7a5f301efe631ff35c9f7b 14-Mar-2014 Andrew Sapperstein <asapperstein@google.com> RTL - Align conversation header with viewStart.

Fixes b/13432564.

Change-Id: I97954654b829579d481780ddd0c550d4caa58086
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
2fd167d6131482da984768b5ee75cefa32ed3e32 28-Jan-2014 Andrew Sapperstein <asapperstein@google.com> RTL - conversation view fixes.

b/12681840 - Properly align attachment details.
b/12681242 - Message header expanded details are locale aligned.
b/12681528 - Message header title and snippet are locale aligned.
b/11989230 - Set each overlay view's layout direction.

The first three bugs were fixed by adding unicode wrapping
to a bunch of fields.

The final bug was slightly more complex. In some scenarios,
the overlay views's layout direction was not properly resolved.
But it should always be the same as its parent so we forcibly
do it now when adding new views.

Change-Id: I9e065e0deaf1958ee87d098231238f6d976e9e68
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
821e578a71c7015646522e729600618f0ec16fc0 07-Jan-2014 Tony Mantler <nicoya@google.com> Deduplicate Address class

Change-Id: I4f6df51f5641475ffaf96b0189ccc00748880cc0
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
b7eac4739e2180b68d5d428438393581a3b5cfa7 07-Dec-2013 Martin Hibdon <mhibdon@google.com> Update date format

This is according to the new android date format rules.

Change-Id: I3d6ca4579ddd3ecb63a6f67e88fb00545fe0ffaa
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
a467d40eeb9c598fc6d7cb2dbafa2a331292d23e 16-Oct-2013 Andrew Sapperstein <asapperstein@google.com> Clean up SnapHeader interface & remove ad border.

b/11132059

Change-Id: I509263f27fe904353cd608989c173510a2ef1462
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
e79eaca46a53e1d8d4aeef47e918f320469db46d 29-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Add another new view type. b/10488449.

Change-Id: I5ea813731e147643b2b4fb0611c6d90a58a8e822
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
98f6e228e0522d9e30d2043a73ae31f78fc52e62 29-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Add new view type. b/10488449.

Change-Id: I2049d3386e5920feb33aee9a9b967e1894c22712
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
968e014c857439de821cf2590ec6aa44363352d0 22-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Rebind MessageHeaderView if on-screen.

Fixes b/10413376. Previously, if the MessageHeaderView
was on screen while its snap header was tapped (to collapse it),
it would not be updated with its new state (since they were two
separate views). The rebind takes care of this.

Change-Id: I5a24338b52e1d0f220a02f8e1ebc92b53814d16c
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
888388c1485fd8c694abacb638fb54273c5f411b 02-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Conversation View UI Refresh: bottom borders.

Bottom borders now extend to the end of the screen.
There is one small temporary hack that I will fix for
real tomorrow where there's a difference of 2 pixels.
For now, we cheat since the extended border can bleed
into the real border by a few pixels with no real problem.

Change-Id: I1ccfbfe3fd1eca30be1c8eb5928649dd5f1a6619
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
cee3c90574b48ccaa0f8b9f9341383c231ed41d2 31-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Conversation UI Visual Refresh: border fixes.

Borders now expand and collapsed based upon the state
of the messages above and below them. Also fixed a bug
where replying to a message added an additional border.

Change-Id: Ia90caf4ea595767a90213fe33b29e1bd75c0aca0
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
606dbd7a44b8445e872c25c0fe080e3e12a47adf 31-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Remove ad code.

Moved to UnifiedGmail. Also refactored
HtmlConversationTemplates to use HtmlMessage,
a new interface instead of the Message class.

Change-Id: Ie14694b37800ed9eb9fc692d434508f66660d55b
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
e539880d39620d7e26b31c8b5b381a7e9d1a722e 30-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Conversation View UI Refresh: Card Borders.

Also some tablet stuff. Top borders aren't
working. Need a new asset for them. But this'll
do for tonight.

Change-Id: I6501b39c1d89f025ff68aa3cf19b3c29365c3f92
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
12c03aa47574b6d0b5326f4c55fdd28f73e4d5be 26-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Message Ads: preference manager url and new asset.

Change-Id: Ic98f4244073a68c250bd81bf29360d62d402e978
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
14f937408fe2451a91b44d3cd7d141347e716775 25-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Conversation View UI Refresh: Cards.

Lots of changes:
New show pictures asset.
Added border as a new view type in the conversation
view to vertically separate cards. Changing its size
is TBD.
Final UI for details header (both collapsed and
expanded).
Side borders are accomplished via a new overlay layer that
is positions a view to each side of the conversation view.
Lots of dimension changes, padding and margin changes, and
other pixelpushing.

Change-Id: I4029ae46896e27fe20b005c01b8df04bb2a46c2a
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
9f957f3463fd149d33c209409e2bba500b539177 20-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Initial Ads work.

Created AdViewFragment and AdHeaderView.

Change-Id: I6c534579ed7fb5ca53e12ca57f9f8091717cbb9f
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
7638a1004e7c8ed7a85620243da3b051b60217e8 25-Jun-2013 Andrew Sapperstein <asapperstein@google.com> Final eml viewer cleanup.

Fixes b/9560839. Now we show the title of
the eml file and we also show an overflow
button with settings/send feedback/help.

Change-Id: I5eab245d9fd47e37b83eadcb419255939117ab39
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
4ddda2f0a4ee5381a90779a6939b05b064ce5d11 10-Jun-2013 Andrew Sapperstein <asapperstein@google.com> Working implementation of eml viewer.

Everything works except attachments.
The implementation uses a controller that is used
by both SecureConversationViewFragment and the new
EmlMessageViewFragment to do the rendering work.

Change-Id: I4d8b9b56e6609c3a81b902b102a90f1e50c115cd
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
8812d3c50e35c4f2a02d29c35c76082c4ebec0cd 05-Jun-2013 Andrew Sapperstein <asapperstein@google.com> Refactor ConversationMessage out of MessageCursor.

Just moved the static final inner class to its own
file and fixed up the imports. Also moved the MimeMessage
parsing into Message instead of in ConversationMessage.

Change-Id: Ic35d4cf5e52b392d68898ff47efaeeee4d0865b0
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
69a6cdff8afde77ec9bcd75a5651ee212344019e 09-Jan-2013 Vikram Aggarwal <viki@google.com> Allow veiled address pattern to be updated through settings

Change-Id: Ibbd412308283fd2c0cae0abbec0a43be1db1b3ad
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
289b45a2672e3837adf0c40ccf27f879f5aa28e6 08-Nov-2012 Scott Kennedy <skennedy@google.com> Merge "Store the "Show pictures" state on rotation" into jb-ub-mail
8f1877832b0f3bc55e6d63ccf70dfae7dd8328c9 07-Nov-2012 Andy Huang <ath@google.com> wire up snap headers pref

Have conversation view read the initial value upon view creation
and update the value in ConversationContainer via dataset
change, which is triggered by account change (which is triggered
by settings change!).

Bug: 7217360
Change-Id: I55ac947dea692af6ad32995d0970c69dbdf5c2ef
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
202738427ede23dd5863583aa3df17e4abfbf5e2 07-Nov-2012 Scott Kennedy <skennedy@google.com> Store the "Show pictures" state on rotation

Keep track of whether the user has selected "Show pictures" so that
we don't prompt them again if they rotate the device.

Bug: 7255132
Change-Id: I7109465e79a7a0d6c126dcf3cef614eae8cb81f8
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
6b3d0d9ab407c3d8b6bcb73bddbfd23f2513bb83 30-Oct-2012 Andy Huang <ath@google.com> update header sending status in-place (more so)

Previously, an in-place header update avoided a WebView
re-render, but did re-render all overlays. This is normally
imperceptible, but thumbnail views flicker as they are rendered.

Since only a couple of overlay views are truly affected by
sender updates, update those views in-place when they are
present. This is only supported on MessageHeaderViews for now.

Bug: 7434748
Change-Id: Ifdebea1410dadfceefae52d406891b5383e9ab15
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
6cb004b07e484259384a9c07dd0d00a07ca80eee 27-Oct-2012 Andy Huang <ath@google.com> invalidate all headers when re-rendering

Ifd2d3d introduced a regression when re-rendering that leaves
the existing headers around. This is bad when the new
conversation is shorter (e.g. on draft discard), or if the
messages are re-ordered (nearly simultaneous sending).

Clear header views when clearing the adapter as was done
previously.

Bug: 7422803
Bug: 7418910
Change-Id: Iba6a85d249917c8deeeaa978d2ebb8d59102c1ad
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
06c0362f59437f3ea2b5832272fb66158bb4b8c0 23-Oct-2012 Andy Huang <ath@google.com> optimize re-rendering a conversation for a single outgoing message

Rather than rendering the conversation from scratch, look for
the special case of a single new message from the user that is
the last message, and just append the message HTML at the end of
the existing conversation.

To avoid stacking the new header on top of the previously last
message, do not notify ConversationContainer of dataset change
in this process. (An adapter dataset change means the container
will toss out all overlay views and immediately render given
the current spacers and adapter items. Do not want.)

The overlays for the new message will be drawn later when JS
notifies of a geometry change.

Bug: 7378693
Change-Id: Ifd2d3da8c57f685bbeae18f3d42c60821a97368c
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
adbf3e8cadb66666f307352b72537fbac57b916f 13-Oct-2012 Andy Huang <ath@google.com> toggle normalization & zoom on/off

and wire it all up to a pref that re-renders upon change.

separately, make a few improvements to whitespace management
when zoomed in with normalized mode:
* place attachment overlays at the top of their regions
* place overlays above the first expanded message at the top of
the conversation, instead of the usual position just above the
message.
* impose a max zoom factor to limit excessive spacer whitespace

Bug: 7312540
Change-Id: Iae3afff0ee81e4ba9367568e884a041780b24ebf
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
7388dba58aecafacd91ded0f787cf01bfc7af232 26-Sep-2012 Andy Huang <ath@google.com> cleanup. fix minor logging errors.

Don't notify JS of a height change during initial render.
(it's not a height change if it's the first time.)
Don't even bother measuring the conversation header during
initial render, since the view that's being bound is temporary
and not attached yet.

Bug: 7154554
Change-Id: I8c8147123bb15173888a3ad95e1ca3703018a520
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
ab2d998506c83e82ddae25b6ba1419414e1e8122 25-Sep-2012 Mark Wei <markwei@google.com> Fixed conversation label header doesn't increase height when adding labels

Bug: 7154554
Change-Id: Iacdf4bb7466978c0da3e3985d14e42894dac2ff7
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
014ea4c15d147794789b9c5bf4e243fa08781ad9 25-Sep-2012 Andy Huang <ath@google.com> handle sender/body changes in-place

Sending a new message updates sender string (for custom froms
and such) and the body (for elided text), after the message is
sent and synced. Avoid conversation view flashing (re-render)
in those cases by applying the changes in-place.

Sender string changes will update all dependent adapter items,
and a dataset change on the adapter re-renders all overlay
views.

Body changes are handled by sending affected IDs to JS so it can
request individual message bodies. Quoted text collapsing is
then re-applied on each new body.

Bug: 7183109
Change-Id: I630187c276ffc63448e6b457c9cd02afd452c438
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
f4fce1227d8b49f45e6569f1590565f2df9e8d6e 15-Sep-2012 mindyp <mindyp@google.com> Stripped down view for email that uses no javascript.

TODO: push message header off the top of the screen like browser url bar
TODO: use spinner in the secureconversationviewfragment while waiting for the page to load;
should be able to push logic to the AbstractConversationViewFragment
fixees b/6383847 Implement secure/sanitized conversation view for unsanitized message content from IMAP and POP servers
Change-Id: I03299a2d193ad1dc8fb5cc509eaf5d9f3dae6b0f
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
8081df46ef5a7794374e41cd1836e778a2da9b31 11-Sep-2012 Paul Westbrook <pwestbro@google.com> Restore download progress dialog

Now the attachment download progress is using an DialogFragment
so the dialog correctly gets restored on orientation change

Bug: 7137689
Change-Id: I90a225f423bf75fd4dbeb464051374919a3cff62
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
28b7aee7fa1f7d096d33fc823a88a64f7a3fa79d 21-Aug-2012 Andy Huang <ath@google.com> update conversation view on reply-all setting change

Use existing adapter's dataset change signal-- dump overlays
and re-render.
Begin to assume that Settings always hangs off Account.

Bug: 6245217
Change-Id: I70f98f641eee6d193f9842a578a889197f650941
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
59e0b18db1bd06cfb74693d7dbb0cb48112a69b1 14-Aug-2012 Andy Huang <ath@google.com> snap headers

Low-speed obscuring of snap header not yet implemented.

Change-Id: I23bcf61a8de6d9d719d40a6b65009c7711ef0e19
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
839ada22ea84251dde3305003d2f8fc5bf14914e 21-Jul-2012 Andy Huang <ath@google.com> save/load conversation state, add granular mark unread

Centralize mark read/unread logic in AAC.
Restore some conversation view state upon rotation.
Clean up code for star/unstar from conversation view. Move most
of that logic to AAC.
Move transient conversation state from Message into
ConversationMessage subclass.
Add new AsyncTask for content provider single or batch requests.
We should move to using this instead of AsyncQueryHandler or a
raw thread.

Bug: 6293711
Change-Id: I907a687ef7ff287fece8c90725dbd204a02485e9
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
b8331b4565566ca733997398e8c07a26cd2bee98 17-Jul-2012 Andy Huang <ath@google.com> wire up Quick Contacts

Also generalized telling header items whether or not a bind is
only for the sake of height measurement.

Bug: 6373134
Change-Id: I759e4fd95dca874b29a7e3b392ee83f7e7e6f760
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
46dfba6160b55a582b344328067e3dafeb881dd9 19-Apr-2012 Andy Huang <ath@google.com> super-collapsed blocks

Expanding a block inserts HTML for all bodies in that block, as
was done in ICS. This could be improved to be more lazy.

The block's layout has a mostly useless wrapper for the 1px
bottom white padding, because ConversationContainer does not yet
support margins on child overlays.

The overlay container now listens to adapter changes, which
was necessary to update on super-collapsed expansion. This
should also fix crashes and strange layouts on draft deletion.

Also fixed monkey NPE on url click while I was in there.

Bug: 6325429
Bug: 6260673
Bug: 6258859

Change-Id: I77347b58bbec49b4b5b58a2b3de7e5e9f291ca9c
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
65fe28fa88daad08f3be4c084ca5b4eaa366d1a7 07-Apr-2012 Andy Huang <ath@google.com> optimize low-hanging fruit found using traceview

* View.getTag/setTag is a slow way of finding an overlay view;
switch to a SparseArray
* this also obsoletes mChildrenToRemove since we can immediately
remove overlays from the SparseArray
* bring back the Email Address cache to avoid repeated parsing
* avoid repeatedly calling findViewById for each header
* cache expensive timestamps and recipient summary strings

Change-Id: Ic76265848e4956a28a44c4a2e3e726ec9ef6bfaf
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
9875bb4fc00347fc76f432a6e9ec5e6987679ca9 05-Apr-2012 Andy Huang <ath@google.com> remeasure when overlay views change size

The initial measure() (for sending to WebView) is done too soon,
so after a height change, ensure that the container re-measures.
The container will only measure newly bound views, or views with
newly changed heights, so most scrolling continues to not
trigger measure().

It would be more correct to mark the overlay *view* itself
valid or invalid, not the item, but apps don't have access to
the measurement flags on View.

Also do lots of cleanup in the area of measure/layout of the
Container. Prevent children of the container from requesting
layout because they don't push on each other in the normal way.
(a followup onGeometryChange is needed to re-position properly)
But a layout triggered from elsewhere should re-measure and
re-position the container's overlays.

Bug: 6297423

Change-Id: Id9196322774e732417e926ac87ce2ec524bf425e
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
c7543579c6a97c0ae3341578332f56d4d226f34c 04-Apr-2012 Andy Huang <ath@google.com> support message header collapsing

* toggle header collapse/expand
* initially render read messages collapsed
* collapse removes attachments footer and stops loader
* expand creates/reuses attachments footer, but ONLY if visible
* can (mostly) expand/collapse details
* can expand/collapse quoted text
* add lots of logging (disabled during scrolling!) to catch
strange layouts

Change-Id: I73f533c91d24ef1c05919d0a3b396f276898107a
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
4c232e18b5d667931d8aaeb29f19394016c17d02 03-Apr-2012 Mindy Pereira <mindyp@google.com> Respect default replyall setting.

Change-Id: I3465b6bbbf9edcad15b682265eedf066acb39839
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
f0e95c3e49c8a12009dd138d3985f5e9fb8f2754 03-Apr-2012 Andy Huang <ath@google.com> bottom-aligned attachments

Refactor attachment view logic out of MessageHeaderView into
its own view class, paired with MessageFooterItem.

Change-Id: Ic6539f52d53be0e2d23144abec1baffb9368f8cd
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java
7bdc3750454efe59617b7df945eadd7e59bee954 26-Mar-2012 Andy Huang <ath@google.com> building blocks for bottom-aligned attachments

Attachment overlays now warrant their own adapter entries,
because they are no longer attached to each message header.

So since cursor items no longer map 1:1 to adapter items, add a
new specialized adapter to house different kinds of scrolling
overlay views. This support is also needed for super-collapsed
blocks.

The adapter is also an ideal place to store transient render
state like 'expanded' and 'show pics', as each ConversationItem
can manage its own state instead of having the fragment do it.
And view recycling requires that the adapter remember item
state as you scroll around anyway.

Next CL will actually separate attachment views and logic out
of MessageHeaderView.

Change-Id: Ibc589915f01ada0d9a41d8968a0ee63be6030449
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationViewAdapter.java