Commit Graph

3100 Commits

Author SHA1 Message Date
Svetoslav Ganov
8114f439fe am ddbcce81: Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev
* commit 'ddbcce81acaa744d35c727d9a530b04255fab5af':
  Cannot interact with dialogs when IME is up and on not touch explored popups.
2012-06-07 13:53:39 -07:00
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
b4b0a7fea8 am a1723d18: Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev
* commit 'a1723d18662d1316f931a6b4b3ee6ddc42743ee4':
  Revert "Remove ViewTreeObserver allocations"
2012-06-07 11:30:00 -07:00
Chet Haase
a1723d1866 Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev 2012-06-07 11:27:26 -07:00
Chet Haase
ca43c96127 am 44b2fe3f: Track canvas clearing for swap buffers logic.
* commit '44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2':
  Track canvas clearing for swap buffers logic.
2012-06-07 09:45:16 -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
6d99a02464 am 8f1f714f: Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev
* commit '8f1f714f831bf8bf10f94211c42e36ef2851810d':
  Revert "Add more temporary logging for investigating detachFunctor"
2012-06-06 16:47:57 -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
cf27a37439 am 538252cd: Merge "Removing leftover code to sync accessibility and input focus." into jb-dev
* commit '538252cd37945612a4761ff03d87022d56e33b96':
  Removing leftover code to sync accessibility and input focus.
2012-06-06 10:57:50 -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
1178569b26 am f6452d0c: Merge "More fun with MediaRouter" into jb-dev
* commit 'f6452d0cac64b72005af330411b5a895f0038312':
  More fun with MediaRouter
2012-06-05 19:29:57 -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
f1abc42531 am cab5b8a9: Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev
* commit 'cab5b8a91d6fbcbb694284038f5529ff02f10f78':
  Nodes with contentDescription should always be important for accessibility.
2012-06-05 15:57:25 -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
34e5f5a534 am 3676b137: Merge "Add more temporary logging for investigating detachFunctor" into jb-dev
* commit '3676b137ecf2f24e88e8a3567c11234e7d4416d2':
  Add more temporary logging for investigating detachFunctor
2012-06-05 12:31:31 -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
7c54ef9a0e am 14f73a02: Merge "Restore opaque alpha value when AlphaAnimation finishes" into jb-dev
* commit '14f73a02a42b5e4c700fe70e8c2d38dc518480b4':
  Restore opaque alpha value when AlphaAnimation finishes
2012-06-05 10:26:22 -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
b25605cd71 am 72d6835c: Merge "Accessibility focus should not clear selection when taken away." into jb-dev
* commit '72d6835c7cea35d0faf5f1584bf2c475fcbf93c8':
  Accessibility focus should not clear selection when taken away.
2012-06-04 23:13:35 -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
5a70063f7e am 6593be0c: Merge "Work on issue #6579997: Mariner entrance animation" into jb-dev
* commit '6593be0c200f69d932e40e05e9df54b89c157c48':
  Work on issue #6579997: Mariner entrance animation
2012-06-04 10:34:24 -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
cdb2a2167d am 7b4799ca: Merge "Client app crashes if accessibility service uses invalid focus type." into jb-dev
* commit '7b4799cafa6624862a172aaf2ececf661850b03c':
  Client app crashes if accessibility service uses invalid focus type.
2012-06-04 10:23:46 -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
7d3fa093bb am f47e76e2: Merge "Make velocity tracker strategy configurable." into jb-dev
* commit 'f47e76e2c78e78e26110786e99548d718d177c32':
  Make velocity tracker strategy configurable.
2012-06-03 21:19:13 -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
b59d061861 am b6585d19: Merge "Double input focus and focus movement in list not working." into jb-dev
* commit 'b6585d19311f13ec28fa38a3c849589dba8c293a':
  Double input focus and focus movement in list not working.
2012-06-03 18:55:22 -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
58e29c0661 am 7c86958d: Merge "Add MediaRouter API." into jb-dev
* commit '7c86958d73e7216a92bdfd84fce4440e1def7eaa':
  Add MediaRouter API.
2012-06-03 14:14:29 -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
Svetoslav Ganov
40404f435c am cba5e879: Merge "Calling the correct method when adding accessibility focusables." into jb-dev
* commit 'cba5e879e825fe37bc1eb092c14f3a5c4d7a29d1':
  Calling the correct method when adding accessibility focusables.
2012-06-02 08:35:24 -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
dd5543a6ff am ac483ac4: Merge "AccessibilityInteractionController crash with IndexOutOfBoundException." into jb-dev
* commit 'ac483ac41f19b9956069eebdc0275ccf90d4e01d':
  AccessibilityInteractionController crash with IndexOutOfBoundException.
2012-06-01 11:16:21 -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
d0140062db am 561ff8a7: Merge "Skip eglSwapBuffers() call when we do not draw to GL" into jb-dev
* commit '561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b':
  Skip eglSwapBuffers() call when we do not draw to GL
2012-06-01 07:32:39 -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
7d4c2ec0f4 am 53913ed5: Merge "Force webview invalidates on unsuccessful functor attach" into jb-dev
* commit '53913ed55ce2b5f0d2137b2a7b67eaf7556c0c28':
  Force webview invalidates on unsuccessful functor attach
2012-05-31 18:00:46 -07:00