Commit Graph

1066 Commits

Author SHA1 Message Date
Romain Guy
d6cd572df8 Improve hardware layers rendering speed when setting a View's alpha.
Change-Id: Ib1275677f531c60d9919978c5538c663fdb823b5
2011-01-17 14:42:41 -08:00
Jeff Brown
5cdf075241 Merge "Support non-rectangular input regions." into honeycomb 2011-01-16 19:22:01 -08:00
Jeff Brown
fbf0977321 Support non-rectangular input regions.
This enables the system bar to carve out a region through which
events will be sent to the IME behind it.

Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
2011-01-16 18:58:49 -08:00
Romain Guy
90fc03bc49 Don't dispatchDetachedFromWindow() if the View was not attached.
Change-Id: I36cb697be76c8c03497284563dc339c5367559c6
2011-01-16 13:07:15 -08:00
Romain Guy
8dd5b1e531 Prevent NPE when a View is detached without having been attached.
Bug #3355252

Change-Id: I58e03983ccf6a27a24619ec0f49659d6d7cc0a64
2011-01-14 17:28:51 -08:00
Niclas Kellgren
fcbbb31f27 DO NOT MERGE Added check to make orientation calculations more robust
Added check avoid a division by zero resulting in NaN which in turn
makes checkFullyTilted to ignore high tilt angles from then on.
If (x, y, z) == (0, 0, 0) then there is no tilt or rotation and
this vector must be ignored. This check is extended to ignore all
small acceleration values where noise can be of big influence.

Low or zero readings can happen when space travelling free falling,
but more commonly when shaking or getting bad readings from the sensor.
The accelerometer is turned off when not used and polling it too soon
after it is turned on may result in (0, 0, 0).

Change-Id: I7b61b77c8a9d4e137bf6352b84f0c358d93c82ae
2011-01-14 16:01:20 -08:00
Patrick Dubroy
ec84c3a189 Allow old view hierarchy to be GC'ed more quickly during rotation. 2011-01-14 14:13:31 -08:00
Christopher Tate
64cb24e686 Merge "Send DRAG_STARTED notices to views that become visible during drag" into honeycomb 2011-01-14 12:36:53 -08:00
Dianne Hackborn
d922ae01ca Add Holo theme for IMEs.
Also clean up theme selection code to get rid of duplication.

Change-Id: Idf7b21db70ee83fce24756ead877169bd08b77a9
2011-01-14 12:28:23 -08:00
Christopher Tate
86cab1bd52 Send DRAG_STARTED notices to views that become visible during drag
We now recognize that a view is now a candidate for receiving the drop
but hasn't yet been notified about it, and send the DRAG_STARTED lifecycle
event properly.  This change also changes the DRAG_ENDED policy: now,
every view that had been sent a DRAG_STARTED receives the corresponding
DRAG_ENDED event, even though subsequent visibility changes may have
occured.

Change-Id: If4ae9ddbf414703e9f15eb2005471626bf19f316
2011-01-14 11:46:09 -08:00
Romain Guy
5b907be8f5 Merge "Move the main thread check to the appropriate place." into honeycomb 2011-01-13 18:36:13 -08:00
Romain Guy
501053a16d Move the main thread check to the appropriate place.
Change-Id: Ic9bcf209e9398ea05b293a8cc31ac7f234b9de16
2011-01-13 18:38:45 -08:00
Huahui Wu
bfbb089c7f Merge "b/3133123 Pass touch point ids to WebKit." into honeycomb 2011-01-13 17:02:33 -08:00
Huahui Wu
e838a42778 b/3133123 Pass touch point ids to WebKit.
This is the CL in framework side and it needs the WebKit part CL:
  https://android-git.corp.google.com/g/#change,89627

Change-Id: I11d4ffa29fa106d918332e6983090b06726ebd36
2011-01-13 16:47:17 -08:00
Dianne Hackborn
8eca7a1e11 Merge "Fix issue #3153930: orphan window left on screen" into honeycomb 2011-01-13 15:45:37 -08:00
Gilles Debunne
783e6c8b3b Merge "fix for cts DuplicateParentStateEnabled bug with TextViews." into honeycomb 2011-01-13 14:51:33 -08:00
Gilles Debunne
fb81703ab1 fix for cts DuplicateParentStateEnabled bug with TextViews.
Bug 3347206

Do not add an extra slot in the drawable state for multiline if it
is not needed.

Updated setDuplicateParentStateEnabled documentation.

Change-Id: I95f74284721e25b483e12e9b861e810a55c260b6
2011-01-13 14:41:25 -08:00
Dianne Hackborn
f99f9c5f92 Fix issue #3153930: orphan window left on screen
The problem is that if a window containing children is removed
before the children are, the children may be lost.  This change
(amongst the huge amount of new debugging code) now ensures at
this point that all children windows are removed when the parent
is.

Note that this results in a bunch of error messages now as the
client app tries to continue to do things with that child window.
This is correct, it shouldn't be doing that, and needs to be
fixed to stop it.  But at least it now can't cause the window
manager to leak surfaces.

Change-Id: I7b80dd89ff9de7cb5af1dc759cfa4b31ac29cddc
2011-01-13 14:24:16 -08:00
Svetoslav Ganov
9cd1eca854 Invisible of gone views fire accessibility events.
bug:3350110

1. Added a visibility check before sending an accessibility event.

Change-Id: I322ede3844502bc623ba2aff2b3586a9925ba682
2011-01-13 14:24:08 -08:00
Romain Guy
c15c7a79a6 Merge "Cleanup implementation of hardware layers." into honeycomb 2011-01-13 12:13:59 -08:00
Romain Guy
ada830f639 Cleanup implementation of hardware layers.
The new implementation relies on OpenGLRenderer's existing layer
code instead of duplicating it. The new code is much cleaner, with
simpler and better APIs and allows tracking of drawn regions inside
layers. Region tracking is not yet enabled but this will be done
in a future CL.

Change-Id: Ie826121a2227de8252c77b992a61218defea5143
2011-01-13 12:13:20 -08:00
Christopher Tate
44a94bb5a9 Merge "Turn off debugging logspam for release" into honeycomb 2011-01-12 20:23:49 -08:00
Christopher Tate
994ef9296a Turn off debugging logspam for release
Fixes bug 2679101

Change-Id: I94cf1b1d0b732b2030008118eff3534f0e0608f7
2011-01-12 20:06:07 -08:00
Chet Haase
9c0874408c Supress layout requests while a LayoutTransition is running.
LayoutTransition works by animating layout-related properties
(left, right, top, and bottom). This works great when that animation
is the only thing affecting the layout of the UI. But if there are other things
happening in the application that cause layout to run on that
container or in its parent hierarchy, this can cause the layout properties
on its children to get mis-set during the middle of the transition.
This results in artifacts like animating objects jumping to locations where
they would be were there no animation running.

The fix is to supress layout requests on that container (and its children)
until the transition is complete (then issue a layout request on the container
to make sure that the container has the correct layout data)

Change-Id: I15bf0423a11409f854076f86099233db7fe4edc0
2011-01-12 18:14:40 -08:00
Romain Guy
4f6aff3860 Only enable GL rendering on the main thread.
Change-Id: I41950f4c0a5063ee5d6950cf137eb60a1c7a72fe
2011-01-12 16:21:41 -08:00
Romain Guy
3aaff3aef4 Better debug info for layers.
Change-Id: I816c2446a33a1135553eaeea2f89c7418641cfe1
2011-01-12 14:18:47 -08:00
Romain Guy
853548287f Merge "Cleanup GL objects on the correct thread." into honeycomb 2011-01-12 12:50:50 -08:00
Romain Guy
57066eb64c Cleanup GL objects on the correct thread.
Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
2011-01-12 12:53:32 -08:00
Christopher Tate
02d2b3ba9b API CHANGE: startDrag() now takes "int flags" instead of "boolean localOnly"
There will be, in the future, a flag (View.DRAG_FLAG_GLOBAL) that means
for the drag to be cross-application.  For now that flag constant is @hide
and furthermore the server-side implementation strips it, enforcing
local-only drags.

Change-Id: I8db840480ab90e18a5b8ecf29d62b4e6eafd405e
2011-01-11 18:30:23 -08:00
Romain Guy
6c319ca127 Better backend for hardware layers.
With this new backend, a hardware layer is only recreated when
its associated view is udpated. This offers fast composition
in GL and fast update of the layer in GL as well.

Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
2011-01-11 17:53:19 -08:00
Romain Guy
a07105b7d2 Better logging of out of memory errors in OpenGLRenderer.
Change-Id: I6b72a084340d8d4b6e0b0a100ed4314d09d441ef
2011-01-10 21:14:18 -08:00
Romain Guy
72f0a276ff Better documentation for FLAG_HARDWARE_ACCELERATED
Bug #3154883

Change-Id: I2062781ba3b447b8ec4e0836b9ddeaa97c7aa60e
2011-01-09 16:45:28 -08:00
Romain Guy
fcd3e8e6fa Merge "Tighten up AsyncTask's semantics and behavior. Bug #3109366 Bug #3109382" into honeycomb 2011-01-09 14:01:42 -08:00
Romain Guy
e95003e4a1 Tighten up AsyncTask's semantics and behavior.
Bug #3109366
Bug #3109382

The new behavior of AsyncTask is the following:
- Unchanged if you don't call cancel()
- If you call cancel():
  - Either onCancelled() *OR* onPostExecute() is invoked
  - onCancelled() is invoked only after doInBackground() finishes

Change-Id: If53faec5890d2fa7098aea76973186a0b1026b39
2011-01-09 14:04:36 -08:00
Dianne Hackborn
247fe74c93 Implement issue # 3255887 could CursorLoader offer...
...to throttle contentobserver-based requeries

Why yes, I guess it could.

This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.

And removes some of the old APIs that had been deprecated but
need to be gone for final release.

And fixes a few little problems with applying the wrong theme
in system code.

Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
2011-01-08 18:25:30 -08:00
Christopher Tate
36d4c3f02b Rename drag "thumbnail" to the drag "shadow"
No functional changes; just a rename of the relevant class/method/parameters.

Change-Id: I55d9ef7c2c17892b0bc99f5da622c281e006b53e
2011-01-07 16:30:44 -08:00
Romain Guy
7e68efb0a0 Non-opaque views with fading edges cannot be marked dirty opaque.
Bug #3325084

Change-Id: I80b7653daa2ae3cc6d81da1063911aa4cb69e8f4
2011-01-07 14:50:27 -08:00
Romain Guy
2c602e6a66 Merge "Non-opaque views with fading edges cannot be marked dirty opaque. Bug #3325084" into honeycomb 2011-01-07 14:48:35 -08:00
Dianne Hackborn
ad7fa7fa77 WM part of #3293405: Screen needs to be redrawn when HDMI is plugged in
Change-Id: If5ceb28073c6abf14165871bd99cb481b31a863b
2011-01-07 14:07:20 -08:00
Romain Guy
171c592f0b New layers API for Views.
This API can be used to back a view and its children with either a
software layer (bitmap) or hardware layer (FBO). Layers have
various usages, including color filtering and performance
improvements during animations.

Change-Id: Ifc3bea847918042730fc5a8c2d4206dd6c9420a3
2011-01-06 18:34:30 -08:00
Joe Onorato
b9a12d7b87 Merge changes Ib809d4c5,I05d69da4 into honeycomb
* changes:
  This makes the events at the edge of the screen find the button.
  some touch event debugging
2011-01-06 16:45:42 -08:00
Joe Onorato
03ab0c7231 some touch event debugging
Change-Id: I05d69da4db8c03f9c5131cd271bd9ee1b4996ca9
2011-01-06 16:26:06 -08:00
Chet Haase
5977baa1fa Reuse of native display list objects
Change-Id: Ia4553e23930ad20e56c11faa7809be788a1ad4bb
2011-01-06 12:50:30 -08:00
Michael Jurka
dab559a24f exposing isDirty() method on View
- needed in Launcher2 for implementation of caching views to bitmaps

Change-Id: I1dc1e8e4328106f88e1aa8e55ccb17b08fc9756b
2011-01-05 17:14:24 -08:00
Chet Haase
9e90a9953b Reuse display lists at the java level.
Objects are invalidated and reset instead of being nulled out
and recreated. This avoids creating small amounts of garbage for
the display list and canvas objects.

Change-Id: I464fac7ea8944c19ad6d03f13a95d9017e3f4262
2011-01-05 15:13:16 -08:00
Jeff Brown
64da12ab1f Add dispatch key shortcut window callback.
Enables Activities and Dialogs to implement key shortcut behavior.
Useful for global key shortcuts that are not bound to the focused
view or to a menu.

Change-Id: If377d20b227ee1c5cac84c47c9630b2d77f67e2c
2011-01-05 14:51:24 -08:00
Brad Fitzpatrick
70588bf864 resolved conflicts for merge of 3a2c6bf0 to master
Change-Id: I1963d8fc391bb84de1054f2b20ce4e082d764cbe
2011-01-05 14:04:06 -08:00
Brad Fitzpatrick
3a2c6bf0fc am 69ea4e15: Documentation fixes found over vacation hacking.
* commit '69ea4e15e52c456537575d21443ac1efdb03a902':
  Documentation fixes found over vacation hacking.
2011-01-05 13:52:53 -08:00
Brad Fitzpatrick
69ea4e15e5 Documentation fixes found over vacation hacking.
Change-Id: I28900026465d66d950cf4f05f0c202b46c3c2d43
2011-01-05 13:07:34 -08:00
Gilles Debunne
3dbf55c3a2 TextView's color transparency is taken into account.
Unless it has a background, the TextView will be able to support
alpha (text, cursor and highlighted text colors).

Background colored spans should be detected and should also multiply
their alpha by mCurrentAlpha.

Bug 3144861

Change-Id: If640895b8c0b25dc00b909a0a118b68fac0cfd76
2011-01-05 12:03:33 -08:00