Commit Graph

2976 Commits

Author SHA1 Message Date
Svetoslav Ganov
538252cd37 Merge "Removing leftover code to sync accessibility and input focus." into jb-dev 2012-06-06 10:55:12 -07:00
Svetoslav Ganov
462a7284b5 Removing leftover code to sync accessibility and input focus.
1. We have decided to let the accessibility services take care
   for syncing accessibility and input focus. Some apps may
   move input focus when a given view takes input focus which
   dragging accessibility focus can lead to a loop in the
   focus traversal. This change removes some leftover sync
   code.

bug:6616861

Change-Id: I57cb44e315a386d13596794d3767b559e9ee3d99
2012-06-05 21:10:04 -07:00
Adam Powell
f6452d0cac Merge "More fun with MediaRouter" into jb-dev 2012-06-05 19:27:49 -07:00
Adam Powell
690ffb4e1f More fun with MediaRouter
Add action provider, button, and styles. Extend ActionProvider to
allow for getting references to MenuItem instances.

Implement toggle mode for the MediaRouteButton/ActionProvider. Dialog
selection yet to come.

Change-Id: Ibe3188570f503bbf8dd00cf154663435656a7171
2012-06-05 19:15:57 -07:00
Svetoslav Ganov
cab5b8a91d Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev 2012-06-05 15:55:42 -07:00
Svetoslav Ganov
e47957a0bb Nodes with contentDescription should always be important for accessibility.
1. Now after setting the content description on a view we mark is as
   important for accessibility of the current important for accessibility
   mode of that view is auto.

2. Minor tweak to a touch explorer coefficient to make performing double
   tapping easier.

bug:6615353

Change-Id: I3b477f533a3ebde85d425caf32ace5e851240f88
2012-06-05 14:48:58 -07:00
Chris Craik
3676b137ec Merge "Add more temporary logging for investigating detachFunctor" into jb-dev 2012-06-05 12:28:49 -07:00
Chris Craik
8857b2f76a Add more temporary logging for investigating detachFunctor
bug:6596807
Change-Id: Ic9e34e323b12a887f2e8df0773a6155627b6a64f
2012-06-05 11:24:46 -07:00
Chet Haase
2143337d50 Restore opaque alpha value when AlphaAnimation finishes
Alpha values were being set correctly on native Display Lists during an
AlphaAnimation, but not when the animation finished. Only non-1 values
were being propagated to the Display List properties.

The fix is to track when we've set a non-1 alpha value from an AlphaAnimation
and to notice that flag when the value is 1 (because the animation ended), so that
we propagate that value correctly. Using the flag avoids sending a value of 1
(by far the most common case) unless we really need to restore it after animating
it with non-1 values.

Issue #6600592 Sometimes album art blends with list asset on queue

Change-Id: I51047d756a4ac42a2d907a4d77963cc23dfb1db3
2012-06-05 08:59:32 -07:00
Svetoslav Ganov
0a047bdcdd Accessibility focus should not clear selection when taken away.
1. Currently accessibility focus removal was clearing the selection
   in the view - in particular the accessibility cursor position
   which in the TextView case is the selection. This leads to a
   scenario where the selection may be cleared when the app does
   not explect. Further, the selection should not be cleared
   since the user can be say several pages in the content and
   removing and putting back accessibility focus would cause a
   tedious traversal to get to the previous position.

bug:6469840

Change-Id: Iba3c01600fa2c9c39f99085a5fbc4328aa539ea8
2012-06-04 19:32:45 -07:00
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