History log of /packages/apps/UnifiedEmail/assets/script.js
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
afaab1752ab5b507cdaad7b3619ffc1c9728368f 08-Aug-2014 Andrew Sapperstein <asapperstein@google.com> Remove above attachment promo. b/16138036.

Change-Id: I611f0f7e6eeea0247956e0f1a9f2ec3ec51c9eef
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
e2a30e19a9fff0e4368c4ec36280a3fcd4ca03e2 03-Jul-2014 Andrew Sapperstein <asapperstein@google.com> conversation footer b/15595931

Change-Id: I9eda1060f4e49a0448a321f603aec0a254daf86a
/packages/apps/UnifiedEmail/assets/script.js
59ccec3db4710f2aea6a4a9a30160ad19331367d 19-Jun-2014 Andrew Sapperstein <asapperstein@google.com> Remove borders/cards from conversation view.

b/15595931

Change-Id: I51b5ce1d9387d6354d421b0e399a2003c6e84c54
/packages/apps/UnifiedEmail/assets/script.js
73bac140429627ef9111438d2358958d5d58638b 13-May-2014 Andrew Sapperstein <asapperstein@google.com> Don't convert to strings only to convert to int.

Fixes b/14812974. Instead of converting (now) floats
to strings for passing via javascript, just pass them directly
as ints. Then we don't have to do any parsing.

Change-Id: Iaab27e46b3c6875fee203de389119b835fd27261
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
575e82b628dca4a67dd25b883c504ce9109a345a 08-Apr-2014 Andrew Sapperstein <asapperstein@google.com> Properly restore scroll position on K+ b/13333564.

There's a bug in chromium webview that causes the scroll
position to be improperly reported the first time
onScrollChanged is called. This breaks rotation
on K+ so we delay it until the content is ready on K.

Change-Id: I57729ad5279a999ab523919c6059897813b1370e
/packages/apps/UnifiedEmail/assets/script.js
7c421434986c14be09bedebf54caf7b65b327111 20-Mar-2014 Andrew Sapperstein <asapperstein@google.com> Show quoted text should be auto aligned.

Fixes b/13433568. dir="auto" uses the content
of its text to set the direction. This makes the
text show up on either the left or right aligned
depending upon locale.

Change-Id: Ifff7b6b7b6ffddbd386c14545bc094bbb9bee84d
/packages/apps/UnifiedEmail/assets/script.js
986776bbd046c9569a4abb67501819bee61e7194 20-Feb-2014 Andy Huang <ath@google.com> fix missing message text processing upon send (and as drafts mutate)

Fix message body processing when transitioning through the send flow.
Previously, the message text was largely unprocessed, but it wasn't
obvious like it is now with 980px viewports.

Also move 'table-cell' wrapping from inside the message template to Java
code so the in-place body replacement that happens during send can also
use it.

Bug: 13079016
Change-Id: I9a6a801c43b76c1714dfd2c8b41649fa6b9e90c8
/packages/apps/UnifiedEmail/assets/script.js
2160d53e6ae0bfb797569d616e735e46c21522ff 11-Feb-2014 Andy Huang <ath@google.com> fix text sizing inaccuracy from 980px switch

The side margin was in CSS px, but goalWidth was in dp. This caused the
goalWidth to be smaller than it should, which caused scrollWidth to be
smaller, which caused each message's zoom factor to be larger, which
caused text to be larger than it used to be.

Now. goalWidth and documentWidth both have body margins accounted for in
the proper units.

Bug: 12579959
Change-Id: Ice36b48f381cf3171b092ba27152aa56b64f4100
/packages/apps/UnifiedEmail/assets/script.js
4dc732387454eef3ee6d89f9fa393630eb6213f9 05-Feb-2014 Andy Huang <ath@google.com> Render conversations to 980px viewport

Expand all conversations to 980px width to allow double-tap to continue
to work on newer Chromium builds. See
https://codereview.chromium.org/18850005.

cool side effects
* much more usable double-tap zoom factor on KK+ (now "it just works")
* better text rendering fidelity in complex layouts (text no longer
escapes bounds as it tended to do before)
* fixes text sizing edge cases where text was unexpectedly large and/or
line heights messed with text rendering

Initially enable these changes on both JB- and KK+ WebViews. Disable
NARROW_COLUMNS layout on JB- to prevent very short columns.
pros on JB-: better rendering fidelity like on KK+, consistency with KK+
cons on JB-: some power users will miss pinch-then-double-tap-to-reflow
functionality

Possible future improvement: use device-width viewport when full convo
fits to inherit Chromium's new fast-click-handling behavior.

Bug: 12579959
Bug: 10695551
Change-Id: I13f85a6df909a966fcd0862e5bd292ec6ae77212
/packages/apps/UnifiedEmail/assets/script.js
8ec43e877a9c1925514f066655984e21fbd255e8 18-Dec-2013 Andrew Sapperstein <asapperstein@google.com> View inline images in photo viewer. b/5555553.

Uses the existing javascript image src rewriting
step to build a mapping of urls to message ids.

This mapping is passed into the InlineAttachmentViewIntentBuilder
so that it can use this information along with the
conversation id and account name to build attachment
and attachment list uris so that a photo viewer open
intent can be created.

Additionally, SecureConversationViewController will need a different
mechanism for this UI to work in Email/the eml viewer.

Change-Id: If14800348fe2191d0633bf768b8cb4e9746f6578
/packages/apps/UnifiedEmail/assets/script.js
25a8a76fab08f862d7ba78b66b841a3aec58cb8d 26-Nov-2013 Andrew Sapperstein <asapperstein@google.com> Delete dead code. b/11708307.

Change-Id: I82cca1daa5c3fae375e72f24c76b68e44517e0f5
/packages/apps/UnifiedEmail/assets/script.js
e4e1c49e550171ae44e94910d6b030e866436607 21-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Use documentElement.scrollHeight unconditionally.

Sometimes the other heights are too big.

Change-Id: Ib60321a0afece97f4024765f8682f8fca7c1e484
/packages/apps/UnifiedEmail/assets/script.js
ca080ad4929827ecd5e6167bc55f4dd92a7b8db1 20-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Fix b/10407366.

We were occasionally using the wrong
height of the html document to determine where to place
the bottom footer. We're now using the proper place for the
bottom of the webview. However, there are still some
minor issues (a little bit of content being cut off
due to some other improper use of offsetHeight).
The fix for that issue will be tracked in b/10410912.

Change-Id: I2f6dbd46f52db3809e14ddb3e3257ebbc0fbe0b4
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
1f082231c4a51eb3be37df6d2a0024634dfe4a9b 29-Jul-2013 Andrew Sapperstein <asapperstein@google.com> Properly Update conv when new message added.

Previously we weren't adding the right items.
Need to not add a top border but add a border
at the end. Additionally needed to change the
javascript to also add the spacer for the bottom
border.

Change-Id: Ief82dca25c0c11b258cfe9a3d783d6c4f2e62974
/packages/apps/UnifiedEmail/assets/script.js
543e709c976ce954a072020ba6f75d12f41b1fba 22-Apr-2013 Andy Huang <ath@google.com> Fix table-layout emails, blacklist transforms by sender domain

Fix Twitter emails by overriding any 'table-layout' style when
overriding table width to 'auto'.

Add infrastructure to blacklist transforms by sender domain.
Not actually used yet, because the Twitter email fix above is more
generally useful and doesn't need to be special-cased.

Bug: 8403536
Bug: 8685326
Change-Id: I9e72e8e6336c138674839724df57eef1f86a2d9b
/packages/apps/UnifiedEmail/assets/script.js
14303a2b18cc39e9752ec327f60d3c666ab04aaa 22-Apr-2013 Andy Huang <ath@google.com> am 6a507c35: Merge "disable debug printing of message transforms" into jb-mr2-dev

* commit '6a507c356cd64a3b289c2b51d0294e243c520b36':
disable debug printing of message transforms
0ecc58252046c81b575e23db909b1687beb871b4 22-Apr-2013 Andy Huang <ath@google.com> undo the <td> transform if it didn't help at all

The <td> width transform is somewhat risky, so if we reach the end of
all transforms and the <td> change didn't help at all, undo it.

Bug: 8676694
Change-Id: I1767855483b1c2a0c78defc53a1fc5ea8fdccb93
/packages/apps/UnifiedEmail/assets/script.js
04e53a2e6e71615ddcee39eeb0014a4cd4baf956 22-Apr-2013 Andy Huang <ath@google.com> disable debug printing of message transforms

Bug: 8576229
Change-Id: I61d515360242c63f1cb51abc5c15eb882a916166
/packages/apps/UnifiedEmail/assets/script.js
05c70c88e6b421bedce134799a0ea928dbf44cd5 14-Mar-2013 Andy Huang <ath@google.com> report transform results to the conversation fragment

Also print it out in the message body in tiny text when the transforms
succeeded.

Change-Id: I942f707b5f7251f7aa9043c48fc0aa794c753065
/packages/apps/UnifiedEmail/assets/script.js
33578eaf140b8eeb5dad6e0c015b2e204054a86b 14-Mar-2013 Andy Huang <ath@google.com> refine some transformation rules

Improve the div width->max-width rule:
* apply it to <textarea>s to fix MOMA internal news emails
* override any min-width value
* switch from auto-width to 100% for empty textareas
* implement undo of this rule

Bug: 7400516
Change-Id: Ie72f7f80e9da8eb4c1a169e9b2bf56cf8a01c098
/packages/apps/UnifiedEmail/assets/script.js
4821bbb4aeaf4393e45575e0e43c7086521039ad 14-Mar-2013 Andy Huang <ath@google.com> don't re-apply the class-adding transforms

Reapplying them was causing them to sometimes be backed out upon image
load, leading to text growing and shrinking several times.

Bug: 7400516
Change-Id: I5543361fd0aa60e233c27f28d243fbf037cbe1da
/packages/apps/UnifiedEmail/assets/script.js
8a396bea575d6a71a3a1ecb4e2df88c9a7158a67 13-Mar-2013 Andy Huang <ath@google.com> remove the unpopular intra-word rule

It kicked in too often to warrant fixing 1% of unbreakable long email
signatures. Maybe we could bring it back if it could be properly scoped,
but I haven't figured out a good scoping rule yet.

Bug: 7400516
Change-Id: Id15ca8ec45783182d2c0fedd211a9b449ad12bb0
/packages/apps/UnifiedEmail/assets/script.js
0180f27c0998623b702274048b49cd4bec536cf1 09-Mar-2013 Andy Huang <ath@google.com> add <img> transform for readability

Shrink any <img> elements with an effective width wider than the
document. Instead of setting the width outright to the document
width, use "100%" + max-width so it can be smaller if the layout
allows.

Genericize the actionLog to be a list of functions, contexts, and
parameters. I would normally use bind() but A) it may not be available
on older WebKit builds, and B) it introduces an unnecessary closure.

Bug: 7400516
Change-Id: I5ab7f81674f9e238e6dc5ea04669d282c0586066
/packages/apps/UnifiedEmail/assets/script.js
3a398b245930ce60ceb51fc605ab0f20c8df1f62 08-Mar-2013 Andy Huang <ath@google.com> reverse ineffective HTML transforms, add aggressive <td> transform

Reverse <table> and <td> transform work when the resulting width is
unchanged, or significantly unchanged (below a threshold).

Switch <table> and <td> transforms to use CSS !important overriding
instead of modifying the elements inline. This is easier to reverse.

Add another <td> transform to aggressively trigger word wrapping intra-
word. This helps break long signatures, but it can render complex
promotional email unreadable. I'll have to hide this behind a classifier
that prevents this from running on complex messages.

Bug: 7400516
Change-Id: Ia17bae2b28eeec9d1cd40d0292380ae5d660586d
/packages/apps/UnifiedEmail/assets/script.js
5ea5a8330532a75c83cbb30993a14ee9b821fa2a 08-Mar-2013 Andy Huang <ath@google.com> start munging wide <div> and <table> elements

Modify HTML content that is too wide if the experimental flag
is on.

Find <table> elements with a width wider than the body and
remove the widths in the hope that the table would otherwise
fit. Content authors often use this trick to prevent their
content from growing too wide in a very wide desktop browser
window.

Failing that, find all <div> elements where a width is
specified that is wider than the body, and turn the width into
a max-width.

Bug: 7400516
Change-Id: Ie4d3c2c4c50a191c30ee590dce71bc9bf6de8268
/packages/apps/UnifiedEmail/assets/script.js
4c54e3627861351c6c5f74dd5132da7d0321377a 23-Jan-2013 Andy Huang <ath@google.com> make scroll position compensation more reliable

Not very elegant, but it seems to help on Nexus 10.

Bug: 7400516
Change-Id: Iea7a67da63bb01bb58aad9c7b8035c90b33230e0
/packages/apps/UnifiedEmail/assets/script.js
ce8565b3605c2ce47c75e259f387cd4955f017da 17-Jan-2013 Andy Huang <ath@google.com> counteract jumping in CSS-based message zooming

Adjust scroll position after a zoom to counteract jumping.
There's still a momentary flash, so it's not perfect yet. That
might be suppressable with ingenuity (i.e. gross hacks).

Suppress WebView input handling for an input sequence on
POINTER_DOWN to prevent WebView from scrolling during a scale.
I've chosen to implement message translation-during-scale
manually, so the WebView must not move on its own during a
scale, or else the translation will be doubly applied.

Bug: 7400516
Change-Id: I54c347c37d28864441c8a3bca3395bdc86f6616f
/packages/apps/UnifiedEmail/assets/script.js
02f9d18a54072db8d86c524f9c09e508092ddd7c 29-Nov-2012 Andy Huang <ath@google.com> per-message zoom using JavaScript + CSS 3D transforms

When Auto-fit is off, disable built-in WebView zooming, which
is only capable of zooming an entire document (the entire
conversation).

Use ScaleGestureDetector to trigger a CSS 3D transform to zoom
in/out just a single message div.

During the gesture, the elements above and below the message
being scaled are untouched. This is ugly.
TODO: they should either move away (tricky) or at least fade
out.

When the gesture is complete, to avoid leaving overlapping
elements, we force-scale the height and reset the transform
origin to the top left.
TODO: auto-scroll to the correct place to counteract this
perceived jump.

Double-tap is not yet implemented. We'll have to do it
ourselves.

Bug: 7478834
Change-Id: I114e4977304c7060d499d116cc75bc0488967448
/packages/apps/UnifiedEmail/assets/script.js
eb9a4bdc53269ee05fe11870b9ebf03f18196585 12-Nov-2012 Scott Kennedy <skennedy@google.com> Fix always show pictures for multi-message thread

The always allow pictures button only affects a single message in the
thread, so we need to propogate it to all other messages from the
same sender.

Bug: 7346217
Change-Id: I722ef284afd7b8853ddab622f54b86ebaaa5d463
/packages/apps/UnifiedEmail/assets/script.js
69aecc996f92521e3b2e1a11f7d3797227868cf2 05-Nov-2012 Andy Huang <ath@google.com> speculative fix for native WebView crashes

Towards the end of MR1, we saw more native crashes on
conversation load. It's possible it was purely due to increased
testing, but just in case it was due to loading animation
changes, go back to Gmail1-style content-ready code.

The document has a small div that initially has an
"initial-load" class set on JB+. The class is no longer
dynamically added in JS. The animation-start event listener
remains as-is, configured on DOM parse (and not later upon DOM
load).

Give the animation a different name from the CSS class that
triggers it, on the off-chance that this is crossing some wires.

Bug: 7370125
Change-Id: I4f0f807fbb9e32e024b6c74a6d9684e7fb337695
/packages/apps/UnifiedEmail/assets/script.js
91d782abc8015bd651fb5d0252b4d1ef369ec57b 25-Oct-2012 Andy Huang <ath@google.com> fix headers drawing mismatched with bodies upon send on tablet

Two-pane layout runs a stray layout pass upon send (related to
b/7409762). Prevent it from changing existing header positions
until the new body geometry is determined.

Fixing that exposed a separate issue, that conversations shorter
than one screen tall would not draw the new header, ever. Add
manual position refresh calls to newer JS calls that had
previously depended on ContentSizeChangeListener.

Bug: 7404104
Change-Id: I805fc9ab12878a95573316763986d84f89cfd2c0
/packages/apps/UnifiedEmail/assets/script.js
f500db85dd13394dd6bdcfa38824b2ca6ada77e8 24-Oct-2012 Andy Huang <ath@google.com> process super-collapsed content

Content within a super-collapsed block that was lazy-loaded
wasn't being processed for images and quoted text like initially
expanded content. Most images were caught by the regexp anyway,
but we need this step for completeness, and so quoted text
isn't out of control.

Patch up other cases of content replacement to hide images as
well.

Bug: 7392191
Change-Id: Ib784ce52c9c477635a125f261a2b9717b20887d2
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
4cfe22a8b0fe9fb98df9c82303bacc5c1a79f19b 16-Oct-2012 Andy Huang <ath@google.com> disable zoom on empty-looking conversations

Disable zoom if all initially expanded messages are empty
looking-- that is, if their whitespace-trimmed text content is
zero-length.

Begin to dynamically assemble the meta viewport tag, which will
be useful for other advanced zoom-related tweaks.

Bug: 7340665
Change-Id: I86112617c18013e74b38af06d8a058aad315e9ec
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
df0d91c5fa064e93b647fd62fe2446791664003f 09-Oct-2012 Andy Huang <ath@google.com> When updating a message body, don't collapse quoted text

When a reply is sent and synced, the quoted text portion
transitions from an expanded snippet to a collapsed one,
which shrinks the conversation height and causes the scroll
position to jump.

It's not enough to just avoid processing reply bodies, because
a reply to a wide message must also be normalized if the quoted
text portion is visible.

So when replacing a message body, switch the initial state of
quoted text blocks from collapsed to expanded.

Bug: 7246054
Change-Id: I5375beeb4209779e7cb7feaa570590a9cbc520da
/packages/apps/UnifiedEmail/assets/script.js
bffc312614505b923f0054fde20d015bd21112cf 06-Oct-2012 Andy Huang <ath@google.com> do not wait for DOM onload before starting content ready signal

Gmail1 started the content-ready animation right away; the
initial state of the HTML had the animation already. Gmail2 was
waiting for the DOM load event before even starting the
animation, wasting a lot of time.

Starting the animation right away had a race condition where the
listener wasn't installed until later, so avoid any such race
by starting the animation immediately after registering the
listener.

Bug: 7258363
Change-Id: I00fc06998a06e1e4dce0d490ead9fbc6fef63ae0
/packages/apps/UnifiedEmail/assets/script.js
63b3c6725d60386f564ab53e3ba6495f0c158d9b 06-Oct-2012 Andy Huang <ath@google.com> coalesce image onload handling

Refine the image onload handling introduced in Idc1e1f21.
It turns out that resizing is pretty slow, and image onload
happens pretty often for threads or messages with lots of images
(pretty common). Rather than immediately handle onload events,
process affected Elements in a deferred handler to coalesce
consecutive onload events. This will also debounce situations
where a single message contains many images, as only one measure
and resize should happen.

Add timing logs to better diagnose conversation load issues.

Bug: 7278331
Change-Id: I252cee9c69955d993aea20379fcdc0beb973e372
/packages/apps/UnifiedEmail/assets/script.js
e964eeec3a088b3f4c29b68d41f99e43a321ac52 03-Oct-2012 Andy Huang <ath@google.com> save/restore conversation view scroll position

Save scroll position as a fraction of total height to handle
scaled and width-change cases. Restore scroll position fraction
in JavaScript as soon as the document geometry is known.
(This was how it was done in Gmail1, and I can't find a better
non-JS way to detect this signal.)

Does not restore scale upon rotate/re-render.

Bug: 7246054
Bug: 7022509
Change-Id: Ibf811b31ba6d7d79d34c236f6ffe2229d626528f
/packages/apps/UnifiedEmail/assets/script.js
ffc725fe4b4fa1024feb22b1d1f76c24febadcdb 01-Oct-2012 Andy Huang <ath@google.com> Better handling of wide content after initial render

Make several improvements that, together, prevent the
conversation WebView from zooming out when revealing
wide message content.

Disable WebView's overview mode. It wasn't doing anything
special due to our viewport meta tag. Leaving it enabled
caused newly revealed very-wide content (beyond the reach of
CSS zoom: see b/6053074) to zoom out the entire conversation.
Taking it out keeps the scale level at 100% unless the user
zooms.

Shrink newly revealed content. Message expansion,
"Show quoted text", and image onload can all reveal new wide
content. Revealing repeatedly will not repeatedly shrink.
Quoted text will only shrink the quoted portion, not the entire
message.

Finally, override default handling of <pre> blocks to match
desktop Gmail. This obviates the need to zoom out at all for
messages like build notifications and other programatically
generated mail.

Bug: 7215221
Change-Id: Idc1e1f211aa3463a68146bef2846583cd7d075d3
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
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/assets/script.js
32d911f491afad153983f7519267ddb764927355 25-Sep-2012 mindyp <mindyp@google.com> Fixup js page rendered signal

Shows content faster
Has the background white-screened out until we get the signal
part of fix for b/6268986 Perf regression (~5 seconds) in loading messages on orientation change in new gmail
Change-Id: I653c40c88f0cb5cd0e31655ad89762c6f07dff66
/packages/apps/UnifiedEmail/assets/script.js
3bcf180f8104bc27319086a9a6ece5a3c2917c37 09-Sep-2012 mindyp <mindyp@google.com> Add loading animations to conversation view

fixes b/6272925 jank - conversation loading isn't animated
fixes b/7131797 Blank scren shown for live conversation, when in airplane mode
Note: need to do a next cl that puts off showing the spinner
until at least XXX ms have passed
Also, we cant use the software layer for rendering like we did
in gmail1
it looks like there is a skia crash that triggers when we try
to use software / switch to hardware rendering for the browser
need to investigate that more

Change-Id: I96a30b700c3e88d52e603fe2f11b44d113e013d2
/packages/apps/UnifiedEmail/assets/script.js
256b35c0a8287f48c28e0d1ba3fae65790063295 23-Aug-2012 Andy Huang <ath@google.com> add margins to conversation view

Also fix some left/right balance problems on wide messages.

Bug: 6336075
Bug: 6375007
Change-Id: I8fd4a3099d0670f68295bf8f28d2ba55e7177bdc
/packages/apps/UnifiedEmail/assets/script.js
cebcc64fbd69618ff89f9fac0bfe9b9e7d7ce104 08-Aug-2012 Paul Westbrook <pwestbro@google.com> inline attachment handling

Allow the provider to specify the real base url that should
be used for relative urls.

Also allow the provider to specify a cookie that should be used.

Bug: 6951268

Change-Id: I6f5ecf69b262b6c877eecbd1944aa03c46c85382
/packages/apps/UnifiedEmail/assets/script.js
41dca185f7683b36bdafd9520c0648c897a95834 07-Aug-2012 Paul Westbrook <pwestbro@google.com> Support for content provider inline attachments

Change-Id: I1c356487bb38f7feae6437de21c52e35fcaa53fa
/packages/apps/UnifiedEmail/assets/script.js
23014705ca9872cd5004a1aa76e83ae260165eca 09-Jul-2012 Andy Huang <ath@google.com> better handling of wide message content

Don't hide horizontal overflow, so content in extra-wide
messages is scrollable. (Downside is that an initial swipe on
such conversations will scroll the content rather than going to
ViewPager.)

Use default WebView text layout algorithm (NARROW_COLUMNS). It
doesn't kick in by default, possibly because of the method we
use to shrink wide messages, but at least double-tap after a
manual zoom-in will trigger line re-wrapping.

NARROW_COLUMNS reflow can change the HTML height, so we need to
remeasure and reposition headers when that happens. Added code
to listen for WebView mContentHeight changes. This is done
circuitously (via invalidate()) because I don't know of a more
natural way to to know when this happens. Although invalidate()
happens all the time, this should be pretty cheap because no
work is done unless the DOM height changes.

Clean up screen-pixel -> HTML-pixel conversion code. This will
be handy when trying to make the page initially wide to further
improve line wrapping behavior and reduce the frequency of
the extra-wide case. Initial-wide-mode presents a host of
side effects to be addressed in a future CL.

Bug: 6389819
Bug: 6318848

Change-Id: I3ad2bd1ca6c1f6c0859af1a10056578ea4faf073
/packages/apps/UnifiedEmail/assets/script.js
82119afe5d596c69109ad9ce80e025dbec9ca4d1 27-Jun-2012 Andy Huang <ath@google.com> style and space out quoted text and anchor

Bug: 6323882
Bug: 6666231
Change-Id: Iadc1688ef1dedb7435bbdfc63057d5e030b16800
/packages/apps/UnifiedEmail/assets/script.js
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/assets/script.js
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/assets/script.js
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/assets/script.js
3233bff8ae08a56543c9f5abf1bc6ab38f0574ce 21-Mar-2012 Andy Huang <ath@google.com> hook up 'show pictures' button

Add 'show pictures' button for messages where the provider
claims it embeds external resources. In Gmail, this is true when
a message contains external image hotlinks. Inline image
attachments are not yet handled.

'always show' tells the provider to whitelist the message sender
to allow images in the future (works with Gmail provider).

Change-Id: I1b174d8fad9da481ec305caff06d109f9d215093
/packages/apps/UnifiedEmail/assets/script.js
b5078b287b1cec38817e342ff054ea901d199329 06-Mar-2012 Andy Huang <ath@google.com> Implement header view recycling in conversation view

Improve load time and memory footprint by adapting the view
recycling logic in ListView for our custom view container.
As header views are scrolled off, they are detached and put into
a recycler list, and newly scrolled-in views will reuse scrap
views when available.

Also augment the offset data that WebView sends so headers can
be placed properly during detail expand/collapse.

Change-Id: I6c13af98a2bd8e714c411d70a8061a601e16b929
/packages/apps/UnifiedEmail/assets/script.js
2ffaeab36408ccfbd6a375d5d31dc2a15d31a004 28-Feb-2012 Andy Huang <ath@google.com> align headers to top of message bodies

Trying this out per UX suggestion. It seems to work well when
zooming into all messages except the first. It's a little
strange that there's now a bunch of new whitespace above the
first header.

Change-Id: I6d5b4541ce7322ded9ebbfd21df53d9b2ef6153b
/packages/apps/UnifiedEmail/assets/script.js
f70fc4052b72a850bbb9be585d0f5a4877ee9448 18-Feb-2012 Andy Huang <ath@google.com> conversation view zooming

Zoom is enabled on the entire conversation using the built-in
WebView mechanism.

Wide messages are individually best-effort shrunken to
fit-width.

Start a custom ViewGroup to hold both message headers and the
single WebView. A common view parent makes input handling easy:
the WebView drives scroll position, and position is relayed
to the custom ViewGroup to cheaply shift around headers without
a full relayout. For now, all headers are inflated at once, but
soon they can be recycled depending on the virtual scroll
viewport.

Change-Id: I92555f9b79e10630457b17ca970ab9a2e9028e80
/packages/apps/UnifiedEmail/assets/script.js