22543 Commits

Author SHA1 Message Date
Gilles Debunne
855f5407c7 Merge "Minor changes in SpellCheckSpan pool management in SpellChecker" into jb-dev 2012-05-15 02:57:00 -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
8ce2d78aa8 Merge "Improving accessibility focus traversal." into jb-dev 2012-05-14 18:26:24 -07:00
Dianne Hackborn
a827843f9b Merge "Fix issue #6020164: Settings crashed on orientation change..." into jb-dev 2012-05-14 17:31:53 -07:00
Dianne Hackborn
b61a02657b Fix issue #6020164: Settings crashed on orientation change...
...while listening to TTS example

This was a nice one.  What was happening is that immediately upon
being created, the activity was starting another activity in a
different process.  The second activity would never show, just
immediately exit.  However the original activity had time to
pause and get into stopping itself before the second activity had
come back to the activity manager to say it was going away, resulting
in the activity manager asking the original activity to resume.

At this point the activity manager's state is that the second
activity is finishing and gone, and the original activity is
resumed.  However in the app process the original activity is
still working on stopping itself, and it eventually completes
this and tells the activity manager.  The activity manager now
changes its state to STOPPED, even though it is actually resumed
and that is the last thing it told it to be, and it is now
proceeding to set itself in that state.

This would result later in the activity manager sending an
unnecessary state change to the application.  In the case of
the screen here, we next do a rotation change, the activity
manager thinks the current state is STOPPED not RESUMED, so it
tells the application to relaunch the activity in a new config
but not in the resumed state.  Now it does the whole "start a
new temporary activity" thing again, at which point it tries
to pause the original activity again, and we have an unbalanced
onPause() call to the app and it falls over.

Change-Id: I38b680746f4c61ae30e7ce831e1de187adf60902
2012-05-14 17:19:18 -07:00
Jeff Brown
00ff47484f Merge "More VelocityTracker refactoring." into jb-dev 2012-05-14 17:12:32 -07:00
Chris Craik
dbd98bfecb Merge "Remove unused native method" into jb-dev 2012-05-14 17:04:10 -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
George Mount
108feca9a0 Merge "Change selection to use left/right instead of base/extent." into jb-dev 2012-05-14 16:04:42 -07:00
Chris Craik
8230231c88 Remove unused native method
depends on external/webkit change: https://android-git.corp.google.com/g/#/c/190468/

bug:6486310
Change-Id: Id1c1eabf27135c73e45a489ab4c7cfa26e0c9def
2012-05-14 15:57:06 -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
Philip Milne
c8b7747bc0 Merge "Add validation code for GridLayout.LayoutParams" into jb-dev 2012-05-14 14:12:06 -07:00
Michael Jurka
143a02aa79 Merge "Prevent ViewPropertyAnimators from getting started twice" into jb-dev 2012-05-14 14:04:27 -07:00
Philip Milne
0f57cea898 Add validation code for GridLayout.LayoutParams
Bug 6404882.

The supplied code in this bug sets up a table with 2 columns and then
tries to add a component in column 5. Earlier attempts to fix this
by 'doing what the user meeant' had unwanted side-effects. This CL is
intended to defend against all ways to register invalid LayoutParams
and throw IllegalArgumentExcpetion when any column index falls outside the
range [0 .. N] where N is the number of columns. It also includes the
symmetrical check for rows.

Change-Id: I958a6d16035889cd954b78108773426e8b6b6d95
2012-05-14 13:42:05 -07:00
Chet Haase
728e43948c Merge "Minor touch-up of Animation docs" into jb-dev 2012-05-14 12:58:08 -07:00
George Mount
647827a5d3 Change selection to use left/right instead of base/extent.
Bug 5859620
 Simplify text selection to use left/right rather than
 base/extent. In combination with webkit change, this
 fixes RTL selection. The handle directions are properly-
 facing when the text direction is the same for both
 sides of selection.
 Webkit Change: I3362c5034ce08ce1517a86882c13b78aff35fe3f

Change-Id: Ib88ed2327182ba5b47b3e41584cbe944d05c8ada
2012-05-14 11:24:56 -07:00
Mathias Agopian
7ed1d6613e Merge "fix SurfaceView visibility state changes" into jb-dev 2012-05-13 23:50:32 -07:00
Svetoslav Ganov
8f76176016 Merge "Removing default accessibility gesture handling." into jb-dev 2012-05-13 19:09:35 -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
Svetoslav Ganov
7b1e0c7046 Removing default accessibility gesture handling.
1. The initial design was to have some accessibility gestures
   being handled by the system if the gesture handling access
   service does not consume the gesture. However, we are not
   sure what a good default is and once we add a default handler
   we cannot remove it since people may rely on it. Thus, we
   take the simples approach and let the accessibility service
   handle the gestures. If no gestures are handled the system
   will work in explore by touch as before.

bug:5932640

Change-Id: I865a83549fa03b0141d27ce9713e9b7bb45a57b4
2012-05-13 12:39:51 -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
Mangesh Ghiware
05efb04c38 Merge "Maintain the anchor at top/left on orientation change." into jb-dev 2012-05-12 16:04:00 -07:00
Mangesh Ghiware
cf034e3773 Maintain the anchor at top/left on orientation change.
Bug: 5291151
Change-Id: Id1d5c157668440fe4d0d1214477ba31e8f02d6b6
2012-05-12 14:46:05 -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
Jeff Brown
dca5fb9e7e Merge "Enable SQLite configuration to be set with system properties." into jb-dev 2012-05-11 18:19:39 -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
d83fdd03a1 Merge "Trace: add a tracing tag for video" into jb-dev 2012-05-11 17:17:47 -07:00
Jamie Gennis
c9e27d4ba1 Merge "Surface: replace active rect with window crop" into jb-dev 2012-05-11 17:17:31 -07:00
Jeff Brown
888da152ec Enable SQLite configuration to be set with system properties.
This change does not alter the behavior of the system except to
enable the use of system properties to override SQLite configuration
options for debugging.

Bug: 6484633
Change-Id: I8908a3ba07910a1193396e2e45791e9faa7be349
2012-05-11 16:36:24 -07:00
Adam Powell
7fc4fbccd6 Merge "Automatic persistent text selection for ListViews" into jb-dev 2012-05-11 16:34:15 -07:00
Gilles Debunne
0ae107ff34 Merge "Cut long text into multiple DL at start" into jb-dev 2012-05-11 16:14:02 -07:00
Jeff Sharkey
cd5862586a Merge "Enforce READ_EXTERNAL through Settings.Secure." into jb-dev 2012-05-11 15:47:01 -07:00
Chet Haase
4242893e32 Minor touch-up of Animation docs
Change-Id: Ifd615d352b9924d562f4238c8ed36a8f4e6a91fa
2012-05-11 15:39:07 -07:00
Gilles Debunne
71afc39d68 Cut long text into multiple DL at start
Bug 5763685

To improve performance, preventively cut the the into display
list of 3-10 lines of text. Further updates to small parts of
the text (such as adding an underline on a word) will only
invalidate and redraw the affected sub display list.

DLs are aligned with paragraphs, just like they will be during
text edition.

Change-Id: I0d60debc7fdaea8b29080a6eacb2d60205e7d547
2012-05-11 15:32:43 -07:00
Jeff Sharkey
f53857716a Enforce READ_EXTERNAL through Settings.Secure.
Always defers to user-defined setting, when present.

Bug: 6389556
Change-Id: I079d2a41b772facfdac74eefc4c8072fc9284f97
2012-05-11 15:31:39 -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
John Reck
dee9d9ab9f Merge "Prevent updateStateTrackers from being affected by preventDefault()" into jb-dev 2012-05-11 14:23:18 -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
John Reck
387c2e8d42 Prevent updateStateTrackers from being affected by preventDefault()
Bug: 6477996
 Calling e.preventDefault() on a javascript touch handler is apparantly
 not supposed to prevent the default gesture detector, who knew?

Change-Id: I6ee36e2fbc485b289b6dbb3464d8562c88e3be49
2012-05-11 13:50:57 -07:00
Teng-Hui Zhu
ef27936371 Merge "Fix a crash." into jb-dev 2012-05-11 13:45:13 -07:00
Teng-Hui Zhu
422400f92d Fix a crash.
End can happen when error happens, but media controller may be not ready yet.

bug:5340224
Change-Id: I94607dfdf26d2dc4c7bbc9c2a62f98deccb8d198
2012-05-11 13:00:03 -07:00
Chet Haase
76f082189e Merge "Fix quickReject logic for transformed views" into jb-dev 2012-05-11 12:59:41 -07:00