Commit Graph

1438 Commits

Author SHA1 Message Date
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
Mike Lockwood
3c85a4e639 Merge "KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()" 2011-02-22 13:11:11 -08:00
Romain Guy
795e42e91a Merge "Add more info to View.getLayoutParams()" 2011-02-22 11:50:32 -08:00
Romain Guy
01c174bce3 Add more info to View.getLayoutParams()
Change-Id: I9abc64c9bbf726a02256a9ab692d9c555a6e3525
2011-02-22 11:51:06 -08:00
Jeff Brown
cc0c159e9b Add new hover move action and scroll wheel plumbing.
Added support for tracking the mouse position even when the mouse button
is not pressed.  To avoid confusing existing applications, mouse movements
are reported using the new ACTION_HOVER_MOVE action when the mouse button
is not pressed.

Added some more plumbing for the scroll wheel axes.  The values are
reported to Views but they are not yet handled by the framework.

Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
2011-02-19 06:14:21 -08:00
Jeff Brown
6f2fba428c Add new axes for joysticks and mouse wheels.
Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
2011-02-19 05:23:10 -08:00
Adam Powell
e7c943926d Merge "Add an API to listen for window attach/detach events on a View." 2011-02-18 15:17:16 -08:00
Adam Powell
4afd62b18c Add an API to listen for window attach/detach events on a View.
Fix bug 3312949 - inconsistent state in MenuPopupHelper

Change-Id: Ie802ada3f8de4cf71c92fcc7c6abce9ba85e7b75
2011-02-18 15:03:20 -08:00
Mike Lockwood
520d8bc1d8 KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()
BUG: 3402847

Change-Id: I725838c9d96617dd4497f9c80417cd623eceb846
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-18 13:27:02 -05:00
Gilles Debunne
ad8484b379 Cursor does not jump back to its previous position when IME is showed up.
Bug 3441308

This behavior may be restored for phones if appropriate.

Change-Id: Ibc2de587d64d372521da2d54f239cab56f04b407
2011-02-17 17:37:51 -08:00
Eric Laurent
e2ad901f4a Added bluetooth SCO stream to VolumePanel
This is a preliminary change to enable control of BLUETOOTH_SCO stream
volume while in a video chat with a bluetooth headset.
The complete change requires a new icon for BT SCO volume.

Change-Id: I6cd22f0c73d80a9b404b228650b9a30ef144cedc
2011-02-17 17:31:51 -08:00
Jeff Brown
45708bf2f0 Merge "Add support for arbitrary axes in MotionEvents." 2011-02-16 20:00:21 -08:00
Chet Haase
e9140a72b1 Fix invalidation bug with View bounds properties
When setLeft/Right/Top/Bottom() functions were called on View,
invalidation was only happening at the parent level. When an
app is hardware accelerated, this means that the view's display
list is not being recreated. So views that were changing size due
to these calls were not getting redrawn properly, causing some
artifacts in animations (especially LayoutTransition, which
calls these setters).

Fix is to invalidate the child instead of just the child's bounds
in the parent.

Change-Id: Ic8b2a5db519345dce617f914c2214738f22031b2
2011-02-16 16:30:21 -08:00
Jeff Brown
91c69ab015 Add support for arbitrary axes in MotionEvents.
This change makes it possible to extend the set of axes that
are reported in MotionEvents by defining new axis constants.

The MotionEvent object is now backed by its C++ counterpart
to avoid having to maintain multiple representations of the
same data.

Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
2011-02-15 19:14:37 -08:00
satok
9c4cc03a35 Add a method to check a string contained in ExtraValue of InputMethodSubtype
Change-Id: I34390537eaacd3ff8cfd336eaf5b9ca0d3e4b802
2011-02-15 17:53:58 +09:00
Christopher Tate
93a4dc6c3f Merge "Disable cross-app drag/drop" 2011-02-14 18:14:49 -08:00
Christopher Tate
7f9ff9d191 Disable cross-app drag/drop
@hides the View constant that designates a drag as cross-app, and also
forcibly ignores that flag on the system_server side even if it's passed
to startDrag() as a literal.

Change-Id: I6f321bdf0389db5bb44131fd0f8d6b92f049be52
2011-02-14 17:31:13 -08:00
Romain Guy
0211a0a10d Gracefully handle drawing caches allocation failure.
Bug #3431451

This bug was causing ListView to not render properly when showing an item
larger than the maximum drawing cache size. ListView relies on the drawing
cache to correctly mask all the background pixels. However, if the cache
is not properly created, the background will show through even though
ListView.isOpaque() == true. This change detects this case and falls
back to the default non opaque behavior.

Change-Id: I30a45e7a03fb7ebb2b12f0e85c075c2901954c44
2011-02-14 16:34:59 -08:00