13808 Commits

Author SHA1 Message Date
John Spurlock
6156017c22 Move AudioService to services.
...and a few dependencies. Move remaining shared items to AudioSystem.

Change-Id: Ib9623ff867678d34977337856bb0156e8cdaeeb5
2015-02-09 17:13:38 -05:00
Mike Lockwood
10024b3dc1 MidiManager updates:
MIDI ports are now implemented as file descriptors directly between the sender
and receiver, so the MidiService is no longer in the message path.

To facilitate the above, each port has its own file descriptor, rather than multiplexing
all ports on a device through a single socket.

Added a new class MidiDeviceServer, which is used by implementors of MIDI devices.
This replaces the MidiVirtualDevice class (which only was included in changes that were reviewed but never submitted).

The USB MIDI implementation has moved from the MIDI service to the USB service.
The USB MIDI implementation uses MidiDeviceServer as its interface, so we now have a common
interface for all MIDI device implementations.

Change-Id: I8effd1583f344beb6c940c3a24dbf20b477a6436
2015-01-14 16:51:54 -08:00
Santos Cordon
8c07abe220 am 02775fca: am 8dd185b0: am 5d2c1e69: (Telecom-system part 3) Adding Telecom Loader Service
* commit '02775fca2b78af8089e9f50575ca639898f4f21c':
  (Telecom-system part 3) Adding Telecom Loader Service
2014-12-09 23:20:31 +00:00
Santos Cordon
02775fca2b am 8dd185b0: am 5d2c1e69: (Telecom-system part 3) Adding Telecom Loader Service
* commit '8dd185b08fae8d41bec558ab5a63012454cbb78e':
  (Telecom-system part 3) Adding Telecom Loader Service
2014-12-09 00:18:08 +00:00
Santos Cordon
5d2c1e69ec (Telecom-system part 3) Adding Telecom Loader Service
Bug: 18112269
Change-Id: I85ab03156bf906fdc72b459c4c68240ab3bf1894
2014-12-08 23:30:10 +00:00
Mike Lockwood
67f8e8bd89 MIDI Manager work in progress
Still to do:

Add MidiInputPort and MidiOutputPort classes
Schedule sending MIDI events in the future
Security/permissions
Reconsider interface for virtual devices
Look into performance optimizations

Change-Id: I9b7d63b196996a04be0a830efa913043da1328a8
2014-12-08 10:45:37 -08:00
dcashman
6ec2cbd8d2 am c25cfc57: am 24d02652: Merge "Prevent EntropyMixer from registering with service manager."
* commit 'c25cfc57e0d863b002620f5e7dd14822418c678f':
  Prevent EntropyMixer from registering with service manager.
2014-12-01 23:59:50 +00:00
dcashman
24d02652bf Merge "Prevent EntropyMixer from registering with service manager." 2014-12-01 23:49:26 +00:00
dcashman
fe8afa99a7 Prevent EntropyMixer from registering with service manager.
EntropyMixer is designed to be triggered in two ways, as either the
result of a self-set timer or of one of three system broadcasts.  It is not
meant to be triggered in any other way, so exposing it via servicemanager
is undesirable.

Bug: 18106000

Cherry-pick of commit: 9287e0dd272b85b475e33bcbd7d868517a0f98f9

Change-Id: I9aeb35e7ffde75090f4234ea193514fb883b1425
2014-11-26 13:50:30 -08:00
dcashman
9fd6d9d995 Merge "Remove if(true) line." 2014-11-26 17:23:01 +00:00
dcashman
0e0dbf9367 Merge "Prevent EntropyMixer from registering with service manager." 2014-11-26 17:17:00 +00:00
dcashman
4e3f5d3fe4 Remove if(true) line.
Commit: e4d9a01bfc7451afff1ed399a5801c7aa2af2831 introduced an
if (true) block with the intention of changing it.  Remove it.

Change-Id: Ida637cb69c57b7b676f37a3397d72e0bf010523a
2014-11-26 09:06:57 -08:00
Narayan Kamath
c9269da26c am edda97c9: am fdbef408: Merge "Start MountService before performBootDexOpt"
* commit 'edda97c9ffc4fae08744e42fdbf60040e8f97b99':
  Start MountService before performBootDexOpt
2014-11-26 11:10:48 +00:00
Narayan Kamath
fdbef4081d Merge "Start MountService before performBootDexOpt" 2014-11-26 10:59:29 +00:00
dcashman
9287e0dd27 Prevent EntropyMixer from registering with service manager.
EntropyMixer is designed to be triggered in two ways, as either the
result of a self-set timer or of one of three system broadcasts.  It is not
meant to be triggered in any other way, so exposing it via servicemanager
is undesirable.

Bug: 18106000
Change-Id: I9aeb35e7ffde75090f4234ea193514fb883b1425
2014-11-25 12:59:12 -08:00
padarshr
4a84116d11 Start MountService before performBootDexOpt
This change is to start Mountservice before starting
performBootDexOpt, as in one case, in performBootDexOpt
when system upgrade happens, StorageManager will be started to
get the low threshold of DataDir. But, at this point, as
Mountservice is still not up, StorageManager will end up
having a null object of Mountservice.

Change-Id: I6dec474266faa5de67449c1bbe6ef30791e5ecaa
2014-11-25 10:42:15 -08:00
Narayan Kamath
343f478241 Tell installd when boot completes.
installd can then clear the ".booting" marker from the dalvik-cache
(owned by root). This marker is used to detect boot loops.

bug: 18280671

(cherry picked from commit 76a748e62f354c799342044f724e1f4b80121837)

Change-Id: I2364c05837ac04d428b5a34ab1802964a11d2df4
2014-11-19 14:41:08 +00:00
padarshr
ada454152e Start MountService before performBootDexOpt
This change is to start Mountservice before starting
performBootDexOpt, as in one case, in performBootDexOpt
when system upgrade happens, StorageManager will be started to
get the low threshold of DataDir. But, at this point, as
Mountservice is still not up, StorageManager will end up
having a null object of Mountservice.

Change-Id: I6dec474266faa5de67449c1bbe6ef30791e5ecaa
2014-11-18 10:53:18 +00:00
Narayan Kamath
76a748e62f Tell installd when boot completes.
installd can then clear the ".booting" marker from the dalvik-cache
(owned by root). This marker is used to detect boot loops.

bug: 18280671

Change-Id: I878f1463c7f523892605c17b980a51ac3b6645e2
2014-11-11 10:50:46 +00:00
Jeff Hao
7eb599b267 Get UsageStats if no PackageUsage is available for boot dexopt filtering.
Bug: 17191977
Change-Id: I33e18459e49afa42b8e8218574a2434e5205a6da
2014-10-23 11:27:42 -07:00
Chenjie Luo
2cab8825b3 Add system property config.disable_networktime to configure NetworkTimeUpdateService
Bug: 17934875
Change-Id: Ie5acf7266a5766f407db8f23d2c3d26920fa4020
2014-10-16 13:33:25 -07:00
Chenjie Luo
d25e4efdc1 Revert "Add system property config.disable_timeupdate to configure NetworkTimeUpdateService"
This reverts commit c597c55ffeb9debcf2dba8a77a80caa9016ea4d1.

Change-Id: Idc83e582c10dda2c6245ec19921785f361a07a68
2014-10-16 20:22:24 +00:00
Chenjie Luo
c597c55ffe Add system property config.disable_timeupdate to configure NetworkTimeUpdateService
Bug: 17934875
Change-Id: Ic1acff13190f38cedb1ecf22783d4dfd3373511d
2014-10-16 11:36:31 -07:00
Dianne Hackborn
8d05172112 More work on issue #17656716: Unhandled exception in Window Manager
Fix Slog.wtf to not acquire the activity manager lock in its code
path, so that it can never deadlock.  This was the original intention
of it, but part was missed.

Now we can put back in the code to detect when strict mode data is
getting large (a little more targeted now to the actual problem),
and use Slog.wtf to report it.  And as a bonus, when this happens
we will now clear all of the collected violations, to avoid getting
in to the bad case where IPCs start failing.  So this should be
good enough for L to fix the problem, with wtf reports for us to
see if the underlying issue is still happening.

Finally, switch a butch of stuff in the system process from Log.wtf
to Slog.wtf, since many of those are deadlocks waiting to happen.

Oh and fix a crash in the settings provider I noticed in APR.

Change-Id: I307d51b7a4db238fd1e5fe2f3f9bf1b9c6f1c041
2014-10-01 16:58:56 -07:00
Jae Seo
996b5af40c Start TvInputManagerService when the device supports FEATURE_LIVE_TV
Bug: 17284986
Change-Id: I5efeffecfcb771cb2e6180ccfd665464611a24fc
2014-08-27 23:52:01 -07:00
vandwalle
0bbd2aaace remove call to passpoint service start
Change-Id: Ibc6e537544c2228e8b07f734158182d1e4817d17
2014-08-26 15:43:46 -07:00
Jeff Brown
6d2a9492e2 Eliminate power manager latency for boot completed.
The power manager disables the power button until boot completed
occurs.  If there are many pending broadcasts in the queue, it
may be possible for BOOT_COMPLETED to be delayed for several
seconds after boot.

To avoid the delay, introduced a new boot phase which is
sent to system services immediately when boot completed happens.

Bug: 13398280
Change-Id: I1833d2ffb20305009dd76363b43e534034f1d0a2
2014-08-11 17:13:03 -07:00
Dianne Hackborn
a351ab9698 Fix issues 16739817 and 16709247 in voice interaction service.
Issue #16739817 VIS doesn't start for non-primary user(s)
Issue #16709247 GSA is not the default voice interaction agent

These are both fixed by getting rid of the existing code for applying
the default voice recognizer, moving it in to the voice interaction
manager service, and extending it to also set up the default voice
interaction service.

Change-Id: If8d5936c28aebfa7eff77c8d99241c3a2ffdb0a4
2014-08-09 13:31:59 -07:00
Torne (Richard Coles)
4dbeb359b2 Cherry pick Make WebViewUpdateService a SystemService. DO NOT MERGE
Migrate WebViewUpdateService to the newer SystemService approach instead
of ServiceManager.addService.

Original Bug: 16403706
Original Change-Id: I21aa67a41c22c3c20ba9e82eb87e5d610fe130e8

Bug: 16723226
Change-Id: Id276b71ee547e683f0756bcee0f4978ce342c2af
2014-08-01 14:24:47 +01:00
Primiano Tucci
810c052d9b Cherry pick Introduce startIsolatedProcess private API in ActivityManager DO NOT MERGE
The new API spawns a isolated process, using a custom uid, entrypoint and
abi. Such API is used by the WebViewFactory to spawn its unpriviledged
but trusted process (hence the fixed uid) which rewrites the rerlo file
on boot / when an update occurs.
Since both the ActivityManager service and the WebViewUpdate service
live in the SystemServer their calls be dispatched locally and no
binder interface needs to be exposed for the new startIsolatedProcess API.

Original BUG:16403706
Original Change-Id: I327b59735c12698595e0dbcc4da5d759c9103b0a

Bug: 16723226
Change-Id: Iecb49888e11eec9d302d9712953fd498db5821af
2014-08-01 14:24:09 +01:00
Ye Wen
d97e1fdb29 Implement broker pattern for imms (1/3)
b/16324360

Change-Id: I41dc9823820eed60406973f5edb5a71deb4b0130
2014-07-29 16:32:07 -07:00
Vinit Deshpande
c4272f32ae Enable RTT End-to-end
This change includes various fixes to first RTT implementation and
enables RTT APIs end-to-end. Fixes include proper marshalling of
objects across API and service and JNI fixes.

Change-Id: Ie4ba1ffc6c5b42593e931438b3f03e201ff6be71
2014-07-28 09:00:10 -07:00
Adam Lesinski
3c153519ca Add Per-User logging of UsageStats
Change-Id: I4518c5d3c56b3821292accb886f9fb21f3a8b25f
2014-07-25 17:18:54 +00:00
Dongwon Kang
0fdcb74cc3 Disable TvInputManagerService on non-TV devices.
The block condition is based on FEATURE_LEANBACK instead of
FEATURE_TELEVISION which is deprecated in favor of FEATURE_LEANBACK.

Bug: 16497355
Change-Id: I433051362fe94ea453afe9344800fb4f8c7076a9
2014-07-24 16:28:35 +09:00
Adam Lesinski
0debc9aff4 First iteration of a public UsageStats API
UsageStats API that allows apps to get a list of packages that have been
recently used, along with basic stats like how long they have been in
the foreground and the most recent time they were running.

Bug: 15165667

Change-Id: I2a2d1ff69bd0b5703ac3d9de1780df42ad90d439
2014-07-18 15:24:20 -07:00
Michael Wright
c7a845de4a Merge "Add MediaProjection APIs." into lmp-dev 2014-07-17 21:15:46 +00:00
Michael Wright
c39d47a8e7 Add MediaProjection APIs.
The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.

The screen sharing case is implemented, but all of audio capturing
is still forthcoming.

Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
2014-07-17 14:30:19 -07:00
Ben Murdoch
dc00a84af1 Update WebViewUpdateService to receive PACKAGE_REPLACED broadcast.
This allows the WebViewUpdateService to receive notifications that
an update has been installed and we need to trigger recreation of
the relro file.

bug: 16329377
Change-Id: I088e61487416add997995db304beca0cde71390c
2014-07-17 21:18:40 +00:00
Torne (Richard Coles)
08cfaf6726 Use the WebView's loader library to load the real library.
Load libwebviewchromiumloader and use it to load the real WebView
library, to enable sharing of the relro segment between different
application processes without requiring that the library be preloaded in
the zygote. A system service is added to track whether the relro segment
file has been prepared, and block loading of the library until it has
been.

Bug: 13005501
Change-Id: I846b37c7b8e2a4eb8a39e4fd455bccbb2048c173
2014-07-17 09:18:43 -07:00
Yuncheol Heo
a0c4a06ba3 Add the system feature for HDMI-CEC.
Change-Id: I2a985cedf49d50649c89f2ac5fbb80a81300156d
2014-07-12 11:13:48 +09:00
Andres Morales
68d4acd205 Service for reading and writing blocks to PST partition
Permits apps with permission
android.permission.ACCESS_PERSISTENT_PARTITION to obtain
a read and write data blocks to the PST partition.

Only one block ever exists at one time in PST. When
a client writes another block, the previous one is
overwritten.

This permits storing a block of data that will live
across factory resets.

Change-Id: I8f23df3531f3c0512118eb4b7530eff8a8e81c83
2014-07-09 16:27:17 -07:00
Joe LaPenna
4bb015d90a CW on Master: Disable CaptivePortalTracker, EthernetService
BUG: 15143878

Change-Id: I6c534a28c1fcd475982ae70e7f3af69f3a219e24
2014-07-08 22:52:02 +00:00
Dianne Hackborn
be7c50e0a1 Add network access blocking when in battery save mode.
The network policy manager now monitors battery save mode and,
when in battery save, uses its facility to block access to metered
networks to block access to all networks.  That is, it tells the
network management service that all networks have an (infinite)
quota, and puts various app uids to be restricted under quota
interfaces as appropriate.

This new network blocking needs a new facility to be able to white
list apps, such as GmsCore.  To do this, I refactored the package
manager's permission configuration stuff into a separate SystemConfig
class that can be used by others, and it now has a new tag to
specify package names that should be white-listed for power save
mode.  These are retrieved by the network policy manager and used
to build a whitelist of uids.

The new general config files can now go in system/etc/config,
though currently everything still remains in the permissions dir.

Still left to be done is changing the semantics of what uids are
allowed in this mode, to include all perceptable uids.  (So that we
can still do things like background music playback.)  This will be
done in a follow-on CL.

Change-Id: I9bb7029f61dae62e6236da5ca60765439f8d76d2
2014-07-01 09:22:57 -07:00
Jim Miller
05d38d28b6 Merge "Hide IFingerprintService and IFingerprintServiceReceiver" 2014-06-17 20:55:27 +00:00
Jim Miller
06e658f324 Hide IFingerprintService and IFingerprintServiceReceiver
The @hide was being ignored because they were being used by the
constructor.  Fixed by making the FingerprintManager constructor
hidden.

Change-Id: I3cd409df5055579f5004b08d00d5d951b8e5afd3
2014-06-17 18:38:14 -07:00
Jeff Brown
2139276ce8 Refactor BatteryService to new pattern.
Apply SystemService pattern to BatteryService.

Change-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c
2014-06-17 18:20:42 -07:00
Jeff Brown
2c43c339de Resolve boot time dependencies related to the power manager.
This change fixes a bug where native daemons may try to communicate
with the power manager before it was fully initialized due to a race
between publishing the binder service and completing init().

The solution was to simplify the dependencies related to the power
manager.  It turns out that most services that were passed in
init are not actually needed until systemReady.  What remained
was a dependency on the activity manager to check permissions for
incoming calls.  So now we start activity manager first.
However, the activity manager also depends on power manager for
wakelocks.  To break the cycle, we now defer initializing the activity
manager's wakelocks until after the power manager has been started.

Cleaned up a bunch of boot-time service dependencies so that we
can have better confidence that they are correctly maintained.

Bug: 13884219
Change-Id: If08e2d7ccd44e7026a72441bb6bd5afd7bb9fffe
2014-06-17 18:20:42 -07:00
Jim Miller
a7596147b4 First pass at FingerprintService integration with HAL.
Move FingerprintService to framework services directory
Fix merge conflicts.

Tested: scanning, enrolling, removing.

Change-Id: I58b2b902cb671dc82cdaa54a195ba5f1a154622c
2014-06-17 14:03:37 -07:00
Christopher Tate
5b2034e2cc Merge "Switch everything to scheduled jobs" 2014-06-17 20:55:27 +00:00
Christopher Tate
cf1a2f73fc Switch everything to scheduled jobs
Everything that used the IdleMaintenance APIs/broadcasts gets to use the
spiffy new JobScheduler instead.  Hooray!

On top of that, the now-obsolete "idle maintenance" APIs are now gone
entirely.  Double hooray!

Bug 14993295

Change-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b
2014-06-17 12:14:45 -07:00