67376 Commits

Author SHA1 Message Date
Stephen Hines
1bb1178490 am 3be5c856: Revert "Test initialization of constant array exports."
* commit '3be5c8565154c9a6aa7abf0a0d61eaecf114b450':
  Revert "Test initialization of constant array exports."
2012-02-13 12:00:20 -08:00
Stephen Hines
3be5c85651 Revert "Test initialization of constant array exports."
This reverts commit f7c4ce0b6afae9ace59879d625bb9be6bc14899c.
2012-02-13 11:56:29 -08:00
Stephen Hines
f6c233a218 am dfb64e8c: Merge "Test initialization of constant array exports."
* commit 'dfb64e8c805dcb371c747e675bf58b4c9a10e49f':
  Test initialization of constant array exports.
2012-02-13 11:14:58 -08:00
Stephen Hines
dfb64e8c80 Merge "Test initialization of constant array exports." 2012-02-13 11:13:21 -08:00
Glenn Kasten
b9215280ad am 760a36f2: Merge "Factor out and speed up permission-checking code"
* commit '760a36f20702351f64863e14b2ae15ad1199fdcf':
  Factor out and speed up permission-checking code
2012-02-13 10:34:14 -08:00
Jeff Brown
684f4443d7 am 072ec96a: Implement batching of input events on the consumer side.
* commit '072ec96a4900d4616574733646ee46311cb5d2cb':
  Implement batching of input events on the consumer side.
2012-02-13 10:34:12 -08:00
Jeff Brown
eae4f92828 am 1adee11b: Optimize dispatcher for back-to-back finished signals.
* commit '1adee11b5e644c74a2ed40344f4836de3bd3ac56':
  Optimize dispatcher for back-to-back finished signals.
2012-02-13 10:34:09 -08:00
Jeff Brown
877f352b84 am d1c48a05: Dispatch multiple touch events in parallel.
* commit 'd1c48a0525d05021036d4b14e937e221c0ae1318':
  Dispatch multiple touch events in parallel.
2012-02-13 10:34:07 -08:00
Jeff Brown
477f82dc9a am 8b4be560: Delete premature optimization.
* commit '8b4be56030c3b8c93dfa45bccac7365f90f377ce':
  Delete premature optimization.
2012-02-13 10:33:59 -08:00
Glenn Kasten
760a36f207 Merge "Factor out and speed up permission-checking code" 2012-02-13 10:31:44 -08:00
Jeff Brown
dead32ccc1 am 28b5cf1c: Delete dead code.
* commit '28b5cf1c33df847d667b8974ba07c4157a49b48a':
  Delete dead code.
2012-02-13 10:31:21 -08:00
Jeff Brown
1863d69da8 am 59f1ff99: Delete latency tracking information in the Connection.
* commit '59f1ff99786e9d4a94270d6752aa3ca61e10f0a6':
  Delete latency tracking information in the Connection.
2012-02-13 10:31:19 -08:00
Jeff Brown
9ea6e4d291 am 9831d90d: Remove active connection tracking.
* commit '9831d90db8fba7e967d22b1f86eea1d6ac831541':
  Remove active connection tracking.
2012-02-13 10:31:11 -08:00
Jeff Brown
8eefb07925 am e9bb9be9: Simplify input target handling in the dispatcher.
* commit 'e9bb9be9e46523ed901e38cfa83f4630f6496418':
  Simplify input target handling in the dispatcher.
2012-02-13 10:31:08 -08:00
Jeff Brown
52acea839c am cbee6d6e: Rewrite input transport using sockets.
* commit 'cbee6d6ede0499fb4a2c00bfc00d5db8d9ed5139':
  Rewrite input transport using sockets.
2012-02-13 10:31:06 -08:00
Jeff Brown
efa35663ec am 3241b6b7: Remove batching and streaming from the input dispatcher.
* commit '3241b6b7bd7eff64f0118ba2d636030e505a98f9':
  Remove batching and streaming from the input dispatcher.
2012-02-13 10:31:03 -08:00
Glenn Kasten
81211143c3 Factor out and speed up permission-checking code
Use the caching permission check for dump to save IPC.

Cache getpid() to save kernel call for other permission checks.

The C runtime library getpid() can't cache due to a fork
race condition, but we know that mediaserver doesn't fork.

Don't construct String16 on the stack.

Change-Id: I6be6161dae5155d39ba6ed6228e7683e67be34ed
2012-02-13 10:30:23 -08:00
Jeff Brown
4ea576477f am d4762334: Merge "Process input events immediately when received."
* commit 'd4762334f103055b3aa59d97d027ace7c5950b6e':
  Process input events immediately when received.
2012-02-13 10:28:49 -08:00
Jeff Brown
485e4ae32c am 62d1058c: Merge "Remove the input dispatcher throttle."
* commit '62d1058cc972a8fcb7739547abd3298f5d98a9b1':
  Remove the input dispatcher throttle.
2012-02-13 10:28:47 -08:00
Jeff Brown
072ec96a49 Implement batching of input events on the consumer side.
To support this feature, the input dispatcher now allows input
events to be acknowledged out-of-order.  As a result, the
consumer can choose to defer handling an input event from one
device (because it is building a big batch) while continuing
to handle input events from other devices.

The InputEventReceiver now sends a notification when a batch
is pending.  The ViewRoot handles this notification by scheduling
a draw on the next sync.  When the draw happens, the InputEventReceiver
is instructed to consume all pending batched input events, the
input event queue is fully processed (as much as possible),
and then the ViewRoot performs traversals as usual.

With these changes in place, the input dispatch latency is
consistently less than one frame as long as the application itself
isn't stalled.  Input events are delivered to the application
as soon as possible and are handled as soon as possible.  In practice,
it is no longer possible for an application to build up a huge
backlog of touch events.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
2012-02-13 10:28:41 -08:00
Jeff Brown
1adee11b5e Optimize dispatcher for back-to-back finished signals.
Minor tweak to the dispatcher to handle as many finished signals
in a receive callback as possible instead of going back to
the Looper and waiting for the next poll() to hit the callback
again.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I8471107371693e21ce8ce7cca1e8d79ba4ca2351
2012-02-13 10:28:41 -08:00
Jeff Brown
d1c48a0525 Dispatch multiple touch events in parallel.
This change enables the input dispatcher to send multiple touch
events to an application without waiting for them to be acknowledged.
Essentially this is a variation on the old streaming optimization
but it is much more comprehensive.  Event dispatch will stall as
soon as 0.5sec of unacknowledged events are accumulated or a
focused event (such as a key event) needs to be delivered.

Streaming input events makes a tremendous difference in application
performance.  The next step will be to enable batching of input
events on the client side once again.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I025df90c06165d719fcca7f63eed322a5cce4a78
2012-02-13 10:28:41 -08:00
Jeff Brown
8b4be56030 Delete premature optimization.
This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I5c182f6e17d468bf3033125b2094b2baa5b94e81
2012-02-13 10:28:41 -08:00
Jeff Brown
28b5cf1c33 Delete dead code.
This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I9f8b93f6a25ddd872f993366b57bab404c93bede
2012-02-13 10:28:40 -08:00
Jeff Brown
59f1ff9978 Delete latency tracking information in the Connection.
The information gathered here will no longer be valid once we
start dispatching multiple events at a time to the same connection.
Moreover, we are more concerned with end-to-end latency, which we
can measure with sufficiently high accuracy in other ways.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I49a0c9876b64af56b40e96e0d98c45f325da2a73
2012-02-13 10:28:40 -08:00
Jeff Brown
9831d90db8 Remove active connection tracking.
The dispatcher no longer needs to track which connections are
active except perhaps for diagnostic purposes, so we might as well
remove this code.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: Ibadc830b7b792a59b9244d0a6e85f320c4947109
2012-02-13 10:28:40 -08:00
Jeff Brown
e9bb9be9e4 Simplify input target handling in the dispatcher.
Since we no longer stream events to the application, we don't need to
keep the current list of input targets around longer than it takes
to begin the dispatch cycle.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I5824b04e564c8a4dec991598292441e46c331905
2012-02-13 10:28:40 -08:00
Jeff Brown
cbee6d6ede Rewrite input transport using sockets.
Since we will not longer be modifying events in place, we don't need
to use an ashmem region for input.  Simplified the code to instead
use a socket of type SOCK_SEQPACKET.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I05909075ed8b61b93900913e44c6db84857340d8
2012-02-13 10:28:40 -08:00
Jeff Brown
3241b6b7bd Remove batching and streaming from the input dispatcher.
Don't worry, these features will be moving to a different part of
the pipeline.  We're just getting them out of the way for now so
we can make deeper changes to how the input dispatcher works.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: If97de923c8165776882eef23f5204cc448dad0fc
2012-02-13 10:28:39 -08:00
Jeff Brown
d4762334f1 Merge "Process input events immediately when received." 2012-02-13 10:26:40 -08:00
Jeff Brown
62d1058cc9 Merge "Remove the input dispatcher throttle." 2012-02-13 10:26:33 -08:00
Marc Blank
20fde39b92 am 5a1f6fb4: Merge "Use ' for apostrophe in HTML encoding"
* commit '5a1f6fb4073ee4b27359faa950808a6eeac33a4c':
  Use ' for apostrophe in HTML encoding
2012-02-13 10:21:58 -08:00
Marc Blank
5a1f6fb407 Merge "Use ' for apostrophe in HTML encoding" 2012-02-13 10:20:38 -08:00
Marc Blank
f4832da16a Use ' for apostrophe in HTML encoding
* We were using ' which is not correct

Change-Id: I4872da7d5e19f18ecd570dbcaac295020d66681c
2012-02-13 10:11:50 -08:00
Mike Lockwood
98007ef5a3 am f96901f8: Merge "Add support for non-linear ramping of master volume adjustment"
* commit 'f96901f8ccf7e5bdb05bb22ca1b522c381f05043':
  Add support for non-linear ramping of master volume adjustment
2012-02-10 21:58:01 -08:00
Mike Lockwood
f96901f8cc Merge "Add support for non-linear ramping of master volume adjustment" 2012-02-10 21:55:52 -08:00
James Dong
f91dc7dd96 am 8fdaf785: Merge "Change the signature of method addTextSource() in AwesomePlayer"
* commit '8fdaf785e2624f355c525c1370fe0837969e5072':
  Change the signature of method addTextSource() in AwesomePlayer
2012-02-10 17:59:22 -08:00
James Dong
8fdaf785e2 Merge "Change the signature of method addTextSource() in AwesomePlayer" 2012-02-10 17:57:16 -08:00
Wink Saville
cbf1b9725c am e4e04945: am 5caed1d9: am f11b6fbf: am 197fe269: Merge "Add OEM specific USB mode enumeration based on ro.bootmode property" into ics-mr1
* commit 'e4e04945e73ac06f7b39e07b9ba1d71339a2db49':
2012-02-10 17:03:21 -08:00
Wink Saville
e4e04945e7 am 5caed1d9: am f11b6fbf: am 197fe269: Merge "Add OEM specific USB mode enumeration based on ro.bootmode property" into ics-mr1
* commit '5caed1d99b99a011501c532fbf970324ea82e13d':
2012-02-10 17:00:51 -08:00
Wink Saville
0819b191a0 am 92881551: Merge "resolved conflicts for merge of e8b57fea to master"
* commit '928815515481551c8318d5decc7009f00b82a511':
  Add OEM specific USB mode enumeration based on ro.bootmode property
2012-02-10 16:59:06 -08:00
Wink Saville
9288155154 Merge "resolved conflicts for merge of e8b57fea to master" 2012-02-10 16:57:39 -08:00
Wink Saville
41b564f354 resolved conflicts for merge of e8b57fea to master
Change-Id: I2ccf2b4cb73faadd0c8608cc21dda5db888d2937
2012-02-10 16:11:18 -08:00
Mike Lockwood
9760647dd0 Add support for non-linear ramping of master volume adjustment
Bug: 5472584

Change-Id: I1227007d1563eca739fb78b6d9595febc04a3f03
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-02-10 15:58:07 -08:00
Glenn Kasten
ead488d82f am ad8d175b: mAudioHwDevs and related cleanup
* commit 'ad8d175b405373b9614ad4278f274eae706df588':
  mAudioHwDevs and related cleanup
2012-02-10 15:39:17 -08:00
Glenn Kasten
ad8d175b40 mAudioHwDevs and related cleanup
Inline AudioFlinger::initCheck and remove unnecessary lock.

Remove redundant check of mAudioHwDevs.size().

No need to lock mHardwareLock for each device separately
during initialization.

Use size_t not int to loop through Vector, since size() returns size_t.

Add missing hardware lock for get_mic_mute() and get_input_buffer_size().

Add comments.

Change-Id: Iafae78ef78bbf65f703d99fcc27c2f4ff221aedc
2012-02-10 15:36:46 -08:00
Glenn Kasten
e6f55c3d73 am da639f54: Merge "Simplify ThreadBase::exit() aka requestExitAndWait"
* commit 'da639f54382d9342793a05aec59f179dd172bd57':
  Simplify ThreadBase::exit() aka requestExitAndWait
2012-02-10 15:34:02 -08:00
Glenn Kasten
a69ab5ac9f am 6f5f9ce7: Merge "Disable HQ resamplers for now until qualified"
* commit '6f5f9ce713b3ea58cbc71f3f4b02c2b694ce9dec':
  Disable HQ resamplers for now until qualified
2012-02-10 15:33:59 -08:00
Glenn Kasten
9df62e2802 am d335c1cc: Merge "Move header declarations around for clarity"
* commit 'd335c1cc4f9980d3fe2600876bd068ee5cb0002e':
  Move header declarations around for clarity
2012-02-10 15:33:57 -08:00
Glenn Kasten
17f7228eeb am 3ebf95bb: Merge "Camel case readability & private disconnect(bool)"
* commit '3ebf95bb52c94d641fe8e49a7767dc73b1695ac7':
  Camel case readability & private disconnect(bool)
2012-02-10 15:33:55 -08:00