summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/SystemServer.java
Commit message (Collapse)AuthorAgeFilesLines
* First stab at device idle mode.Dianne Hackborn2015-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new device idle controller service that monitor's the device state and determines when to go in to idle mode. When in idle mode, all we do right now is turn off network access the same as we do for power save mode. Many more things should come in the future -- stopping the alarm manager from scheduling (most) alarms, telling GmsCore for it to stop doing stuff, etc. Battery stats now has state tracking for devie idle mode, as well as events for the reasons we can come out of idle mode (significant motion or the device becoming active). Also added new events noting when packages are installed. Renamed the "low power" event in battery stats to "power save" because the former was just way too confusing. Finally, fix buffer size reading kernel wake locks. (Stupidly, just increasing the buffer size. Ideally we should try to be smarter and grow our buffer to fit the data available, but I'll leave that for another time.) Change-Id: I0be2062466c83ee9d890c6cf5a228d9cc4090eca
* Enable Ethernet if the device has FEATURE_USB_HOST.Lorenzo Colitti2015-03-051-1/+2
| | | | | | | | | | | | | | | | Any device that supports USB OTG is capable of running Ethernet via a USB OTG cable and Ethernet to USB adapter. Currently, we only start the Ethernet system service if the device has FEATURE_ETHERNET, but this requires that every device explicitly declare FEATURE_ETHERNET, which causes bugs like http://b/18515146 , where the L OTA broke Ethernet on nakasi. Therefore, start the Ethernet service on all devices that have FEATURE_USB_HOST. Bug: 18515146 Change-Id: I3b4e85d1ad8e1aea9baa046a27f5b4dd68c42028
* Remove unused imports in frameworks/base.John Spurlock2015-02-281-9/+0
| | | | Change-Id: I031443de83f93eb57a98863001826671b18f3b17
* Move AudioService to services.John Spurlock2015-02-091-1/+1
| | | | | | ...and a few dependencies. Move remaining shared items to AudioSystem. Change-Id: Ib9623ff867678d34977337856bb0156e8cdaeeb5
* MidiManager updates:Mike Lockwood2015-01-141-1/+1
| | | | | | | | | | | | | | | | | 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
* am 02775fca: am 8dd185b0: am 5d2c1e69: (Telecom-system part 3) Adding ↵Santos Cordon2014-12-091-0/+3
|\ | | | | | | | | | | | | Telecom Loader Service * commit '02775fca2b78af8089e9f50575ca639898f4f21c': (Telecom-system part 3) Adding Telecom Loader Service
| * am 8dd185b0: am 5d2c1e69: (Telecom-system part 3) Adding Telecom Loader ServiceSantos Cordon2014-12-091-0/+3
| |\ | | | | | | | | | | | | * commit '8dd185b08fae8d41bec558ab5a63012454cbb78e': (Telecom-system part 3) Adding Telecom Loader Service
| | * (Telecom-system part 3) Adding Telecom Loader ServiceSantos Cordon2014-12-081-0/+3
| | | | | | | | | | | | | | | Bug: 18112269 Change-Id: I85ab03156bf906fdc72b459c4c68240ab3bf1894
| | * Start MountService before performBootDexOptpadarshr2014-11-251-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | am c25cfc57: am 24d02652: Merge "Prevent EntropyMixer from registering with ↵dcashman2014-12-011-1/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | service manager." * commit 'c25cfc57e0d863b002620f5e7dd14822418c678f': Prevent EntropyMixer from registering with service manager.
| | * \ Merge "Prevent EntropyMixer from registering with service manager."dcashman2014-12-011-1/+2
| | |\ \
| | | * | Prevent EntropyMixer from registering with service manager.dcashman2014-11-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | MIDI Manager work in progressMike Lockwood2014-12-081-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge "Remove if(true) line."dcashman2014-11-261-16/+13
|\ \ \ \ \
| * | | | | Remove if(true) line.dcashman2014-11-261-16/+13
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit: e4d9a01bfc7451afff1ed399a5801c7aa2af2831 introduced an if (true) block with the intention of changing it. Remove it. Change-Id: Ida637cb69c57b7b676f37a3397d72e0bf010523a
* | | | | Merge "Prevent EntropyMixer from registering with service manager."dcashman2014-11-261-1/+2
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Prevent EntropyMixer from registering with service manager.dcashman2014-11-251-1/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | am edda97c9: am fdbef408: Merge "Start MountService before performBootDexOpt"Narayan Kamath2014-11-261-14/+16
|\ \ \ \ | |/ / / |/| / / | |/ / | | | * commit 'edda97c9ffc4fae08744e42fdbf60040e8f97b99': Start MountService before performBootDexOpt
| * | Merge "Start MountService before performBootDexOpt"Narayan Kamath2014-11-261-14/+16
| |\ \ | | |/ | |/|
| | * Start MountService before performBootDexOptpadarshr2014-11-181-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Tell installd when boot completes.Narayan Kamath2014-11-191-3/+3
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Tell installd when boot completes.Narayan Kamath2014-11-111-3/+3
| | | | | | | | | | | | | | | | | | 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
* | Get UsageStats if no PackageUsage is available for boot dexopt filtering.Jeff Hao2014-10-231-0/+2
| | | | | | | | | | Bug: 17191977 Change-Id: I33e18459e49afa42b8e8218574a2434e5205a6da
* | Add system property config.disable_networktime to configure ↵Chenjie Luo2014-10-161-1/+2
| | | | | | | | | | | | | | NetworkTimeUpdateService Bug: 17934875 Change-Id: Ie5acf7266a5766f407db8f23d2c3d26920fa4020
* | Revert "Add system property config.disable_timeupdate to configure ↵Chenjie Luo2014-10-161-3/+1
| | | | | | | | | | | | | | | | NetworkTimeUpdateService" This reverts commit c597c55ffeb9debcf2dba8a77a80caa9016ea4d1. Change-Id: Idc83e582c10dda2c6245ec19921785f361a07a68
* | Add system property config.disable_timeupdate to configure ↵Chenjie Luo2014-10-161-1/+3
|/ | | | | | | NetworkTimeUpdateService Bug: 17934875 Change-Id: Ic1acff13190f38cedb1ecf22783d4dfd3373511d
* More work on issue #17656716: Unhandled exception in Window ManagerDianne Hackborn2014-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | 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
* Start TvInputManagerService when the device supports FEATURE_LIVE_TVJae Seo2014-08-271-1/+1
| | | | | Bug: 17284986 Change-Id: I5efeffecfcb771cb2e6180ccfd665464611a24fc
* remove call to passpoint service startvandwalle2014-08-261-3/+0
| | | | Change-Id: Ibc6e537544c2228e8b07f734158182d1e4817d17
* Eliminate power manager latency for boot completed.Jeff Brown2014-08-111-1/+0
| | | | | | | | | | | | | 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
* Fix issues 16739817 and 16709247 in voice interaction service.Dianne Hackborn2014-08-091-14/+0
| | | | | | | | | | | | 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
* Cherry pick Make WebViewUpdateService a SystemService. DO NOT MERGETorne (Richard Coles)2014-08-011-3/+3
| | | | | | | | | | | Migrate WebViewUpdateService to the newer SystemService approach instead of ServiceManager.addService. Original Bug: 16403706 Original Change-Id: I21aa67a41c22c3c20ba9e82eb87e5d610fe130e8 Bug: 16723226 Change-Id: Id276b71ee547e683f0756bcee0f4978ce342c2af
* Cherry pick Introduce startIsolatedProcess private API in ActivityManager DO ↵Primiano Tucci2014-08-011-3/+4
| | | | | | | | | | | | | | | | | | 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
* Implement broker pattern for imms (1/3)Ye Wen2014-07-291-0/+10
| | | | | | b/16324360 Change-Id: I41dc9823820eed60406973f5edb5a71deb4b0130
* Enable RTT End-to-endVinit Deshpande2014-07-281-0/+2
| | | | | | | | 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
* Add Per-User logging of UsageStatsAdam Lesinski2014-07-251-4/+3
| | | | Change-Id: I4518c5d3c56b3821292accb886f9fb21f3a8b25f
* Disable TvInputManagerService on non-TV devices.Dongwon Kang2014-07-241-1/+3
| | | | | | | | 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
* First iteration of a public UsageStats APIAdam Lesinski2014-07-181-0/+7
| | | | | | | | | | 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
* Merge "Add MediaProjection APIs." into lmp-devMichael Wright2014-07-171-0/+5
|\
| * Add MediaProjection APIs.Michael Wright2014-07-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Update WebViewUpdateService to receive PACKAGE_REPLACED broadcast.Ben Murdoch2014-07-171-1/+1
|/ | | | | | | | | 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
* Use the WebView's loader library to load the real library.Torne (Richard Coles)2014-07-171-0/+8
| | | | | | | | | | | | 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
* Add the system feature for HDMI-CEC.Yuncheol Heo2014-07-121-1/+3
| | | | Change-Id: I2a985cedf49d50649c89f2ac5fbb80a81300156d
* Service for reading and writing blocks to PST partitionAndres Morales2014-07-091-0/+5
| | | | | | | | | | | | | | | 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
* CW on Master: Disable CaptivePortalTracker, EthernetServiceJoe LaPenna2014-07-081-9/+1
| | | | | | BUG: 15143878 Change-Id: I6c534a28c1fcd475982ae70e7f3af69f3a219e24
* Add network access blocking when in battery save mode.Dianne Hackborn2014-07-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge "Hide IFingerprintService and IFingerprintServiceReceiver"Jim Miller2014-06-171-1/+0
|\
| * Hide IFingerprintService and IFingerprintServiceReceiverJim Miller2014-06-171-1/+0
| | | | | | | | | | | | | | | | The @hide was being ignored because they were being used by the constructor. Fixed by making the FingerprintManager constructor hidden. Change-Id: I3cd409df5055579f5004b08d00d5d951b8e5afd3
* | Refactor BatteryService to new pattern.Jeff Brown2014-06-171-13/+3
| | | | | | | | | | | | Apply SystemService pattern to BatteryService. Change-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c
* | Resolve boot time dependencies related to the power manager.Jeff Brown2014-06-171-171/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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