Commit Graph

28927 Commits

Author SHA1 Message Date
Amith Yamasani
399a2977a5 am b3a98725: Merge "Show an error dialog when account type is requested on a limited user" into jb-mr2-dev
* commit 'b3a9872549137f6c3983609e48e5b2d4fc94a3d4':
  Show an error dialog when account type is requested on a limited user
2013-04-10 17:33:35 -07:00
Amith Yamasani
b3a9872549 Merge "Show an error dialog when account type is requested on a limited user" into jb-mr2-dev 2013-04-11 00:27:49 +00:00
Michael Wright
af543eb050 am 8881455a: Merge "Send joystick key repeat messages to correct handler" into jb-mr2-dev
* commit '8881455af119762a25d4548384322b8e4a2023dd':
  Send joystick key repeat messages to correct handler
2013-04-10 16:09:25 -07:00
Michael Wright
8881455af1 Merge "Send joystick key repeat messages to correct handler" into jb-mr2-dev 2013-04-10 23:04:13 +00:00
Amith Yamasani
23c8b96a7e Show an error dialog when account type is requested on a limited user
This covers the scenario where an app doesn't find an account of the
required type and requests the account manager to add one of that
type.

Bug: 8537648
Change-Id: I4d9c8842c2d90aa668f16034d3db007dc61714b8
2013-04-10 15:36:54 -07:00
Jaikumar Ganesh
7228e1aeb9 am 8ce470dd: GPS Hardware geofencing.
* commit '8ce470dd4ba0608abb6b5eae117cefca927af96b':
  GPS Hardware geofencing.
2013-04-10 15:34:35 -07:00
Jaikumar Ganesh
8ce470dd4b GPS Hardware geofencing.
Add support for doing geofencing in hardware.

Change-Id: I6d5015190e8d84e1f4beb1010ed977a71c1622d0
2013-04-10 15:25:07 -07:00
Adam Powell
4348fcddda am 8d06cc6d: Merge "Permit null adapters in Spinners" into jb-mr2-dev
* commit '8d06cc6d871fce6d5d6b6283027d4625edd92550':
  Permit null adapters in Spinners
2013-04-10 15:24:31 -07:00
Michael Wright
b9618523ad Send joystick key repeat messages to correct handler
Change-Id: I7f8dbe21c9088553ad2c5efe70585f516ab78141
2013-04-10 15:20:56 -07:00
Adam Powell
8d06cc6d87 Merge "Permit null adapters in Spinners" into jb-mr2-dev 2013-04-10 22:17:31 +00:00
Dianne Hackborn
a92e95e5d9 am 064fab54: Merge "Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats" into jb-mr2-dev
* commit '064fab54d743c6b00319ec08669e8b0872625317':
  Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats
2013-04-10 14:20:10 -07:00
Dianne Hackborn
064fab54d7 Merge "Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats" into jb-mr2-dev 2013-04-10 21:15:15 +00:00
Romain Guy
23886803a1 am 5180ed14: Merge "Instrument views inflation in systrace" into jb-mr2-dev
* commit '5180ed141db0f1acced4f19f37391572bc18280b':
  Instrument views inflation in systrace
2013-04-10 14:11:45 -07:00
Romain Guy
5180ed141d Merge "Instrument views inflation in systrace" into jb-mr2-dev 2013-04-10 21:07:09 +00:00
Dianne Hackborn
2323dd8d1e Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats
Bluetooth GID was wrong and pointless and dumb and now gone.

Change-Id: Ibde563ef0c10c6d316428e1e683b013005b934d4
2013-04-10 12:50:12 -07:00
Romain Guy
09f7b93a18 Instrument views inflation in systrace
Change-Id: If3cd80bc430893c701432f165b4c1f5943a4143c
2013-04-10 11:42:44 -07:00
Adam Powell
72d574cbe0 Permit null adapters in Spinners
Bug 8538144

Change-Id: I83f0ae78ce15f46827fb721cd0df1972b7d9d198
2013-04-10 11:27:08 -07:00
Chet Haase
78b24b6f03 am dacd4751: Merge "Fix Contacts animation jank" into jb-mr2-dev
* commit 'dacd47516321d263efa7489b5b9bd7d8e1714332':
  Fix Contacts animation jank
2013-04-10 10:51:53 -07:00
Chet Haase
dacd475163 Merge "Fix Contacts animation jank" into jb-mr2-dev 2013-04-10 17:49:56 +00:00
Chet Haase
58d110afa0 Fix Contacts animation jank
The last frame of an animation stays stuck on the screen for a couple of frames.
Specifically, the "Quick Contact" animation that animates the picture
closed (fades/scales it away) animates all the way to the end... then hangs there
briefly before being taken down.

The problem is a rendering bug where we correctly detect that a DisplayList
has nothing to draw (since the last frame is completely transparent, alpha==0),
but incorrectly ignore the fact that we cleared the transparent-background
window prior to not-drawing that DisplayList. When we detect that there's
nothing to draw, we don't bother swapping buffers. So even though we drew
the right thing (clearing the buffer), we didn't actually post the buffer to the
screen.

This change factors in both the clear and the draw to decide when to swap buffers.

Issue #8564865 Quick contact close animation jank redux

Change-Id: Ib922cff88a94f025b62f7461c1a29e96fe454838
2013-04-10 07:43:29 -07:00
Jeff Brown
55198db2db am 4dac901f: Rewrite touch navigation dpad synthesis.
* commit '4dac901f011e7c15882e260441225633a6435e49':
  Rewrite touch navigation dpad synthesis.
2013-04-10 03:56:56 -07:00
Jeff Brown
4dac901f01 Rewrite touch navigation dpad synthesis.
The new implementation more accurately tracks the velocity
of flings and takes care to avoid obvious discontinuities.
The main goal is for a fling to appear to be a linear
extension of the movement already in progress.  The minimum
fling velocity is set to ensure that flings appear to be
fairly smooth despite being discretized.

Use sequences of repeated key events instead of individual
down/up events to represent continuous motions in one
direction which can be helpful for stopping flings at boundaries
such as when flinging the cursor position within a text view.

Compute the movement thresholds based on the physical
size of the touch pad, if known.  If not known, we assume a
nominal size.

Support stopping flings with a tap just like we do for
normal touch events elsewhere in the framework.

Moved the detection of ASSIST swipes into the InputReader
where it belongs.  These swipes must be detected globally
to ensure consistent behavior across the all applications.

Added a custom protocol in EventHub to enable input device
drivers to override the timestamp of the following events
in a packet.  This change enables input device drivers
that have a better idea of when an input event was actually
generated to pass this information to the input system.
Particularly useful with uinput.

Bug: 8583760
Change-Id: I8ef4e827804786d549cfaa00793a2b9dd0fda465
2013-04-10 03:51:18 -07:00
Jeff Brown
f1cee03bf0 am 678a1252: Split up the event synthesis code by source.
* commit '678a1252b4f3cdc18d20b411c05a4320d1d9b719':
  Split up the event synthesis code by source.
2013-04-10 03:24:28 -07:00
Jeff Brown
678a1252b4 Split up the event synthesis code by source.
The goal is to better encapsulate this code to make it easier
to maintain and to facilitate some upcoming changes.

Some of the variables have been renamed but the logic is unchanged.

Bug: 8583760
Change-Id: I45501f7dabebcb938e42c386291d615d088a4c8c
2013-04-10 03:01:29 -07:00
Adam Powell
a26ec11a1e am 1e1ccfb8: Merge "Fix a monkey bug with AbsListView data set observers" into jb-mr2-dev
* commit '1e1ccfb88bf2d78d8876022fae6c5058548406e7':
  Fix a monkey bug with AbsListView data set observers
2013-04-09 18:54:40 -07:00
Adam Powell
1e1ccfb88b Merge "Fix a monkey bug with AbsListView data set observers" into jb-mr2-dev 2013-04-10 01:35:22 +00:00
Adam Powell
bd1dd0d51a Fix a monkey bug with AbsListView data set observers
Several conditions can cause an AbsListView's data set observer to be
removed and nulled out. If for some reason the view receives duplicate
onDetachedFromWindow events this could cause AbsListView to attempt to
unregister a null observer. Skip this unregister process if this
happens.

Bug 7088152

Change-Id: Ib0c630d1ee598640512023e4ef158f01e3ed474d
2013-04-09 17:46:15 -07:00
Jamie Gennis
bb2e031ace am 65b08486: Merge "Add APIs for application-generated systrace events" into jb-mr2-dev
* commit '65b08486fde649e6dd11f17808e7aa85101dea93':
  Add APIs for application-generated systrace events
2013-04-09 15:36:17 -07:00
Jamie Gennis
65b08486fd Merge "Add APIs for application-generated systrace events" into jb-mr2-dev 2013-04-09 22:30:52 +00:00
Chiao Cheng
3e41c7c9ba am 2355d131: Adding public api support for finding contact changes.
* commit '2355d13154d50687c0d8d74ea1c0e41ab9d88e7e':
  Adding public api  support for finding contact changes.
2013-04-09 14:20:02 -07:00
Chiao Cheng
2355d13154 Adding public api support for finding contact changes.
DeletedContacts holds a log of deleted contacts which will be pruned
after a certain amount of time.

A timestamp field has been added to contacts so clients can query
for changes.

Bug: 8182147
Change-Id: Ic6e56e567892712da3c3941400dfb3ddc565aaac
2013-04-09 14:12:31 -07:00
Jonathan Dixon
a9b3334688 am f38b070b: Merge "Hide PlusinsEnabled/PluginsPath methods" into jb-mr2-dev
* commit 'f38b070b31269e974298ec9e644814bcc2663c91':
  Hide PlusinsEnabled/PluginsPath methods
2013-04-09 13:15:27 -07:00
Jonathan Dixon
f38b070b31 Merge "Hide PlusinsEnabled/PluginsPath methods" into jb-mr2-dev 2013-04-09 20:09:29 +00:00
Jamie Gennis
f9c7d6bc15 Add APIs for application-generated systrace events
This change adds new APIs to enable applications to generate custom Systrace
begin/end events.  Application-generated events use the ATRACE_APP_TAG tag,
which is enabled only if either the application has declared itself debuggable
in its manifest or ro.debuggable is set to 1 on the device.

Change-Id: I311d09e2e6ed1a30f5ffa84907f250e11cc0d48d
2013-04-09 11:59:43 -07:00
Dianne Hackborn
e9b4ee692c am 558a3c1b: Merge "Kill processes when permissions are revoked." into jb-mr2-dev
* commit '558a3c1b7b40eb9356f8c4446ca63af8cf16bd91':
  Kill processes when permissions are revoked.
2013-04-09 10:42:09 -07:00
Dianne Hackborn
558a3c1b7b Merge "Kill processes when permissions are revoked." into jb-mr2-dev 2013-04-09 17:38:00 +00:00
Dianne Hackborn
f1b782427f Kill processes when permissions are revoked.
Some permissions are associated with gids, so we need to
kill any running processes if their permission is revoked.
We will do this for any permission being revoked, since
the association between gids and permissions can change
over time.

Change-Id: Ieb7408e032539c4f21eb089d65a7a7e6c289f010
2013-04-08 22:28:59 -07:00
Jeff Brown
9acc8c9c53 am 97b968b6: Merge "Fix trackball interpretation of precision." into jb-mr2-dev
* commit '97b968b6b3baf40e8cfd5ff147f81cd81398638a':
  Fix trackball interpretation of precision.
2013-04-08 17:03:22 -07:00
Jeff Brown
21dffd5d11 am 3a2854bc: Merge "Queues, queues, queues and input." into jb-mr2-dev
* commit '3a2854bcee08e3af3ca1b042c1fef6ca68f8c70a':
  Queues, queues, queues and input.
2013-04-08 17:03:20 -07:00
Jeff Brown
97b968b6b3 Merge "Fix trackball interpretation of precision." into jb-mr2-dev 2013-04-09 00:00:38 +00:00
Jeff Brown
3a2854bcee Merge "Queues, queues, queues and input." into jb-mr2-dev 2013-04-08 23:59:24 +00:00
Jeff Brown
c574b68cbb Fix trackball interpretation of precision.
The trackball to dpad synthesis was using the MotionEvent's precision
field to determine a threshold for movement but the calculations
involved did not actually make sense for any value of precision
less than 2.0.  This worked fine before since the InputReader
hardcodes the trackball's precision to 6.

Injected trackball events may have a different precision which can
result in the thresholds being set inappropriately.  For example,
it was not possible to move focus by one unit at a time when
the precision was set to 1.0.

The old code was probably using precision as a way to set a
threshold based on the trackball moving by some minimum number
of physical ticks, in this case 2.  But the code will work just
as well if we set an absolute threshold based on distance
traveled given that the input system is already expected to
normalize the trackball movements before delivering them to the
application.

So stop using precision.

Bug: 8473020
Change-Id: I3c6f7fb1b507f8cf5608b47550e7345fea3352fa
2013-04-08 16:53:59 -07:00
Jonathan Dixon
0bf4781ece Hide PlusinsEnabled/PluginsPath methods
These have been deprecated since API level 8 / 9. Plugins are deprecated
overall now, so there's no requirement for apps to call these any more.

Change-Id: I1a27557644238477df00979f9badc9aab0a526c6
2013-04-08 16:37:38 -07:00
Michael Wright
b74df06f9c am 605994d6: Merge "Fix off by one in ListView\'s upward focus traversal" into jb-mr2-dev
* commit '605994d6703c1856c4fad397e5b99d299fc80075':
  Fix off by one in ListView's upward focus traversal
2013-04-08 16:01:01 -07:00
Chet Haase
15c9e15e71 am b9604a34: Merge "Amend getOverlay() docs for SurfaceView/TextureView" into jb-mr2-dev
* commit 'b9604a34ab2afd52b675769ae737ee0dba875393':
  Amend getOverlay() docs for SurfaceView/TextureView
2013-04-08 15:57:29 -07:00
Michael Wright
605994d670 Merge "Fix off by one in ListView's upward focus traversal" into jb-mr2-dev 2013-04-08 22:57:02 +00:00
Chet Haase
b9604a34ab Merge "Amend getOverlay() docs for SurfaceView/TextureView" into jb-mr2-dev 2013-04-08 22:53:11 +00:00
Jeff Brown
f9e989d5f0 Queues, queues, queues and input.
Redesigned how ViewRootImpl delivers input events to views,
the IME and to native activities to fix several issues.

The prior change to make IME input event delegation use
InputChannels failed to take into account that InputMethodManager
is a singleton attached to the main looper whereas UI may be
attached to any looper.  Consequently interactions with the
InputChannel might occur on the wrong thread.  Fixed this
problem by checking the current thread and posting input
events or callbacks to the correct looper when necessary.

NativeActivity has also been broken for a while because the
default event handling logic for joysticks and touch navigation
was unable to dispatch events back into the native activity.
In particular, this meant that DPad synthesis from touch navigation
would not work in any native activity.  The plan is to fix
this problem by passing all events through ViewRootImpl as usual
then forwarding them to native activity as needed.  This should
greatly simplify IME pre-dispatch and system key handling
and make everything more robust overall.

Fixed issues related to when input events are synthesized.
In particular, added a more robust mechanism to ensure that
synthetic events are canceled appropriately when we discover
that events are no longer being resynthesized (because the
application or IME is handling or dropping them).

The new design is structured as a pipeline with a chain of
responsibility consisting of InputStage objects.  Each InputStage
is responsible for some part of handling each input event
such as dispatching to the view hierarchy or to the IME.
As a stage processes an input event, it has the option of
finishing the event, forwarding the event to the next stage
or handling the event asynchronously.  Some queueing logic
takes care to ensure that events are forwarded downstream in
the correct order even if they are handled out of order
by a given stage.

Cleaned up the InputMethodManager singleton initialization logic
to make it clearer that it must be attached to the main looper.
We don't actually need to pass this looper around.

Deleted the LatencyTimer class since no one uses it and we have
better ways of measuring latency these days using systrace.

Added a hidden helper to Looper to determine whether the current
thread is the indicated Looper thread.

Note: NativeActivity's IME dispatch is broken by this patch.
This will be fixed later in another patch.

Bug: 8473020
Change-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60
2013-04-08 15:31:47 -07:00
Michael Wright
b482a001f1 Fix off by one in ListView's upward focus traversal
Bug: 7985315
Change-Id: Ic67c8e346d6b51a5cfb05cc7d0c2b145b591b2db
2013-04-08 14:40:12 -07:00
Chet Haase
95399493c6 Amend getOverlay() docs for SurfaceView/TextureView
SurfaceView and TextureView do not currently support overlays
correctly; the docs now reflect this constraint.

Change-Id: I79183c02b51ae4cd14638198d0668b2c2e3e22e1
2013-04-08 14:30:31 -07:00