22273 Commits

Author SHA1 Message Date
Fabrice Di Meglio
2367706473 Merge "Add View.onResolvePadding() as a public API" 2012-02-16 14:36:28 -08:00
John Grossman
37237839e8 Add Java interfaces to the common_time services.
Add classes to handling binder marshalling to and from the native
common_time interfaces (config and clock)

Change-Id: I04fc429d9af27736c4f7f9b5468011ffdd4d7eaa
Signed-off-by: John Grossman <johngro@google.com>
2012-02-16 13:45:10 -08:00
Svetoslav Ganov
cb46d80d21 Merge "Adding shell commands for modifying content." 2012-02-16 13:06:29 -08:00
Justin Ho
9d7b99976f am 09170888: am cc1bd4bb: am c470b2dd: Merge "Part of fixing issue #6006757: Keyboard dismissal lags" into ics-mr1
* commit '09170888cbc501cd9819b1caccc99592bc6dd73f':
  Part of fixing issue #6006757: Keyboard dismissal lags
2012-02-16 09:29:53 -08:00
Justin Ho
cc1bd4bbbc am c470b2dd: Merge "Part of fixing issue #6006757: Keyboard dismissal lags" into ics-mr1
* commit 'c470b2dd49ae2c4894de22f7bdd9f91af1a085f8':
  Part of fixing issue #6006757: Keyboard dismissal lags
2012-02-16 09:24:42 -08:00
Selim Gurun
d8d6afdc06 Merge "Revert "Act on credential storage updates."" 2012-02-15 19:04:58 -08:00
Selim Gurun
43e41580e4 Revert "Act on credential storage updates."
This reverts commit fcd93b72a3dde2b20fa0d8b04d3f47311b0856a1
2012-02-15 19:04:04 -08:00
Romain Guy
8963822068 Merge "Prevent AutoCompleteTextView from opening a popup when it shouldn't Bug #5553515" 2012-02-15 18:36:55 -08:00
Romain Guy
c27cc01f6a Prevent AutoCompleteTextView from opening a popup when it shouldn't
Bug #5553515

The People app is forcing ACTV to show the IME which had the side effect
of showing the drop down popup. ACTV was unfortunately not ready to show
the drop down if the filtering resulted in no results. Doing so was putting
ACTV in a weird state that in turn caused a window to be leaked and really
bad behavior to occur in the lower graphics levels.

Change-Id: I2ff146d5ae4e4a28edf6ea17039c9f8fdb710e4f
2012-02-15 18:34:37 -08:00
Dianne Hackborn
a82ba54b0b Part of fixing issue #6006757: Keyboard dismissal lags
This adjust various paths through InputMethodManager so that the flow
in switching focus from one application to another is cleaner, resulting
in less work being done, resulting in it being able to happen quicker.

Some of the changes here avoid doing stuff when not needed, such as when
we are told to unbind but are not currently the active input.  A big part
is also a change to the flow when a window receives input.  Previously
this would first do a checkFocus() which would tell the input method to
switch focus to whatever view has focus in the window, followed by the
windowGainedFocus() call telling it the window had gained focus.  This
would result in extra work because the input method service would first
handle the focus switch, seeing the IME is currently displayed, so the IME
would remain up and reset its focus to the new view.  The app would
immediately then tell it about the window, causing the service to find out
the IME should be hidden and telling the IME, but the IME couldn't hide
itself until it had first take care of switching its input.

There is the definite potential of this breaking IME showing/hiding in
cases depending on the order things may be relying on them to happen.  I
haven't seen any problems with a brief trip through the UI.

Change-Id: I8494cbd6e19e2ab6db03f2463d9906680dda058b
2012-02-15 18:19:55 -08:00
John Reck
d22bf4b09a Merge "Initial support for keyboard navigation" 2012-02-15 18:04:16 -08:00
Selim Gurun
e83b83fe20 Merge "Act on credential storage updates." 2012-02-15 17:48:12 -08:00
Romain Guy
f7280ccbfe Merge "Add a compile time condition to remove unnecessary code" 2012-02-15 16:41:29 -08:00
Romain Guy
fe455af277 Add a compile time condition to remove unnecessary code
Change-Id: Ia44916af8e22e548fbb62cb2b53da285d5959102
2012-02-15 16:40:20 -08:00
Fabrice Di Meglio
ccb1562e90 Add View.onResolvePadding() as a public API
- following a comment from Dianne on this CL:

Change-Id: Ifa11d6ac423f205d0684297d25885eac1a89f279
https://android-git.corp.google.com/g/#/c/123009/1
2012-02-15 15:52:19 -08:00
Jeff Brown
57ff581bd9 Merge "Keep the display event receiver around forever." 2012-02-15 15:44:14 -08:00
Jeff Brown
1654d0b8d9 Keep the display event receiver around forever.
There is really no point disposing the display event receiver
anymore.  Moreover, it's hard to choose a good time to do it
since the Choreographer only supports one-shot callbacks now.

So let's made the code simpler.

Bug: 5721047
Change-Id: I8533a54e93a787e0ca30d99a1f1eea85534b13b9
2012-02-15 15:40:52 -08:00
Jeff Brown
c4c0a22ae9 Merge "Simplify Choreographer API." 2012-02-15 15:37:49 -08:00
Jeff Brown
4a06c8008b Simplify Choreographer API.
Removed the listeners and schedule animation / draw methods.
Instead all requests are posted as one-shot callbacks, which is a
better match for how clients actually use the Choreographer.

Bug: 5721047
Change-Id: I113180b2713a300e4444d0d987f52b8157b7ac15
2012-02-15 15:06:01 -08:00
Svetoslav Ganov
25872aa3ef Adding shell commands for modifying content.
1. Added methods to the ActivityManagerService remote interface
   that allow accessing content providers outside of an application.
   These methods are guarded by an internal signature protected
   permission which is given to the shell user. This enables a
   shell program to access content providers.

2. Implemented a shell command that takes as input as standart
   fagls with values and manipulates content via the content provider
   mechanism.

Change-Id: I2943f8b59fbab33eb623458fa01ea61a077b9845
2012-02-15 14:55:47 -08:00
Fabrice Di Meglio
54546f22fb Make MarginLayoutParams startMargin and endMargin API public
Change-Id: I519f8ede818b068883ee1565d28e188298af9f0e
2012-02-15 14:54:48 -08:00
Jesse Wilson
3200d086a6 Merge "Implement the (hidden) ExtendedResponseCache interface." 2012-02-15 14:17:55 -08:00
Fabrice Di Meglio
2c884826b2 Make View paddingStart and paddingEnd API public
Change-Id: I39fd987c866e8bfadbaa9a29c0e38b3b7ce03f7e
2012-02-15 13:57:09 -08:00
Jesse Wilson
18c227ba72 Implement the (hidden) ExtendedResponseCache interface.
Bug: http://code.google.com/p/android/issues/detail?id=25418
Change-Id: I4b20d576bac7036f94e57db7124de44f5b8d75be
2012-02-15 16:53:57 -05:00
Romain Guy
cb1abb15a7 Merge "Make it easier to enable dirty regions debugging" 2012-02-15 12:38:05 -08:00
Romain Guy
b04f7e9438 Make it easier to enable dirty regions debugging
adb shell setprop hwui.debug_dirty_regions true

Change-Id: Ifd269c443f5257b1e9c4ea987b134dcf6231106c
2012-02-15 12:36:54 -08:00
John Reck
9b24dad746 Initial support for keyboard navigation
Bug: 6019693

Change-Id: I8d29a5cb46fc59bb2f53e8d334bc767b5ed16901
2012-02-15 11:04:03 -08:00
Gilles Debunne
8181201c6e Merge "Invalidate display list on alpha change" 2012-02-15 10:23:18 -08:00
Selim Gurun
fcd93b72a3 Act on credential storage updates.
Bug: 6009802

Listen to credential storage updates and clean state when necessary.

Change-Id: I48f2e7d6e036882c2b4a29fbd357ca018fd4e4c7
2012-02-15 10:02:25 -08:00
Steven Ross
71878402dd Merge "Removing dependence on enable_facelock" 2012-02-15 03:29:57 -08:00
Jeff Brown
fef3d62b16 Merge "Add support for posting Runnables to the Choreographer." 2012-02-14 19:41:32 -08:00
Jeff Brown
472ea60685 Merge "Add a barrier mechanism to the MessageQueue." 2012-02-14 19:41:22 -08:00
Jeff Brown
968588573c Add support for posting Runnables to the Choreographer.
Also clean up the Choreographer so that it doesn't directly extend
Handler and so that it doesn't schedule animation or drawing unless
there are listeners or callbacks attached.

Bug: 5721047
Change-Id: I35350c8d41d4fa3f8c8c7bc43edd82e581b55a68
2012-02-14 19:36:12 -08:00
Jeff Brown
e799cb78b4 Add a barrier mechanism to the MessageQueue.
The synchronization barrier enables selectively blocking
execution of synchronous messages until the barrier is released.
Asynchronous messages may continue running in the meantime.

The barrier is intended to be used to implement more sophisticated
scheduling policies related to view hierarchy traversals.  While
traversals are pending, most messages posted to the message queue
must be held up.  This is to satisfy the invariant that traversals
will occur before subsequently posted messages are handled.

The exception to this rule are "asynchronous" messages that represent
external events or interrupts that come from other components such
as VSYNC pulses, input events or sensor events.  Because these messages
are typically delivered at arbitrary times, they are independent of
traversals or other typical synchronization boundaries.

Messages can now be flagged as asynchronous to indicate that they
are weakly ordered.

Bug: 5721047
Change-Id: I1446dcfbc896f33b48355adc28967ace8c8c9b9b
2012-02-14 19:27:15 -08:00
Svetoslav Ganov
b36a0ac970 Incorrect behavior of View clear focus v2.0.
The framework tries to have a focused view all the time. For
that purpose when a view's focus is cleared the focus is given
to the first focusable found from the top. The implementation
of this behavior was causing the following issues:

1. If the fist focusable View tries to clear its focus it
   was getting focus but the onFocusChange callbacks were not
   properly invoked. Specifically, the onFocusChange for
   gaining focus was called first and then the same
   callback for clearing focus. Note that the callback
   for clearing focus is called when the View is already
   focused.

2. If not the first focusable View tries to clear focus,
   the focus is given to another one but the callback
   for getting focus was called before the one for clearing,
   so client code may be mislead that there is more than
   one focused view at a time.

3. (Nit) The implementaion of clearFocus and unFocus in ViewGroup
   was calling the super implementaion when there is a
   focused child. Since there could be only one focused View,
   having a focused child means that the group is not focused
   and the call to the super implementation is not needed.

4. Added unit tests that verify the correct behavior, i.e.
   the focus of the first focused view cannot be cleared
   which means that no focus change callbacks are invoked.
   The callbacks should be called in expected order.
   Now the view focus clear precedes the view focus gain
   callback. However, in between is invoked the global
   focus change callback with the correct values. We may
   want to call that one after the View callbacks. If
   needed we can revisit this.

Change-Id: I8cfb141c948141703093cf6fa2037be60861cee0
2012-02-14 17:50:51 -08:00
Gilles Debunne
5e78d9bea5 Invalidate display list on alpha change
Bug 5945886

Change-Id: Ibab3ad2c9e526c038672699b571de154dfc8d17c
2012-02-14 17:46:43 -08:00
Chris Craik
d658c024ea Merge "disable webkit paint pausing" 2012-02-14 15:56:08 -08:00
Amith Yamasani
dd29f8c4e3 Merge "Revert "Incorrect behavior of View clear focus."" 2012-02-14 15:52:17 -08:00
Gilles Debunne
626c316975 Display list invalidated on hint text change
Bug 5993119

Change-Id: I750e73cb5c26e2aaa2a88a80cf35c4d471c30403
2012-02-14 15:46:43 -08:00
Amith Yamasani
73eb97f628 Revert "Incorrect behavior of View clear focus."
This reverts commit c6fd88e213703a581fe4680259981f09ae0444f2
2012-02-14 15:45:15 -08:00
Chris Craik
644b7d95f0 disable webkit paint pausing
Temporary measure for investigating potentially related bug:5964385

Change-Id: I6eb0ba25991bdf7eab506b51a9eae71e9ddd436b
2012-02-14 15:29:39 -08:00
Fabrice Di Meglio
d7c845c39a Merge "Make textDirection API public" 2012-02-14 14:45:51 -08:00
Gilles Debunne
43db1d9c47 Merge "Minor typo fixes" 2012-02-14 14:41:15 -08:00
Teng-Hui Zhu
728f1ed5e3 Merge "Update the scale while updating the drawGL functor" 2012-02-14 12:51:19 -08:00
Teng-Hui Zhu
7e2346d51a Update the scale while updating the drawGL functor
bug:6008955

webkit change:
https://android-git.corp.google.com/g/#/c/165734/

Change-Id: I5ba7998a6b8f33b44582b0158ba966054aaad2a8
2012-02-14 11:29:52 -08:00
Chet Haase
bcca79acb1 Refactor animation code in new Draw() method into its own method.
Ongoing cleanup of View drawing code, continuation of drawChild() refactoring.

Change-Id: I6d7383bb858d39ced6917d559defe7713e53de38
2012-02-14 09:16:39 -08:00
Steven Ross
c9237f41a4 Removing dependence on enable_facelock
With this change, FaceUnlock is enabled by default when installed
fixes 5989485

Change-Id: Icbce3237ff533e8b7b88faf592ac4a1e143d5dc3
2012-02-14 09:27:00 -05:00
Chet Haase
4212d3fc73 Merge "Refactor ViewGroup.drawChild() into View.draw()" 2012-02-14 06:20:16 -08:00
Jeff Brown
a9daa164a5 Merge "Fix possible races in vsync infrastructure." 2012-02-13 20:38:24 -08:00
Jeff Brown
58aedbc9be Fix possible races in vsync infrastructure.
Applications sometimes crashed on exit due to the display event
receiver pipe apparently being closed while still a member of the
Looper's epoll fd set.

This patch fixes a few different possible races related to
the display event receiver lifecycle.

1. The receiver used to play a little dance with the Looper,
registering and unregistering its callback after each vsync
request.  This code was a holdover from a time before the
surface flinger supported one-shot vsync requests, so we can
get rid of it and make things a lot simpler.

2. When the Choreographer is being accessed from outside the UI
thread, it needs to take great care that it does not touch
the display event receiver.  Bad things could happen if the receiver
is handling a vsync event on the Looper and the receiver is
disposed concurrently.

3. It was possible for the Choreographer to attempt to dispose
the receiver while handling a vsync message.  Now we defer disposing
the receiver for a little while, which is also nice because we
may be able to avoid disposing the receiver altogether if we find
that we need it again a little while later.

Bug: 5974105
Change-Id: I77a158f51b0b689af34d07aee4245b969e6260d6
2012-02-13 20:34:38 -08:00