History log of /frameworks/base/services/java/com/android/server/SystemServer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5d2c1e69ecb851121177396ac376dee1fb41d421 22-Nov-2014 Santos Cordon <santoscordon@google.com> (Telecom-system part 3) Adding Telecom Loader Service

Bug: 18112269
Change-Id: I85ab03156bf906fdc72b459c4c68240ab3bf1894
/frameworks/base/services/java/com/android/server/SystemServer.java
4a84116d112f7467d73ff7ca4102dd26ea92d776 05-Nov-2014 padarshr <padarshr@codeaurora.org> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
76a748e62f354c799342044f724e1f4b80121837 10-Nov-2014 Narayan Kamath <narayan@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
7eb599b267d00cbde891c0a87924f2f5086f4497 23-Oct-2014 Jeff Hao <jeffhao@google.com> Get UsageStats if no PackageUsage is available for boot dexopt filtering.

Bug: 17191977
Change-Id: I33e18459e49afa42b8e8218574a2434e5205a6da
/frameworks/base/services/java/com/android/server/SystemServer.java
2cab8825b3214b67b9462eaf5a1d777e9888d488 16-Oct-2014 Chenjie Luo <cjluo@google.com> Add system property config.disable_networktime to configure NetworkTimeUpdateService

Bug: 17934875
Change-Id: Ie5acf7266a5766f407db8f23d2c3d26920fa4020
/frameworks/base/services/java/com/android/server/SystemServer.java
d25e4efdc1974131bfbdaecbec9302a891567a94 16-Oct-2014 Chenjie Luo <cjluo@google.com> Revert "Add system property config.disable_timeupdate to configure NetworkTimeUpdateService"

This reverts commit c597c55ffeb9debcf2dba8a77a80caa9016ea4d1.

Change-Id: Idc83e582c10dda2c6245ec19921785f361a07a68
/frameworks/base/services/java/com/android/server/SystemServer.java
c597c55ffeb9debcf2dba8a77a80caa9016ea4d1 16-Oct-2014 Chenjie Luo <cjluo@google.com> Add system property config.disable_timeupdate to configure NetworkTimeUpdateService

Bug: 17934875
Change-Id: Ic1acff13190f38cedb1ecf22783d4dfd3373511d
/frameworks/base/services/java/com/android/server/SystemServer.java
8d05172112436a81bed6e4a0810f8914509d8a4d 01-Oct-2014 Dianne Hackborn <hackbod@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
996b5af40c1af8f61005b584465d4ec392b2d209 28-Aug-2014 Jae Seo <jaeseo@google.com> Start TvInputManagerService when the device supports FEATURE_LIVE_TV

Bug: 17284986
Change-Id: I5efeffecfcb771cb2e6180ccfd665464611a24fc
/frameworks/base/services/java/com/android/server/SystemServer.java
0bbd2aaace3c08671e0f039859f241429a2600c6 27-Aug-2014 vandwalle <vandwalle@google.com> remove call to passpoint service start

Change-Id: Ibc6e537544c2228e8b07f734158182d1e4817d17
/frameworks/base/services/java/com/android/server/SystemServer.java
6d2a9492e2b19421165f0cd918d9f28595bfb770 08-Aug-2014 Jeff Brown <jeffbrown@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
a351ab96987381ffe7ea29a7cdec1e7fbd1497d5 09-Aug-2014 Dianne Hackborn <hackbod@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
4dbeb359b2cfeb63d6ec3ecb702f2bd836db058a 29-Jul-2014 Torne (Richard Coles) <torne@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
810c052d9b117217152c2a609ccec056a2a61d1e 25-Jul-2014 Primiano Tucci <primiano@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
d97e1fdb29db15c5117e2502da2f1f1fb82233b6 24-Jul-2014 Ye Wen <ywen@google.com> Implement broker pattern for imms (1/3)

b/16324360

Change-Id: I41dc9823820eed60406973f5edb5a71deb4b0130
/frameworks/base/services/java/com/android/server/SystemServer.java
c4272f32aec68ae2377141a2d6d4e6059fb36714 26-Jul-2014 Vinit Deshpande <vinitd@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
3c153519ca5f2b66b88901374383f943c9d77df7 24-Jul-2014 Adam Lesinski <adamlesinski@google.com> Add Per-User logging of UsageStats

Change-Id: I4518c5d3c56b3821292accb886f9fb21f3a8b25f
/frameworks/base/services/java/com/android/server/SystemServer.java
0fdcb74cc39b20e161f08c88414e7672bf9afa23 24-Jul-2014 Dongwon Kang <dwkang@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
0debc9aff4c0cbc28e083a948081d91b0f171319 17-Jul-2014 Adam Lesinski <adamlesinski@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
c7a845de4a9578e8093b6abcb90c6836d360d5b3 17-Jul-2014 Michael Wright <michaelwr@google.com> Merge "Add MediaProjection APIs." into lmp-dev
c39d47a8e7c74bd539104b0efab898ef6fc43ddf 09-Jul-2014 Michael Wright <michaelwr@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
dc00a84af15ff3594a6dfa512be21095bf9fee82 17-Jul-2014 Ben Murdoch <benm@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
08cfaf672604422dd355d6703aec78f3aa5ee74e 08-May-2014 Torne (Richard Coles) <torne@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
a0c4a06ba336df1c1775d3918f20ba14b4607052 10-Jul-2014 Yuncheol Heo <ycheo@google.com> Add the system feature for HDMI-CEC.

Change-Id: I2a985cedf49d50649c89f2ac5fbb80a81300156d
/frameworks/base/services/java/com/android/server/SystemServer.java
68d4acd205e8c2da524e62734ca42847306cc029 02-Jul-2014 Andres Morales <anmorales@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
4bb015d90ae2aa3ce30778f3f584e0b7124f7505 05-Jul-2014 Joe LaPenna <jlapenna@google.com> CW on Master: Disable CaptivePortalTracker, EthernetService

BUG: 15143878

Change-Id: I6c534a28c1fcd475982ae70e7f3af69f3a219e24
/frameworks/base/services/java/com/android/server/SystemServer.java
be7c50e0a14e91330ce13161bc14a33d34ff6aca 30-Jun-2014 Dianne Hackborn <hackbod@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
05d38d28b622036a7a1f6dd7e751af023a37e876 18-Jun-2014 Jim Miller <jaggies@google.com> Merge "Hide IFingerprintService and IFingerprintServiceReceiver"
06e658f324a937bec1c5ddbe9c3100c3d2fec371 18-Jun-2014 Jim Miller <jaggies@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
2139276ce8b54aba5faa858ca69ed5f01445c269 14-Jun-2014 Jeff Brown <jeffbrown@google.com> Refactor BatteryService to new pattern.

Apply SystemService pattern to BatteryService.

Change-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c
/frameworks/base/services/java/com/android/server/SystemServer.java
2c43c339de5aaf4fef58aa9b5ac3af48609263a8 13-Jun-2014 Jeff Brown <jeffbrown@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
a7596147b43940cad3f76c53ed154ef088b9269b 07-Jun-2014 Jim Miller <jaggies@google.com> First pass at FingerprintService integration with HAL.
Move FingerprintService to framework services directory
Fix merge conflicts.

Tested: scanning, enrolling, removing.

Change-Id: I58b2b902cb671dc82cdaa54a195ba5f1a154622c
/frameworks/base/services/java/com/android/server/SystemServer.java
5b2034e2cc1cd8cb934160465364cb1eda99c208 17-Jun-2014 Christopher Tate <ctate@google.com> Merge "Switch everything to scheduled jobs"
cf1a2f73fc102be2ac7060ac97d4682bb2565ca5 17-Jun-2014 Christopher Tate <ctate@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
a23f56b95c6c924d1b352859b72cbc77010cfd14 11-Jun-2014 Lorenzo Colitti <lorenzo@google.com> am 34852095: Merge "Don\'t enable Ethernet on the emulator." into lmp-preview-dev

* commit '34852095d9148945edc39c2df9513c41998eb55b':
Don't enable Ethernet on the emulator.
0188bee2c526270c178a0b1f918b2a09999de25f 11-Jun-2014 Christopher Tate <ctate@google.com> am d8f71d34: Merge "Out with the old; in with the new" into lmp-preview-dev

* commit 'd8f71d34c3c7fb161a1586de8edb52161c32d672':
Out with the old; in with the new
5592a725dd89e433191d3dd835ed99f38a3de474 11-Jun-2014 Lorenzo Colitti <lorenzo@google.com> Merge "Don't enable Ethernet on the emulator." into lmp-preview-dev
7060b04f6d92351b67222e636ab378a0273bf3e7 10-Jun-2014 Christopher Tate <ctate@google.com> Out with the old; in with the new

Switch to the official "JobScheduler" etc naming.

Bug 14997851

Change-Id: I73a61aaa9af0740c114d08188bd97c52f3ac86b7
/frameworks/base/services/java/com/android/server/SystemServer.java
beacf8d64c237346ea431a267c5d413e814234b5 10-Jun-2014 Lorenzo Colitti <lorenzo@google.com> Don't enable Ethernet on the emulator.

Don't start the Ethernet service on the emulator because it
interferes with qemu's SLIRP emulation, which uses IPv4 over
eth0.

Bug: 15341003
Change-Id: I4041a17b19a4861cae4fbf47ab5e05b007385e19
/frameworks/base/services/java/com/android/server/SystemServer.java
5adb67d4ce228a3afa6512e87d61c4d581dfd1e3 09-Jun-2014 Ed Heyl <edheyl@google.com> merge 4ce22057, regen api/current.txt

Change-Id: I39186b5c4d41753c729c5d1ee7ee96b03a45c514
3f48068d782b81dc1c8a0190b91fbb2862007244 06-Jun-2014 Jinsuk Kim <jinsukkim@google.com> Remove HdmiCecService

The service is replaced with HdmiControlService. Removing all the related
classes and the initialization of the service.

Change-Id: Ic7baaddffb9873613ddd1096e874f226da983939
/frameworks/base/services/java/com/android/server/SystemServer.java
4c9e57f156d3cbd86b38e9897dfdab81964efe90 03-Jun-2014 Jae Seo <jaeseo@google.com> resolved conflicts for merge of ebe661c4 to master

Change-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4
daa618e3cd827443e7a9958c1742ecc38f87d6c8 31-May-2014 Yuhao Zheng <yuhaozheng@google.com> WifiService and WifiPasspointService hook up

- add a reference to passpoint service in wifi state machine
- break dependency loop at boot phase

Change-Id: I34c0ce55efa5235ebaba1fa6772f559d608ee5ba
/frameworks/base/services/java/com/android/server/SystemServer.java
d5cc4a281e7ce29d1e8687ff3394b57a3a549260 31-May-2014 Jae Seo <jaeseo@google.com> Put TV Input Framework under android.media.tv, including TvContract

Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
/frameworks/base/services/java/com/android/server/SystemServer.java
df7db074b5e6a19c8a33c2cc6be88f85eb5ee47c 01-Jun-2014 Amith Yamasani <yamasani@google.com> Derive LauncherAppsService from SystemService

And encapsulate the aidl interface implementation.

Change-Id: Id9a2544b411648e2596de18682079a64e95b0710
/frameworks/base/services/java/com/android/server/SystemServer.java
f20d640fa2b155a971ddfe0965fc803a73b5e53c 25-May-2014 Amith Yamasani <yamasani@google.com> Restrictions Manager

Mechanism to register a provider for requesting an
administrator to respond to permission requests.

Request format and response format constants.

Description of manifest template for static restrictions.
Int type introduced in RestrictionEntry.

Needs more javadoc and better description of manifest templates,
including specifying the XML attributes.

Change-Id: I5a654d364e98379fc60f73db2e06bf9a8310263d
/frameworks/base/services/java/com/android/server/SystemServer.java
094b2136f0804e2804de6bafafc94d33266a5fee 30-May-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 92ab0b91 to master

Change-Id: I66d6849700759163669faa930f07a7e968df5155
92ab0b91cdcb83c3cb101386d01f04c7d7dfd404 30-May-2014 Jeff Brown <jeffbrown@google.com> am aeb4e071: Merge "Add dumpsys to dock observer." into klp-modular-dev

* commit 'aeb4e071abb100d10c39d154b05c2911d399395d':
Add dumpsys to dock observer.
010e561a703381e16dd17caa7c942dea6978e6dc 30-May-2014 Jeff Brown <jeffbrown@google.com> Add dumpsys to dock observer.

Minor refactoring of dock observer to allow its state to be
inspected and modified via dumpsys for debugging purposes.

eg. View current state.
adb shell dumpsys DockObserver

eg. Simulate being docked.
adb shell dumpsys DockObserver set state 1

eg. Reset back to normal.
adb shell dumpsys DockObserver reset

Change-Id: Ie48db775290ebed9aa4d9d9d5ac5a6fcb6122ac9
/frameworks/base/services/java/com/android/server/SystemServer.java
77b170cedca2828d8c40ca33b820f5911a558326 29-May-2014 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 452c5921 to klp-modular-dev-plus-aosp

Change-Id: I6044604b431eed0319579a1a3b9213c9a0aaf678
5bc93866b089faa2feddf7b113afe915401d992f 28-May-2014 Brian Carlstrom <bdc@google.com> Move to dalvik.vm.lib.2 to force default to libart

Bug: 14298175

(cherry-picked from commit 2ef5abb8d534f016582d6023054cbe69d8114b6b)

Change-Id: Icd91982c09076e87092906106cbff4a81589e8de
/frameworks/base/services/java/com/android/server/SystemServer.java
3c1ff826e0abdffdd76129bf974abb96444dade8 28-May-2014 Brian Carlstrom <bdc@google.com> Move to dalvik.vm.lib.2 to force default to libart

Bug: 14298175
Change-Id: I8afa91bddfb6fec6b61c39286a16594eb947830e
/frameworks/base/services/java/com/android/server/SystemServer.java
fa380e982e41b0dcbbcf2201803abf26808016b5 19-May-2014 Christopher Tate <ctate@google.com> DO NOT MERGE - Run the task manager service at startup

Also moves most of it into android.app.task rather than android.content.

(Cherrypick from master)

Change-Id: Ic07a664bf54bc3e40aa0b892946edba4bf37262a
/frameworks/base/services/java/com/android/server/SystemServer.java
f9ff2c9ae5595a20d77b10a41386932de1fc2da2 22-May-2014 Lorenzo Colitti <lorenzo@google.com> Make the EthernetManager available.

Change-Id: I7a60e977d7a40a5d0367168f2f6633ccae591ac4
/frameworks/base/services/java/com/android/server/SystemServer.java
8a476edccdd2ae8cd5913bdeaeac319b22567b76 20-May-2014 Yuhao Zheng <yuhaozheng@google.com> Fix a boot failure due to Wifi / Wifi Passpoint

Bug: 15060373
Change-Id: Ie72fd2e4b855c46a8f9ed12deb8b07fd0c29f522
/frameworks/base/services/java/com/android/server/SystemServer.java
e715e8cc00de841d690bddd1e17741a0e9b05293 20-May-2014 Vinit Deshpande <vinitd@google.com> Fix a runtime break caused by merge conflict

Kwd changed the name of WifiHotspotService to PasspointService; and
the reference to the name was moved in master. Merge ended up picking
up incorrect name WifiPasspointService. This change fixes that.

Bug: 15106138
Change-Id: Ib6d8aee53db39314a9d98abcbd8e0863210de1bb
/frameworks/base/services/java/com/android/server/SystemServer.java
a4864472313208e4f1de02f45d3eadad237c54af 10-Apr-2014 Yuhao Zheng <yuhaozheng@google.com> Hotspot 2.0 framework APIs -- initial implementation

Cherry-picked from klp-wireless-dev-mirror
SHA1: e73969fac45aaca72528226dc8c0c5e54fb2cdd4

Bug: 5485670
Change-Id: If3250a2fae181a3774d3158e341220006ad6ebe5
/frameworks/base/services/java/com/android/server/SystemServer.java
82af2b9e51aac359b4b251cc622659a1a5537e35 09-May-2014 Eric Laurent <elaurent@google.com> Merge "AudioService/WireAccessoryManager: change boot completion detection method"
011e1b35a64180d6f0234af8a3c2b70777eb9f39 08-May-2014 Vinit Deshapnde <vinitd@google.com> Initial implementation of WifiScanner

This change implements basic functionality of WifiScanner. Following
functionality is enabled

1. Scanning - specify a list of channels to scan
2. Significant change detection
3. AP hotlist

Change-Id: Ieef75b96bdbbd3c7d9b9e698bd16e64d3b465254
/frameworks/base/services/java/com/android/server/SystemServer.java
7c3606c103e95d3991267cca2592402a68779caf 01-Apr-2014 vandwalle <vandwalle@google.com> initial Best Network Selection implementation

-add dhcpserver, defaultGwMAC address, linked configuration and user choices link lists to WiFiconfiguration
-add default gateway mac address to RouteInfo
-add a Date to the ScanResult
-add BSSID date to the WifiConfiguration
- make framework auto-join into a config option
- add Settings option for showing RSSI in Wifi picker view; add auto-join specific status to WifiConfiguration

Change-Id: I5cfc4f2a48c9f3bc9766e8e68e24eff7b57f2821

Changes to be committed:
modified: core/java/android/provider/Settings.java
modified: wifi/java/android/net/wifi/ScanResult.java
modified: wifi/java/android/net/wifi/WifiConfiguration.java
/frameworks/base/services/java/com/android/server/SystemServer.java
dfad99ad9fd5953b9d726715c40197a3e70e7dd0 08-May-2014 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 0b5598c9 to master

Change-Id: Ie911d6b0b5e2b87e2b4669fa2465a82bb5807893
0b5598c924fc140db5cfee08c17fd91e630b1c9e 07-May-2014 Brian Carlstrom <bdc@google.com> am 691079dd: am a21ba5be: Merge "Add BackgroundDexOptService"

* commit '691079ddc0055fac9b82dccaf35b4591978b2a55':
Add BackgroundDexOptService
7395a8ab8a7c6b03c32500c934694dde80b9ade1 29-Apr-2014 Brian Carlstrom <bdc@google.com> Add BackgroundDexOptService

Change-Id: I0439a04f693ba92df906cbda34f8e53b32f63329
/frameworks/base/services/java/com/android/server/SystemServer.java
4a5eeb9c727d77bb57fef87a70c8c9cc23dbfee3 06-May-2014 Eric Laurent <elaurent@google.com> AudioService/WireAccessoryManager: change boot completion detection method

BOOT_COMPLETED intent is not a reliable way for system services
to detect boot completion. The intent broadcast can be significantly
delayed and there is no guaranty that system services
receive it before apps.

Use a systemReady() method called by SystemServer instead.

Bug: 14323903.
Change-Id: I781596a3545e7a1e719799982347cbcd9a4c9009
/frameworks/base/services/java/com/android/server/SystemServer.java
67e2196d07dd4dc1f3ce82fdaaa34cdbce89e1ce 01-May-2014 RoboErik <epastern@google.com> Merge "Add dump to MediaSessionService"
a278ea7cecb59a73586e5dd74ec05e85caa370c5 24-Apr-2014 RoboErik <epastern@google.com> Add dump to MediaSessionService

Adds a dump implementation for debugging MediaSessionService. Also
fixes some synchronize calls that weren't using the same lock object.

Change-Id: I14343f853398749c8ce7ebf91f72729abc9132d9
/frameworks/base/services/java/com/android/server/SystemServer.java
e929bee9bbb418b52fea877f5fff1449aab247fb 28-Apr-2014 Adam Lesinski <adamlesinski@google.com> Merge commit '734a78fb' into manualmerge

Conflicts:
core/java/android/app/WallpaperManager.java

Change-Id: Id103f540329ea484ff2e0829a0fc8158621f3dd3
734a78fb867384dfb84f5f42f65b4681562d62b5 28-Apr-2014 Adam Lesinski <adamlesinski@google.com> am 8ea2d451: Merge "Various CTS fixes" into klp-modular-dev

* commit '8ea2d4512248ec612356f558ac35534c3e4c6db6':
Various CTS fixes
5568772e8161205b86905d815783505fd3d461d8 10-Apr-2014 Jeff Sharkey <jsharkey@android.com> Derive fingerprint at runtime when undefined.

Some devices leave "ro.build.fingerprint" undefined at build time,
since they need to build it from the components at runtime.

Bug: 13340779
Change-Id: I4d74398817af22079a11c196dc6742b85d2bfb61
/frameworks/base/services/java/com/android/server/SystemServer.java
2c8d67c9b0574f229809d99b3d55aa411fad0c84 23-Apr-2014 Adam Lesinski <adamlesinski@google.com> Various CTS fixes

WallpaperManager should always do a null check on the service object.
SystemServer should always bring up the DevicePolicyManagerService,
and let the service do appropriate default no-ops if the feature
is not supported.

Change-Id: Iaaf12b60ed375fe2e341ec11faa10c9344d7d9da
/frameworks/base/services/java/com/android/server/SystemServer.java
522ff52f88a0ddac3221fc32defd2f6cccaf04c4 25-Apr-2014 Dianne Hackborn <hackbod@google.com> Merge "Initial implementation of new voice interaction API."
91097de49b0f683b00e26a75dbc0ac6082344137 05-Apr-2014 Dianne Hackborn <hackbod@google.com> Initial implementation of new voice interaction API.

This gives a basic working implementation of a persist
running service that can start a voice interaction when
it wants, with the target activity(s) able to go through
the protocol to interact with it. It may even work when
the screen is off by putting the activity manager in the
correct state to act like the screen is on.

Includes a sample app that is a voice interation service
and also has an activity it can launch.

Now that I have this initial implementation, I think I
want to rework some aspects of the API.

Change-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9
/frameworks/base/services/java/com/android/server/SystemServer.java
0792d37385e60aa8d73f8df174d0a32f4f618bc4 23-Apr-2014 Jungshik Jang <jayjang@google.com> Implement skeleton of new HDMI Control Service.

HdmiCecService is a system service handling HDMI-CEC features
and command. Recently we found out that industry has more
requirements to support HDMI-CEC. Also, MHL is another
standard should be in our pocket. Basically, MHL is
a standard to support communication between mobile device
and TV or Av device. As CEC is a control standard over HDMI
cable, MHL has control channel for peer device.
There behavior is very similiar. Both have commands that
can change Tv's current input and can send/receive key
to other device to control other deivce or TV.

In order to cover both CEC and MHL, current HdmiCecService
implementation has limitation. We had several
session of discussion and decided to refactor
HdmiCecService into HdmiControlService.
For each standard it will have separate controller instance
like HdmiCecController and HdmiMhlController.

In this change I didn't touch original HdmiCecService
because some component, like cast receiver, uses HdmiCecService.
For a while we will keep HdmiCecService until HdmiControlService
accomodates all features of HdmiCecService.

Change-Id: I5485280ab803dbf071d898bfbe34be0b11ce7958
/frameworks/base/services/java/com/android/server/SystemServer.java
6a4b220f1263d95fdefe6361c2bc87bbb04bbed0 17-Apr-2014 Jeff Davidson <jpd@google.com> Initial implementation of NetworkScoreManager's backing service.

This service will ultimately be responsible for propagating scores
down to lower-level network subsystems. For now, it just keeps scores
in memory and exposes these for debugging purposes via "adb shell
dumpsys network_score".

This change also adds provisioning of a default scorer. When
NetworkScoreService is first initialized, it checks to see if it has
ever set a default scorer; if not, it reads a package name from a
build config property and attempts to set it as the default.

Also add autogenerated equals/hashCode methods to all parcelables.

Bug: 14111427
Bug: 13786258
Change-Id: I02271171653d42e12acd240b73b9e23950744f6b
/frameworks/base/services/java/com/android/server/SystemServer.java
5784b39843bd3d6112352ff3b736a6498107911c 09-Apr-2014 Amith Yamasani <yamasani@google.com> Merge "Launcher APIs and broadcasts for managed profiles"
3957091ba8f08c02b5e781098cb955a5f697a1ff 21-Feb-2014 Jae Seo <jaeseo@google.com> Initial round of Television Input Framework

This provides APIs to control and create individual television inputs on
the system which will later be hosted by television applications.

Change-Id: I6866d28e78175a1bff2c32a85c5d77e94d0cd60c
/frameworks/base/services/java/com/android/server/SystemServer.java
4f58263d02f296430a9653126d28501e95c7bb6c 19-Feb-2014 Amith Yamasani <yamasani@google.com> Launcher APIs and broadcasts for managed profiles

UserManager
- Corp badging
- Querying list of managed profiles

Launcher API
- LauncherApps and Service to proxy changes in managed profile
to the launcher in the primary profile
- Querying and launching launchable apps across profiles

Change-Id: Id8f7b4201afdfb5f414d04156d7b81300119289e
/frameworks/base/services/java/com/android/server/SystemServer.java
b325345ef0adf2849350d339de1ec5f92b67b7ae 03-Apr-2014 Alan Viverette <alanv@google.com> Merge "Switch framework Holo references to Quantum.Light"
b69bb445585a083b8e4ff8a13a1a1a63e9c22a6a 02-Apr-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 71ab4f4f to master

Change-Id: I888c231f7579523e12fbd68f820f0775019e51e0
71ab4f4f48a9b8b485d80adf18d568ef6265b1e8 02-Apr-2014 Narayan Kamath <narayan@google.com> am ea9e5eca: am 17b1b8fe: Merge "Move zygote startup logic to the frameworks."

* commit 'ea9e5ecac1e5240370f0e3f998b9c8b159ee9320':
Move zygote startup logic to the frameworks.
973b4663b0b5ee62006522bf4742af076096e548 31-Mar-2014 Narayan Kamath <narayan@google.com> Move zygote startup logic to the frameworks.

The Zygote class is now in com.android.internal.os. It is
responsible for the vast majority of work before and after
the call to fork(). It calls back into the Runtime via
the new dalvik.system.ZygoteHooks class to allow the Runtime
to perform pre fork cleanup and post fork initialization.

The native code in Zygote.cpp is a direct and straightforward
port of the existing code in art. Most differences are
superficial, for example :
- We use C style logging (ALOGE) instead of stream based
logging.
- We call env->FatalError() instead of using LOG(FATAL)

Change-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059
/frameworks/base/services/java/com/android/server/SystemServer.java
6259933ec99dee566f200c5fdfe1756ee72b1513 01-Apr-2014 Alan Viverette <alanv@google.com> Switch framework Holo references to Quantum.Light

Change-Id: Ib545a143f1959b6104adbc9d594dd626851d90b3
/frameworks/base/services/java/com/android/server/SystemServer.java
82142c21dd333307682d5f4bb09de3ab3ccfa06c 27-Mar-2014 Adrian Roos <roosa@google.com> Define trust agent framework components

Adds the TrustManager system service that allows
registering for changes to the trust status and
reporting events that are important to trust agents.

Bug: 13723878
Change-Id: I7d0d2ea86fd755702d31aa5d49cac038a6cd4301
/frameworks/base/services/java/com/android/server/SystemServer.java
439cf5b433123970a94388cf9309d9ea4d31b3cb 31-Mar-2014 Narayan Kamath <narayan@google.com> am 56a8f8b4: resolved conflicts for merge of 439145f0 to klp-modular-dev-plus-aosp

* commit '56a8f8b48ff1d0855209307b9076d6e9b348b59b':
Don't make isSafeMode a field on the Zygote class.
56a8f8b48ff1d0855209307b9076d6e9b348b59b 31-Mar-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 439145f0 to klp-modular-dev-plus-aosp

This isn't a straightforward conflict resolution. This code
has changed significantly. mSafeMode is now a flag on the activity
manager service, and is set when SystemServer calls enterSafeMode.

Change-Id: I1e8ff524566c5e44bb6bf3b138cdebb70004aca3
d1a8d9f45288e1e8aadfc543fab7087c2eec2f30 28-Mar-2014 Narayan Kamath <narayan@google.com> Don't make isSafeMode a field on the Zygote class.

This field is written and read exclusively by the system server,
and should therefore belong to the SystemServer class.

Change-Id: I2708a9a45c0c9cd1a6f563e8cc5844bd8c424bf7
/frameworks/base/services/java/com/android/server/SystemServer.java
10bf6354a536152719bf4524429aa5739836c541 25-Mar-2014 Yuhao Zheng <yuhaozheng@google.com> Wifi hotspot stack initial hook up

Add a dummy wifi hotspot service for futher development use. This is to
resolve the different between master branch and kwd branch, such that future
development can go into kwd and being auto-merged to master.

bug: 5485670
Change-Id: Ica58de445dd050a9f0b817f8e4accaa2478299c5
/frameworks/base/services/java/com/android/server/SystemServer.java
a42cb8b0e2b8fdfbac1a6590d6b60814caa01088 21-Mar-2014 Colin Cross <ccross@android.com> resolved conflicts for merge of a67e34c8 to master

Change-Id: I597525886260884c9b2dfc7945e01eb8138a58c2
f2fecf48f740a079cf9015ea8c2695039ca11d81 21-Mar-2014 Jinsuk Kim <jinsukkim@google.com> am c61f4dd7: Merge "Add HDMI-CEC service" into klp-modular-dev

* commit 'c61f4dd744b1b0396703aa58eb22fc31d2b7050e':
Add HDMI-CEC service
c61f4dd744b1b0396703aa58eb22fc31d2b7050e 21-Mar-2014 Jinsuk Kim <jinsukkim@google.com> Merge "Add HDMI-CEC service" into klp-modular-dev
4f512fb451c8ddcea852645c5c24314c20c0974b 28-Feb-2014 Jinsuk Kim <jinsukkim@google.com> Add HDMI-CEC service

This CL adds a system service handling HDMI-CEC protocol. The service
is equipped with the capability sending/receiving HDMI-CEC messages

Not all the messages are in place. Currently it has messages to support
a few features only, as follows:

- One touch play
- System information
- Routing control (partially - active source status maintenance only)
- Device OSD transfer
- Power status

It will be extended to cover the wider usages in the follow up CLs.

The CEC standard version referenced in the implementation is 1.3a.

Change-Id: Ifed0b02f52ebf098eddb3bd0987efbf353b7e8fe
/frameworks/base/services/java/com/android/server/SystemServer.java
10caca13da7c6acde00411dfb4ab128c75b24e86 18-Mar-2014 Adam Lesinski <adamlesinski@google.com> am f5f6487e: am d8e585e7: am 006209c2: Merge "Remove reflection instantiation of Accessibility" into klp-modular-dev

* commit 'f5f6487e5999f6b4984e03bf6fe831ed83f5f4b6':
Remove reflection instantiation of Accessibility
d8e585e7e5ce77e0bf8c11838387f012b9ab9a1a 17-Mar-2014 Adam Lesinski <adamlesinski@google.com> am 006209c2: Merge "Remove reflection instantiation of Accessibility" into klp-modular-dev

* commit '006209c2fc1b6deef10f6d52831e9cef35cca212':
Remove reflection instantiation of Accessibility
6c6cd5012b48cba44beeb2861966f11789fd978b 17-Mar-2014 Adam Lesinski <adamlesinski@google.com> Remove reflection instantiation of Accessibility

Accessibility is mandatory so reflection is not required.

Change-Id: Ie5c7b0bba26809425fe0f66efcc09c333138b21f
/frameworks/base/services/java/com/android/server/SystemServer.java
3651cb7b4a0c3c731905301e868cca1c3af5aa21 24-Feb-2014 Jeff Brown <jeffbrown@google.com> am cd9cd758: am c213b3a3: am f7f80d7b: Merge "Start the dream manager even if dreams are not supported." into klp-modular-dev

* commit 'cd9cd758d6dc884220f86ff10812c9e33a978de5':
Start the dream manager even if dreams are not supported.
c213b3a34ccee7cfa72dab281cfa950e5f7df6fc 24-Feb-2014 Jeff Brown <jeffbrown@google.com> am f7f80d7b: Merge "Start the dream manager even if dreams are not supported." into klp-modular-dev

* commit 'f7f80d7b54b11d432bb6e72da526edf369128ea7':
Start the dream manager even if dreams are not supported.
f7f80d7b54b11d432bb6e72da526edf369128ea7 24-Feb-2014 Jeff Brown <jeffbrown@google.com> Merge "Start the dream manager even if dreams are not supported." into klp-modular-dev
e0dd3ca81d9355701164742d53695cf6d15cfdca 24-Feb-2014 Jeff Brown <jeffbrown@google.com> Start the dream manager even if dreams are not supported.

The dreams manager also manages dozing. It has a minimal footprint
so there is no real reason to disable the component (it just makes
debugging more difficult).

Improved the documentation of the config_dreamsSupported resource
to clarify exactly what it controls.

Bug: 12494706
Change-Id: I78244846f7c1ddfd11bc1605af59b0db91337971
/frameworks/base/services/java/com/android/server/SystemServer.java
4c90185a351fcabdca38e6fa767ddbb1ddc907de 22-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 542b55d9: am c8661519: am 83930aa0: Merge "Fix broken IME when decrypting storage" into klp-modular-dev

* commit '542b55d9a4bee2f98f8a0a6948e0873c5faaddc7':
Fix broken IME when decrypting storage
c866151926b7672a58a7312c8083612bdc567fb4 21-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 83930aa0: Merge "Fix broken IME when decrypting storage" into klp-modular-dev

* commit '83930aa09aecef7429d8a1c07b80f10b7e2e13f6':
Fix broken IME when decrypting storage
8793dd873d53fe947b2cf68f39d4cb774ac0cc74 21-Feb-2014 Adam Lesinski <adamlesinski@google.com> Fix broken IME when decrypting storage

Bug:13113499
Change-Id: Icf767864c8ff694fd569b9237ae1004cc20204a2
/frameworks/base/services/java/com/android/server/SystemServer.java
332886854438809e956fb232b69879e33b5dc2bb 20-Feb-2014 RoboErik <epastern@google.com> Merge "Initial round of MediaSession APIs"
01fe661ae5da3739215d93922412df4b24c859a2 13-Feb-2014 RoboErik <epastern@google.com> Initial round of MediaSession APIs

This is far from complete but puts the basic components in place
for an app to interact with media sessions.

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
/frameworks/base/services/java/com/android/server/SystemServer.java
f542a33c8de852fe3706a01e960fa0546b536e25 19-Feb-2014 Adam Lesinski <adamlesinski@google.com> Fix build due to change in SystemServiceManager

Change-Id: I0fabb98b7b84e5c721757d20df4eac501ca21cc0
/frameworks/base/services/java/com/android/server/SystemServer.java
a78068e7a3af53cc2b590902f74074d1781513da 19-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 13c83996: am 1c532c2e: am 4b07b26e: Merge "Make UsbService optional" into klp-modular-dev

* commit '13c839962e246517a7a95326610ea30c529d79dc':
Make UsbService optional
1c532c2e2d8464ef7ddd0cc5914f3b1ab2dc49c2 19-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 4b07b26e: Merge "Make UsbService optional" into klp-modular-dev

* commit '4b07b26e8654df52ca80bb2165ebdf9352ab9337':
Make UsbService optional
5441745effb885589c03050b59885e8a3ad96ad6 19-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 019b1f26: am 2ea983a5: am 3d9bcb90: Create FEATURE_ constants for print and backup

* commit '019b1f2668ac17f5e52b6ce32a524d26134a062a':
Create FEATURE_ constants for print and backup
2ea983a567bf536f71dd620e1b215d5aeebce531 18-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 3d9bcb90: Create FEATURE_ constants for print and backup

* commit '3d9bcb90ee6c0ffff93642539ae64fb672c7f14a':
Create FEATURE_ constants for print and backup
2cb6c60c0d2de3bc743c043aca963db6fe52662f 15-Feb-2014 Adam Lesinski <adamlesinski@google.com> Make UsbService optional

Tweaked the services Android.mk to build dependencies
when building with mm[m].

Change-Id: I6dad511c652bcacc085f27ede5f8f22a6982c6bd
/frameworks/base/services/java/com/android/server/SystemServer.java
3d9bcb90ee6c0ffff93642539ae64fb672c7f14a 18-Feb-2014 Adam Lesinski <adamlesinski@google.com> Create FEATURE_ constants for print and backup

Bug:13079822

Change-Id: I6f4b759951d45989e8aad4011fae431ee2ecae0c
/frameworks/base/services/java/com/android/server/SystemServer.java
88aaef71289177644f723d3d0f20f34a6f9b3d2c 14-Feb-2014 Jeff Brown <jeffbrown@google.com> am ce0552f3: am 8a4c2bb1: am 567f7ca4: Refactor dream manager to new pattern.

* commit 'ce0552f360d8c8f0bc45095293be369800ce9c93':
Refactor dream manager to new pattern.
8a4c2bb1f07cf1d971290a7310d7b71aceb71590 14-Feb-2014 Jeff Brown <jeffbrown@google.com> am 567f7ca4: Refactor dream manager to new pattern.

* commit '567f7ca424280ae957b04d4f3df690055f2d41df':
Refactor dream manager to new pattern.
567f7ca424280ae957b04d4f3df690055f2d41df 31-Jan-2014 Jeff Brown <jeffbrown@google.com> Refactor dream manager to new pattern.

Change-Id: I99ab4bd98d56a290368dc4b24e5bb24e0656b522
/frameworks/base/services/java/com/android/server/SystemServer.java
cab8617b8ccea3a99b1ee15e15915c512a10c738 11-Feb-2014 Jeff Brown <jeffbrown@google.com> am 25df673b: am 1b51c9cb: Merge "Make SystemService constructor take a Context." into klp-modular-dev

* commit '25df673b849de374cf1de40250dfd8a48b7ac28b':
Make SystemService constructor take a Context.
25df673b849de374cf1de40250dfd8a48b7ac28b 11-Feb-2014 Jeff Brown <jeffbrown@google.com> am 1b51c9cb: Merge "Make SystemService constructor take a Context." into klp-modular-dev

* commit '1b51c9cb96fe2a0818289857a016521eed1ec183':
Make SystemService constructor take a Context.
b880d880c6cd989eacc28c365fc9a41d31900da1 11-Feb-2014 Jeff Brown <jeffbrown@google.com> Make SystemService constructor take a Context.

This change simplifies the process of initializing a SystemService
by folding the onCreate() step back into the constructor. It removes
some ambuiguity about what work should happen in the constructor and
should make it possible for services to retain most of their final
fields after refactoring into the new pattern.

Change-Id: I25f41af0321bc01898658ab44b369f9c5d16800b
/frameworks/base/services/java/com/android/server/SystemServer.java
9f97de13359662c2709eed227b3fab2ce7d5dabc 06-Feb-2014 Adam Lesinski <adamlesinski@google.com> am a5a93f55: am 7f416631: Merge "Check feature bits before loading optional services" into klp-modular-dev

* commit 'a5a93f559d337ad5b79716b05ea43707eb779dc8':
Check feature bits before loading optional services
a5a93f559d337ad5b79716b05ea43707eb779dc8 06-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 7f416631: Merge "Check feature bits before loading optional services" into klp-modular-dev

* commit '7f416631413e75a1756bd316a2e1906725d72f24':
Check feature bits before loading optional services
898c13df7b9b12ff10062f3542593e12fbe0c119 29-Jan-2014 Adam Lesinski <adamlesinski@google.com> Check feature bits before loading optional services

At startup, we check with PackageManager whether a system service is
available before attempting to load it. A system service is available
if its associated feature (similar to hardware features) is present.
This does not remove unavailable services from the compiled jar.

Change-Id: I13571805083aa4e65519a74acb52efd17b9fb3d7
/frameworks/base/services/java/com/android/server/SystemServer.java
c6c633608ad4cd77ed21227b0bdb11eb79797c31 30-Jan-2014 Brian Carlstrom <bdc@google.com> frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default

Bug: 12798969
Change-Id: Ibb7ed86867e4dca53ad7fe33326b08e6f5e664c4
/frameworks/base/services/java/com/android/server/SystemServer.java
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> Move some system services to separate directories

Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/java/com/android/server/SystemServer.java
182f73fc4da13a6417e5086ec9ecce80eb8423ca 06-Dec-2013 Adam Lesinski <adamlesinski@google.com> Introduce a Lifecycle for system services

Provide an abstract class for system services to extend from,
similar to the android.app.Service.

This will allow services to receive events in a uniform way,
and will allow services to be created and started in the
correct order regardless of whether or not a particular
service exists.

Similar to android.app.Service, services are meant to implement
Binder interfaces as inner classes. This prevents services from
having incestuous access to each other and makes them use the
public API.

Change-Id: Iaacfee8d5f080a28d7cc606761f4624673ed390f
/frameworks/base/services/java/com/android/server/SystemServer.java
09e9cdceceb722643e2c80c6544d44a43d7f95f0 06-Nov-2013 Amith Yamasani <yamasani@google.com> DO NOT MERGE : Move some system services to their own sub package.

(Cherry pick from master)

As a next step they can be moved into separate directories to be
built as separate modules that may or may not be included in a
particular configuration.

Moves AppWidgetService, BackupManagerService, ClipboardService, DevicePolicyMS,
and WallpaperMS.

Change-Id: Idd92871c1828bdde81d85fe99a9c87a22d53169d
/frameworks/base/services/java/com/android/server/SystemServer.java
d50d41e4df482a61f840ff912aacea0e00848f41 15-Nov-2013 Amith Yamasani <yamasani@google.com> DO NOT MERGE: Don't freak out if SystemUiService isn't available

Reducing dependencies on system services

Change-Id: Ifb1a3bfb9c8dda5e22ec698ddb588058d20bd566
/frameworks/base/services/java/com/android/server/SystemServer.java
e63f6f7c8d0094bdea3fe031a178490b273162cd 15-Nov-2013 Mike Lockwood <lockwood@google.com> DO NOT MERGE: Remove obsolete "headless" support

Change-Id: I829fe48e6ebcb819e260646bb19ac6ddfcf07f83
/frameworks/base/services/java/com/android/server/SystemServer.java
d40a4d74c623175c96a2e9d865a99826e56d1132 08-Nov-2013 Jeff Brown <jeffbrown@google.com> Merge "Add media router service and integrate with remote displays." into klp-dev
69b07161bebdb2c726e3a826c2268866f1a94517 07-Nov-2013 Jeff Brown <jeffbrown@google.com> Add media router service and integrate with remote displays.

This change adds a new media router service whose purpose is to track
global state information associated with media routes. This service
publishes routes to the media router instance in application processes
and handles requested state changes such as selecting or unselecting
global routes. The service also binds to remote display provider
services which can offer new remote display routes to the system.

Includes a test application for manually verifying certain aspects
of the operation of the media router service.

The remote display provider interface is essentially a stripped down
media route provider interface as defined in the support library
media router implementation. For now, it is designed to be used only
by first parties to publish remote display routes to the system so
it is not exposed as public API in the SDK. In the future, the remote
display provider interface will most likely be deprecated and replaced
with a more featureful media route provider interface for third
party integration, similar to what is in the support library today.

Further patch sets integrate these new capabilities into the System UI
and Settings for connecting remote displays.

Bug: 11257292
Change-Id: I31109f23f17b474d17534d0f5f4503e388b081c2
/frameworks/base/services/java/com/android/server/SystemServer.java
5637ffced9d0b804f43db0915b2d0f39af2835c0 01-Nov-2013 Brian Carlstrom <bdc@google.com> Move set of persist.sys.dalvik.vm.lib to SystemServer only

Bug: 11463182
Bug: 11479647
Change-Id: I38efdecdd65fe3efc9c33b4dc204a64543ae6377
/frameworks/base/services/java/com/android/server/SystemServer.java
04675f6ae9769bd174a54097f3c802550e410a16 04-Oct-2013 Vinit Deshapnde <vinitd@google.com> Set P2p statemachine's network manager before starting Wifi

Wifi statemachine starts P2p statemachine; which uses network management
service to (i.e. netd) to start p2p0 interface. But it only gets a
reference to network management service in conenctivityServiceReady().
Calling that later means there's a chance of a race between this
thread's setting of the network manager, and P2p statemachine thread's
usage of the same.

Bug: 11048296
Change-Id: If151026ed5fbb12db57ee7f9bdd47c67dd7142e5
/frameworks/base/services/java/com/android/server/SystemServer.java
35f72be50b8a2d11bce591dcdac5dc3fa336dac0 16-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement issue #10691359: Kill long-running processes

We now have the activity manager kill long-running processes
during idle maintanence.

This involved adding some more information to the activity manager
about the current memory state, so that it could know if it really
should bother killing anything. While doing this, I also improved
how we determine when memory is getting low by better ignoring cases
where processes are going away for other reasons (such as now idle
maintenance). We now won't raise our memory state if either a process
is going away because we wanted it gone for another reason or the
total number of processes is not decreasing.

The idle maintanence killing also uses new per-process information
about whether the process has ever gone into the cached state since
the last idle maintenance, and the initial pss and current pss size
over its run time.

Change-Id: Iceaa7ffb2ad2015c33a64133a72a272b56dbad53
/frameworks/base/services/java/com/android/server/SystemServer.java
51e95df8f24e9ea30775686b9e324b9a671213dc 26-Jun-2013 Erik Gilling <konkers@android.com> Add consumer IR framework

Change-Id: I786c00db0cce61ef75e4edc24e90f2cdcba6dbfb
/frameworks/base/services/java/com/android/server/SystemServer.java
a00271533f639c8ed36429c663889ac9f654bc72 25-Jun-2013 Svetoslav Ganov <svetoslavganov@google.com> Refactoring of the print sub-system and API clean up.

1. Now a user state has ins own spooler since the spooler app is
running per user. The user state registers an observer for the state
of the spooler to get information needed to orchestrate unbinding
from print serivces that have no work and eventually unbinding from
the spooler when all no service has any work.

2. Abstracted a remote print service from the perspective of the system
in a class that is transparently managing binding and unbinding to
the remote instance.

3. Abstracted the remote print spooler to transparently manage binding
and unbinding to the remote instance when there is work and when
there is no work, respectively.

4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to
enable implementing the all callbacks on a thread of choice. If
the document is really small, using the main thread makes sense.

Now if an app that does not need the UI state to layout the printed
content, it can schedule all the work for allocating resources, laying
out, writing, and releasing resources on a dedicated thread.

5. Added info class for the printed document that is now propagated
the the print services. A print service gets an instance of a
new document class that encapsulates the document info and a method
to access the document's data.

6. Added APIs for describing the type of a document to the new document
info class. This allows a print service to do smarts based on the
doc type. For now we have only photo and document types.

7. Renamed the systemReady method for system services that implement
it with different semantics to systemRunning. Such methods assume
the the service can run third-party code which is not the same as
systemReady.

8. Cleaned up the print job configuration activity.

9. Sigh... code clean up here and there. Factoring out classes to
improve readability.

Change-Id: I637ba28412793166cbf519273fdf022241159a92
/frameworks/base/services/java/com/android/server/SystemServer.java
ef691179799c11eceea0f118f79a32c47ca9ae96 15-Jul-2013 Jeff Brown <jeffbrown@google.com> Remove dead code in system server initialization.

System server always forks from Zygote so we no longer need
the system_server executable which was probably broken anyhow.
This makes the initialization sequence slightly more intelligible.

Likewise, we don't need the GrimReaper anymore because init
will automatically take care of restarting the system when the
service manager dies.

Change-Id: I02c88d9392f7c8133d9cde9d0d978da89ed80452
/frameworks/base/services/java/com/android/server/SystemServer.java
4b9a4d16872bbb50712e007b419ac0b35ff1582d 12-Jun-2013 Svetoslav Ganov <svetoslavganov@google.com> Print - platform APIs

Related changes:
Skia (inlcude PDF APIs): https://googleplex-android-review.googlesource.com/#/c/305814/
Canvas to PDF: https://googleplex-android-review.googlesource.com/#/c/319367/
Settings (initial version): https://googleplex-android-review.googlesource.com/#/c/306077/
Build: https://googleplex-android-review.googlesource.com/#/c/292437/
Sample print services: https://googleplex-android-review.googlesource.com/#/c/281785/

Change-Id: I104d12efd12577f05c7b9b2a5e5e49125c0f09da
/frameworks/base/services/java/com/android/server/SystemServer.java
025adc4457f54afed43bd5f9b73f80b96674a6b4 06-Jun-2013 Ken Sumrall <ksumrall@android.com> Don't wait for the MountService to be ready when encrypting

The MountService will take 2 minutes to time out trying to
get volume and asec lists from vold, because vold is busy encrypting
and not listening to requests on its socket. So when encrypting,
do not wait for it to be ready, as we don't have /data mounted anyhow.

Change-Id: I45c1067b168231cbec7a0f577de2ff3b28dbac55
/frameworks/base/services/java/com/android/server/SystemServer.java
713df150b92a0a5eea877f99405e31eefbf93a09 17-May-2013 Dianne Hackborn <hackbod@google.com> Add app ops for wake locks.

Currently only supports auditing, not disabling.

Change-Id: Ie85f02c29b490d96e073f54d59e165d48c7c00c9
/frameworks/base/services/java/com/android/server/SystemServer.java
efa92b2182ab581873aa8e75d596e2e363bd5e6d 03-May-2013 Dianne Hackborn <hackbod@google.com> Cleanup some of the thread merging.

Adds an optimization for checking whether a looper is stuck,
with a new Looper method to see if its thread is currently
idle. This will allow us to put a large number of loopers
in the monitor efficiently, since we generally won't have to
do a context switch on each of them (since most looper threads
spend most of their time idle waiting for work).

Also change things so the system process's main thread
is actually running on the main thread. Because Jeff
asked for this, and who am I to argue? :)

Change-Id: I12999e6f9c4b056c22dd652cb78c2453c391061f
/frameworks/base/services/java/com/android/server/SystemServer.java
100ed154b79b96348087222550a59a8f3b944fa1 06-May-2013 Svetoslav <svetoslavganov@google.com> am b0675df8: am faa47b52: Merge "Idle maintenance scheduling broken." into jb-mr2-dev

* commit 'b0675df8fd377230edc392e02ba0eba275b57992':
Idle maintenance scheduling broken.
6a08a12b8e8ef6fa04932c7a1c5255e3f158a3c8 03-May-2013 Svetoslav <svetoslavganov@google.com> Idle maintenance scheduling broken.

1. The scheduling was relying on receiving battery level broadcasts
which however are not sent if the device is asleep. The maintenance
window was not bound and we could miss a frame if the user did
not interact the device longer than the min time between two
maintenance windows.

2. Hide the idle maintenance intents since this will be rewritten
to user services.

bug:8688454

Change-Id: I17b421b09823cb46ec218cabda19e02432d94f8c
/frameworks/base/services/java/com/android/server/SystemServer.java
c9dc93e5ca71ce1df792e6ac9fcfe8d9eda4f96c 03-May-2013 Dianne Hackborn <hackbod@google.com> Merge "Start combining threads in system process."
8d044e8bc287c1a567d82aedbe30085b011544c3 01-May-2013 Dianne Hackborn <hackbod@google.com> Start combining threads in system process.

This introduces four generic thread that services can
use in the system process:

- Background: part of the framework for all processes, for
work that is purely background (no timing constraint).
- UI: for time-critical display of UI.
- Foreground: normal foreground work.
- IO: performing IO operations.

I went through and moved services into these threads in the
places I felt relatively comfortable about understanding what
they are doing. There are still a bunch more we need to look
at -- lots of networking stuff left, 3 or so different native
daemon connectors which I didn't know how much would block,
audio stuff, etc.

Also updated Watchdog to be aware of and check these new
threads, with a new API for other threads to also participate
in this checking.

Change-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11
/frameworks/base/services/java/com/android/server/SystemServer.java
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 18-Apr-2013 Romain Guy <romainguy@google.com> Pack preloaded framework assets in a texture atlas

When the Android runtime starts, the system preloads a series of assets
in the Zygote process. These assets are shared across all processes.
Unfortunately, each one of these assets is later uploaded in its own
OpenGL texture, once per process. This wastes memory and generates
unnecessary OpenGL state changes.

This CL introduces an asset server that provides an atlas to all processes.

Note: bitmaps used by skia shaders are *not* sampled from the atlas.
It's an uncommon use case and would require extra texture transforms
in the GL shaders.

WHAT IS THE ASSETS ATLAS

The "assets atlas" is a single, shareable graphic buffer that contains
all the system's preloaded bitmap drawables (this includes 9-patches.)
The atlas is made of two distinct objects: the graphic buffer that
contains the actual pixels and the map which indicates where each
preloaded bitmap can be found in the atlas (essentially a pair of
x and y coordinates.)

HOW IS THE ASSETS ATLAS GENERATED

Because we need to support a wide variety of devices and because it
is easy to change the list of preloaded drawables, the atlas is
generated at runtime, during the startup phase of the system process.

There are several steps that lead to the atlas generation:

1. If the device is booting for the first time, or if the device was
updated, we need to find the best atlas configuration. To do so,
the atlas service tries a number of width, height and algorithm
variations that allows us to pack as many assets as possible while
using as little memory as possible. Once a best configuration is found,
it gets written to disk in /data/system/framework_atlas

2. Given a best configuration (algorithm variant, dimensions and
number of bitmaps that can be packed in the atlas), the atlas service
packs all the preloaded bitmaps into a single graphic buffer object.

3. The packing is done using Skia in a temporary native bitmap. The
Skia bitmap is then copied into the graphic buffer using OpenGL ES
to benefit from texture swizzling.

HOW PROCESSES USE THE ATLAS

Whenever a process' hardware renderer initializes its EGL context,
it queries the atlas service for the graphic buffer and the map.

It is important to remember that both the context and the map will
be valid for the lifetime of the hardware renderer (if the system
process goes down, all apps get killed as well.)

Every time the hardware renderer needs to render a bitmap, it first
checks whether the bitmap can be found in the assets atlas. When
the bitmap is part of the atlas, texture coordinates are remapped
appropriately before rendering.

Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
/frameworks/base/services/java/com/android/server/SystemServer.java
f80d45bfc40ac0093cb2065afc465477bda7fc65 30-Apr-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of 3424b817 to master

Change-Id: Idb5bb208aa6aca66744fe6988029d22e739cc67b
1dd01eb36b63d870d75aec189dd1718a1663c272 26-Apr-2013 Matthew Xie <mattx@google.com> Donot start Bluetooth Manager Service when bluetooth hardware feature is missing

bug 8374762

Change-Id: Iea06bd05e19eeddf3398ac446f3d6b80fce51283
/frameworks/base/services/java/com/android/server/SystemServer.java
94e602d7b5f8c6fb6dbfa71d646a96aad0354640 19-Apr-2013 Jeff Sharkey <jsharkey@android.com> am 1b50e4ea: am ca2a6374: Merge "Environment should only warn when asked." into jb-mr2-dev

* commit '1b50e4ead5463f4dcc03f9c5ed64963af0d4d9eb':
Environment should only warn when asked.
48749fc78afc982ac32cf98790a85ab2b8bed515 19-Apr-2013 Jeff Sharkey <jsharkey@android.com> Environment should only warn when asked.

Instead of warning on Process.SYSTEM_UID, which is also used by the
Settings app, change to have the parent process explicitly ask for
warnings.

Bug: 8667286
Change-Id: Ib26676694a4041ff4e6d3ffdcc14055b7eba13c7
/frameworks/base/services/java/com/android/server/SystemServer.java
e4d9a01bfc7451afff1ed399a5801c7aa2af2831 29-Mar-2013 Dan Morrill <morrildl@google.com> Phase 1 of refactoring SystemServer.

SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.

Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
/frameworks/base/services/java/com/android/server/SystemServer.java
232b4d60a6653736b52922c3d3ec167ce8a54962 02-Apr-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of c16da6aa to master

Change-Id: Ibaaf2995def15573609562162902b3d73dd78ec0
58d380d2af8079075e4773a3e5ca6c2820760e3d 19-Mar-2013 Christopher Tate <ctate@google.com> debuggerd now notifies the Activity Manager about native crashes

The Activity Manager sets up a permission-guarded domain socket, which
debuggerd connects to when a crash happens. If this is successful,
the daemon then mirrors the logged crash report to that socket, then
closes it.

The Activity Manager parses the native crash dump supplied by debuggerd
and forwards it to the standard app-crashed code. The UX result is
that users now see the normal "app has stopped unexpectedly" dialog
with "report" and "okay" options for native crashes, not just for
DVM-mediated crashes.

Bug 8322568

Change-Id: Ie1b279896c603bd74d82d6cfcfd66a8f231da134
/frameworks/base/services/java/com/android/server/SystemServer.java
6d190338fcf245774665ce4d9d9f5aa56bbc5645 04-Mar-2013 Nick Kralevich <nnk@google.com> am 0e5b5f66: am 0841c4cb: Merge "EntropyMixer: Write entropy at shutdown / reboot / power" into jb-mr2-dev

* commit '0e5b5f6619f45db6cdff7757d208c197a3d4a3b1':
EntropyMixer: Write entropy at shutdown / reboot / power
79619ddbfe7367e11dd17d848b179877350b7b8e 04-Mar-2013 Nick Kralevich <nnk@google.com> EntropyMixer: Write entropy at shutdown / reboot / power

Write out entropy if we're shutting down or rebooting,
or if someone plugs in the power.

Bug: 8312061
Change-Id: Id9a48064a7bdfe6c05a9227ea95a1bdbd0e9b8ae
/frameworks/base/services/java/com/android/server/SystemServer.java
5ecd81154fa039961f65bb4e36d18ac555b0d1d6 10-Jan-2013 Jim Miller <jaggies@google.com> Move keyguard to its own process.

This is in preparation to moving keyguard into its own process.

Moved keyguard source and resources into new .apk.

Got basic test app working. Still need to implement MockPatternUtils
and means to pass it into KeyguardService with local binder interface.

Added new ACCESS_KEYGUARD_SECURE_STORAGE permission.

Temporarily disabled USER_PRESENT broadcast.

Remove unintentional whitespace changes in PhoneWindowManager, etc.

Checkpoint basic working version.

Move to systemui process.

Synchronize with TOT.

Sync with recent user API changes.

Fix bug with returing interface instead of stub for IKeyguardResult. Create KeyguardServiceDelegate to allow
for runtime-selectable local or remote interface.

More keyguard crash robustness.

Keyguard crash recovery working. Currently fails safe (locked).

Fix selector view which was still using frameworks resources.

Remove more references to internal framework variables. Use aliases for those we should move but
currently have dependencies.

Allow runtime switching between service and local mode.

Fix layout issue on tablets where orientation was reading the incorrect constant
from the framework. Remove more framework dependencies.

Fix PIN keyboard input.

Remove unnecessary copy of orientation attrs.

Remove unused user selector widget and attempt to get multi user working again.

Fix multi-user avatar icon by grabbing it from UserManager rather than directly since
keyguard can no longer read it.

Merge with AppWidget userId changes in master.

Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
/frameworks/base/services/java/com/android/server/SystemServer.java
d017f3523244974a8a3fb653ed4b6d514affcc01 20-Feb-2013 Irfan Sheriff <isheriff@google.com> Move wifiservice into its own package

Change-Id: I3ff378a29cb4dd191605b0b641147eba1f445d13
/frameworks/base/services/java/com/android/server/SystemServer.java
b3038ec7cfc5d26eb0be18ae65c62825556bca0f 13-Feb-2013 Svetoslav <svetoslavganov@google.com> Adding idle maintenance service.

It is beneficial that there is a mechanism on the platform
to notify applications whether it is safe to perform somehow
expensive operations while the user is not using the device.
Thus, user experience will not be degraded. An example is
discarding of unused blocks on a mounted file system instead
of doing this on every write operation.

bug:8056794

Change-Id: I708bad9d3ce6c8f1d5a1c05c0abf46f81a3d464b
/frameworks/base/services/java/com/android/server/SystemServer.java
ca6486e7f579fa885b6213513f26ce2ca49f873b 15-Jan-2013 Sasha Levitskiy <sanek@google.com> Removed Throttle Manager as obsolete

Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
/frameworks/base/services/java/com/android/server/SystemServer.java
a06de0f29b58df9246779cc4bfd8f06f7205ddb6 12-Dec-2012 Dianne Hackborn <hackbod@google.com> New "app ops" service.

Initial implementation, tracking use of the vibrator, GPS,
and location reports.

Also includes an update to battery stats to also keep track of
vibrator usage (since I had to be in the vibrator code anyway
to instrument it).

The service itself is only half-done. Currently no API to
retrieve the data (which once there will allow us to show you
which apps are currently causing the GPS to run and who has
recently accessed your location), it doesn't persist its data
like it should, and no way to tell it to reject app requests
for various operations.

But hey, it's a start!

Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
/frameworks/base/services/java/com/android/server/SystemServer.java
7a96c39c510923ef73bbb06ab20109f0168b8eb1 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> Move lingering services to services.jar.

This helps reduce the pressure on framework.jar, and makes it clear
that it should only be used by the system_server.

Bug: 7333397
Change-Id: I0858904239535380fbf30562b793e277d8c3f054
/frameworks/base/services/java/com/android/server/SystemServer.java
40e9f2922cae76ffcbc521481e5be8e80e8744ef 28-Nov-2012 Dianne Hackborn <hackbod@google.com> Quiet down a lot of logging.

Also fix a little problem where the USER_STARTED broadcasts
were not being sent as ordered broadcasts(!).

Change-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41
/frameworks/base/services/java/com/android/server/SystemServer.java
cd75706117432e33d11639e675bcff50479a6bb9 20-Oct-2012 Amith Yamasani <yamasani@google.com> System server should always send broadcasts to a specific or all users

Bug: 7368245

Log a warning if the system process calls unqualified sendBroadcast()
and other calls.

As a result of the logging above, found a few more method calls such as
bindService() that would benefit from being more explicit to avoid
future confusion and reduce the log warnings.

Change-Id: I17f15c8be9adf7becd456d6abbab606f19befdbf
/frameworks/base/services/java/com/android/server/SystemServer.java
ed108f3d125b0a4cc465057e3514caf781cdea19 18-Oct-2012 John Spurlock <jspurlock@google.com> Frameworks base: Promote dream setting defaults to config.

So that:
- the values can be shared (to fix assoc bug)
- the values can be customized in product overlays

Bug:7373284
Change-Id: I37f037082523a3d975f6014f36afa28c60117372
/frameworks/base/services/java/com/android/server/SystemServer.java
2f39e9f8333183312b7f7d423c2ea60a93a25e32 21-Sep-2012 Craig Mautner <cmautner@google.com> Switch from uevent model to /dev/input/event.

Headsets are now detected from calls coming in from the input switch
subsystem if a config.xml value is set to true.

Bug: 6548391.

Change-Id: I79259d2742e157b106a746474f32ffd1c171ddf3
/frameworks/base/services/java/com/android/server/SystemServer.java
be87e2f5885b28145a788fd31d1fb5ae88a71100 29-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7255954: API Review: rename Dream to DreamService

Change-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872
/frameworks/base/services/java/com/android/server/SystemServer.java
62c82e4d92cc0b856059f905d81885f7808a0e7d 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Make DreamManagerService more robust.

Clearly isolated the DreamManagerService and DreamController
responsibilities. DreamManagerService contains just enough logic to
manage the global synchronous behaviors. All of the asynchronous
behaviors are in DreamController.

Added a new PowerManager function called nap() to request the device
to start napping. If it is a good time to nap, then the
PowerManagerService will call startDream() on the DreamManagerService
to start dreaming.

Fixed a possible multi-user issue by explicitly tracking for
which user a dream service is being started and stopping dreams
when the current user changes. The user id is also passed to
bindService() to ensure that the dream has the right environment.

Fix interactions with docks and the UI mode manager. It is
important that we always send the ACTION_DOCK_EVENT broadcast
to the system so that it can configure audio routing and the like.
When docked, the UI mode manager starts a dock app if there is
one, otherwise it starts a dream.

This change resolves issues with dreams started for reasons other
than a user activity timeout.

Bug: 7204211
Change-Id: I3193cc8190982c0836319176fa2e9c4dcad9c01f
/frameworks/base/services/java/com/android/server/SystemServer.java
cef440f2a2bb8b6e8d082d12a67dc21f2ee65e3c 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Move DreamManagerService to its own package.

Bug: 7204211
Change-Id: Ia6cfe252647161df357a4de149a06fa1e3fd63fa
/frameworks/base/services/java/com/android/server/SystemServer.java
888eb73c6e86a18520cbaa999a18e8b039dbed4f 24-Sep-2012 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 814f5ac3 to jb-mr1-dev

Change-Id: Ic65395ce932971dc9c37a481aa96da79a45d0f12
b079d1f28089ad4de05162b7df0ace90bc40a5f3 24-Sep-2012 Amith Yamasani <yamasani@google.com> am 5e8cbdc0: Merge "Fixing services start order that impacts ICS - JB upgrade"

* commit '5e8cbdc0bd6dfc51e6b54db1d5fd61347336d862':
Fixing services start order that impacts ICS - JB upgrade
b4c33679cbdec9e12369fb49469ce33ed83ed25c 21-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Disentangle input manager service startup." into jb-mr1-dev
a9d131c30878cacdaeacb4f43a82a7cc5b872453 21-Sep-2012 Jeff Brown <jeffbrown@google.com> Disentangle input manager service startup.

We will be adding additional callbacks for other components.
This change makes it clearer how the input manager is started
and where the callbacks are initialized.

Bug: 6548391
Change-Id: I4b2a61482126a12b7cf11fafe513f846c76c11e5
/frameworks/base/services/java/com/android/server/SystemServer.java
ca2cb1841099c7206af93149d0326308e0d3f81a 20-Sep-2012 Wink Saville <wink@google.com> Merge "Suppress location information for non-active users." into jb-mr1-dev
a12a7b3d3d8fc8678411295df4d001447b33a994 20-Sep-2012 Wink Saville <wink@google.com> Suppress location information for non-active users.

Specifically, don't allow call backs for LISTEN_CELL_LOCATION and
LISTEN_CELL_INFO.

Bug: 7087342
Change-Id: Ida7f60b5bde3f28264dcb454b38fcfb1f1616d11
/frameworks/base/services/java/com/android/server/SystemServer.java
e0de5bfff2e74ee566ac2d053052de09aa25e54b 20-Sep-2012 John Spurlock <jspurlock@google.com> Merge "Fire "dreaming started" and "dreaming stopped" broadcasts." into jb-mr1-dev
89d5546d7fd3a3bb19820c42e8b4527013dd6545 19-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for remembering Wifi display devices.

Add a setting to globally disable Wifi display.

Fixed a bug where the wifi display broadcast receiver
was running on the wrong thread.

Removed the wifi-display QuickSettings dialog, all functionality
has been moved to Settings.

Bug: 7178216
Bug: 7192799
Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
/frameworks/base/services/java/com/android/server/SystemServer.java
f4f6b4c8b0fcf77d46567f13b409255948fe107b 25-Aug-2012 John Spurlock <jspurlock@google.com> Fire "dreaming started" and "dreaming stopped" broadcasts.

Dream manager now fires broadcast intents when entering + exiting
dreamland (except when testing).

Power manager can now listen for dreams ending, using polling only
as a backstop.

Also:
- Bullet-proof dream-manager/dream against known failure modes
- Add new read/write dream permissions
- Refactor dream-manager to delegate work + state management into
a new DreamController class, via a handler

Bug:6999949
Bug:7152024
Change-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1
/frameworks/base/services/java/com/android/server/SystemServer.java
f35df5b509469fc7e71cdd70f4caec670bc5156f 18-Sep-2012 Felipe Ramos <felipe.wolff@gmail.com> Fixing services start order that impacts ICS - JB upgrade

JB has introduced LockSettingsService. When the phone is
upgrading from ICS, that used another way to store lock
settings, the LockSettingsService needs to import these
settings to store in its database. This happens when the
systemReady() method of this class is called by SystemServer.

The problem resides in the fact that the
DevicePolicyManagerService actually needs to access the
LockSettingsService during its systemReady() initialization,
causing invalid values to be read by it which propagates and
ends up causing a invalid return in the method
isActivePasswordSufficient.

If user had a Google corporate account that enforces password
related policies through Google Apps Device Policy (GADP) app
in ICS, when he upgrades to JB, the GADP will throw a
notification saying that the password doesn't meet the required
policies and needs to be changed, incorrectly, since it wasn't
touched during upgrade.

This fix initializes the LockSettingsService before the
DevicePolicyManagerService, which is the correct way since
the latter uses the first in its initialization. This prevents
this issue to happen, and probably future issues, depending
on the way that LockSettingsService evolves.

Change-Id: I3d4334a8b728f0ad9ae744cece430d15af25a0b7
/frameworks/base/services/java/com/android/server/SystemServer.java
f69c812f49cb2dea296cd319984e58af026f4c3a 13-Sep-2012 Jeff Brown <jeffbrown@google.com> Wait for installd to finish starting before booting.

Fixes a race condition where the system server might
try to access /data/user/0 before it was created. In so
doing, the system server could end up creating a directory
in that location with the wrong permissions and everything
would promptly crash.

Bug: 7151686
Change-Id: I349c12fd2b9685d2e7f6305e74f6bf7d5816b752
/frameworks/base/services/java/com/android/server/SystemServer.java
b049e212ab7fe8967893c202efcb30fecfdb82fb 08-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include user identifier in external storage paths.

When building external storage paths, always include user in path
to enable cross-user paths and aid debugging.

Each Zygote process continues to only have access to the appropriate
user-specific emulated storage through bind mounts. A second set of
mounts continue supporting legacy /sdcard-style paths. For example,
a process running as owner has these mount points:

/storage/emulated_legacy
/storage/emulated_legacy/Android/obb
/storage/emulated/0
/storage/emulated/obb

Since Environment is created before Zygote forks, we need to update
its internal paths after each process launches.

Bug: 7131382
Change-Id: I6f8c6971f2a8edfb415c14cb4ed05ff97e587a21
/frameworks/base/services/java/com/android/server/SystemServer.java
1676c856d61b97c871dc2be0cb1f1fb1e12e24e9 10-Sep-2012 Dianne Hackborn <hackbod@google.com> Flesh out multi-user in am commands.

Now we default to the current user instead of user 0 for most commands
(except where we can do the command for all users).

Many more commands take a user argument: force-stop, kill, profile,
dumpheap.

Improved help text.

Change-Id: I719a13b4d31b668f57ca21e51d7043ac3e0d4e1b
/frameworks/base/services/java/com/android/server/SystemServer.java
d728bf514f257670fcb9aa22c6eaf97626072c93 09-Sep-2012 Jeff Brown <jeffbrown@google.com> Make display manager tell input system about viewports.

The window manager is no longer responsible for telling the
input system about the display viewport.

Change-Id: I932882bae55decef55f25093bb2a7ebac1620bb1
/frameworks/base/services/java/com/android/server/SystemServer.java
4ed8fe75e1dde1a2b9576f3862aecc5a572c56b5 31-Aug-2012 Jeff Brown <jeffbrown@google.com> More improvements to the display manager.

Added more complete support for logical displays with
support for mirroring, rotation and scaling.

Improved the overlay display adapter's touch interactions.

A big change here is that the display manager no longer relies
on a single-threaded model to maintain its synchronization
invariants. Unfortunately we had to change this so as to play
nice with the fact that the window manager wants to own
the surface flinger transaction around display and surface
manipulations. As a result, the display manager has to be able
to update displays from the context of any thread.

It would be nice to make this process more cooperative.
There are already several components competing to perform
surface flinger transactions including the window manager,
display manager, electron beam, overlay display window,
and mouse pointer. They are not manipulating the same surfaces
but they can collide with one another when they make global
changes to the displays.

Change-Id: I04f448594241f2004f6f3d1a81ccd12c566bf296
/frameworks/base/services/java/com/android/server/SystemServer.java
bd6e1500aedc5461e832f69e76341bff0e55fa2b 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Add initial multi-display support.

Split the DisplayManager into two parts. One part is bound
to a Context and takes care of Display compatibility and
caching Display objects on behalf of the Context. The other
part is global and takes care of communicating with the
DisplayManagerService, handling callbacks, and caching
DisplayInfo objects on behalf of the process.

Implemented support for enumerating Displays and getting
callbacks when displays are added, removed or changed.

Elaborated the roles of DisplayManagerService, DisplayAdapter,
and DisplayDevice. We now support having multiple display
adapters registered, each of which can register multiple display
devices and configure them dynamically.

Added an OverlayDisplayAdapter which is used to simulate
secondary displays by means of overlay windows. Different
configurations of overlays can be selected using a new
setting in the Developer Settings panel. The overlays can
be repositioned and resized by the user for convenience.

At the moment, all displays are mirrors of display 0 and
no display transformations are applied. This will be improved
in future patches.

Refactored the way that the window manager creates its threads.
The OverlayDisplayAdapter needs to be able to use hardware
acceleration so it must share the same UI thread as the Keyguard
and window manager policy. We now handle this explicitly as
part of starting up the system server. This puts us in a
better position to consider how we might want to share (or not
share) Loopers among components.

Overlay displays are disabled when in safe mode or in only-core
mode to reduce the number of dependencies started in these modes.

Change-Id: Ic2a661d5448dde01b095ab150697cb6791d69bb5
/frameworks/base/services/java/com/android/server/SystemServer.java
4428e17c5e05c0dad76da8f1c28ccba62a66cd91 25-Aug-2012 Dianne Hackborn <hackbod@google.com> Some clean up of app install and user management.

UserManagerService is now closely tied to PackageManagerService,
sharing the same locks. There is no longer direct access of
Installer by UserManagerService, instead the package manager is
back to solely owning it.

Creating a new user now correctly only installs system apps for
that user.

Fixed some misc bugs, where we were getting nulls when
querying content providers and instrumentation in uninstalled
users, incorrect locking, etc.

Change-Id: Ife69b6e373d0cf7c5cfc03fc588e36b43ad5d8b0
/frameworks/base/services/java/com/android/server/SystemServer.java
aa202a6dc33d331cbd9e34a1bb5f74db6284dda6 22-Aug-2012 Jeff Brown <jeffbrown@google.com> Add a mechanism to adjust auto-brightness at night.

Uses the twilight service to determine the hours of
sunrise and sunset. Shortly after sunset or before sunrise
gradually start to apply a gamma correction factor to the
auto-brightness calculations to make the screen a little
dimmer at night.

The effect is relatively small and is mostly noticeable
in dark rooms. This is just a first pass at the algorithm,
we can tweak the adjustment later to ensure that it has even less
impact in moderate or bright environments.

Change-Id: Idf89022a5d0bb52975e04779352d53fa63371178
/frameworks/base/services/java/com/android/server/SystemServer.java
2416e09649eb6ab767eba458796e126196c77a34 22-Aug-2012 Jeff Brown <jeffbrown@google.com> Extract the twilight detection into its own service.

Moving the detection out of UiModeManagerService will
make it easy for other services to register for the
information.

Fixed a bugs related to updating twilight state
when the time is updated.

We're using the same algorithm as before for passively
tracking the location. Ideally we should update it
to use the new location manager features for low-power
location requests.

Change-Id: I520c53b9946ab6f8d994587d357fd6542c300c07
/frameworks/base/services/java/com/android/server/SystemServer.java
848c2dc93b6795e171f3dd6f64ea0be65e2762ca 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Stub out display manager service implementation.

Reverting to the previous stub as the display adapter registration
and the logical to physical mapping is not at all what we are going
to need moving forward.

Fixed up the service initialization order so that the display manager
service has a context from the start.

Change-Id: I717f2f1099c7a77180ef207c371ec8329258850a
/frameworks/base/services/java/com/android/server/SystemServer.java
9630704ed3b265f008a8f64ec60a33cf9dcd3345 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Power manager rewrite.

The major goal of this rewrite is to make it easier to implement
power management policies correctly. According, the new
implementation primarily uses state-based rather than event-based
triggers for applying changes to the current power state.

For example, when an application requests that the proximity
sensor be used to manage the screen state (by way of a wake lock),
the power manager makes note of the fact that the set of
wake locks changed. Then it executes a common update function
that recalculates the entire state, first looking at wake locks,
then considering user activity, and eventually determining whether
the screen should be turned on or off. At this point it may
make a request to a component called the DisplayPowerController
to asynchronously update the display's powe state. Likewise,
DisplayPowerController makes note of the updated power request
and schedules its own update function to figure out what needs
to be changed.

The big benefit of this approach is that it's easy to mutate
multiple properties of the power state simultaneously then
apply their joint effects together all at once. Transitions
between states are detected and resolved by the update in
a consistent manner.

The new power manager service has is implemented as a set of
loosely coupled components. For the most part, information
only flows one way through these components (by issuing a
request to that component) although some components support
sending a message back to indicate when the work has been
completed. For example, the DisplayPowerController posts
a callback runnable asynchronously to tell the PowerManagerService
when the display is ready. An important feature of this
approach is that each component neatly encapsulates its
state and maintains its own invariants. Moreover, we do
not need to worry about deadlocks or awkward mutual exclusion
semantics because most of the requests are asynchronous.

The benefits of this design are especially apparent in
the implementation of the screen on / off and brightness
control animations which are able to take advantage of
framework features like properties, ObjectAnimator
and Choreographer.

The screen on / off animation is now the responsibility
of the power manager (instead of surface flinger). This change
makes it much easier to ensure that the animation is properly
coordinated with other power state changes and eliminates
the cause of race conditions in the older implementation.

The because of the userActivity() function has been changed
so that it never wakes the device from sleep. This change
removes ambiguity around forcing or disabling user activity
for various purposes. To wake the device, use wakeUp().
To put it to sleep, use goToSleep(). Simple.

The power manager service interface and API has been significantly
simplified and consolidated. Also fixed some inconsistencies
related to how the minimum and maximum screen brightness setting
was presented in brightness control widgets and enforced behind
the scenes.

At present the following features are implemented:

- Wake locks.
- User activity.
- Wake up / go to sleep.
- Power state broadcasts.
- Battery stats and event log notifications.
- Dreams.
- Proximity screen off.
- Animated screen on / off transitions.
- Auto-dimming.
- Auto-brightness control for the screen backlight with
different timeouts for ramping up versus ramping down.
- Auto-on when plugged or unplugged.
- Stay on when plugged.
- Device administration maximum user activity timeout.
- Application controlled brightness via window manager.

The following features are not yet implemented:

- Reduced user activity timeout for the key guard.
- Reduced user activity timeout for the phone application.
- Coordinating screen on barriers with the window manager.
- Preventing auto-rotation during power state changes.
- Auto-brightness adjustment setting (feature was disabled
in previous version of the power manager service pending
an improved UI design so leaving it out for now).
- Interpolated brightness control (a proposed new scheme
for more compactly specifying auto-brightness levels
in config.xml).
- Button / keyboard backlight control.
- Change window manager to associated WorkSource with
KEEP_SCREEN_ON_FLAG wake lock instead of talking
directly to the battery stats service.
- Optionally support animating screen brightness when
turning on/off instead of playing electron beam animation
(config_animateScreenLights).

Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
/frameworks/base/services/java/com/android/server/SystemServer.java
258848d2ae04f447ff1c18023fa76b139fcc0862 11-Aug-2012 Amith Yamasani <yamasani@google.com> User Manager service to manage users and query user details

Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
/frameworks/base/services/java/com/android/server/SystemServer.java
5017f2328407447002ab2d0cae1fe8ef87c50501 28-Jul-2012 Jason Simmons <jsimmons@google.com> Call systemReady on the lock settings before doing so on the window manager

At systemReady time, the window manager needs to obtain values from the lock
settings service (e.g. whether the lock screen is disabled). During the
initial boot of a wiped device, the window manager was getting the wrong
values because LockSettingsService.systemReady/migrateOldData had not yet been
called.

Change-Id: I60825d0e4fad53a5b4349dabf9e5e299b863d0d0

(cherry pick of 2458abaf6676d5015af733c1010ecd67a085e9e2 from jb-aah-dev)
/frameworks/base/services/java/com/android/server/SystemServer.java
f95f3ebf12bf9ee23b8ed4e940ab007cbc22f3f3 02-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Allow access to display manager service from isolated processes." into jb-mr1-dev
e7c1d88fba71122038d516d3b758d68f9f92fa64 02-Aug-2012 Jeff Brown <jeffbrown@google.com> Allow access to display manager service from isolated processes.

Bug: 6921302
Change-Id: I9eed4a24992538e18ad0540b96a8cea2c8a9ef76
/frameworks/base/services/java/com/android/server/SystemServer.java
437a0fbd57662e1d9d260da6f62ff83da2769a7e 02-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Introduce multiple displays with DisplayContent." into jb-mr1-dev
59c009776dae5ccbdfb93d7151ff2065ca049dc3 30-Jul-2012 Craig Mautner <cmautner@google.com> Introduce multiple displays with DisplayContent.

Fix a couple of bugs that turned up.
Remove touch/focus from display. Add iterators for access.
Respond to comments. Remove TODOs, and some deviceId parameters.

Change-Id: Idcdb4f1979aa7b14634d450fd0333d6eff26994d
/frameworks/base/services/java/com/android/server/SystemServer.java
e23ae144cc1b6487a7c0e7a33d3016431c81850c 31-Jul-2012 Kenny Root <kroot@google.com> am fa74f7e0: am bba948dc: Merge "Delay AccountManagerService initialization" into jb-dev

* commit 'fa74f7e04fcad1258a1b85515547dba0466086d8':
Delay AccountManagerService initialization
fa74f7e04fcad1258a1b85515547dba0466086d8 31-Jul-2012 Kenny Root <kroot@google.com> am bba948dc: Merge "Delay AccountManagerService initialization" into jb-dev

* commit 'bba948dc9e95baab9e6fb728927aada4a00d93de':
Delay AccountManagerService initialization
26ff6626fc4ee0ae46f01ad309b366921da589fe 30-Jul-2012 Kenny Root <kroot@google.com> Delay AccountManagerService initialization

Since applications can have Account providers, they need to be delayed
until after PackageManagerService says everything is mounted.
Otherwise the accounts associated with that provider will be removed
immediately when startup happens.

Bug: 6820670
Change-Id: Iba81765260421649f706624d0605a40ebc1347b1
/frameworks/base/services/java/com/android/server/SystemServer.java
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 24-Jul-2012 Jeff Brown <jeffbrown@google.com> Add display manager skeleton.

The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of
displays.

This patch also starts to make a distinction between logical displays
and physical display devices. Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
/frameworks/base/services/java/com/android/server/SystemServer.java
9631314e3d28b6e96ef0b7cc777f1a7747a0ac39 30-Jun-2012 Matthew Xie <mattx@google.com> Fix merge error, put in tmp workaround for input manager.

Fix merge error, missing enableNoAutoConnect api.
Remove bluetoothF from inputManageF.systemReady call as tmp workaround.
Recover shutdownRadios(MAX_RADIO_WAIT_TIME) call in ShutdownThread

Change-Id: Ice2b5c54267755bdbf56c742feabbb8709b92570
/frameworks/base/services/java/com/android/server/SystemServer.java
0f42037eb7b5118015c2caca635538324ccf0ccf 12-Apr-2012 fredc <fredc@broadcom.com> Non persistent adapter service

Change-Id: Ib13d5c77416e58161df0e04d7a15ec0dddbde8b5

Conflicts:

core/java/android/bluetooth/BluetoothInputDevice.java

Conflicts:

core/java/com/android/internal/app/ShutdownThread.java
services/java/com/android/server/SystemServer.java

Conflicts:

services/java/com/android/server/SystemServer.java
services/java/com/android/server/pm/ShutdownThread.java
/frameworks/base/services/java/com/android/server/SystemServer.java
e21a4ac09d2473becaea43a73d19e9e836e7732a 07-Mar-2012 Jaikumar Ganesh <jaikumar@google.com> Add a new version of the disable API.

This allows for the setting to be persisted or not.
Also turn on Bluetooth in System Server if needed.
It won't work currently because the service wouldn't have
started.

Change-Id: I15fa2bff93aa32134c1b565fcbe90ba68614b6a1
/frameworks/base/services/java/com/android/server/SystemServer.java
34196187365687d3f144a6de5fef811b52545ac0 18-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Remove BT references from System Server.

Change-Id: Icfdb3e140aa35174a8b70da57472a1bf2bd0143b

Conflicts:

services/java/com/android/server/SystemServer.java
/frameworks/base/services/java/com/android/server/SystemServer.java
ad51a1e9230cdf95082b5e05690f0b72eaed3f35 26-Jun-2012 Jeff Brown <jeffbrown@google.com> am 0086ec0d: am d48cf0c0: Merge "Don\'t wait until boot timeout if there is no wallpaper." into jb-dev

* commit '0086ec0d3009bc8c80e1330cd73ba534aa45f489':
Don't wait until boot timeout if there is no wallpaper.
0086ec0d3009bc8c80e1330cd73ba534aa45f489 26-Jun-2012 Jeff Brown <jeffbrown@google.com> am d48cf0c0: Merge "Don\'t wait until boot timeout if there is no wallpaper." into jb-dev

* commit 'd48cf0c0ce5f9458802d2be8671c85fa027a74a0':
Don't wait until boot timeout if there is no wallpaper.
780c46fc9197f7ecb258e2c229824749f9e93806 24-Jun-2012 Jeff Brown <jeffbrown@google.com> Don't wait until boot timeout if there is no wallpaper.

When launching only core apps, the wallpaper service
is not started. Without this change the WM waits
up to 30 seconds for the wallpaper window to be created even
though it will never happen. This introduces a significant
delay before the boot animation is dismissed so the user can
enter a decryption password.

Bug: 6263070
Change-Id: Ia975127a0bf09cf99818f7cc4fd6c0264b740ec6
/frameworks/base/services/java/com/android/server/SystemServer.java
4f8ecd80296508a1dc69d3f3a23fd91e962c2784 19-Jun-2012 Jeff Brown <jeffbrown@google.com> Move power manager to a new package.

Change-Id: I5f5a6435e64354b7d6535e8e9a63934ba7a3f448
/frameworks/base/services/java/com/android/server/SystemServer.java
3430959c4dce7ff5e4a8bac2f9e1c3f3a8307079 12-Jun-2012 Dianne Hackborn <hackbod@android.com> am 569f5bdd: am 37d8ac1b: Merge "SystemServer: Looper\'s getMainLooper to return ServerThread"

* commit '569f5bddd2494bdeae07a6b278f6df6cc8579981':
SystemServer: Looper's getMainLooper to return ServerThread
51a573c76737733638c475f52e441c814e6645cc 17-May-2012 Kenny Root <kroot@google.com> Wait for ASECs to be scanned before proceeding

Move MountService up the list, then pause waiting for MountService to
finish scanning ASECs before the services that require those packages to
be ready.

Additionally, don't automatically mark all ASEC apps as FLAG_EXTERNAL on
reboot. This prevents AppWidgets and other things from being used with
ASECs which are on internal storage.

Bug: 6445613
Change-Id: I3e0b3e244fec966814d7a5ea93de5d337aea79bd
/frameworks/base/services/java/com/android/server/SystemServer.java
b696c0542cae70d7f66b9011be2f9d1812885159 15-May-2012 Geremy Condra <gcondra@google.com> Merge "Adds support for the CertBlacklister." into jb-dev
3d33c268cc7f08ec3d2ec1aa535fa86dec458b2e 07-May-2012 Geremy Condra <gcondra@google.com> Adds support for the CertBlacklister.

The CertBlacklister is a mechanism for allowing is to use gservices
to blacklist certs by serial number or public key.

Change-Id: Ie4b0c966a8a43c9823fb550c0b1691204f133ae7
/frameworks/base/services/java/com/android/server/SystemServer.java
7304c343821309dd15f769b18f1de2fa43751573 12-May-2012 Jeff Brown <jeffbrown@google.com> Move power HAL interactions to PowerManagerService.

This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server. Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
/frameworks/base/services/java/com/android/server/SystemServer.java
07b0465095bd9ab3412caefa4fcacbdc3825c64b 24-Apr-2012 Glenn Kasten <gkasten@google.com> Scheduling policy service

Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
/frameworks/base/services/java/com/android/server/SystemServer.java
9341f389dbad2df1a30dabfbada8e3a92a4a39f3 24-Apr-2012 Jake Hamby <jhamby@google.com> After reboot with airplane mode and BT enabled, keep BT enabled.

Enabling airplane mode disables Wi-Fi and Bluetooth as well as the
cell radio. Bluetooth and Wi-Fi can then be reenabled if desired.
After a reboot, Bluetooth was always disabled if airplane mode
was enabled. Changed to set Bluetooth to its previous state after
reboot, regardless of the airplane mode setting. This is already
the behavior for Wi-Fi after a reboot.

Bug: 5623624
Change-Id: I1c44500221aa0e5d1d7a5c9046d6c1380d28b5c0
/frameworks/base/services/java/com/android/server/SystemServer.java
5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a 21-Apr-2012 Jeff Brown <jeffbrown@google.com> Get alias for Bluetooth devices.

Bluetooth devices can be renamed by the user. Make the
input system aware of the user-specified name and transparently
pass it down to applications. This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.

Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
/frameworks/base/services/java/com/android/server/SystemServer.java
6ec6f79e1ac1714e3b837796e99f07ff88f66601 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Support loading keyboard layout overlays from resources.

Added the concept of a keyboard layout overlay, which is
a key character map file that has "type OVERLAY".

Added support for loading keyboard layout overlays from
resources dynamically. The layouts are reloaded whenever they
are changed in the Settings application or an application
is installed. This is somewhat more aggressive than necessary
so we might want to optimize it later.

Before system-ready, the input system uses just the generic
keyboard layouts that are included on the device system image.
After system-ready, it considers the user's selected keyboard
layout overlay and attempts to load it as necessary. We need to
wait until system-ready before doing this because we need to
be in a state where it is safe to start applications or access
their resources.

Bug: 6110399
Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
/frameworks/base/services/java/com/android/server/SystemServer.java
7f6c231a76f0bedaf9655a24707737d343244312 14-Apr-2012 Jeff Brown <jeffbrown@google.com> Add setting to redirect vibrator to game controller.

Bug: 6334179
Change-Id: I70093e38824ea3e5cf9cf242d1d7b6d26115ed80
/frameworks/base/services/java/com/android/server/SystemServer.java
8d33d39d68d46af758143a56c89322360cbbada2 11-Apr-2012 satok <satok@google.com> Merge "Show physical keyboard control button on the input method switch dialog"
01038492ff0317f0d3cff54d8a7ee36bb31ff175 09-Apr-2012 satok <satok@google.com> Show physical keyboard control button on the input method switch dialog

Bug: 5240095
Change-Id: Ica768083f95c33dc1e494a28ba7d8b6eb989b0ef
/frameworks/base/services/java/com/android/server/SystemServer.java
7d276c377ce0c56630c06a6da431a6cb9bd76d1e 30-Jan-2012 Daniel Sandler <dsandler@android.com> New Android Dreams architecture, disabled for now.

Rather than normal Activities (which have a host of problems
when used for this purpose), screen savers are now a
special kind of Service that can add views to its own
special window (TYPE_DREAM, in the SCREENSAVER layer).

Dreams are now launched by the power manager; whenever it is
about to turn the screen off, it asks the window manager if
it wants to run a screen saver instead. (http://b/5677408)

Also, the new config_enableDreams bool allows the entire
feature to be switched on or off in one place. It is
currently switched off (and the APIs are all @hidden).

Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
/frameworks/base/services/java/com/android/server/SystemServer.java
e9bdb31ea1dc3c1c2b1833a4bf0031d85928a45b 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Refactor input system into its own service."
4532e6158474a263d9d26c2b42240bcf7ce9b172 05-Apr-2012 Jeff Brown <jeffbrown@google.com> Refactor input system into its own service.

Extracted the input system from the window manager service into
a new input manager service. This will make it easier to
offer new input-related features to applications.

Cleaned up the input manager service JNI layer somewhat to get rid
of all of the unnecessary checks for whether the input manager
had been initialized. Simplified the callback layer as well.

Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
/frameworks/base/services/java/com/android/server/SystemServer.java
52c489cd63cca0361f374f7cb392018fabfa8bcc 28-Mar-2012 Amith Yamasani <yamasani@google.com> Lockscreen settings per user

Move all lockscreen related settings to LockSettingsService.
LockPatternUtils uses this through IPC instead of Secure settings.
Migrate old settings to new database managed by LockSettingsService.
Passwords and patterns are stored in a new per-user location, except
for the primary user, for backward compatibility.
KeyguardViewMediator and LockPatternKeyguardView listen for changes
to user and updates the lockscreen.

Settings provider will look for Lock settings in the LockSettings
service now for the entries that used to be stored in Settings.

Change-Id: I956cd5b95e2d9d45a6401af7e270e6a5aa2dcc98
/frameworks/base/services/java/com/android/server/SystemServer.java
7d024d372431effc87168afdc7cbe387680c4935 23-Mar-2012 Irfan Sheriff <isheriff@google.com> Add initial framework for DNS service discovery

Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
/frameworks/base/services/java/com/android/server/SystemServer.java
8662cab5c6a01ea5c426512e6f6d2cf3e158aea0 23-Feb-2012 Christopher Tate <ctate@google.com> Merge: Introduce UpdateLocks

An "UpdateLock" works similarly to a wake lock in API: the caller is
providing a hint to the OS that now is not a good time to interrupt
the user/device in order to do intrusive work like applying OTAs.
This is particularly important for headless or kiosk-like products
where ordinarily the update process will be automatically scheduled
and proceed without user or administrator intervention.

UpdateLocks require that the caller hold the new signatureOrSystem
permission android.permission.UPDATE_LOCK. acquire() and release()
will throw security exceptions if this is not the case.

The "is now convenient?" state is expressed to interested parties
by way of a sticky broadcast sent only to registered listeners. The
broadcast is protected; only the system can send it, so listeners
can trust it to be accurate. The broadcast intent also includes a
timestamp (System.currentTimeMillis()) to help inform listeners that
wish to implement scheduling policies based on when the device became
idle.

The API change here is a tiny one: a dump(PrintWriter) method has been
added to the TokenWatcher class to facilitate getting information out
of it for dumpsys purposes. UpdateLock itself is still @hide.

Bug 5543442

Change-Id: I3709c831fc1883d7cb753cd2d3ee8e10a61e7e48
/frameworks/base/services/java/com/android/server/SystemServer.java
c157673a590e670a9a509ec13d47ffada0b56335 02-Feb-2012 John Grossman <johngro@google.com> Add the CommonTimeManagementService.

Add a small service to the high level core set of system services to
control the configuration of the native common time service. This
service is responsible for controlling policy regarding when the
common time service should be allowed to run, which networks it is
allowed to run on, what priority it runs at in the master election
algorithm, and so on.

Change-Id: I1fcd834c0286aea0df9557520693a3f42de59d69
Signed-off-by: John Grossman <johngro@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
c067c9c373e673b2474e8dc2e5a00db274d5e13d 31-Oct-2011 Mike Lockwood <lockwood@android.com> Add support for disabling wallpaper service

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
cba928cef7d614d375253246f014c4a52bb8b913 18-Aug-2011 Mike Lockwood <lockwood@android.com> 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>
/frameworks/base/services/java/com/android/server/SystemServer.java
3a74bd36f8af1a12353db8ddbc5227d33c2ce680 12-Aug-2011 Mike Lockwood <lockwood@android.com> Add headless mode for running the framework without the surface flinger

Enabled by setting system property ro.config.headless to 1
This will allow the framework to run without starting activities,
system UI and the keyguard.
Framework can still run services, content providers and broadcast receivers.

Signed-off-by: Mike Lockwood <lockwood@android.com>

Conflicts:

policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
services/java/com/android/server/PowerManagerService.java
services/java/com/android/server/am/ActivityManagerService.java
/frameworks/base/services/java/com/android/server/SystemServer.java
93fcaca2aa329e60f8fecc69cb81e7b0fe47066b 19-Sep-2011 Mike Lockwood <lockwood@android.com> SystemServer: Don't start A2DP service if audio is not enabled

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
b01e8bf57b7492b77e3445db51471edcbadda75e 30-Aug-2011 Mike Lockwood <lockwood@android.com> 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>
/frameworks/base/services/java/com/android/server/SystemServer.java
04b74ec3af725ecb57f70d6e40a9865a2952a6be 03-Feb-2012 Vairavan Srinivasan <vairav@codeaurora.org> SystemServer: Looper's getMainLooper to return ServerThread

Fix to ensure Context.getMainLooper and Looper.getMainLooper
returns ServerThread for system_server. Currently, Looper's
getMainLooper returns null.

Change-Id: I5324a1cc00e27a79ba97836a9377a584e6f76b15
/frameworks/base/services/java/com/android/server/SystemServer.java
6967cbc959b079fa7e4411360e40e2a0ed65da29 17-Nov-2011 Nick Kralevich <nnk@google.com> Rename EntropyService to EntropyMixer

EntropyService implies that this program provides entropy to other
programs, and is misleading. The EntropyMixer class is designed purely
to stir the existing entropy pool with some possibily random-ish data,
and carryover entropy across device reboots.

Change-Id: I086cd339a3b652d32371521e61e1b1f555ce2280
/frameworks/base/services/java/com/android/server/SystemServer.java
58f42a59bda3bc912d0d2f81dc65a9d31d140eaa 10-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5405788: Device continuously opening and closing...

...the "Complete action using" dialog

When an application goes idle, it sends back to the activity manager
the configuration it last used, to make sure the two don't get out
of sync. Fix a bunch of edge cases here in dealing with that, and
be sure to also send the current configuration when launching an
activity so the client is always up-to-date when launching.

Also a small fix to not show the upgrading dialog during first boot.

Change-Id: I14ed366a87cd689d1c78787369e052422290ac6f
/frameworks/base/services/java/com/android/server/SystemServer.java
8154495fc7b09938709ded2d07e8f9419cc94be7 26-Sep-2011 Ben Komalo <benkomalo@google.com> am 69a6d537: Merge "Enter minimal boot mode when booting encrypted" into ics-factoryrom

* commit '69a6d537e6f29683f685ecb688f0b06b1c0b2b15':
Enter minimal boot mode when booting encrypted
3573d400a5940a53747425139e9f7cbe7e9fe114 24-Sep-2011 Ben Komalo <benkomalo@google.com> Enter minimal boot mode when booting encrypted

Bug: 5233488
Change-Id: Iba7a41c69af2387594d2be562d587918cd17a348
/frameworks/base/services/java/com/android/server/SystemServer.java
367d15ab1a33b6159447fa8542d4fa8ff148371c 22-Sep-2011 Jeff Sharkey <jsharkey@android.com> Watch network subtype, tethering teardown, empty.

Watch for changes to telephony network subtype, and update iface
mapping to persist stats under correct type. Update network stats
before removing tethering NAT rules.

Skip recording that would create empty historical buckets. Query UID
stats before iface stats to always skew positive when counters are
actively rolling forward.

Bug: 5360042, 5359860, 5335674, 5334448
Change-Id: I8aa37b568e8ffb70647218aa1aff5195d3e44d5a
/frameworks/base/services/java/com/android/server/SystemServer.java
553acf0409619ccde09332fb8af3e0b5c7cc4752 19-Sep-2011 Ben Komalo <benkomalo@google.com> Only run "core" apps when encrypting device.

This forces the package manager to only read packages that have
coreApp="true" in their manifest when encrypting the device, since no
non-essential processes or applications should run in that time.

Bug: 5031399
Change-Id: I87e8b27703e42553940167858db9473705d5d843
/frameworks/base/services/java/com/android/server/SystemServer.java
d2509fd83597595914ef0627685e917380863eb6 12-Sep-2011 Dianne Hackborn <hackbod@google.com> Add boot mode where only "core apps" are started.

A core app is one that has coreApp="true" in its manifest tag.

The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.

Currently this boot mode is always turned off.

Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
/frameworks/base/services/java/com/android/server/SystemServer.java
9b2886e24301e5d4e7052ec4a6eaff273d3f516c 31-Aug-2011 Robert Greenwalt <rgreenwalt@google.com> Create new isNetworkSupported API

Useful for checking if on a wifi-only device.
Similar to asking for NetworkInfo for a network type and checking for
null, though here the intent is explicit.

bug:5087537
Change-Id: Ia3ddd09b6b735b8b3ceb7a347891e015fd96b218
/frameworks/base/services/java/com/android/server/SystemServer.java
8795b60dfc2a9baba9776777f62e5fd1ba48e8d7 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Whoops, remove this.

Change-Id: I863d4739e918de1b4177ec8bb17063597f1ff3dc
/frameworks/base/services/java/com/android/server/SystemServer.java
295e3c27e4e3762a002382fc1657f5f0070a3410 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5214105 and work on issue #5109947.

Change-Id: Iff2cfec5280a314989d915aa830c16124f921611
5214105: taking a screenshot while "Android is upgrading..." crashes device
5109947: Race condition between retrieving a content provider and updating its oom adj
/frameworks/base/services/java/com/android/server/SystemServer.java
661cd52e0e1d527132eb1cae604d3e64da7ec0cb 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add progress dialog for booting after an upgrade.

This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog. This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
/frameworks/base/services/java/com/android/server/SystemServer.java
aea743aaa43a833fd8ff3dc56205197583152d5f 30-Jul-2011 repo sync <isheriff@google.com> P2p enhancements

- ConnectivityService interaction and support for running dhcp server
and client

- State machine enhancements for connectivity interaction

Change-Id: Iba3beb8c87554ffd67a7b7e852bbb4dd8666a4f5
/frameworks/base/services/java/com/android/server/SystemServer.java
cb30b22ff507a5a9a5d9c584f8b082f5e96c4d02 30-Jul-2011 Irfan Sheriff <isheriff@google.com> Add firmware reload support for P2P

Refactor firmware reload call to support various modes - AP, STA & P2P

Bug: 5002384
Change-Id: I10d20fe5a7842437cf80861bc8a834990db87db5
/frameworks/base/services/java/com/android/server/SystemServer.java
f6d09845be2d58b1de7af9f6edc8b9ee216520a5 04-Aug-2011 Irfan Sheriff <isheriff@google.com> Fix p2p package paths

Split change Iba3beb8c which will not go in master to fix package paths

Bug: 5002384
Change-Id: I15072b65422fcdfe17c3f130d169258d60748012
/frameworks/base/services/java/com/android/server/SystemServer.java
55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be 24-Jun-2011 repo sync <isheriff@google.com> Updated: Wi-Fi p2p framework

First stage. Get the bones in right now even though
we are not ready on the native side.

Once, we have things underneath working - we will further update the
framework

Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
/frameworks/base/services/java/com/android/server/SystemServer.java
988323c57bd25a58f05dfa492d9b9c8ab62c5153 22-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

This CL inherits https://android-git.corp.google.com/g/112600

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
/frameworks/base/services/java/com/android/server/SystemServer.java
350083e36b9db6062e165954403ef921ff3dfdad 29-Jun-2011 Jeff Sharkey <jsharkey@android.com> Migrate bandwidth control to NMS, omit history.

Both stats and policy make NMS calls that depend on bandwidth control
being enabled, so move enable/disable into NMS and drop calls when
disabled. This avoids throwing heavy ISE exceptions when disabled.

Only include recent data when writing NetworkStatsHistory as part of
dumpsys call. Introduce manual poll event for Settings UI.

Bug: 4982115, 4770435, 4515856
Change-Id: I257820b057af2f0f99c736fb4f61e55b9fdc3e66
/frameworks/base/services/java/com/android/server/SystemServer.java
50fd36d7c38c40b087c8f3e3172478abe0c051d9 16-Jun-2011 Ashish Sharma <ashishsharma@google.com> Push interface quota rules from NetworkPolicyManager to kernel.

Change-Id: Id2b758f561820b44839f69bf5fbd676cae771fe3
/frameworks/base/services/java/com/android/server/SystemServer.java
aa6bd940f07f4552eb8f43869194616660877fd4 28-Jun-2011 Jake Hamby <jhamby@google.com> Don't enable Bluetooth when booting into airplane mode.

When airplane mode is enabled and the phone is rebooted, Bluetooth
should not turn on. Previously the airplane mode setting was ignored
and only the Bluetooth enabled setting was used to determine whether
to enable Bluetooth at boot time. Now, both settings are checked.

Bug: 3404790
Change-Id: I5e3095a94e50825dd469addebef97a7c85041fca
/frameworks/base/services/java/com/android/server/SystemServer.java
8969d9924c662ab4cdacc342bbdc33756db730be 22-Jun-2011 satok <satok@google.com> Revert "Create TextServiceManager and SpellCheckerService"

This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
/frameworks/base/services/java/com/android/server/SystemServer.java
eaddb894865a804279659b4aad6364a34ab50beb 01-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
/frameworks/base/services/java/com/android/server/SystemServer.java
02e4569b5f126ca916a7473117ddd17d4f2ccbbb 14-Jun-2011 Mike Lockwood <lockwood@android.com> USB: Support for new USB gadget drivers

Change-Id: Id08df50acb873a94f4765a991ee6a6f5b898ddf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
497e4437af386930dff3bd55296d128bd4520959 15-Jun-2011 Jeff Sharkey <jsharkey@android.com> Data usage warning and limit notifications.

Watch for network statistics to cross NetworkPolicy warning or limit,
and show notifications to user as needed. Currently checks during
any statistics update, but will eventually move to event registration
through netd when kernel supports.

Fixed accounting bug in getSummaryForNetwork(). Only apply UID policy
to applications; applying to system processes could break critical
services like RIL.

Change-Id: Iac0f20e910e205f3cbc54ec96395ff268b1aa379
/frameworks/base/services/java/com/android/server/SystemServer.java
541c9949ae9c05636d3e0442aa5080815121a042 13-Jun-2011 Mike Lockwood <lockwood@android.com> Move adb related functionality from SystemServer and NotificationManagerService to UsbDeviceManager

Change-Id: I9e64b54bc2d027d88ae2d2cd893068e29b6fe237
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
21c9c45e5caf62b935354b74392fb40c4bf18529 07-Jun-2011 Jeff Sharkey <jsharkey@android.com> Interface-level network policy, persist policies.

Define NetworkPolicy as cycle-reset day and warning/limit values, and
set/get through NetworkPolicyManager. Watch ConnectivityManager for
network connection events, and apply quota rules based on matching
interfaces. Policy service matches based on strong identity to support
IMSI-specific policy values.

Calculates remaining quota based on current stats recorded since the
last reset cycle day. Tests to verify edge cases around February.

Persist network and UID policies in XML, and restore on boot.

Change-Id: Id40ba7d6eed6094fbd5e18e6331286c606880d80
/frameworks/base/services/java/com/android/server/SystemServer.java
d2a458750e5a3d490af09cecb5c28370baf0a913 29-May-2011 Jeff Sharkey <jsharkey@android.com> Map network identity using ConnectivityService.

Instead of deriving network identity based on raw subsystem broadcasts,
listen for updates from ConnectivityService. Added atomic view of all
active NetworkState, and build map from "iface" to NetworkIdentity set
for stats tracking.

To avoid exposing internal complexity, INetworkStatsService calls use
general templates. Added TelephonyManager mapping to classify network
types using broad labels like "3G" or "4G", used to drive templates.

Cleaned up Objects and Preconditions.

Change-Id: I1d4c1403f0503bc3635a59bb378841ba42239a91
/frameworks/base/services/java/com/android/server/SystemServer.java
75279904202357565cf5a1cb11148d01f42b4569 25-May-2011 Jeff Sharkey <jsharkey@android.com> Collect historical network stats.

Periodically records delta network traffic into historical buckets to
support other services, such NetworkPolicyManager and Settings UI.

Introduces NetworkStatsHistory structure which contains sparse, uniform
buckets of data usage defined by timestamps. Service periodically
polls NetworkStats and records changes into buckets. It only persists
to disk when substantial changes have occured. Current parameters
create 4 buckets each day, and persist for 90 days, resulting in about
8kB of data per network.

Only records stats for "well known" network interfaces that have been
claimed by Telephony or Wi-Fi subsystems. Historical stats are also
keyed off identity (such as IMSI) to support SIM swapping.

Change-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a
/frameworks/base/services/java/com/android/server/SystemServer.java
c006f1aec15454782c35e028ad64d79a5c161cc1 20-May-2011 Jeff Sharkey <jsharkey@android.com> Policy and rules work for ConnectivityManager.

Teach ConnectivityManager about UID-specific rules derived from policy,
such as rejecting network traffic on "paid" interfaces. Calls that
return NetworkInfo now filter based on any REJECT rules in effect for
the calling UID. (Added uid parameter if callers that still want all
interfaces.)

Changed NetworkPolicyManager to derive rules based on current policy
combined with PowerManager and ActivityManager status, which it passes
to ConnectivityService for eventual enforcement through netd. When
rules change the usability of a NetworkInfo for a specific UID, it also
dispatches CONNECTIVITY_ACTION broadcasts to that UID. Combined paid
and background policy together to match current working definition.

Change-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6
/frameworks/base/services/java/com/android/server/SystemServer.java
a4620793038b9a9163b26c6ece882cb454fcbf87 21-May-2011 Jeff Sharkey <jsharkey@android.com> Observe screen on/off events in NetworkPolicy.

The POLICY_REJECT_BACKGROUND policy requires that network traffic be
blocked when a UID goes into the background. Even if the UID has an
activity in the foreground, it's considered "background" if the screen
is turned off.

This changes watches for SCREEN_ON/OFF broadcasts, and rule generation
now observes screen state. It also introduces an observer pattern so
that ActivityManager doesn't directly know about NetworkPolicy, and
moves the service management into SystemServer.

Change-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58
/frameworks/base/services/java/com/android/server/SystemServer.java
6e6cd7a5660af1a4b5a9ad091c41ef1c72ad2000 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Move accessibility manager service to own package.

Change-Id: I0d73737a21615f0ff0abc80b757fb8c9bcb50be5
/frameworks/base/services/java/com/android/server/SystemServer.java
cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96a 22-Mar-2011 Kenny Root <kroot@google.com> Split PackageManagerService into subclasses

Split PackageManagerService from one monolithic class with several inner
classes to several classes. This will help determining how its data
structures can be reshuffled to provide better separation of concerns.

Change-Id: Ic7571daebdcf13ce08e08f34204c5bbf4140139b
/frameworks/base/services/java/com/android/server/SystemServer.java
02eb8746de2d60563ec2751a34d20923192e4293 27-Feb-2011 Mike Lockwood <lockwood@android.com> UsbManager: Enhancements for managing USB devices and accessories

When a USB device or accessory is connected, the UsbService now asks the
user which application to associate with the device or accessory.
Applications interested in devices or accessories must specify the
devices they work with via meta-data attached to their manifest.
Permission to communicate with the device is assigned when the user chooses
the activity to use for the device.
The user has the option of clicking the "always use this application" checkbox
to make the assignment automatic in the future.
The user may later clear this preference and revoke permission for an application
to have permission to communicate with the device by clicking the "Clear defaults"
button for the activity in the Manage Applications panel in Settings.

Added class UsbResolveActivity (a subclass or ResolveActivity for choosing
an activity for a USB device or accessory)

Added UsbDeviceManager, which manages the mapping between USB devices/accessories
and applications, including default applications for devices and accessories,
and manages application permissions.

Add interface to allow Settings to clear device and accessory
preferences and permissions for an application.

Remove obsolete ACCESS_USB permission.

Add new signatureOrSystem MANAGE_USB permission to allow administrating
preferences and permissions.

Moved UsbService.java to a "usb" subdirectory, along with new classes
UsbResolveActivity and UsbDeviceManager.

Change-Id: I92554381e9779e68ce380daaee4e1401fb875703
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
a924dc0db952fe32509435fdb8dc9c84a9e181f3 17-Feb-2011 Dianne Hackborn <hackbod@google.com> Start window manager refactoring.

Move all of the pieces into a new com.android.server.wm package.

Change-Id: I942b7bcfb84ee0f843f47d58e55ffc5a93c0da94
/frameworks/base/services/java/com/android/server/SystemServer.java
7da70821f7a2c22dfed4a2c2afc3c9e73427babc 07-Feb-2011 Dianne Hackborn <hackbod@google.com> am 94baff47: am 1b1962f3: Merge "Fix issue #3420898: More wallpaper issues" into honeycomb

* commit '94baff47975fb3ae1380333f23fc2de2dc65eb86':
Fix issue #3420898: More wallpaper issues
ac1471a4fff660710f88afc679c4119fdf8dc417 03-Feb-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3420898: More wallpaper issues

- The ImageWallpaper wasn't watching for the desired dimensions to
change, at which point it needs to resize its surface.
- The system process has been running with the small dalvik heap
limit, which is too tight with these huge wallpapers; this would
cause switching wallpapers to eventually stop working as it
couldn't get the memory it needed to load the new one.
- The compatibility mode background surface had a bunch of issues,
such as moving its windows to the right by the window size to
make them disappear. This of course doesn't play well with the
now super-sized wallpaper surface. This code is re-worked to
not require such shenanigans.

Change-Id: I64fde4059645d8507f1c4761ba6c17b89877a5c0
/frameworks/base/services/java/com/android/server/SystemServer.java
46bfd4a355d7349cc9db53c70b8849ce0818aa7c 30-Jan-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of c608e106 to master

Change-Id: I49117966f43080d86763bab51848dbc50e55ecf8
2992ea782fa61780d8e0de7a36a2a84622f8694b 29-Jan-2011 Jeff Brown <jeffbrown@google.com> Add "Use physical keyboard" option to system bar IME button.

Bug: 3391067
Change-Id: I136087ca4f726d0068d5983d7d3686787ba60c55
/frameworks/base/services/java/com/android/server/SystemServer.java
e7d511e148bc901ef41ac44d7b3593e5d803f72f 30-Dec-2010 Mike Lockwood <lockwood@android.com> New APIs for USB host support:

UsbManager:
- is now a service retrievable via Context.getSystemService(Context.USB_SERVICE).
- provides support for returning a list all connected USB devices
- broadcasts ACTION_USB_DEVICE_ATTACHED and USB_DEVICE_DETACHED when devices
are added and removed from the USB host bus

UsbDevice:
- represents an attached USB device.

UsbInterface:
- represents an interface on a USB device
- devices may have multiple interfaces if they provide multiple
sets of functionality (for example, android phones typically have interfaces
for both USB mass storage and adb)

UsbEndpoint:
- represents an endpoint on a USB interface
- endpoints are used for sending or receiving data
(only in one or the other direction)

UsbRequest:
- encapsulates a send or receive request to be sent over an endpoint

Change-Id: Ieef3e434c62760770ea839070cf5eba1a705967a
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
3612f0870c4252a60b93332eadde780dc122a05b 17-Jan-2011 David 'Digit' Turner <digit@google.com> Merge "SystemServer: Do not register null BlueTooth service in the emulator" into honeycomb
e2a5e86c9f14debc8412741b68672f9432cae5b2 17-Jan-2011 David 'Digit' Turner <digit@google.com> SystemServer: Do not register null BlueTooth service in the emulator

Because registering a null service generates an exception. See bug 3356000

Change-Id: Id7b4af815942e498d750c1b7a412d5ee26b61ad4
/frameworks/base/services/java/com/android/server/SystemServer.java
b09abc1dd271d0eb4ba4050d8bf9670802a7d0fe 14-Jan-2011 Jeff Brown <jeffbrown@google.com> Add volume down as a safe mode key for Stingray.

Fixed a race condition during startup. We need to wait for the input
devices to actually be ready before trying to detect safe mode.

Fixed a problem during safe mode activation where we would try to add
the overlay window but the display was not initialized. Now we do it
after the system is ready.

Bug: 3134825
Change-Id: I4c043c142ae6bf0d865c79d266d36154eaf00709
/frameworks/base/services/java/com/android/server/SystemServer.java
770126a678ccc9328a89407ffc82f4d998b25427 10-Dec-2010 Mike Lockwood <lockwood@android.com> Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService

In preparation for an upcoming change that will make UsbService into a real system service

Change-Id: Id85d624cfc6b10b49a08105cfaaacc667a492c12
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
21e941bf43362ddc6639a9f2d0828053360f53d7 06-Oct-2010 Praveen Bharathi <pbharathi@motorola.com> Added support for dock headset observer

Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
de1b359e88ef1dcafdc0c6a724f660ad0b55fc3a 26-Oct-2010 Joe Onorato <joeo@google.com> Move the battery LED code over to the battery service from the notification service (!)

Change-Id: I12d7994ae245a36b8b2c3272fcbe173881caebd0
/frameworks/base/services/java/com/android/server/SystemServer.java
f3c3c4fd14cb4185ec6df5a4355aab8b9f4039dc 21-Oct-2010 Joe Onorato <joeo@google.com> Refactor SystemUI so the status bar isn't a Service of its own.

There is now one SystemUIService, which starts the status bar service.
Pretty soon there will be other things running in here too. This way
we don't need to have each of them started by something individually.

This also moves the choice between tablet and phone status bar into
SystemUI.apk, which seems like a much better place for it.

Change-Id: Ib69ef2f43d648764f8dbb52008f5d036a1ee07d9
/frameworks/base/services/java/com/android/server/SystemServer.java
7d0548d0944e48421857de4aec2822ced325bea0 19-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Fix race condition between starting of service and getting the Profile Proxy.

Incoming A2DP connections were not working.

Change-Id: I5a3322ddb39b2512495b4cd2e35593da0f605087
/frameworks/base/services/java/com/android/server/SystemServer.java
cd0e839a2448deea50f79bddeba782c546b33893 14-Oct-2010 Nick Pelly <npelly@google.com> NFC: Move NFC service implementation out of system_server.

NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.

Bug: 3041259
Bug: 3097445
Change-Id: If7f00cd8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
9456714cfb9eb5ba4882fdcc922b787d77ed4da4 15-Oct-2010 Kenny Root <kroot@google.com> am b4f26a9d: am e6ae5c39: Merge "Add shutdown assurance" into gingerbread

Merge commit 'b4f26a9d37caf7762b66b68d50825c5b075b42bd'

* commit 'b4f26a9d37caf7762b66b68d50825c5b075b42bd':
Add shutdown assurance
f547d679c058ed00de78a32146d04b75254df7ec 22-Sep-2010 Kenny Root <kroot@google.com> Add shutdown assurance

If something kills system_server before it completes its shutdown
action, the runtime will just restart giving the illusion that a reboot
for an OTA or something else has happened.

To prevent this, write a system property containing the reboot reason
before initiating the shutdown with all the services. If the
system_server is killed before it completes, the next time the main
thread of system_server starts up, it will immediately execute the
shutdown action.

Bug: 3022556
Change-Id: I81723bac333430f04205e7a7b799914d96f170eb
/frameworks/base/services/java/com/android/server/SystemServer.java
5e6338d4a80e10fe5911fc4317d1d5958d8b033d 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 2af4c51e: am 6bb7a4a6: Go one day into 1970 for timezone code.

Merge commit '2af4c51e9a82848e3efce4621559a69fda965665'

* commit '2af4c51e9a82848e3efce4621559a69fda965665':
Go one day into 1970 for timezone code.
5fdc0c7397ee2d638bc310e5ce2830b938d7c008 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 14d151bf to master

Change-Id: Ib1ac9acfd6dc71b5fa4e1456a056d1e9dee65fda
6bb7a4a68ae79dab56b23d1c7111bf7eb3aa55fe 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Go one day into 1970 for timezone code.

Change-Id: I80251de79db6684ef3fa1ec835b400d9e3547401
/frameworks/base/services/java/com/android/server/SystemServer.java
35ca9d8a357d3e8c514740ebdbab154e865fdbbf 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> On boot, advance time to at least 1970.

Otherwise various Java APIs start doing their documented "correct"
thing, which is to fail.

Bug: 3081605
Change-Id: I90f8cde745d2ddab78419e37f60eea1e81a58127
/frameworks/base/services/java/com/android/server/SystemServer.java
dc565f4b3ae90c296d51658c98fd9f6b53cf2492 04-Oct-2010 Joe Onorato <joeo@google.com> work around race condition which causes us to try to load the phone
status bar on the tablet.

Change-Id: Id5ad1192b4667622957fd0c48870ea22a480e0b5
/frameworks/base/services/java/com/android/server/SystemServer.java
4715bd91f5949a1919156a5a5cb50f0cccda645e 29-Sep-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of f4c3b7e9 to master

Change-Id: Idcdc521144f3072058b2bb6cb383e42c852e64f4
038cabe0247ee46df62f9363f1a303bc5b9c1028 24-Sep-2010 Nick Pelly <npelly@google.com> NFC integration

Source: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010)

Conflicts:

core/java/android/app/ApplicationContext.java
core/java/android/provider/Settings.java
core/jni/Android.mk
core/jni/AndroidRuntime.cpp
core/res/AndroidManifest.xml
include/utils/Asset.h

Change-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573
Signed-off-by: Nick Pelly <npelly@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
400f12b4dde36bc3e4c02e7f861bad33d1f42a17 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> Fix build.

Change-Id: Iae02fabe42013705592f75748388daf8fa5ed54e
/frameworks/base/services/java/com/android/server/SystemServer.java
a57afb6a6c9f4fb451535c3d6f49c3bdf4b59125 27-Sep-2010 Hung-ying Tyan <tyanh@google.com> resolved conflicts for merge of 2a36a778 to master

Change-Id: Ia70adeef06afddd29c827405fb5657bf9f5a29a3
7e54ef71db3320a751571bba5259fba816399421 25-Sep-2010 Hung-ying Tyan <tyanh@google.com> Move SipService out of SystemServer to phone process.

Companion CL: https://android-git/g/#change,70187
http://b/issue?id=2998069

Change-Id: I90923ac522ef363a4e04292f652d413c5a1526ad
/frameworks/base/services/java/com/android/server/SystemServer.java
35dcaece115e2f8e227c2e579d38c42b65ead85e 23-Sep-2010 Robert Greenwalt <rgreenwalt@google.com> am 9c38a6dc: am e87ebb08: Merge "Cleanup Netd to prevent getting hung." into gingerbread

Merge commit '9c38a6dc13ba55fccb9c66f347307a1b4ae68105'

* commit '9c38a6dc13ba55fccb9c66f347307a1b4ae68105':
Cleanup Netd to prevent getting hung.
e5c3afb29241fd3faae309f973645d7f6a7ed111 22-Sep-2010 Robert Greenwalt <rgreenwalt@google.com> Cleanup Netd to prevent getting hung.

If the sending of the command fails we should note it and not wait forever
for the response.

We should also not say we're ready until we actually are.

bug:2993205
Change-Id: I380f0312ac4693ad184a526b330fdfa23f6ac558
/frameworks/base/services/java/com/android/server/SystemServer.java
6734b9f68062b04e602be0069ab028045c1fe3ec 14-Sep-2010 Amith Yamasani <yamasani@google.com> Provide automatic date/time based on NTP lookup.

Do this on a periodic basis as well as when the AUTO_TIME setting changes to true.

If we recently acquired NITZ time from the telephony provider, then don't override
with NTP time.
/frameworks/base/services/java/com/android/server/SystemServer.java
b835d9abd6d7c89bb1226fc83d1e96b3b04b9ee3 15-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am f26ac1f8: am 96d6c345: Merge "Unify some duplicate StrictMode-enabling code." into gingerbread

Merge commit 'f26ac1f8ed27d9e88bbde8978557c34788c7509c'

* commit 'f26ac1f8ed27d9e88bbde8978557c34788c7509c':
Unify some duplicate StrictMode-enabling code.
50d66f9fcdac84b2af65a82be56728f54b1a7ef0 14-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Unify some duplicate StrictMode-enabling code.

Change-Id: Ifb92f35d9e245dbdb5e201597d8be702bce9e8b8
/frameworks/base/services/java/com/android/server/SystemServer.java
c74a1b441490e5648ac4388baeccb78cae4ab364 11-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Fix build caused by automerger and missing imports in master.

gingerbread had an import android.os.*. master doesn't. auto-merger
applied it fine, but it doesn't compile.

Change-Id: I28d7b5053616a40223eeb29a0669831d5ca76d9e
/frameworks/base/services/java/com/android/server/SystemServer.java
0b29554188f57ff1eec4150fa24f9a6a6603ed0f 11-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am 37fc8cc7: am b724d251: Merge "Enable strictmode logging in system_server & add a lock." into gingerbread

Merge commit '37fc8cc7b87133eddacaeab60cabefaf4a7b9bdd'

* commit '37fc8cc7b87133eddacaeab60cabefaf4a7b9bdd':
Enable strictmode logging in system_server & add a lock.
1e02d36b0f1dc833cf8a837c7619fbe6478694c8 10-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Enable strictmode logging in system_server & add a lock.

We weren't logging strictmode violation in the system_server process
in non-user builds (only system apps), even though the rest of the
strictmode logging supports it.

Also add a missing lock in ActivityManagerService.

Change-Id: If2af96a7e4fdde604a647b836097f0029ef1334b
/frameworks/base/services/java/com/android/server/SystemServer.java
f83d4f1779eb4801275a56023c343459a95009af 02-Sep-2010 Hung-ying Tyan <tyanh@google.com> resolved conflicts for merge of 3e4975a5 to master

Change-Id: Icd382fc43c8a1975801ab42eb184b633520149c7
3424c02e6b931a8bbd651ae75217bebd008b2605 27-Aug-2010 Hung-ying Tyan <tyanh@google.com> Add software features for SIP and VOIP

and block SipService creation and SIP API if the feature is not available.

Change-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc
/frameworks/base/services/java/com/android/server/SystemServer.java
024d59601e8439e6884e50c22301e35eaf53120a 05-Aug-2010 Chung-yih Wang <cywang@google.com> resolved conflicts for merge of a06ad953 to master

Change-Id: I282525787d7475cc72b2dec10fbc2cf8c5727b82
2d94231ef91c732f649ff7af9520ee9eac441b16 04-Aug-2010 Chung-yih Wang <cywang@google.com> Add SIP service into system server.

Change-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10
/frameworks/base/services/java/com/android/server/SystemServer.java
154db5f6358284d917d515f05d4474606b4896b2 30-Jul-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2881233: reboot loop at boot on stingray

Change-Id: I4bd88fdd506d061146c441143d39b796a8df2f49
/frameworks/base/services/java/com/android/server/SystemServer.java
5132b37018c2445c74d930013c4bdaf75b20cabf 29-Jul-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2859543: PhoneStatusBar appears at startup after wipe

Change-Id: I63c8fcd7152a99ba7f2c3d57a5ad9ceaf05529d7
/frameworks/base/services/java/com/android/server/SystemServer.java
a58a8751b4c2ce457f0082a0baaee61312d56195 13-Jul-2010 Bai Tao <michaelbai@google.com> Add new system service CountryDetector

a. The CountryDetector detects the country the user is in
in order of mobile network, location, sim card or locale.
It will be used by contact and contact provider.

b. All added APIs are hidden at this stage.

Change-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4
/frameworks/base/services/java/com/android/server/SystemServer.java
50558b956157dad980441bf4fb44931ce834e36b 22-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of bc54e63c to master

Change-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1
1bf797857e025e8a71db86fb9e79765a767ec1eb 15-Jul-2010 Mathias Agopian <mathias@google.com> new SensorService

remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
/frameworks/base/services/java/com/android/server/SystemServer.java
8dfabd9c6ffc64a9f558610e98ae19fbe41940fb 01-Jul-2010 Christopher Tate <ctate@google.com> resolved conflicts for merge of d3233ae9 to master

Change-Id: I59ecf8f2d3bd253f51457c11ec15f022ac5fdeb6
160edb3645f8b7012bab70ae6e6e8c4a5733082b 01-Jul-2010 Christopher Tate <ctate@google.com> Add ability to guard a thread against setting its own prio to bg

The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().

Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
/frameworks/base/services/java/com/android/server/SystemServer.java
57c798ade1a30c5587269519dd9f55b87c3b3be7 23-Jun-2010 Mike Lockwood <lockwood@android.com> Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.

We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.

Change-Id: I919fcd5aa8d640d051cec87053f474a9843ed545
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
2423607a32d63a0c646b17758ebeb4dc1d0b791f 23-Jun-2010 Mike Lockwood <lockwood@android.com> Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.

We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.

Change-Id: I11495d039429dbe22bd738067296e39ae415befa
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
bde75706592c77379fb6546283e733abaca6fe04 28-May-2010 Sen Hu <senhu@google.com> wire up sampling profiler to dropbox

When system property "persist.sys.profiler_hz" > 0, SamplingProfilerService is
loaded to SystemServer. It creates a FileObserver, watching any new file in the snapshot
directory. When a snapshot is found, it is put in dropbox and deleted after that.

SamplingProfilerIntegration writes snapshots with headers. Headers are <name, value> pairs,
instantiated by caller.

Currently header format is (also in source comment):

Version: <version number of profiler>\n
Process: <process name>\n
Package: <package name, if exists>\n
Package-Version: <version number of the package, if exists>\n
Build: <fingerprint>\n
\n
<the actual snapshot content begins here...>

BUG=2732642

Change-Id: I2c1699f1728e603de13dbd38f9d8443cd3eecc06
/frameworks/base/services/java/com/android/server/SystemServer.java
8a5f10b30dae663eb01372490df3497e8a2ad56a 10-Jun-2010 Joe Onorato <joeo@android.com> resolved conflicts for merge of f7b79151 to master

Change-Id: Ia4538f73d8bade9e6565835d484dcb650830feca
7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57 07-Jun-2010 Joe Onorato <joeo@android.com> Move status_bar_latest_event and LatestItemView into SystemUI.apk.

Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package. (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
/frameworks/base/services/java/com/android/server/SystemServer.java
fb3a35e586c08c74a8f9a0c332c9e40753c095c5 09-Jun-2010 Jeff Hamilton <jham@android.com> Fix the build.

Change-Id: Ib633eb144277ec2598f25eac3a9cfe0f0184959e
/frameworks/base/services/java/com/android/server/SystemServer.java
35eef702b195a9546fbf9e0293641cf6eef025c5 09-Jun-2010 Jeff Hamilton <jham@android.com> Remove the unused demo data set stuff.

Change-Id: I81f7a8118876ee7cb6c356c63b0d0613d9777d4f
/frameworks/base/services/java/com/android/server/SystemServer.java
798ac4c7d79534a8230623b737b5b1b6a415d105 27-May-2010 Joe Onorato <joeo@android.com> Start moving resources to SystemUI.apk.

Change-Id: Ibf30b8196d65d7fbca1177968cefa5f7a875bf1d
/frameworks/base/services/java/com/android/server/SystemServer.java
089de88fc2f08d284cf8031aa33cff06011a4162 12-Apr-2010 Joe Onorato <joeo@android.com> StatusBarService -> StatusBarManagerService

Change-Id: I7efc245395bd91a656b30d420c9b080877162360
/frameworks/base/services/java/com/android/server/SystemServer.java
2314aab5064ce09f09270e52fa12a38d07464278 08-Apr-2010 Joe Onorato <joeo@android.com> First pass at splitting the status bar for the different devices.

Change-Id: I2f568df92f88dfe8de18d24dd004239f52761aa6
/frameworks/base/services/java/com/android/server/SystemServer.java
9e696c29f06d45d2891e1d38fd8d9033a9e21bb9 01-Apr-2010 Robert Greenwalt <robdroid@android.com> Add service to monitor/control the flow of data.

bug:2576057
Change-Id: Ib343c7ee1d619c6978910d9ee597db195d5aa3b6
/frameworks/base/services/java/com/android/server/SystemServer.java
621bc545982e2318e71bef3111d3cab39169d648 26-Mar-2010 Dan Egnor <egnor@google.com> Add "dumpsys diskstats" to get a dump of disk-free values.

Also includes a trivial test of I/O latency. (Mostly useful to be invoked
from checkin to poll disk-free and latency issues. Also moderately useful
to see in a bugreport.)

Also make "dumpsys netstat" a non-no-op, in case we want this data.

Change-Id: Ia93550a23ca6b35586c5d9217890ee0a5801aae1
/frameworks/base/services/java/com/android/server/SystemServer.java
7299c41630935a2b106e73e5603579a7747f7535 05-Mar-2010 Dianne Hackborn <hackbod@google.com> Refactor car mode.

Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode. As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it. Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
/frameworks/base/services/java/com/android/server/SystemServer.java
8a9b22056b13477f59df934928c00c58b5871c95 27-Feb-2010 Joe Onorato <joeo@android.com> Switch the services library to using the new Slog
/frameworks/base/services/java/com/android/server/SystemServer.java
46db504de583d7d644a28a4e7adae43eed5df1ba 22-Feb-2010 Mike Lockwood <lockwood@android.com> Don't start location providers until the system is ready.

Change-Id: Id545e95705e59ffbaaab8a679a1b7df488813101
BUG: 2461320

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa 20-Feb-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2438980: Implement package watcher for voice recognizer service setting

I am getting tired of writing package monitor code, realized this is missing in
a number of places, and at this point it has gotten complicated enough that I
don't think anyone actually does it 100% right so:

Introducing PackageMonitor.

Yes there are no Java docs. I am still playing around with just what this
thing is to figure out what makes sense and how people will use it. It is
being used to fix this bug for monitoring voice recognizers (integrating the
code from the settings provider for setting an initial value), to replace
the existing code for monitoring input methods (and fix the bug where we
wouldn't remove an input method from the enabled list when it got
uninstalled), to now monitor live wallpaper package changes (now allowing
us to avoid reverting back to the default live wallpaper when the current
one is updated!), and to monitor device admin changes.

Also includes a fix so you can't uninstall an .apk that is currently enabled
as a device admin.

Also includes a fix where the default time zone was not initialized early
enough which should fix issue #2455507 (Observed Google services frame work crash).

In addition, this finally introduces a mechanism to determine if the
"force stop" button should be enabled, with convenience in PackageMonitor
for system services to handle it. All services have been updated to support
this. There is also new infrastructure for reporting battery usage as an
applicatin error report.
/frameworks/base/services/java/com/android/server/SystemServer.java
6c0afff7f027f14fba97bc937d2a13889927be9a 15-Feb-2010 Ben Cheng <bccheng@android.com> Detect system-wide safe mode and configure the VM accordingly.

For the system server process, do the disableJitCompilation/startJitCompilation
callbacks depending on whether the system is in safe mode or not.

In addition, if the system is found to be in safe mode, a flag will be set in
the Zygote class which will be used to launch subsequent apps in VM safe mode.

Bug: 2267590
/frameworks/base/services/java/com/android/server/SystemServer.java
1c9131c91f27c8258dfad0a92cee105275f5422a 13-Feb-2010 Dan Egnor <egnor@google.com> Remove all traces of the old checkin service (and its associated parental
control interfaces) from the framework.
/frameworks/base/services/java/com/android/server/SystemServer.java
1bf3f8be7c01aa77afc114e0728cb041e95640b1 03-Feb-2010 San Mehat <san@google.com> SystemServer: Move MountService startup before NotificationManagerService

Signed-off-by: San Mehat <san@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
2a9094d07915a077026a651a7773f94322bf7d23 04-Feb-2010 Dianne Hackborn <hackbod@google.com> Framework part of issue #2391576: Add method to start the Jit and call it
/frameworks/base/services/java/com/android/server/SystemServer.java
d1df8ac6d076ef15ba8857211da2e447b6505fb3 26-Jan-2010 San Mehat <san@google.com> NetworkManagementService: Start service when SystemServer starts up

Signed-off-by: San Mehat <san@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
d68478467e3f837511196c80891d7245d0e163df 13-Jan-2010 Dianne Hackborn <hackbod@google.com> First pass at new device policy and administration APIs.

This adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.
See the java docs for each on documentation on them. Basically: a DeviceAdmin
is what you derive from to administer a device; DevicePolicyManager is what you
use to apply and check your policy requirements and perform other administration
tasks.
/frameworks/base/services/java/com/android/server/SystemServer.java
42471dd5552a346dd82a58a663159875ccc4fb79 08-Jan-2010 Dan Egnor <egnor@google.com> Simplify & update ANR logging; report ANR data into the dropbox.
Eliminate the per-process 200ms timeout during ANR thread-dumping.
Dump all the threads at once, then wait for the file to stabilize.
Seems to work great and is much, much, much faster.

Don't dump stack traces to traces.txt on app crashes (it isn't very
useful and mostly just clutters up the file).

Tweak the formatting of the dropbox dumpsys a bit, for readability,
and avoid running out of memory when dumping large log files.

Report build & kernel version with kernel log dropbox entries.
/frameworks/base/services/java/com/android/server/SystemServer.java
887f355f99ff83d568ef2885a4fdcaae475583df 08-Dec-2009 Dianne Hackborn <hackbod@google.com> Propagate background scheduling class across processes.

This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group. Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
/frameworks/base/services/java/com/android/server/SystemServer.java
ab5c49c7e7f5f61040650109a76f38a443fb852d 04-Dec-2009 Doug Zongker <dougz@android.com> move event log tags used by system server into this package

We can now locate event log tag definitions in individual packages
(and java constants for the tag numbers get auto-generated), so move
all the tags used by the system server into the package.
/frameworks/base/services/java/com/android/server/SystemServer.java
3a32213c4029a03fe39486f3d6ebd0ea18928ee1 24-Nov-2009 Mike Lockwood <lockwood@android.com> Remove HardwareService and move vibrator support to VibratorService.

The lights support is only needed by PowerManagerService and NotificationManagerService, so we do not need a Binder API for it.
Move backlight and notification light support to new LightsService class.
The camera flash is now handled directly by the camera HAL, so the flash Hardware service flash support is obsolete.

Change-Id: I086d681f54668e7f7de3e8b90df3de19d59833c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
f18a01c77e78209b74e34d05cfb352fa4a92db5f 12-Nov-2009 Dan Egnor <egnor@google.com> Rename [I]DropBox[Service] to [I]DropBoxManager[Service].

Un-hide the DropBoxManager interface, and update the public API accordingly.
/frameworks/base/services/java/com/android/server/SystemServer.java
952402704a175ba27f6c89dff1ada634c5ce5626 28-Oct-2009 Dan Egnor <egnor@google.com> Instead of a raw AIDL interface, give DropBox a Java
interface (android.os.DropBox); move the Binder interface
behind the scenes. Make DropBoxEntry into DropBox.Entry.
Make it possible to get a dropbox from an (Application)Context
with the usual getSystemService(DROPBOX_SERVICE) type thing.
Update the tests accordingly.
/frameworks/base/services/java/com/android/server/SystemServer.java
4410ec8f7cec6ab05a8c24c04fe2d5ed5d1e18df 12-Sep-2009 Dan Egnor <egnor@google.com> Framework-side DropBox service that maintains a size-bounded
queue of data chunks (sort of a blob-oriented logcat).

In the future, this will be coupled with a revised checkin service that
would actually upload this data.
/frameworks/base/services/java/com/android/server/SystemServer.java
f242b7b931898856bcbcb7ec36cacf43098ba544 08-Oct-2009 Nick Pelly <npelly@google.com> Introduce BluetoothAdapter.getDefaultAdapter().

This is the main entry point to the Bluetooth APIs, and returns the default
local Bluetooth adapter.

It replaces context.getSystemService(Context.BLUETOOTH_SERVICE). This was
never in a public SDK release.

DrNo: eastham
Bug: 2158765
Joke: Why can't you play cards in the jungle? Because there's too many cheetas!
Change-Id: Ieed8be009ee5aba621cb69090ee8c8a9c19c840d
/frameworks/base/services/java/com/android/server/SystemServer.java
e91ebe2be9580625ff31af8583e55aaefc50474f 30-Sep-2009 Fred Quintana <fredq@google.com> - make SyncManager get the accounts list during the constructor,
which will allow syncs to be scheduled during bootup. The
providers need this so that they can potentially schedule
syncs while they are starting up.
- make the SyncManager message handler wait until boot
has completed to start dispatching messages
/frameworks/base/services/java/com/android/server/SystemServer.java
6af0d50a8edb101d9da1306b6d85abf5dd3f9a30 28-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2149145: Safe Mode does not work on Sholes device

The APIs for checking whether keys are held down now also look
at virtual keys.

However it turns out there is less than a second between the time we
start the input thread and check for safe mode, so there is not enough
time to actually open all of the devices and get the data from them
about the finger being down to determine if a virtual key is down.

So now you can also hold DPAD center, trackball center, or s to
enter safe mode. Also give some vibrator feedback.

Change-Id: I55edce63bc0c375813bd3751766b8070beeb0153
/frameworks/base/services/java/com/android/server/SystemServer.java
f02c0740d3039977149773604a229c9f76c8121d 11-Sep-2009 Ken Schultz <kschultz@motorola.com> DockObserver wakes the display when broadcasting a change
- normal display timeout applies after wake

Signed-off-by: Ken Schultz <kschultz@motorola.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
e540833fdff4d58e37c9ba859388e24e2945ed45 05-Sep-2009 Bob Lee <crazybob@crazybob.org> Integrated the profiler into the framework. We run it all the time if the persist.sampling_profiler
system property is set. Saves snapshots to the SD card.
/frameworks/base/services/java/com/android/server/SystemServer.java
a34f1ad7c3a68d971e6332aa2fb1c16d083920b3 02-Sep-2009 Dianne Hackborn <hackbod@google.com> Fiddle system boot ordering.

This makes the system a little more careful to not start third party
code until it is ready to.

Also fix a little bug in SyncManager that would cause it to crash
during boot if sync was in a failure state.

Change-Id: Ib2d287d8441d155d393fe740a5f98690895fd358
/frameworks/base/services/java/com/android/server/SystemServer.java
d0e82cec71442485d9cc952e5e16165d9d98b16e 28-Aug-2009 Mike Lockwood <lockwood@android.com> Do not send dock state changed broadcasts until the system has finished booting.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
6ccd2aff3eb4450c6f1021637d18e4e5d9346bf0 27-Aug-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 301b97ac to eclair

Change-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48
fd12af4e768fec852c4c5dfee3b9bd7403b4b347 27-Aug-2009 Dianne Hackborn <hackbod@google.com> Various tweaks to try to improve low memory behavior.

- Reduce the amount that we ask processes to GC after a significant
operation occurs, but introducing a minimum time between GCs and
using this in various ways to schedule them.

- Don't spam all of the processes with onLowMemory(). Now deliver
these using the same gc facility, so we do the processes one at a
time, and don't allow the same process to get this call more than
once a minute.

- Increase the time a service must run before we will reset its
restart delay to 30 minutes (from 10).

- Increase the restart delay multiplication factor from 2 to 4.

- Ensure that we don't restart more than one service every 10 seconds
(unless some external event causes a service's process to be started
for some other reason of course).

- Increase the amount of time that a service must run before we
decide to lower it to a background process.

And some other things:

- Catch IllegalArgumentException in ViewRoot like we do for no
resources to avoid the system process crashing.

- Fix a number of places where we were missing breaks between the
activity manager's message dispatch func(!!).

- Fix reason printed for processes in the background.

- Print the list of processing waiting to GC.
/frameworks/base/services/java/com/android/server/SystemServer.java
bd022f423a33f0794bb53e5b0720da2d67e4631c 15-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

TODO:
Javadoc
/frameworks/base/services/java/com/android/server/SystemServer.java
c9f4eaf4388087f23aa97e55349850f0902a19d3 12-Aug-2009 Dan Murphy <D.Murphy@motorola.com> Dock changes:Docking station intents

Docking station intents for dock switch driver.
Add DockObserver and updated Intent.java and systemserver.jave

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>

modified: core/java/android/content/Intent.java
new file: services/java/com/android/server/DockObserver.java
modified: services/java/com/android/server/SystemServer.java

Docking station updates

Add constants for the dock

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
0f79b54c3a0b4141b1da38fa301571a89e165632 14-Aug-2009 Mike Lockwood <lockwood@android.com> ConnectivityService: Do not send broadcasts until the system is ready.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
f21adf6fc19bc9c6908c6f1aaae203389f104bfa 13-Aug-2009 Dianne Hackborn <hackbod@google.com> Always have a wallpaper service running.
/frameworks/base/services/java/com/android/server/SystemServer.java
07a500f0de2243b832e258ed477652a10cbd2d08 12-Aug-2009 Mike Lockwood <lockwood@android.com> BatteryService: Fix problems shutting down when the battery is dead:

Wait until system is booted before attempting to display the shutdown dialog.
Use ShutdownActivity rather than attempting to run ShutdownThread in the battery service.
Fix logic error (check !isPowered() instead of isPowered())

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
8cc6a5026aeb5cf9cc36529426fe0cc66714f5fb 06-Aug-2009 Dianne Hackborn <hackbod@google.com> First bit of wallpaper work.

This is mostly refactoring, adding a new WallpaperManager class that takes care
of the old wallpaper APIs on Context, so we don't need to pollute Context with
various new wallpaper APIs as they are needed. Also adds the first little
definition of a wallpaper service, which is not yet used or useful.
/frameworks/base/services/java/com/android/server/SystemServer.java
10c59a365a095d322f29aa969a3d0f6bb3314972 17-Jul-2009 Christopher Tate <ctate@google.com> DO NOT MERGE - Disable settings backup in Donut
/frameworks/base/services/java/com/android/server/SystemServer.java
afefa49abce3a1f8dd64644009f73aaeea86d7e0 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 4af0a709: Merge change 6555 into donut

Merge commit '4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4'

* commit '4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4':
Make it so the notification manager doesn't mysteriously
302754801cacf19a99c7fa1b88a195bb8f2b0915 09-Jul-2009 Joe Onorato <joeo@android.com> Make it so the notification manager doesn't mysteriously
beep during boot.
/frameworks/base/services/java/com/android/server/SystemServer.java
a791bc070f1ea0008781ef67b22945282285d5f6 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5ad76ef5: Merge change 4521 into donut

Merge commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe'

* commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe':
load entropy data at boot. Periodically write entropy data to disk.
4fb256117ca271e3e37284a19b663d116f6ec20c 18-Jun-2009 Nick Kralevich <nnk@google.com> load entropy data at boot. Periodically write entropy data to disk.
/frameworks/base/services/java/com/android/server/SystemServer.java
d5ac1ae36b4e096eb97984334f86d0c68abea2f7 06-May-2009 Jaikumar Ganesh <jaikumar@google.com> Framework changes for bluez4.

Changes in the Bluetooth JNI calls and framework functions
for Bluez4.
/frameworks/base/services/java/com/android/server/SystemServer.java
76879bc2343779d4d2a870b7bd46b0544c0cc46c 15-May-2009 svetoslavganov <svetoslavganov@google.com> resolved conflicts w/ 75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec merge....
75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec 15-May-2009 svetoslavganov <svetoslavganov@google.com> Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)
/frameworks/base/services/java/com/android/server/SystemServer.java
f8997690da3790a1ff87f1f96a6e68fbb79b5ddc 30-Apr-2009 Christopher Tate <ctate@google.com> am 487529a: First baby steps towards settings backup

Merge commit '487529a70cd1479ae8d6bbfb356be7e72542c185'

* commit '487529a70cd1479ae8d6bbfb356be7e72542c185':
First baby steps towards settings backup
487529a70cd1479ae8d6bbfb356be7e72542c185 29-Apr-2009 Christopher Tate <ctate@google.com> First baby steps towards settings backup

This change adds a sketched outline of the backup system architecture, with
all of the major pieces represented other than client-side helpers for
specific types of data. IBackupManager and BackupService are public so that
we can write test apps against SDK-domain symbols from the outset.

What code exists in this change hasn't been tested and may crash. It's the
beginnings of the real implementation but of course is barely begun.
/frameworks/base/services/java/com/android/server/SystemServer.java
603073430bbcb1bd29db7afb9b14e2732ad589fb 25-Mar-2009 Fred Quintana <> Automated import from //branches/master/...@142414,142414
/frameworks/base/services/java/com/android/server/SystemServer.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/services/java/com/android/server/SystemServer.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/services/java/com/android/server/SystemServer.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/SystemServer.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/SystemServer.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/services/java/com/android/server/SystemServer.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/services/java/com/android/server/SystemServer.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/base/services/java/com/android/server/SystemServer.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/services/java/com/android/server/SystemServer.java
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
/frameworks/base/services/java/com/android/server/SystemServer.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/services/java/com/android/server/SystemServer.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/services/java/com/android/server/SystemServer.java