Commit Graph

1200 Commits

Author SHA1 Message Date
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
Romain Guy
7d7b5490a0 Enable partial invalidates when rendering with OpenGL.
Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
2011-01-24 18:39:56 -08:00
Chet Haase
235a20a3d1 am 21d405f5: Merge "Fix for display list problem with listview items." into honeycomb
* commit '21d405f5fa0ccf75e805e3f9404a53579416e2da':
  Fix for display list problem with listview items.
2011-01-24 18:02:05 -08:00
Chet Haase
3b2b0fc257 Fix for display list problem with listview items.
We were not correctly invalidating items that were being attached
to listviews.

Change-Id: I5d29a82c4276f09e401c6869ab1e86a3c8281366
2011-01-24 17:53:52 -08:00
Chet Haase
2292fb4afb am 50d4de21: Merge "Fix bug with display lists and layout." into honeycomb
* commit '50d4de21ee6a2ee62c7ad89dfdfd82d1045e7a58':
  Fix bug with display lists and layout.
2011-01-24 17:07:13 -08:00
Chet Haase
5af048c791 Fix bug with display lists and layout.
requestLayout() and forceLayout() should force the INVALIDATED
flag to be set, which causes a view's display list to be regenerated
on the next drawing operation. This is necessary when containers change
due to layout requests.

Change-Id: I5b18b5936b59f0605f93c8f45baf83a76dab4e5e
2011-01-24 17:00:32 -08:00
Jeff Brown
eebc944fd1 am aaa55d3f: Merge "New orientation listener." into honeycomb
* commit 'aaa55d3f45744814907d0809befb49281ced462e':
  New orientation listener.
2011-01-24 15:33:46 -08:00
Jeff Brown
aaa55d3f45 Merge "New orientation listener." into honeycomb 2011-01-24 15:31:22 -08:00
Gilles Debunne
c46491fc2f am 7c8c6d68: Typo in InputMethodManager\'s documentation
* commit '7c8c6d689280ecfbd151a2e0cb40341768470676':
  Typo in InputMethodManager's documentation
2011-01-24 15:01:02 -08:00
Gilles Debunne
287035f574 am 88b5953a: Merge "NULL inputType text fields should never show the IME." into honeycomb
* commit '88b5953ab2f63ed6f820bb13845cf8fecb2d57e3':
  NULL inputType text fields should never show the IME.
2011-01-24 14:48:28 -08:00
Gilles Debunne
7c8c6d6892 Typo in InputMethodManager's documentation
Change-Id: I711e6d24462e336546b789fac0b9c6f529ebe260
2011-01-24 14:48:14 -08:00
Gilles Debunne
88b5953ab2 Merge "NULL inputType text fields should never show the IME." into honeycomb 2011-01-24 14:46:57 -08:00
Jeff Brown
4519f07e9c New orientation listener.
The objective in this listener is to be more careful about the
signal processing to prevent spurious orientation changes
and to make all of the tweakable factors physically meaningful.

The calibration is defined in terms of time constants and
does not assume a particular discrete sampling rate.  This is
useful because it allows us to change the accelerometer sampling
interval if desired without having to change the calibration.
Moreover, the accelerometer sampling interval can vary +/- 20ms
from one sample to the next even in normal circumstances.

Proposed orientation changes are weighted by confidence factors
that vary exponentially in relation to how close the device
is to the ideal orientation change posture (screen is vertical,
angle is exactly at the midpoint of the orientation quadrant,
and no external acceleration beside gravity).  When not in an ideal
posture, the device takes proportionally longer to settle into a
new orientation state.

Added a little tool to plot the log output of the
WindowOrientationListener.  Check the README for more information
about how to use it.

Change-Id: I787f02d03582ff26367df65eda8d9ce85c5cb343
2011-01-24 13:46:57 -08:00
Huahui Wu
6e4a69bbf7 am 94b8b114: Merge "A few small cleanning-ups." into honeycomb
* commit '94b8b114ab9abf5ccad6b85deb08aac2a359915d':
  A few small cleanning-ups.
2011-01-24 13:27:25 -08:00
Gilles Debunne
8cbb4c6e30 NULL inputType text fields should never show the IME.
Bug 3381317

Changes made in https://android-git.corp.google.com/g/#change,91880
displayed the IME onFocus. However, the test was not consistent to what
is done in touch event. textIsEditable is now checked too.

Change-Id: If11382c1c90a557839b87d62494253470c42b621
2011-01-24 12:33:56 -08:00
Huahui Wu
f93246923f A few small cleanning-ups.
1. Remove mDeferMultiTouch in WebView, it was for testing only but
we don't need it now since we always pass MultiTouch to WebKit.

2. Remove the use of mDeferMultiTouch in DRT tests.

3. Correct the index of getX(Y) for the second touch point in the
debug string of MotionEvent.

Change-Id: Ib63cfc5935af1a169ed26b2b138f74908492bc18
2011-01-24 12:07:37 -08:00
Joe Onorato
ab8967ae9d am da34e13b: Merge "Remove unwanted parameter (it was a typo)." into honeycomb
* commit 'da34e13bb4ef97832c43489937a26d314437a1d7':
  Remove unwanted parameter (it was a typo).
2011-01-24 11:16:43 -08:00
Chet Haase
2acb67ec9f am 67005b05: Merge "Use optimized display lists for all hwaccelerated rendering" into honeycomb
* commit '67005b05cc76a38a5b3bf6e83957dd03619e9126':
  Use optimized display lists for all hwaccelerated rendering
2011-01-24 11:15:51 -08:00
Joe Onorato
da34e13bb4 Merge "Remove unwanted parameter (it was a typo)." into honeycomb 2011-01-24 10:43:55 -08:00
Joe Onorato
e595cad6ee Remove unwanted parameter (it was a typo).
Bug: 3241144
Change-Id: I569f6c8dffb17041a422be6084b6eab89624a57b
2011-01-24 09:25:35 -08:00
Chet Haase
daf98e941e Use optimized display lists for all hwaccelerated rendering
Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.

In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.

This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.

This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.

Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
2011-01-24 08:43:20 -08:00
Joe Onorato
faf083ef0b am 4c541b13: Merge "visibility ("lights out") API." into honeycomb
* commit '4c541b1303b0ee2b9b0d19bee85d3780c5c4c110':
  visibility ("lights out") API.
2011-01-23 23:36:57 -08:00
Joe Onorato
4c541b1303 Merge "visibility ("lights out") API." into honeycomb 2011-01-23 19:26:13 -08:00
Joe Onorato
664644d9e0 visibility ("lights out") API.
1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself.  (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI
implementations.)

2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.

Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
2011-01-23 19:22:52 -08:00
Romain Guy
ff42d952eb am 502d41d8: Merge "Add support for arcs." into honeycomb
* commit '502d41d85958fb729a17e0651e80134e1c41c621':
  Add support for arcs.
2011-01-23 16:14:49 -08:00
Romain Guy
8b2f5267f1 Add support for arcs.
Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
2011-01-23 16:15:02 -08:00
Romain Guy
22fdb6f3e9 am d182046e: Merge "Add support for ovals and stroked rectangles." into honeycomb
* commit 'd182046ee67c1196e52b74dc9f3f89dcb816785d':
  Add support for ovals and stroked rectangles.
2011-01-23 14:18:57 -08:00
Romain Guy
c1cd9ba335 Add support for ovals and stroked rectangles.
Change-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f
2011-01-23 14:18:41 -08:00
Dianne Hackborn
11a5d42454 am b149f5c8: Merge "Fix issue #3302006: Cannot see the dialog lunched from a transparent activity." into honeycomb
* commit 'b149f5c8d29cda2f2e46559a68467be89714f737':
  Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.
2011-01-23 12:03:16 -08:00