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
|