d56ecc5f959baa497a7620eaff295f1417db4fda |
|
03-Sep-2014 |
Ray Chen <raychen@google.com> |
Disable POST forms in mail content. b/17183273 Change-Id: Ieb9113fd37d5c75bc0829f79b286a36c53c66b81
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
e2a30e19a9fff0e4368c4ec36280a3fcd4ca03e2 |
|
03-Jul-2014 |
Andrew Sapperstein <asapperstein@google.com> |
conversation footer b/15595931 Change-Id: I9eda1060f4e49a0448a321f603aec0a254daf86a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
cd7e48431ef9800e46a4b3cb0a33768bd47a2452 |
|
01-Apr-2014 |
Andy Huang <ath@google.com> |
revert table-cell wrapping It causes simple, non-bidi messages to be left-aligned. Reproducible in desktop browsers, too, so this will require some investigation to do in a bidi-friendly way. Bug: 13678928 Change-Id: I54d6bf0488cf4316f307f3dbf34d580e54e19067
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
3c6fd44f9ae0cf60248dc64ee74d46afed633c45 |
|
25-Mar-2014 |
Andy Huang <ath@google.com> |
streamline inline attachment view param passing Put more logic in CVF (or its secure/eml equiv) and pass fewer objects of lower specificity to the intent builder. More concretely, the viewer intent builder now accepts a Message, which can be quite useful. Bug: 7659807 Change-Id: I6be3bf87c3e01367a20c062d1e59f4ca6e1dd85e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
e46a5307264962338b70b22f4b97704714694634 |
|
21-Mar-2014 |
Andrew Sapperstein <asapperstein@google.com> |
RTL - show quoted text triangle. Fixes b/13565234. Previously we included the right-pointing triangle in the string translation. But that doesn't work for RTL where the string should be left-pointing. So now we prepend the proper triangle in code. Change-Id: I53e09fcb623e65972710ac5c3d8baaef8229d168
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
5c1692a5faeab220881a17a3427a8986ef874403 |
|
16-Sep-2013 |
Andrew Sapperstein <asapperstein@google.com> |
Initial printing support. Needs mocks and redlines and such. b/10712542 TODO: Logos for Email and Gmail. Attachment support. Use offscreen webview. Secure conversation view support. Change-Id: Iec37a9a46e506ccf12fbbb775c1b47b08a0d9724
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
4ca3eb4fea185a57b4ecd770f50fe9ae03af8ee0 |
|
12-Sep-2013 |
Andrew Sapperstein <asapperstein@google.com> |
Hack fix for b/10709572. Change-Id: I56582ca84cbe76539078eb5fdc39edd0480178b7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
68141df2d855af6520a19ff9127f69463d49c3de |
|
20-Aug-2013 |
Andrew Sapperstein <asapperstein@google.com> |
New caret for tablet. Not to be confused with a carrot, carat, or karat. Change-Id: I3748d295a8599ffcb528bdfc1d376d3fc3b64396
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.java
|
9e2d407fdafeb874e640eb84017feaf784309075 |
|
22-Mar-2013 |
Scott Kennedy <skennedy@google.com> |
Clean up a bunch of warnings Change-Id: I5c75564eeb2df9ec76d682dbe5f4465ff2a1a5d4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
d47877e3860ea4249eddb3f6efefbc6cd39f2320 |
|
10-Aug-2012 |
Andy Huang <ath@google.com> |
message "serverId" field is a string, not a long Also remove some unused usage of serverId. Change-Id: Ic421a77bfff6218a07d35f80219a2fae729ceb13
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
b334c9035e9b7a38766bb66c29da2208525d1e11 |
|
25-Jun-2012 |
Paul Westbrook <pwestbro@google.com> |
Changes to support different Log tags Change-Id: I7121fbf7132444fc0f5c0c130373e3f2d1a3cf7a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.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/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|
b9c6e0a277c8a5ad33d3c2d5e22485c58198c76d |
|
14-Mar-2012 |
Andy Huang <ath@google.com> |
Handle plaintext message bodies Add support for plaintext message bodies. HTML-escape their content to keep plaintext as plaintext when rendered in WebView. Change-Id: Ia468df24eace6baec45658015f12fd02be1b3253
/packages/apps/UnifiedEmail/src/com/android/mail/ui/HtmlConversationTemplates.java
|
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/src/com/android/mail/ui/HtmlConversationTemplates.java
|