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/browse/ConversationWebView.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/browse/ConversationWebView.java
|
bb6f0504c1607c89d9a3dd3e6023f36d61837016 |
|
31-Oct-2013 |
Andrew Sapperstein <asapperstein@google.com> |
Prevent flickering. Fixes b/10994303. The problem was that we were calling positionOverlays from onScrollChanged in WebView which is called during draw. Since positionOverlays adds views, this is broken. Two manifestations of it were flickering message headers during flings and flickering of the drop shadow for the snap header. To fix the flickering (which was really not drawing for a frame), we have slightly changed the recycling behavior of ConversationContainer. Instead of adding and removing views, we just move them offscreen (where they're no longer drawn) until they're needed again. If we don't have a recycled view, we will still add the views (via a post) but we don't ever remove when a view is scrolled off anymore. Additionally, we stop overriding dispatchDraw to forcibly draw the topmost overlay. This resulted in flickering of the snap header gradient because it would be drawn sometimes twice and sometimes once. We no longer need to since we don't add or remove views during draw anymore. Change-Id: I937a4cc67f04ed005439c1fab2103287a986148d
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
25a8a76fab08f862d7ba78b66b841a3aec58cb8d |
|
26-Nov-2013 |
Andrew Sapperstein <asapperstein@google.com> |
Delete dead code. b/11708307. Change-Id: I82cca1daa5c3fae375e72f24c76b68e44517e0f5
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
c1fb9a9c2730178105977fca629e80951bfc3cdc |
|
11-Feb-2013 |
Andy Huang <ath@google.com> |
Single-message zoom using a floating WebView Protected by an experimental pref for now Restores scroll position Preserves 'show pics' state Speedy animation Fade-in animation begins right after onNewPicture (ICS compatible!) add UpOrBackController role for fragments to get a whack at back/up And because this approach avoids using the CSS 'zoom' attribute within single-message mode, double-tap works well and there are no line-height issues. Bug: 7400516 Change-Id: Idedfa6e35edc291c9169fbd9b1315b39b4253f60
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
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/src/com/android/mail/browse/ConversationWebView.java
|
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/src/com/android/mail/browse/ConversationWebView.java
|
30bcfe7b69f9d8e0cad2ee62dae9d3571cd0d88b |
|
19-Oct-2012 |
Andy Huang <ath@google.com> |
clean up supplemental software drawing on ICS * don't allocate big bitmaps for offscreen conversations on ICS * reduce the bitmap size to the view size (vs. screen size) * handle OOM gracefully * ensure the 'doAfter' action happens even for offscreen convos Bug: 7373250 Change-Id: I976dc826bed83d5872802e6d656eff2f72f9ed3d
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
916f819b1dfde084b8bd7941fd6f6d70d564e3e9 |
|
01-Oct-2012 |
Paul Westbrook <pwestbro@google.com> |
Fix crash on ICS ICS had a bug where calling recycle on a bitmap could cause a native crash see bug 6048952 Since this code is only used on ICS, just don't call recycle Bug: 7232717 Change-Id: Iafaf8708b34ca10e4cb5e424d7f3bb138dddb5eb
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
b84fba3b19aef87144a069407b1cdb5980eedf0b |
|
26-Sep-2012 |
mindyp <mindyp@google.com> |
Only create bitmaps in the case where we actually use them Part of b/6268986 Perf regression (~5 seconds) in loading messages on orientation change in new gmail Change-Id: Ib461c008a434da7b9f298e71acc660f9fc88076f
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
afc9b365dc9199ee9b2a1e598b8f40b3c78b6d9f |
|
25-Sep-2012 |
mindyp <mindyp@google.com> |
Add ics content ready signal. Uses a software layer to show content asap. Part of b/6268986 Perf regression (~5 seconds) in loading messages on orientation change in new gmail Change-Id: I8ae2e86685187108aa704c8d6d19202b2a2a4d7e
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
56d83850db72592a16f4e6ee9e0d59b60ec0824a |
|
19-Sep-2012 |
Mark Wei <markwei@google.com> |
Draw scrollbars above conversation view content. Bug: 6319192 Change-Id: Id4ba584f1e90c80d9085b6b3d962ee2783975427
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
2b24e995cfcdb6ab0579b2fbcccb399a53632395 |
|
11-Sep-2012 |
Mark Wei <markwei@google.com> |
Fix rounding errors that caused conversation subject displays higher than expected and slightly cut off for threads with many messages. Bug: 6406245 Change-Id: Iee5114cd479cfdac001c2a9d5c9f15a79482c427
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.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/browse/ConversationWebView.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/browse/ConversationWebView.java
|
632721e6b3a9ba8c476456f2e0fb1b564561e0b5 |
|
12-Apr-2012 |
Andy Huang <ath@google.com> |
conversation paging This CL takes the approach of using a permanent ViewPager that pages through conversation fragments. Its adapter is only set and populated when the conversation view is shown. In all other cases, it is an inert empty layer. One risk with this approach is that it breaks with the typical fragment transitions that all other content panes use. On the other hand: conversation fragments are full-on fragments and benefit from loader separation, and the FragmentManager takes care of save/restore of state. Change-Id: Ic17d1ae3f35a0cb1119967f2d34433ad27fa307c
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|
5ff63747a1b5c6e2197528972cbc3ba808b09d8d |
|
17-Mar-2012 |
Andy Huang <ath@google.com> |
show subject and labels in conversation view Show labels only for accounts that support multi-folder conversations. Move some classes into smaller 'browse' package. Special-case subject/labels overlay for now. Full adapterization is coming soon when super-collapsed blocks are in. Change-Id: I458009776eb2e3840dd9e441de9e4ead3cc94d0b
/packages/apps/UnifiedEmail/src/com/android/mail/browse/ConversationWebView.java
|