22212 Commits

Author SHA1 Message Date
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
d4762334f1 Merge "Process input events immediately when received." 2012-02-13 10:26:40 -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
efeba018bd EthernetDataTracker: Don't run DHCP or set network available until link is up
Previously we were starting DHCP as soon as the interface was added,
which is at boot on devices with builtin ethernet.

Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-02-10 14:44:08 -08:00
Mike Lockwood
ce952c8e13 AudioManager: Add support for master mute
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 14:44:05 -08:00
Mike Lockwood
4767690f09 AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.
This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 14:44:04 -08:00
Doug Zongker
d60ae7f668 store the hw addr in the extraInfo field of ethernet NetworkInfos 2012-02-10 14:44:03 -08:00
Amith Yamasani
f0451db422 Merge "Multi-user - wallpaper service" 2012-02-10 14:34:52 -08:00
Amith Yamasani
37ce3a8af6 Multi-user - wallpaper service
- Allow each user to have their own wallpaper (live or static).
- Migrate old wallpaper on upgrade.
- Update SystemBackupAgent to backup/restore from primary user's
  new wallpaper directory.

Reduce dependency on Binder.getOrigCallingUser() by passing the
userId for bindService.

Change-Id: I19c8c3296d3d2efa7f28f951d4b84407489e2166
2012-02-10 14:34:07 -08:00
Dianne Hackborn
16e19ce919 Merge "Clean up and expose LongSparseArray." 2012-02-10 13:07:54 -08:00
Dianne Hackborn
9c1d2980f2 Clean up and expose LongSparseArray.
Change-Id: I15ba98d65e790ba45391cc7714f60b6e7de6ebfc
2012-02-10 13:02:11 -08:00
Mike Lockwood
c067c9c373 Add support for disabling wallpaper service
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 12:52:46 -08:00
Mike Lockwood
cba928cef7 SystemServer: Add support for disabling AudioService and MountService
Using the same convention in system_init.cpp, you can disable these
services by setting system properties:

	system_init.startaudioservice=0
	system_init.startmountservice=0

Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 12:02:04 -08:00
Mike Lockwood
11ca31729c Merge changes Id747dc81,I3a74bd36,I2395527c,I86aeb066,Ic33d5766,I7bef7390,I4b797dd8,Id3622e9e,I28087c63,Ia1c6d909,I95a766dd,I6c0236c5,Ib71287f4,I4bcbefdc,I22a7cb8d,Ie24dbeaf,I7dbc4b45,I21d524ea,Iaa5bf14e,I7db766c3,I93fcaca2,I1eb72044,I05ffbe7c,Ifdfe2ff8,Ia8f767a2
* changes:
  Fix problems dispatching media button events on headless devices
  Add headless mode for running the framework without the surface flinger
  SettingsProvider: Allow overridding default value for Setttings.Secure.DEVICE_PROVISIONED
  Load lockscreen.disabled setting on database create as well as upgrade
  SystemUI: Log an error instead of throwing an exception if navigation bar is enabled in tablet UI
  SettingsProvider: Add support for overriding lockscreen.disabled default value
  Allow overriding default STAY_ON_WHILE_PLUGGED_IN setting value in an overlay
  Disable output processing when opening serial port.
  Update aidl for new Broker API.
  aidl: All flattenable types now must also be parcelable.
  Update aidl to new APIs.
  Suport RpcData as a parcelable type.
  Modified AIDL to support authentication
  Fix disconnect from wired ethernet issues.
  Fix PresenterClass by adding a _listener field
  add presenters to aidl.
  Add SerialPort.sendBreak()
  Generate fallthrough for unhandled actions in RPC methods.
  PhoneWindowManager: Disable boot progress dialog on headless builds
  Support custom flattenable types for RPC.
  SystemServer: Don't start A2DP service if audio is not enabled
  Add RpcData as a built-in marshallable type.
  Add the full suite of RpcData types.
  Checkpoint adding @home RPC support to aidl
  ActivityManager: Make sure BOOT_COMPLETED Intent is sent when running headless
2012-02-10 11:50:10 -08:00
Mike Lockwood
1e11c6519a Merge "New Serial Manager API:" 2012-02-10 11:41:41 -08:00
Dianne Hackborn
d262744b7e Merge "Some cruft removal." 2012-02-10 11:14:39 -08:00
Dianne Hackborn
21fbd1f7da Some cruft removal.
Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
2012-02-10 10:54:15 -08:00
Mike Lockwood
7bef73900b SettingsProvider: Add support for overriding lockscreen.disabled default value
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:23 -08:00
Mike J. Chen
4bcbefdc5f Fix disconnect from wired ethernet issues.
When a cable was unplugged, we were telling the driver to release the
ip address so if a cable on a different network was plugged in, it would
still try to use it's old ip address on the new network, which probably
didn't work.

Also, we didn't notify ConnectivityService about the state change in
the unplug case.  Some of this was done in the interface removed case,
but we never remove the interface in Tungsten, just unplug.  So refactor
the common disconnect code into a disconnect() function that's called
by both the link status change (unplug) and interface removal (only applies
to things like USB ethernet dongles) cases.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2012-02-10 10:51:22 -08:00
Mike Lockwood
7dbc4b457d Add SerialPort.sendBreak()
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:21 -08:00
Mike Lockwood
b01e8bf57b New Serial Manager API:
SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports

IO with both array based and direct ByteBuffers is supported.

Accessing serial ports requires android.permission.SERIAL_PORT permission

Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).

In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:19 -08:00
Mike Lockwood
8dc1dabd25 VolumePanel: Add support for master volume
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 09:05:49 -08:00
Mike Lockwood
8517e46f3d Save and restore master volume in the settings provider
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 09:05:39 -08:00
satok
59d46b0665 Merge "Add an api to switch to the next IME and subtype" 2012-02-10 02:22:57 -08:00
satok
688bd47fcc Add an api to switch to the next IME and subtype
Bug: 5975302

Change-Id: I48aa4220159c65f456d61a324efcdf0a1ceec91c
2012-02-10 16:44:12 +09:00
Dianne Hackborn
d10035d52b Merge "Some hardening of isolated processes by restricting access to services." 2012-02-09 18:08:38 -08:00
Dianne Hackborn
a573f6a1d9 Some hardening of isolated processes by restricting access to services.
Services now must explicitly opt in to being accessed by isolated
processes.  Currently only the activity manager and surface flinger
allow this.  Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration.  The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.

The activity manager now protects most of its entry points against
isolated processes.

Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
2012-02-09 18:06:01 -08:00
Scott Main
e7eeace594 am ec12ae99: am 79cfde69: am 52bfc243: docs: fix misc doc bugs from external issue tracker
* commit 'ec12ae9933e463181338834387caa7c58b330635':
  docs: fix misc doc bugs from external issue tracker
2012-02-09 12:53:12 -08:00
Scott Main
79cfde69fd am 52bfc243: docs: fix misc doc bugs from external issue tracker
* commit '52bfc243684b2f340da326aaa38e9021e4e3b2e6':
  docs: fix misc doc bugs from external issue tracker
2012-02-09 12:48:08 -08:00
Scott Main
52bfc24368 docs: fix misc doc bugs from external issue tracker
Change-Id: If6ff3476670e42b321d56d4a1482ccff96d4d500
2012-02-09 12:45:16 -08:00
Dianne Hackborn
7ff3144aa6 Merge "Add new feature for running services in "isolated" sandbox processes." 2012-02-09 11:20:07 -08:00
Dianne Hackborn
a0c283eac3 Add new feature for running services in "isolated" sandbox processes.
This reserves a range of uids (for each user) in which these processes
run.  These uids are not associated with an application, so they
effectively run with no permissions.  When a Service requests to
run in such a process through android:isolatedProcess="true", each
time it is brought up a new isolated process is started with its
own unique uid.

What we have so far gives us the basic infrastructure; more work
remains to further lock down what these uids have access to.

Change-Id: Ibfd27c75619cba61f528f46ede9113f98dc5f45b
2012-02-09 11:18:33 -08:00
Steve Block
0777d2df89 Merge "Clarify comments for WebSettings." 2012-02-09 03:04:49 -08:00
Gilles Debunne
c067717c1e Merge "Invalidate text display list when text properties change." 2012-02-08 10:27:46 -08:00
Mikhail Naganov
605a491c28 Clarify comments for WebSettings.
setLoadsImagesAutomatically
getLoadsImagesAutomatically
setBlockNetworkImage
getBlockNetworkImage
setBlockNetworkLoads
getBlockNetworkLoads

Change-Id: Ic1486266a77254044425cdb51cce5c982ea0617c
2012-02-08 16:34:29 +00:00
Romain Guy
bc52cce276 Better error message when drawing with recycled bitmaps
Change-Id: Ie8332261c4376f270ea630d775210198c0196447
2012-02-07 19:40:19 -08:00
Jeff Brown
f9261d20b3 Process input events immediately when received.
Reduce the latency for handling input events by ensuring that they are
handled as soon as they are received from the dispatcher.  This also
makes it easier for the input system to intelligently batch motion events.

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

Bug: 5963420
Change-Id: I0b3f6cbb3de5ac3c4eed35dfc774d6bd4a0b07fc
2012-02-07 18:38:11 -08:00
Fabrice Di Meglio
ed219c117d Merge "Fix bug #5979311 Change TextView to not clip top/bottom text" 2012-02-07 17:49:47 -08:00
Fabrice Di Meglio
132bda1cff Fix bug #5979311 Change TextView to not clip top/bottom text
Change-Id: I40a2ef40e540f20a9f626ab2e4e6e39fd062c9fe
2012-02-07 17:31:38 -08:00
Gilles Debunne
2e85274d26 Invalidate text display list when text properties change.
Bug 5887530, Bug 5945886, Bug 5904371

Added more invalidation when other properties of the text are changed.

Change-Id: I618dbaae9da64bf72dd29e444215b7de1c644573
2012-02-07 17:11:17 -08:00
Romain Guy
68c02e25e8 Merge "Preliminary support for clipRect(Rect, Op)" 2012-02-07 17:07:00 -08:00
Romain Guy
967e2bf3ac Preliminary support for clipRect(Rect, Op)
This adds basic support for clip regions. It is currently disabled at compile
time. Enabling clip regions will require setting up a stencil buffer.

Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
2012-02-07 17:04:34 -08:00
Jeff Sharkey
b5718c29ae Merge "Send broadcast when changing restrict background." 2012-02-07 15:50:02 -08:00
Jeff Sharkey
1f8ea2dcd1 Send broadcast when changing restrict background.
When changing global restrict background status, send connectivity
change broadcast, since it radically changes DISCONNECTED/BLOCKED
status system-wide.

Also reduce verbose stats logging.

Bug: 5854466
Change-Id: I3b612c520f50cc3000a3a569b7e0ab5f691cc2bd
2012-02-07 12:08:58 -08:00
Svetoslav Ganov
d36ad9b1ff Merge "Adding a method for retching the root node in UiTestAutomationBridge" 2012-02-07 12:07:23 -08:00
Svetoslav Ganov
b765db590f Adding a method for retching the root node in UiTestAutomationBridge
bug:5974791

Change-Id: I46a8b6a259ba31f27fcd6a71d06dc34efdb4de76
2012-02-07 12:05:16 -08:00
Marco Nelissen
f047c14f23 Merge "Make media scanner use new delete-parameter" 2012-02-07 08:28:02 -08:00
Marco Nelissen
ac259f17a0 Make media scanner use new delete-parameter
This speeds up the media scan case where many files were deleted or moved.

Change-Id: I86e6fc6d0968eebf24923c0b5587b90d309721bb
2012-02-07 07:54:39 -08:00
Craig Mautner
a52b6e7bcf Merge "Extract code from performLayoutAndPlaceSurfacesInnerLocked() into multiple methods." 2012-02-06 17:04:23 -08:00