Commit Graph

1455 Commits

Author SHA1 Message Date
Romain Guy
e294d41593 Prevents NPE when a View was detached
Bug #4068284

Change-Id: Ied1c9b8d32a3e9957c6b165642ba40bbdaf35d53
2011-03-08 17:35:10 -08:00
Romain Guy
2243e555b0 Correctly handle opaque fading views
Bug #3475554

Change-Id: Ia4915ada67046486103dfc6f08e4dac8564f85dd
2011-03-08 11:46:28 -08:00
Romain Guy
bc8a8e8c92 Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1 2011-03-07 22:40:27 -08:00
Dianne Hackborn
37e792d53d Merge "Fix issue #3515088: Don't be so aggressive trying to reclaim memory" into honeycomb-mr1 2011-03-07 18:20:23 -08:00
Chet Haase
4bd6ccd251 Merge "Restore save/restore calls removed recently" into honeycomb-mr1 2011-03-07 18:12:34 -08:00
Romain Guy
cabfcc1364 Add support for partial invalidates in WebView
Bug #3461349

This change also fixes two bugs that prevented partial invalidates
from working with other views. Both bugs were in our EGL implementation:
they were preventing the caller from comparing the current context/surface
with another context/surface. This was causing HardwareRenderer to always
redraw the entire screen.

Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
2011-03-07 18:09:03 -08:00
Adam Powell
ad542efb8a Merge "Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector" into honeycomb-mr1 2011-03-07 18:08:11 -08:00
Chet Haase
88172fe49c Restore save/restore calls removed recently
Calls thought to be duplicates were removed, which caused rendering problems
for Browser as well as crashes in the widget list and music.

Change-Id: I6364aaa362619ea3dd368990304d61d84bbe2a90
2011-03-07 17:36:33 -08:00
Adam Powell
0818020d7c Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector
Change-Id: Id38ebb368168b7157369964e39948036405427b1
2011-03-07 16:48:29 -08:00
Adam Powell
a46c1df226 Merge "Fix bug 4021346 - crash while navigating" into honeycomb-mr1 2011-03-07 16:25:20 -08:00
Adam Powell
3ba8f5d675 Fix bug 4021346 - crash while navigating
Change-Id: Iff60c5f4214c56597f2a1b393982d023866e490e
2011-03-07 15:36:33 -08:00
Dianne Hackborn
db773c5572 Fix issue #3515088: Don't be so aggressive trying to reclaim memory
Change-Id: I8184306fa8c27a41b8bcfcad8d96985be8f0c9aa
2011-03-07 11:57:33 -08:00
Jeff Brown
f0210c3621 Merge "Joystick tweaks. (DO NOT MERGE)" into honeycomb-mr1 2011-03-07 11:47:58 -08:00
Jeff Brown
8529745b27 Joystick tweaks. (DO NOT MERGE)
Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied.  (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior.  They work fine without them but the axis mappings
are not ideal.

Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
2011-03-04 19:12:41 -08:00
Romain Guy
d6cf477e5d Remove many unnecessary save/restore calls.
This should help complex applications by reducing the amount of
unnecessary work performed by the renderer.

Change-Id: I9bdebb1a35cdbcc3d926b7485f19d9e88a019040
2011-03-04 17:10:54 -08:00
Dianne Hackborn
63e1cea248 Merge "Fix issue #3485923: Gmail crash" 2011-03-02 22:44:55 -08:00
Dianne Hackborn
6482517101 Fix issue #3485923: Gmail crash
Allow application to try to recover if a surface OOM error
happens on the client side.

Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
2011-03-02 22:38:58 -08:00
Jeff Brown
a454767b09 Get key repeat timeout and delay from ViewConfiguration.
Replaces previously hardcoded values.  This ensures that key repeat
takes the accessibility long press timeout setting into account.

Unfortunately the system must be rebooted for the change to take
effect.  We will fix that later.

Change-Id: I3ab70bb037331620b7e532170c1727287b5c6f91
2011-03-02 21:38:11 -08:00
Jeff Brown
55acdf7dcd Merge "Wake screen from external HID peripherals." 2011-03-02 19:59:07 -08:00
Jeff Brown
56194ebec6 Wake screen from external HID peripherals.
Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only.  The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
2011-03-02 19:57:07 -08:00
Svetoslav Ganov
2da0c5826d Merge "Add system wide management of core settings" 2011-03-02 19:17:06 -08:00
Chet Haase
9402a667e9 Merge "Cancel LayoutTransition animations selectively" 2011-03-02 18:39:11 -08:00
Chet Haase
e8e45d32fd Cancel LayoutTransition animations selectively
A recent change to LayoutTransition caused new layout transitions to
cancel any previously-running animations. This was to handle situations
where a transition adding an item needed transitions removing items to
finish their job first (and vice versa). But canceling *all* running
animations from transitions caused some artifacts, like making the status
bar icons blink or fade in, depending on which one was started last.

The new approach is to cancel just the ones we care about: adding animations
cancel removing animations, and vice versa. Either one cancels 'changing'
animations, which prevents objects from being animated to the old end
locations, since the new transition will animate them to the correct new
end locations.

Change-Id: I68ac351b05365cace6639b6618422395c35c83fd
2011-03-02 18:37:31 -08:00
Svetoslav Ganov
54d068ec6a Add system wide management of core settings
bug:3505060

Since we want to have some settings that are used very frequently
by many applications (long-press timeout is one example) these should
be managed efficiently to reduce lookups from different processes
because in the case of a cache miss a disk I/O is performed. Now
the system manages such core settings and propagates them to the
application processes.

Change-Id: Ie793211baf8770f2181ac8ba9d7c2609dfaa32a7
2011-03-02 18:22:49 -08:00
Romain Guy
acc3944dd1 Merge "Add an API to force Views to render their layer." 2011-03-02 18:18:06 -08:00
Romain Guy
f1ae10640f Add an API to force Views to render their layer.
Change-Id: Id5776f3b0880fdf75835f16560a1d03a3175d139
2011-03-02 18:16:04 -08:00
Dianne Hackborn
cbf9cb35bb Merge "Fix issue #3400119: API to specify a black background behind a window transition" 2011-03-02 17:19:39 -08:00
Dianne Hackborn
de75cb4738 Fix issue #3400119: API to specify a black background behind a window transition
There is now an API, which is used for task switching.

Also improved how we handle rotation animation when we can't take a
screen shot, to cleanly revert to the old freeze behavior.  This removes
the need to special case the emulator.

Change-Id: I7227432a2309370437ec6ac78db02c6f1e7eedd5
2011-03-02 17:15:58 -08:00
Jeff Brown
05dc66ada6 Fade out the mouse pointer after inactivity or other events.
Fades out the mouse pointer:
- after 15 seconds of inactivity normally
- after 3 seconds of inactivity in lights out mode
- after a non-modifier key down
- after a touch down

Extended the native Looper to support enqueuing time delayed
messages.  This is used by the PointerController to control
pointer fade timing.

Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
2011-03-02 15:37:57 -08:00
Romain Guy
ffe2c7a071 Merge "Don't account for scrollX/Y when drawing a display list in a layer." 2011-03-01 15:54:57 -08:00
Romain Guy
a7dabcd3df Don't account for scrollX/Y when drawing a display list in a layer.
Change-Id: I73bdcdab3e547d00ba2853aed550e65d5f8c6fcd
2011-03-01 15:48:57 -08:00
Dianne Hackborn
606ecf3e9f Merge "Fix issue #3495749: Crash on choosing to open the downloaded images" 2011-03-01 15:26:44 -08:00
Romain Guy
d643bb56fd Correctly mark layers dirty when drawing WebView.
Change-Id: I7ae0c3cfa0916d8fbeaf01e8da127c621a06a0f4
2011-03-01 14:55:21 -08:00
Romain Guy
e6c524022d Merge "Correctly mark layers dirty when drawing WebView." 2011-03-01 14:53:48 -08:00
Dianne Hackborn
ce418e661a Fix issue #3495749: Crash on choosing to open the downloaded images
This is due to the window doing a relayout after its activity is
stopped, at which point it may need to interact with the adapter
to load data.

The fix here is to tell ViewRoot about an activity being stopped
and, if in this state, hold off on doing any new measurements and
layouts of the hierarchy until it is no longer stopped.

In this case the relayout was happening due to the cursor
being deactivated, with causes the adapter to invalidate
its data.  Because this is now in a dialog window, this
allows the window to actually be resized smaller (unlike when
in a full screen activity), and boom.

Change-Id: I26442b4679819b4a4e6bc56289afd3445526750b
2011-03-01 14:45:28 -08:00
Chet Haase
d666cf320d Cleanup of docs for ViewPropertyAnimator class
Fixed the copyright date, spec'd auto-canceling behavior of various methods,
fixed various typos.

Change-Id: I0db74787275890557a3ad8d617b69daeef2413ee
2011-03-01 07:38:16 -08:00
Adam Powell
9b1aa5e80c Merge "Fix some bugs in the new ScaleGestureDetector logic." 2011-02-28 13:39:38 -08:00
Adam Powell
0fe4a135b7 Fix some bugs in the new ScaleGestureDetector logic.
Lifting an active pointer now properly ends/begins a new gesture.

Fix out of bounds errors.

Change-Id: I29cb802785b886f65e7fc16fa7d2870f9219a3c6
2011-02-28 13:33:33 -08:00
Dianne Hackborn
99aac7beca You can now specify a custom display size as NxM.
Change-Id: Ieb6df51aab009689f0f19b8887025261c5ceb69f
2011-02-28 11:23:18 -08:00
Jeff Brown
33bbfd2232 Add support for mouse hover and scroll wheel.
Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View
hierarchy as onGenericTouchEvent.  Pointer events dispatched
this way are delivered to the view under the pointer.  Non-pointer
events continue to be delivered to the focused view.

Added scroll wheel support to AbsListView, ScrollView,
HorizontalScrollView and WebView.  Shift+VSCROLL is translated
to HSCROLL as appropriate.

Added logging of new pointer events in PointerLocationView.

Fixed a problem in EventHub when a USB device is removed that
resulted in a long stream of ENODEV errors being logged until INotify
noticed the device was gone.

Note that the new events are not supported by wallpapers at this time
because the wallpaper engine only delivers touch events.

Make all mouse buttons behave identically.  (Effectively we only
support one button.)

Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
2011-02-25 17:06:07 -08:00
Chet Haase
53c7b1d544 Merge "ViewPropertyAnimator cancels prior animations" 2011-02-25 16:02:34 -08:00
Gilles Debunne
0277c17128 Merge "Code clean-up around ScrollView." 2011-02-25 13:48:19 -08:00
Chet Haase
ba592d2003 ViewPropertyAnimator cancels prior animations
The initial approach of VPA was to cancel previous animations
on the same exact set of properties. This worked in most cases,
but if the new animation had a different set of properties
(like animating alpha, x, and y instead of just x and y), then
there was a possible artifact as the old animation continued to
run in the background and could show the button in the wrong
location as a result.

The new approach is to search all running animations for
a property when a new animation is requested on it and to
remove that property from the list of properties being animated
by that previous animation. The prior animations continue to
run, but will no longer update that property, which will now be
controlled solely by the new animation requested.

Change-Id: Ib35d54a5e91be0a1310725be6e2acbaa6ead4a4e
2011-02-25 12:44:42 -08:00
Gilles Debunne
2ed2eacd7e Code clean-up around ScrollView.
Change-Id: Ia110f30279a93c96741e9afbd93ed6231aa97ef1
2011-02-25 11:01:49 -08:00
Chet Haase
a00f3865f5 Add ViewPropertyAnimator for easy animation of View properties
Change-Id: I2bc52ca16507d8d20004d2d6823e587791272aac
2011-02-25 06:47:53 -08:00
Adam Powell
78b1dc594e Merge "Ensure WebView passes a complete/in-order event stream to ScaleGestureDetector. Prerequisite for several ScaleGestureDetector bugfixes." 2011-02-24 17:19:20 -08:00
Romain Guy
a5364ee894 Add an API to control the distance between a View and its camera.
Change-Id: Ibaf4e7dc827933f7ad2bb7ab50c1dcef45fee83c
2011-02-24 16:49:47 -08:00
Adam Powell
e33cef8037 Ensure WebView passes a complete/in-order event stream to
ScaleGestureDetector. Prerequisite for several ScaleGestureDetector
bugfixes.

Bugfixes for ScaleGestureDetector.

Make ScaleGestureDetector properly support >2 pointers. Track the most
recent two pointers for scale gestures.

Change-Id: I966319ad438c1c8e1103f245b53b3862c2d4e3c0
2011-02-24 16:27:50 -08:00
Romain Guy
47b8adec39 Add a new Camera API to control the camera's location
Change-Id: Id9a082d2def803eb527e1987875e0d8a22c6e8aa
2011-02-23 19:51:42 -08:00
Gilles Debunne
0c4650b4d5 Merge "Cursor does not jump back to its previous position when IME is showed up." 2011-02-22 13:57:00 -08:00