Commit Graph

2966 Commits

Author SHA1 Message Date
Dianne Hackborn
6593be0c20 Merge "Work on issue #6579997: Mariner entrance animation" into jb-dev 2012-06-04 10:29:32 -07:00
Svetoslav Ganov
7b4799cafa Merge "Client app crashes if accessibility service uses invalid focus type." into jb-dev 2012-06-04 10:20:33 -07:00
Svetoslav Ganov
2ef6905003 Client app crashes if accessibility service uses invalid focus type.
1. If an accessibility service uses an invalid focus type argument
   when trying to find where focus is the queried application crashes.
   The same happens if the serivce calls focus search with an invalid
   derection. While we need the argument check in the controller that
   runs in the app process the accessibility service has to be the
   palace where an exception is thown for the invalid argument so
   the developer can fix his code.:

bug:6508797

Change-Id: Ib0d74f374fa60ee8fd6117f11c23af34f6c26ad3
2012-06-04 09:33:05 -07:00
Jeff Brown
f47e76e2c7 Merge "Make velocity tracker strategy configurable." into jb-dev 2012-06-03 21:16:18 -07:00
Jeff Brown
9eb7d86181 Make velocity tracker strategy configurable.
This change is very useful for testing purposes because it makes it
easy to compare different implementations to see how they behave.

There is no change to the current default strategy.

Bug: 6413587
Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
2012-06-03 19:21:49 -07:00
Svetoslav Ganov
b6585d1931 Merge "Double input focus and focus movement in list not working." into jb-dev 2012-06-03 18:52:20 -07:00
Adam Powell
7c86958d73 Merge "Add MediaRouter API." into jb-dev 2012-06-03 14:11:43 -07:00
Svetoslav Ganov
b552d89e90 Double input focus and focus movement in list not working.
1. The clearFocus routine in ViewGroup was clearing the pointer
   to the descendant which has focus after calling clear focus
   on that child. However, currently clearing the focus of a view
   causes the view that loses focus to try to give the focus to
   the first focusable which potentially sets the pointer to the
   child that has input focus in the ViewGroup but the ViewGruop
   essentially clears that pointer. This resulted in having two
   focused views at the same time in some cases.

2. AbsListView was not calling the super implementation of add
   focusables if the focus type was not accessibility.

bug:6559819

Change-Id: I478dfed000b5de3f9b15e12eb82aa3d34c2301e4
2012-06-02 14:35:13 -07:00
Dianne Hackborn
84375876fc Work on issue #6579997: Mariner entrance animation
Add a new variation of ActivityOptions that allows you to
supply custom animation resources and get a callback when the
animation starts.

Use this in SearchPanelView to determine when to start hiding
the search panel instead of having a fixed delay.

Fix some issues in the activity manager where we would cancel
the options in cases where we should actually keep them to give
to the window manager for a transition.  (Basically when the
activity being started is not actually ending up launched, but
just results in a shift in the activity stack.)

Note that this is not quite what the design calls for -- the
entire search UI is waiting and then disappearing when the
animation starts, instead of the ring first disappearing while
waiting for the time to fade out the circle.

Change-Id: Iee9a404ba530908d73cdbd4a9d0d2907ac03428f
2012-06-01 19:13:55 -07:00
Svetoslav Ganov
a90e4512ab Calling the correct method when adding accessibility focusables.
1. Since we added explicit accessibility focusable attribute when
   adding focusables views that do so should call this method. Some
   views were not updated to do so.

bug:6581924

Change-Id: Id64c0b2d76e5269ebf3fbe17203e73b174bdb843
2012-06-01 19:02:42 -07:00
Adam Powell
9a1de308ce Add MediaRouter API.
This is just the initial state tracking. Still to go is
actually triggering Bluetooth A2DP correctly and tracking
process state in the system server.

Change-Id: I33031d52799d6e2d7208910da833831085cc3677
2012-06-01 18:19:20 -07:00
Svetoslav Ganov
ac483ac41f Merge "AccessibilityInteractionController crash with IndexOutOfBoundException." into jb-dev 2012-06-01 11:14:12 -07:00
Svetoslav Ganov
30ac645210 AccessibilityInteractionController crash with IndexOutOfBoundException.
1. The findAccessibilityNodeInfosByTextUiThread was reusing an ArrayList
   instance also used by the logic to initialize an AccessibilityNodeInfo.
   Hence, if the find method got some view and creates the infos for them
   the method creating the info was reusing the same array list and was
   nuking its contents.

bug:6556585

Change-Id: I1d013bf7b1f715f8b4c4ba60c677233bec40647c
2012-06-01 09:10:30 -07:00
Chet Haase
561ff8a74e Merge "Skip eglSwapBuffers() call when we do not draw to GL" into jb-dev 2012-06-01 07:29:53 -07:00
Chris Craik
53913ed55c Merge "Force webview invalidates on unsuccessful functor attach" into jb-dev 2012-05-31 17:57:45 -07:00
Chet Haase
486590963e Skip eglSwapBuffers() call when we do not draw to GL
The fix is to track when we issue GL drawing commands, and to skip the
call to eglSwapBuffers() when a DisplayList does not result in
any actual rendering calls to GL.

Issue #6364143 QuickMuni list items and buttons flicker instead of fade

Change-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3
2012-05-31 17:22:27 -07:00
Chris Craik
41ee465734 Force webview invalidates on unsuccessful functor attach
Functor attach should always be successful, but adding a fallback just in
case. Also invalidates the WebView on initial content arriving.

bug:6511995
Change-Id: Ibca16505afec9f693ea4a7cc4966cd6d7353725c
2012-05-31 15:23:11 -07:00
Amith Yamasani
4a3a9685d1 Merge "Protect volumepanel slider creation from race condition." into jb-dev 2012-05-31 13:08:07 -07:00
Amith Yamasani
a654986978 Protect volumepanel slider creation from race condition.
It is possible for 2 different threads to poke the mStreamControls at the same time,
causing the monkey bug mentioned in the bug report below.

Bug: 6411852

Couldn't think of any other reason Stream type 3 (MUSIC) wouldn't exist in the list.
It's possible that a programmatic call came in at the same time as the volume key press.

Synchronizing blocks where the mStreamControls are populated and accessed.

Change-Id: Ifedec6b0f8bad9634cb9e079fda785c433bdb7a7
2012-05-30 18:28:08 -07:00
Jeff Brown
9154b87780 Merge "Fix comparison of device source bits." into jb-dev 2012-05-30 15:00:39 -07:00
Jeff Brown
7e4ff4b986 Fix comparison of device source bits.
Bug: 6576743
Change-Id: I6952b052e2ab9e62ddd46ab76f4df37ecc656757
2012-05-30 14:32:16 -07:00
Satoshi Kataoka
17150cf91b Fix locale in TextServicesManagerService
Bug: 6542210
Change-Id: I1670fac014beb834ec7c065ebf040d0ff3cf4161
2012-05-30 20:36:52 +09:00
Jean Chalard
01bf82f272 Merge "Add/refine comments to reflect key event policies" into jb-dev 2012-05-29 18:02:29 -07:00
Svetoslav Ganov
a5c896afe8 Merge "Updating the behaviour of accessibility text iterators." into jb-dev 2012-05-29 17:30:16 -07:00
Svetoslav Ganov
48d1daca98 Merge "Accessiblity scroll event firing callback not properly reset." into jb-dev 2012-05-29 17:05:40 -07:00
Svetoslav Ganov
4a812aeb8b Accessiblity scroll event firing callback not properly reset.
1. We use a delayed callback to throttle the amount of accessibility
   scroll events fired by the view tree. The callback to do so was
   not properly reset when removed putting the view tree in a bad
   state resulting in no scroll events being fired at all.

bug:6549005

Change-Id: Ibf72d7e009e4545a336c9471f46015910290703e
2012-05-29 16:46:15 -07:00
Svetoslav Ganov
bb1b7cf66b Merge "Adding accessibility focusable attribute (hidden for now)." into jb-dev 2012-05-29 15:46:15 -07:00
Svetoslav Ganov
f9817f7a3b Adding accessibility focusable attribute (hidden for now).
1. This attribute specifies whether a view can take accessibility
   focus. It has three values: 1) auto - the system determines
   based on whether the view is actionable and has actionable
   predecessor. Accessibility services can put accessibility focus
   on such a node at will; 2) yes ; this view always takes access
   focus; 3) no - the view cannot takes accessibility focus and
   accessibility services cannot put accessibility focus on it.

Change-Id: I2ebf4e7c75bf6b39e1742b6868b37ccdd4cc7d28
2012-05-29 15:24:22 -07:00
Svetoslav Ganov
39f2aee640 Updating the behaviour of accessibility text iterators.
1. Iterators were skipping content on reversing direction.

2. The cursor was positioned at the beginning of the next text segment
   when moving forward and at end of the previous text segment when moving
   backwards. This is incorrect and now the cursor is positioned at the
   end of the segment when moving forward and at the beginning when moving
   backward.

3. The cursor position was not properly set when reaching the end/start
   of the text.

4. The iterators were reporting strictly the next/previous segment even
   if the cursor is within such a segment. Thus, when traversing some
   content may be skipped. Now moving forward moves the selection to
   the next segment end and the start position is either the old index
   if it was within a segment or the start of the segment. Same in
   reverse.

bug:6575099

Change-Id: Ib48a649cec53910339baf831a75e26440be6e576
2012-05-29 15:16:19 -07:00
Jean Chalard
405bc51c5d Add/refine comments to reflect key event policies
Make clearer how the platform is handling key events following some
unfortunate uses by third party applications. Also highlight the
changes in Jelly Bean default keyboard.

Bug: 6566711
Change-Id: Ibcdaf54c6d629fd0733529bfe2fffc82f555f084
2012-05-29 19:41:02 +09:00
Romain Guy
94328c308b Merge "Clear bitmap references from display lists as early as possible Bug #6555840" into jb-dev 2012-05-24 14:25:44 -07:00
Romain Guy
38c2ece5ce Clear bitmap references from display lists as early as possible
Bug #6555840

Apps like Google+ with large bitmaps displayed in listivews could
run into memory issues because of these references.

Change-Id: I39486bda13ce00c5a3b6481139ad54547506a8b4
2012-05-24 14:20:56 -07:00
satok
f927e17ae5 Use correct spell check locale
Bug: 6542210
Change-Id: I414aa2321f30e396996d90fb8e90c1dbb3bb7b9e
2012-05-24 16:52:54 +09:00
Romain Guy
df3633b389 Merge "Make it harder for apps to mess up ViewGroup's internal state Bug #6421288" into jb-dev 2012-05-23 15:49:50 -07:00
Romain Guy
393a52c9f6 Make it harder for apps to mess up ViewGroup's internal state
Bug #6421288

Change-Id: I8c2c597f45391d3c1ae40c8341a68bb25d8ad4d9
2012-05-23 14:32:16 -07:00
Svetoslav Ganov
321a56c848 Merge "Clearing accessibility focus of a view did not update the global state." into jb-dev 2012-05-22 20:26:29 -07:00
Svetoslav Ganov
c00d00865d Clearing accessibility focus of a view did not update the global state.
1. The code in clear accessibility focus was not updaing the global
   accessibility focus reference in view root if the view not a
   descendant has accessibility focus.

bug:6382856

Change-Id: I0c99578b5afd1f1f5d0df5bba05b0a03b5951a43
2012-05-22 18:43:11 -07:00
Dianne Hackborn
ac92087a9a Fix issue #6499411: Characters not displayed (but suggestion bar is working)
The problem was that when dismissing the lock screen, the window manager
would briefly turn off force hiding when it started animating the transition
and then turn it back on until the transition was done.

This would cause it to briefly switch focus to the app behind and then
take focus off it.  The app would find out it got focus, and re-start
input on itself, asking the input method service to do so.  At this
point the input method service would ask the window manager if the
caller really had focus, and it may or may not be told no depending
on the timing.  If it is told no, then it doesn't allow the focus
switch to happen at that point, ignoring the new input connection,
and ultimately when focus does really switch the IME is left talking
with an old dead input connection.

I added some code to the input connection to make sure when we are
no longer using one that we mark it inactive and can't use it.  This
bug was especially difficult to track down because it would only
visibly break when a GC happened during this time, causing the weak
reference on the input connection to become null.  With this change
it will now always break (though in the scenario here only if you
hit the race condition correctly).

Change-Id: I81a6164dc140c548da1a9736e42cd253e8238a80
2012-05-22 12:15:15 -07:00
Jeff Brown
1957fd271f Merge "Add public API to Choreographer." into jb-dev 2012-05-21 18:32:26 -07:00
Jeff Brown
cae804901e Add public API to Choreographer.
The API allows applications to post FrameCallbacks that will
run on vsync and that are provided with the frame time.

Change-Id: Ieb39fcdd085ef8a57805b8f78e7a307f416ff21d
2012-05-21 18:15:29 -07:00
Svetoslav Ganov
9faa9374c1 Merge "Changing the interaction model of the touch explorer." into jb-dev 2012-05-21 17:52:28 -07:00
Svetoslav Ganov
f40628645d Merge "Accessibility focus and input focus do not sync - part 2" into jb-dev 2012-05-21 17:49:09 -07:00
Svetoslav Ganov
525ae2075c Accessibility focus and input focus do not sync - part 2
1. This patch has somecode that syncs input and accessibility
   focus or tries to put accessibility focus on the top most
   container that was missed by the previous patch.

Change-Id: I08f21670b1c6e9f363d5714b1976fb52d84baae4
2012-05-21 17:35:15 -07:00
Romain Guy
493743e013 Merge "Flip TextureView's layer after calling setSurfaceTexture() Bug #6531172" into jb-dev 2012-05-21 16:37:57 -07:00
Romain Guy
51f7c6b362 Flip TextureView's layer after calling setSurfaceTexture()
Bug #6531172

Changing the surface texture would not update the layer properties
nor its transform matrix.

Change-Id: I54e155a410d7e72f1a8edf3a4ab0034bf764ae28
2012-05-21 16:36:05 -07:00
Svetoslav Ganov
4ce106f5cf Merge "Fixing some minor issues in accessibility focus." into jb-dev 2012-05-21 15:55:28 -07:00
Svetoslav Ganov
f76a83cfcf Fixing some minor issues in accessibility focus.
1. Now accessibility focus does not drag input focus and
   vice versa. Having the two focuses chase each other
   can lead to some pathological cases. For example, a
   container is input focusable and manages input focus
   for its children i.e. as soon as it gets input focus
   it sets input focus to a child. Now assume input and
   accessibility focus are on a child and focus search
   finds the parent to take accessibility focus, now
   putting accessibility focus to the parent will put
   input focus there and the parent will put input focus
   to the child which as a result will put accessibility
   focus there, thus resulting in traversal loop.

bug:6522900

2. Fixed asymmetrical behavior of accessibility focus search
   for AbsListView.

bug:6520016

3. Fixed accessibility focus search getting stuck in an
   empty AbsListView.

bug:6520049

Change-Id: Ia26e5be7b5a9f340f873861ff466c787467b98dc
2012-05-21 15:32:28 -07:00
Dianne Hackborn
af5c01185b Merge "Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)" into jb-dev 2012-05-21 15:25:48 -07:00
Dianne Hackborn
7a83b93e12 Fix issue #6447773: Pulse does not run in JB (NPE in GestureDetector.onTouchEvent)
Change-Id: I20b6d58fa47851cf401bbeb16960d118bbd1d965
2012-05-21 15:24:11 -07:00
Svetoslav Ganov
e15ccb93ad Changing the interaction model of the touch explorer.
1. Now the user have to double tap to activate the last
   item. If the last touched window is not active because
   it does not take input focus the click on the last
   touch explored location. Othewise the click is on the
   accessibility focus location.

bug:5932640

Change-Id: Ibb7b97262a7c5f2f94abef429e02790fdc91a8dd
2012-05-21 14:08:57 -07:00