Commit Graph

1228 Commits

Author SHA1 Message Date
Chet Haase
19312cfef1 am 246bf85a: Merge "Fix NPE with display lists when view not attached" into honeycomb
* commit '246bf85aaacbadf4e892270d714efcdb280a3de8':
  Fix NPE with display lists when view not attached
2011-01-27 15:00:17 -08:00
Chet Haase
f4ac547f86 Fix NPE with display lists when view not attached
There was logic in ViewGroup that assumed that an accelerated
view must always be able to get a display list for any child
that it was drawing. One situation occurred, however, that
caused a problem with this - a contacts activity was started
and not yet attached, but was being asked to render into an
accelerated canvas. We assumed that the child would have a display
list and simply called getDisplayList(). But since that call
returned null, we later deref'd the null object.

The fix is to check whether a child can have a display list
instead of assuming that it can just because the container view
is accelerated.

Change-Id: I7de62fd597ad50720c9585d621bec02e77c171df
2011-01-27 10:30:25 -08:00
Chet Haase
cd88c39b98 am e38ba4ac: Fix gmail crossfade artifacts.
* commit 'e38ba4acbe6f1536997ffb98d662fc3eff07add8':
  Fix gmail crossfade artifacts.
2011-01-27 01:30:09 -08:00
Chet Haase
e38ba4acbe Fix gmail crossfade artifacts.
Display lists could not handle custom views that did their
own draw dispatching, as is the case with gmail. This fix makes that
possible and display lists handle this case robustly. Now the
crossfade works because the display lists contain the right content.

Change-Id: Iea7d6e99239b24f833701d546fe083aa00e2b31b
2011-01-27 01:25:18 -08:00
Chet Haase
fcf51a6796 am a45c056e: Merge "Fix display List bugs" into honeycomb
* commit 'a45c056e62be0ca97edbdd6f6660822cf453c886':
  Fix display List bugs
2011-01-26 23:51:58 -08:00
Chet Haase
a45c056e62 Merge "Fix display List bugs" into honeycomb 2011-01-26 23:49:23 -08:00
Romain Guy
38f34ed20a am 7c53a0d6: Merge "Don\'t draw the same triangles several times. Bug #3388197" into honeycomb
* commit '7c53a0d6078620df3abc4997acfe267ef903f5c6':
  Don't draw the same triangles several times. Bug #3388197
2011-01-26 22:47:01 -08:00
Chet Haase
678e0adbdb Fix display List bugs
Various property setters in View need to invalidate the parent's
cache to get redrawn properly when accelerated with display lists.

Also, fix logic around display lists and old-style Animations in
ViewGroup.

Change-Id: I70e1c2fa49e62228ee4a1301a006ce50bda4c305
2011-01-26 22:44:52 -08:00
Romain Guy
4f09f5417b Don't draw the same triangles several times.
Bug #3388197

Change-Id: Ief1dfd9447f144e9992340a173d2893e5e049129
2011-01-26 22:45:16 -08:00
Dianne Hackborn
f35d43f90b am 2dc9c784: Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb
* commit '2dc9c784b2fab67a8233318f559e65f444bf0c97':
  Fix issue #3382992: IME close animation stutters from URL bar
2011-01-26 19:08:20 -08:00
Dianne Hackborn
2dc9c784b2 Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb 2011-01-26 19:04:15 -08:00
Dianne Hackborn
63042d6a03 Fix issue #3382992: IME close animation stutters from URL bar
Gross hack is grosser.

Change-Id: I0a34bf1d7c16c547402318f24776a5f7e8b7552b
2011-01-26 18:56:29 -08:00
Romain Guy
0d8f88b272 am ede54ce2: Merge "Fix crash in movie studio." into honeycomb
* commit 'ede54ce2fe3252d4ab56b90de464b35a6920970d':
  Fix crash in movie studio.
2011-01-26 18:47:59 -08:00
Romain Guy
0c75622cf8 Fix crash in movie studio.
Change-Id: I06acb0b39cc3839cf7abb58b32dec9b9bec424d6
2011-01-26 18:48:38 -08:00
Romain Guy
0518e7b5bd am 9c8307fb: Merge "Make sure that we update SurfaceView\'s window with display lists. Bug #3395487" into honeycomb
* commit '9c8307fb19558ffe2e897bad009fb038bb9e845b':
  Make sure that we update SurfaceView's window with display lists. Bug #3395487
2011-01-26 18:32:54 -08:00
Romain Guy
f2499fa434 Make sure that we update SurfaceView's window with display lists.
Bug #3395487

Change-Id: Idaef3953a596ee3b4049a2d8aef6dda676b1545b
2011-01-26 18:31:23 -08:00
Romain Guy
62bea4287d am 9e7c2c6d: Merge "Optimize invalidate() calls." into honeycomb
* commit '9e7c2c6ded1144122915cfb8bd663e789c7eb93b':
  Optimize invalidate() calls.
2011-01-26 15:43:09 -08:00
Romain Guy
9e7c2c6ded Merge "Optimize invalidate() calls." into honeycomb 2011-01-26 15:40:16 -08:00
Romain Guy
0fd89bf722 Optimize invalidate() calls.
Change-Id: I09d99290ca74f96046702bc2604f125a1276ce05
2011-01-26 15:41:30 -08:00
Romain Guy
2b1847ea60 Remove unused API
Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
2011-01-26 13:43:01 -08:00
Romain Guy
08cdf6fd9a am 940df6dd: Merge "Remove unused API" into honeycomb
* commit '940df6dd83624e5f46b147837d848853a1dab9b2':
  Remove unused API
2011-01-26 13:42:53 -08:00
Romain Guy
940df6dd83 Merge "Remove unused API" into honeycomb 2011-01-26 13:41:10 -08:00
Joe Onorato
a4a5ec5e74 am 1aadb210: Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb
* commit '1aadb2108d7614d9d1ff61b41c6c31cb8d211ab9':
  Expose the window flags for lights out mode.
  Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
  Make FLAG_FULLSCREEN not go into lights out mode anymore.
2011-01-26 11:48:48 -08:00
Joe Onorato
1aadb2108d Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb
* changes:
  Expose the window flags for lights out mode.
  Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
  Make FLAG_FULLSCREEN not go into lights out mode anymore.
2011-01-26 11:46:58 -08:00
Romain Guy
7c55da5db5 am f5b27e35: Merge "Fix NPE in YouTube. Bug #3385339" into honeycomb
* commit 'f5b27e35c1e0e46ffd882606d0783875e1a1ff7b':
  Fix NPE in YouTube. Bug #3385339
2011-01-26 10:56:08 -08:00
Romain Guy
d30b36d3cd Fix NPE in YouTube.
Bug #3385339

Change-Id: Id7b307994e343cdb808161a7fae590536f04252e
2011-01-26 10:54:43 -08:00
Romain Guy
f5b27e35c1 Merge "Fix NPE in YouTube. Bug #3385339" into honeycomb 2011-01-26 10:54:23 -08:00
Joe Onorato
14782f705e Expose the window flags for lights out mode.
I hadn't wanted to do this, but it makes porting the FLAG_FULLSCREEN
stuff over to this simpler because you don't have to go find a view
to proxy through.

This change also clears the flag everywhere when the window manager
notifies the views that the change has come back.

Change-Id: I48392c7550925bcca50c5bb9e1f263e99de6c7bc
2011-01-26 10:47:39 -08:00
Chet Haase
b69e985b9a am ace9233b: Merge "Fix invalidation problem with display lists" into honeycomb
* commit 'ace9233b11e9be0d894fcf36cdee4c6b0a20d3bd':
  Fix invalidation problem with display lists
2011-01-26 06:32:59 -08:00
Chet Haase
ace9233b11 Merge "Fix invalidation problem with display lists" into honeycomb 2011-01-26 06:30:48 -08:00
Chet Haase
77785f9d25 Fix invalidation problem with display lists
It was previously the case that a view marked ~DRAWN must be
invalidated correctly already, so we would not mark any flags.
Display lists added new logic such that an undrawn node must still
be checked to see if its cache has been marked invalid. If not,
we must mark it invalid to make sure that a future rendering call
will cause the view to refresh its display list, thus refreshing its
child node tree's display lists, since that's where the invalidate
call must have originated.

Change-Id: I0f73c85459174c0e3f16d703f7eb914a706c808a
2011-01-25 23:22:09 -08:00
Romain Guy
5742a27710 am b6110a1e: Merge "Make sure the opaque bitmap is opaque. GL doesn\'t like being lied to. Bug #3382992" into honeycomb
* commit 'b6110a1ef41337a5f3042c7e08b63274cee4faf6':
  Make sure the opaque bitmap is opaque. GL doesn't like being lied to. Bug #3382992
2011-01-25 22:56:10 -08:00
Romain Guy
f90f8171e6 Make sure the opaque bitmap is opaque. GL doesn't like being lied to.
Bug #3382992

The result still looks wrong but it works as designed, unfortunately.

Change-Id: I6108e199fa336cb01faaabf6c75faa3b71c2339b
2011-01-25 22:53:24 -08:00
Jeff Brown
391ef42c92 am 3168a137: Merge "Fix surface frame size reporting." into honeycomb
* commit '3168a13723ff0f3f87937457fe33c3518caa4bb9':
  Fix surface frame size reporting.
2011-01-25 14:48:14 -08:00
Jeff Brown
3168a13723 Merge "Fix surface frame size reporting." into honeycomb 2011-01-25 14:21:00 -08:00
Romain Guy
535602fe55 am 3ac1b0f0: Merge "Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339" into honeycomb
* commit '3ac1b0f0d4d78568faf7616b2a8b808bdf5c4882':
  Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339
2011-01-25 13:58:08 -08:00
Romain Guy
3ac1b0f0d4 Merge "Prevent crash in View when gathering attributes without an AttachInfo. Bug #3385339" into honeycomb 2011-01-25 13:55:14 -08:00
Gilles Debunne
a5b43a0492 am c927ec50: Merge "Overscoll bounce amplitude is smaller." into honeycomb
* commit 'c927ec50497bf5f477663deb7b366b37185d46b0':
  Overscoll bounce amplitude is smaller.
2011-01-25 13:47:24 -08:00
Gilles Debunne
c927ec5049 Merge "Overscoll bounce amplitude is smaller." into honeycomb 2011-01-25 13:44:32 -08:00
Jeff Brown
30bc34f191 Fix surface frame size reporting.
The SurfaceHolder provided by the wallpaper service was not reporting
the correct size in getSurfaceFrame().  This broke an optimization in
the ImageWallpaper.  The old code happened to work because calling
lockCanvas on the SurfaceHolder with a null dirty rectangle happened
to have the side-effect of updating the SurfaceHolder's surface frame
size field because it passed mSurfaceFrame as the dirty rect, causing
mSurfaceFrame to be set to the size of the region to be drawn.

However, relying on this side-effect is wrong.  Among other things,
the dirty region could actually be smaller than the surface frame.

This patch fixes WallpaperService, SurfaceView and ViewRoot to ensure
that the surface frame size is always set explicitly and is not modified
by calls to lockCanvas.

Change-Id: I10948f5ec269409ceaf0f7d32b3f6731e9499ebc
2011-01-25 13:10:30 -08:00
Romain Guy
6e81e57b52 Prevent crash in View when gathering attributes without an AttachInfo.
Bug #3385339

Change-Id: I06b6f03721b52ab0b9d13c2fb3e133ae25d99970
2011-01-25 12:59:00 -08:00
Gilles Debunne
8ce7aab79e Overscoll bounce amplitude is smaller.
Per Dan's request for poor behavior on low speed Overscrolls.

Change-Id: I184133df5e6cc68d8d9bf39edb62d42e13d27a90
2011-01-25 11:23:30 -08:00
Romain Guy
b372d7cbea am 89fca351: Merge "Make nested hardware layers work again" into honeycomb
* commit '89fca351702e3ec54c2748e2e2676ec1b2fbe9dc':
  Make nested hardware layers work again
2011-01-24 22:53:21 -08:00
Romain Guy
5e7f766e99 Make nested hardware layers work again
Change-Id: I97bde694ec1b712a1e010c8137919e6d64af3148
2011-01-24 22:35:56 -08:00
Romain Guy
7b4950ae35 am 169fafe6: Merge "Fix rendering issues with animated layers. Bug #3385247" into honeycomb
* commit '169fafe6797dc4c7ae17eba29b72034be6c9c8ec':
  Fix rendering issues with animated layers. Bug #3385247
2011-01-24 20:47:19 -08:00
Romain Guy
8168396d1a Fix rendering issues with animated layers.
Bug #3385247

- The layer's alpha was interpreted in the wrong range 0..255 instead of 0..1
- 9-patches would not correctly dirty the layer region, the generated mesh
  was incorrect

Change-Id: I4916249bedcdb0794929f3796bd17854971efc88
2011-01-24 20:40:18 -08:00
Romain Guy
74d9a373f9 am 92dcf629: Merge "Fix rendering issues in Movie Studio." into honeycomb
* commit '92dcf629e1ecb60fc497b8b1b3d2aab35c334672':
  Fix rendering issues in Movie Studio.
2011-01-24 20:23:49 -08:00
Romain Guy
d88f54c5c4 Fix rendering issues in Movie Studio.
Change-Id: I5b293767b9bdedeef0df4d27a179d0da48d7fe32
2011-01-24 20:22:49 -08:00
Romain Guy
4e1db6dadd am 2ff6d705: Merge "Enable partial invalidates when rendering with OpenGL." into honeycomb
* commit '2ff6d70521fe1f537f8ebd631f0b9b3aa8becf94':
  Enable partial invalidates when rendering with OpenGL.
2011-01-24 18:39:57 -08:00
Romain Guy
2ff6d70521 Merge "Enable partial invalidates when rendering with OpenGL." into honeycomb 2011-01-24 18:38:00 -08:00