Commit Graph

2983 Commits

Author SHA1 Message Date
Svetoslav Ganov
ddbcce81ac Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev 2012-06-07 13:50:58 -07:00
Svetoslav Ganov
86783474fd Cannot interact with dialogs when IME is up and on not touch explored popups.
1. If the last touch explored location is within the active window we
   used to click on exact location if it is within the accessibility
   focus otherwise in the accessibility focus center. If the last touch
   explored location is not within the active window we used to just
   click there. This breaks in the case were one has touch explored
   at a given place in the current window and now a dialog opens *not*
   covering the touch explored location. If one uses swipes to move
   accessibility focus i.e. to traverse the dialog without touching
   it one cannot activate anything because the touch explorer is using
   the last touch explored location that is outside of the active
   window e.g the dialog.

   The solution is to clear the last touch explored location when a
   window opens or accessibility focus moves. If the last touch
   explored location is null we are clicking in the accessibility
   focus location.

bug:6620911

2. There is a bug in the window manager that does not notify a
   window that its location has changed (bug:6623031). This breaks
   accessibility interaction with dialogs that have input because
   when the IME is up the dialog is moved but not notified. Now
   the accessibility layer gets incorrect location for the
   accessibility focus and the window bounds.

   The soluion is when the accessibility manager service calls
   into the remove thress to obtain some accessibility node infos
   it passes the window left and top which it gets from the
   window manager. These values are used to update the attach info
   window left and top so all accessibility node infos emitted
   from that window had correct bounds in screen coordinates.

bug:6620796

Change-Id: I18914f2095c55cfc826acf5277bd94b776bda0c8
2012-06-07 12:02:16 -07:00
Chet Haase
a1723d1866 Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev 2012-06-07 11:27:26 -07:00
Chet Haase
0f8ffd8374 Revert "Remove ViewTreeObserver allocations"
This reverts commit b999cc118f.

There was an assumption in this earlier change that observer dispatching could not be
recursive - we could only ever have one iteration on the observer listener list. This
assumption broke down in a specific app, and maybe in more, so reverting the change for now.
We should probably find a way to accomplish the same allocation-minimizing goal without
causing exceptions when violating our assumptions.

Issue #6620795 [Application compatibility] Lufthansa app crashes

Change-Id: I1c1f9ad329c14398feb0e74ce77e1a07111f7d1f
2012-06-07 08:00:49 -07:00
Chet Haase
44b2fe3fc1 Track canvas clearing for swap buffers logic.
A previous fix made it necessary for a frame to render something to GL
in order to cause a call to eglSwapBuffers(). Besides the calls being
tracked as part of issuing a DisplayList, there is also a potential call
to clear the canvas (via glClear()) on non-opaque surfaces. This call is also
good to track, since a surface that gets cleared without any other drawing operations
is worth flipping to the screen (to erase old contents on that surface).

This fix tracks the status of the pre-draw operations to find out whether
glClear() was called and then sets the drawing status appropriately.

Issue #6606422 QuickContact dismissal is janky again (Tracking)

Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
2012-06-07 06:25:04 -07:00
Chris Craik
8f1f714f83 Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev 2012-06-06 16:45:04 -07:00
Chris Craik
932b7f6765 Revert "Add more temporary logging for investigating detachFunctor"
bug:6608646

This reverts commit 8857b2f76a

Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
2012-06-06 14:02:55 -07:00
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