Commit Graph

2949 Commits

Author SHA1 Message Date
Svetoslav Ganov
db3cf0dd58 am 0e29ac9e: Merge "Accessibility focus traversal in virtual nodes." into jb-dev
* commit '0e29ac9e4ede6e75a5ca91eb744bbff83949c71e':
  Accessibility focus traversal in virtual nodes.
2012-05-15 11:32:40 -07:00
Romain Guy
d5cfec8d34 am 7b8523aa: Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev
* commit '7b8523aaed11a3b5ee286776023233036ac0759d':
  Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
2012-05-15 11:31:54 -07:00
Svetoslav Ganov
d83a080067 am 8ce2d78a: Merge "Improving accessibility focus traversal." into jb-dev
* commit '8ce2d78aa89e89e9a5607d8809bf6d248508a531':
  Improving accessibility focus traversal.
2012-05-15 11:31:28 -07:00
Jeff Brown
e2ec70bf92 am 00ff4748: Merge "More VelocityTracker refactoring." into jb-dev
* commit '00ff47484f8137aa3e59f680ff07d2662cfb4088':
  More VelocityTracker refactoring.
2012-05-15 11:31:08 -07:00
Eric Laurent
dd99f70a3f am dfae6db0: Merge "Implement new volume display policy." into jb-dev
* commit 'dfae6db0228a2ba4e34deb48d54fb06a2637e6a2':
  Implement new volume display policy.
2012-05-15 11:30:53 -07:00
Svetoslav Ganov
0e29ac9e4e Merge "Accessibility focus traversal in virtual nodes." into jb-dev 2012-05-15 10:48:44 -07:00
Svetoslav Ganov
791fd31a68 Accessibility focus traversal in virtual nodes.
1. Finished the implementation of support for maintaining
   accessibility focus in view with virtual descendants.

2. Finished the NumberPicker implementation of virtual
   subtree such that all requred attributes are reported
   and ensuring that it support accessibility focus in
   its virtual descentants.

3. Fixed a bug where if a predecessor of the view that is
   accessiiblity focused is removed the accessibliity focus
   host in ViewRootImpl is not cleared leading to a crash
   when trying to draw the accessibility focus highlight.:

bug:6472646
bug:6433864

Change-Id: I3645642b87b4a26025c0b2ba9dfaad92d11a48f1
2012-05-15 00:43:53 -07:00
Romain Guy
7b8523aaed Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev 2012-05-14 20:12:09 -07:00
Romain Guy
e651cc6239 Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
2012-05-14 19:44:40 -07:00
Svetoslav Ganov
e436812e85 am 844047ac: Merge "Fix inconsitency in aAccessibilityNodeInfo cache." into jb-dev
* commit '844047acb7133c0b6b7128f19b76f93eaca9371e':
  Fix inconsitency in aAccessibilityNodeInfo cache.
2012-05-14 19:34:14 -07:00
Michael Jurka
87f6f80993 am 143a02aa: Merge "Prevent ViewPropertyAnimators from getting started twice" into jb-dev
* commit '143a02aa79fbc28490bac39fabb6db0608774630':
  Prevent ViewPropertyAnimators from getting started twice
2012-05-14 19:34:07 -07:00
Chet Haase
c63aaee9ff am 728e4394: Merge "Minor touch-up of Animation docs" into jb-dev
* commit '728e43948c9b4d18a900fa50acad8d2734947b21':
  Minor touch-up of Animation docs
2012-05-14 19:33:44 -07:00
Mathias Agopian
41f089e086 am 7ed1d661: Merge "fix SurfaceView visibility state changes" into jb-dev
* commit '7ed1d6613e2f5aa05158a87888f5a6474eca5cc1':
  fix SurfaceView visibility state changes
2012-05-14 19:32:53 -07:00
Dianne Hackborn
2da87ec32e am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev
* commit '2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517':
  Implement new window cropping.
2012-05-14 19:32:39 -07:00
Guang Zhu
58b0dcde83 am 0d607fbe: accessibility bug fix in NumberPicker
* commit '0d607fbe546ac943de38dad33ae681b09efec6ea':
  accessibility bug fix in NumberPicker
2012-05-14 19:32:33 -07:00
Svetoslav Ganov
8ce2d78aa8 Merge "Improving accessibility focus traversal." into jb-dev 2012-05-14 18:26:24 -07:00
Jeff Brown
00ff47484f Merge "More VelocityTracker refactoring." into jb-dev 2012-05-14 17:12:32 -07:00
Eric Laurent
dfae6db022 Merge "Implement new volume display policy." into jb-dev 2012-05-14 16:30:47 -07:00
Svetoslav Ganov
e5dfa47d84 Improving accessibility focus traversal.
1. Now the views considered during the accessibility focus search
   are the ones that would get accessibility focus when thovered
   over. This way the user will get the same items i.e. feedback
   if he touch explores the screen and uses focus traversal. This
   is imperative for a good user experience.

2. Updated which focusables are considered when searching for access
   focus in ViewGroup. Generally accessibility focus ignores focus
   before/after descendants.

3. Implemented focus search strategy in AbsListView that will traverse
   the items of the current list (and the stuff withing one item
   before moving to the next) before continuing the search if
   forward and backward accessibility focus direction.

4. View focus search stops at root namespace. This is not the right
   way to prevent some stuff that is not supposed to get a focus in
   a container for a specific state. Actually the addFocusables
   for that container has to be overriden. Further this approach
   leads to focus getting stuck. The accessibility focus ignores
   root names space since we want to traverse the entire screen.

5. Fixed an bug in AccessibilityInteractionController which was not
   starting to search from the root of a virtual node tree.

6. Fixed a couple of bugs in FocusFinder where it was possible to
   get index out of bounds exception if the focusables list is empty.

bug:5932640

Change-Id: Ic3bdd11767a7d40fbb21f35dcd79a4746af784d4
2012-05-14 16:21:29 -07:00
Svetoslav Ganov
844047acb7 Merge "Fix inconsitency in aAccessibilityNodeInfo cache." into jb-dev 2012-05-14 14:14:26 -07:00
Eric Laurent
8c78752f2b Implement new volume display policy.
Whenever a stream type is muted, the progress bar in volume panel
is at 0.
If a stream is muted by ringer mode and does not control ringer mode,
the progress bar is disabled.
Pressing VOL- when in vibrate or silent mode resets the last audible
volume of ringtone stream (music strem on tablets) to 0.

VolumePanel implementation:
 - Always prefer AudioManager APIs over AudioService APIs when available on both.
 - Do not use AudioManager.shouldVibrate() (deprecated).

Change-Id: I57fcb19ada4e8d729b6b41d668496562ebe340c3
2012-05-14 14:13:10 -07:00
Michael Jurka
143a02aa79 Merge "Prevent ViewPropertyAnimators from getting started twice" into jb-dev 2012-05-14 14:04:27 -07:00
Chet Haase
728e43948c Merge "Minor touch-up of Animation docs" into jb-dev 2012-05-14 12:58:08 -07:00
Mathias Agopian
7ed1d6613e Merge "fix SurfaceView visibility state changes" into jb-dev 2012-05-13 23:50:32 -07:00
Jeff Brown
85bd0d6283 More VelocityTracker refactoring.
Bug: 6413587
Change-Id: Ida1152e7a34d5fe5caab5e6b5e1bc79f6c7a25e6
2012-05-13 16:10:57 -07:00
Michael Jurka
500998d401 Prevent ViewPropertyAnimators from getting started twice 2012-05-13 15:35:02 -07:00
Dianne Hackborn
2a7a6ca00a Merge "Implement new window cropping." into jb-dev 2012-05-13 15:24:32 -07:00
Dianne Hackborn
85afd1b6f8 Implement new window cropping.
The window manager now performs the crop internally, evaluating
it every animation from, to be able to update it along with
the surface position.

Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
2012-05-13 13:31:06 -07:00
Mathias Agopian
cbeb33249d fix SurfaceView visibility state changes
SurfaceView didn't recompute the transparent region
when the INVISIBLE state (as opposed to GONE) was involved.

Bug: 6467123
Change-Id: I05930bd568a345331840c1ad8d9123ef4904c04f
2012-05-12 19:57:07 -07:00
Guang Zhu
0d607fbe54 accessibility bug fix in NumberPicker
* moved View#isVisibleToUser to protected with @hide
* added a new View#isVisibleToUser(Rect), so that a portion of
  the view can be tested for visibility
* NumberPicker will report its concrete class name
* code to append virtual children was at wrong place
* boundInScreen for increment and decrement buttons are reported
  wrong

Change-Id: Ic5d644b3e1efa15b1f0537907c8cdd4ce43a97c1
2012-05-12 19:09:34 -07:00
Jeff Brown
a48816375f am 58770232: Merge "Move power HAL interactions to PowerManagerService." into jb-dev
* commit '58770232216cd735afdfd3dd53151070e06de5ce':
  Move power HAL interactions to PowerManagerService.
2012-05-11 19:35:23 -07:00
Jeff Brown
5877023221 Merge "Move power HAL interactions to PowerManagerService." into jb-dev 2012-05-11 19:32:56 -07:00
Jeff Brown
7304c34382 Move power HAL interactions to PowerManagerService.
This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server.  Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
2012-05-11 18:42:42 -07:00
Svetoslav Ganov
c406be9036 Fix inconsitency in aAccessibilityNodeInfo cache.
1. Fixed errors in the accessibility node cache.

  A. The cache was not catching the case when the current window changes as a
     result the user touch exploring it. As a result the cache had nodes from
     more that one window but the node ids are not unique thus causing a mess.

  B. The node info tree was prefetched regardless if a prefetched node is root
     name space (i.e. view ids - not accessibility ids - are namespaced) while
     the prefetched nodes were taking this into account. As a result there can
     get disconnected subtrees in the cache.

  C. When an event for a property change such as focus was received the cache
     we were removing the source node. As a result there may be disconnected nodes.

  D. When a node was added to the cache and an older version exists there was
     no check if it will point to the same children and parent. As a result if
     the state of the node has fewer children the subtrees rooted at the no
     longer present children will stay disconnected in the cache.

  E. When a node got accessibility or input focus the old one in the cache was
     not removed. As a result you may have a state with more than one access
     or input focus.

2. Added integrity check enabled only on user builds when a specific flag is set
   for the cache which checks whether:

  A. All nodes are from the same window.

  B. All nodes are connected.

  C. There are no duplicates.

  D. There is only one input focus.

  E. There is only one accessibility focus.

3. The reported accessibility node info tree was stopping at the root namespace
   boundary which is not correct. The reported tree has to reflect everything
   on the screen that the user can see such a workspace with widgets. The root
   namespace is added to avoid clash of view id but the accessibility ids are
   unique no matter if the view is inflated from a remote view.

4. Added calls to notify the accessibility layer when a preoprty that is interesting
   for accessibiliy has changed.

bug:6471710

Change-Id: I069470d91f209ba16313fa6539787a55efa3512e
2012-05-11 17:42:07 -07:00
Jamie Gennis
592cbb835a am c9e27d4b: Merge "Surface: replace active rect with window crop" into jb-dev
* commit 'c9e27d4ba1f46eb29aa8a794685ecb7c492d5d83':
  Surface: replace active rect with window crop
2012-05-11 17:19:50 -07:00
Jamie Gennis
c9e27d4ba1 Merge "Surface: replace active rect with window crop" into jb-dev 2012-05-11 17:17:31 -07:00
Adam Powell
e48c70e4d9 am 7fc4fbcc: Merge "Automatic persistent text selection for ListViews" into jb-dev
* commit '7fc4fbccd6129e286a1f9c640eb3229b91792bce':
  Automatic persistent text selection for ListViews
2012-05-11 16:36:11 -07:00
Adam Powell
7fc4fbccd6 Merge "Automatic persistent text selection for ListViews" into jb-dev 2012-05-11 16:34:15 -07:00
Chet Haase
4242893e32 Minor touch-up of Animation docs
Change-Id: Ifd615d352b9924d562f4238c8ed36a8f4e6a91fa
2012-05-11 15:39:07 -07:00
Adam Powell
057a585fba Automatic persistent text selection for ListViews
Use View transient state tracking to allow selection to persist across
ListView-style item view recycling.

Fix some bugs with transient state tracking.

Bug 6110122

Change-Id: Ic084b8fc2289bff718b19478a37ce64459b3ed4c
2012-05-11 14:26:17 -07:00
Jeff Brown
47272c932a am b12b6b51: Merge "Minor refactoring before starting on velocity tracker changes." into jb-dev
* commit 'b12b6b5116e3d76474296b45f570693bb10d6c99':
  Minor refactoring before starting on velocity tracker changes.
2012-05-11 14:06:30 -07:00
Jeff Brown
b12b6b5116 Merge "Minor refactoring before starting on velocity tracker changes." into jb-dev 2012-05-11 14:03:38 -07:00
Chet Haase
fd086b9510 am 76f08218: Merge "Fix quickReject logic for transformed views" into jb-dev
* commit '76f082189ec451433d942fcee5ca2913f4132e6b':
  Fix quickReject logic for transformed views
2012-05-11 13:02:43 -07:00
Jeff Brown
8a90e6e317 Minor refactoring before starting on velocity tracker changes.
Bug: 6413587
Change-Id: I5eba2bb57193bff78cb3740de5f87aca0b31d154
2012-05-11 12:32:56 -07:00
Chet Haase
1a3ab175b0 Fix quickReject logic for transformed views
When a parent draws its child views, each child's bounds is checked
against the current dirty region. If the view falls outside of that
region is is rejected and doesn't enter into the parent's DisplayList.

This works in general, for both transformed and untransformed views
(because we skip this check if the view is transformed). But it breaks down
when the transform properties of the view change later, since DisplayList
properties simply push these values down to the view's DisplayList without
invalidating the parent. If a view is rejected when untransformed, then there
is nothing to cause it to be considered again until something causes an
invalidate of the parent.

The fix is to note when a view is rejected and record that information.
Later, when one of the transform-related properties change, we invalidate the parent
to force the check to happen again, which will cause the view to get drawn
if it's visible.

Issue #6477730 quickRejected views must recreate their DisplayLists on transform changes

Change-Id: I70caf198005cd7e424a37bccc6ae050e09880a6c
2012-05-11 11:03:12 -07:00
Chet Haase
4a70bc72a8 am 26511012: Merge "Clear animations in DisplayLists when done" into jb-dev
* commit '26511012c40dbe704f4791654b28b9e0e05589d8':
  Clear animations in DisplayLists when done
2012-05-11 10:59:53 -07:00
Chet Haase
26511012c4 Merge "Clear animations in DisplayLists when done" into jb-dev 2012-05-11 10:57:40 -07:00
Jamie Gennis
78b8ef3f3a Surface: replace active rect with window crop
This change replaces the setActiveRectCrop method on Surface, which was called
from app processes, with the setWindowCrop method that is to be called from the
window manager.

Bug: 6299171
Change-Id: Ica51efcd8c488a526e7013b83d80df4856694519
2012-05-11 10:42:49 -07:00
Romain Guy
30b013bfba am d303dd3d: Merge "Prevent NPE in TextureView.getBitmap()" into jb-dev
* commit 'd303dd3da2af272d0beaac956a12e145b8386f45':
  Prevent NPE in TextureView.getBitmap()
2012-05-11 10:27:54 -07:00
Romain Guy
78245f77d2 Prevent NPE in TextureView.getBitmap()
This crash could occur when invoking setSurfaceTexture() then getBitmap()
before the View has a chance to be drawn.

Change-Id: I25c55df15750e59b9c916e8f750de2c89718d39e
2012-05-11 10:01:42 -07:00