Commit Graph

915 Commits

Author SHA1 Message Date
Todd Poynor
94d0024557 Power HAL PowerManagerService hookup
Use PowerHAL to set system awake/suspend state.

Change-Id: If58a6f548564ea141b68f304455997d9ff04eace
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2012-02-17 22:19:45 -08:00
Jeff Brown
aa917f8522 Merge "Improve MessageQueue sync barrier implementation." 2012-02-16 19:49:03 -08:00
Jeff Brown
0f85ce3837 Improve MessageQueue sync barrier implementation.
Instead of acquiring and releasing a barrier using an up/down
counter, we post a message to the queue that represents the
barrier.  This is a more natural representation of the barrier
and better matches what we want to do with it: stall messages
behind the barrier in the queue while allowing messages earlier
in the queue to run as usual.

Refactored the MessageQueue a little bit to simplify the quit
logic and to better encapsulate the invariant that all
messages within the queue must have a valid target.  Messages
without targets are used to represent barriers.

Bug: 5721047
Change-Id: Id297d9995474b5e3f17d24e302c58168e0a00394
2012-02-16 14:58:33 -08:00
John Grossman
37237839e8 Add Java interfaces to the common_time services.
Add classes to handling binder marshalling to and from the native
common_time interfaces (config and clock)

Change-Id: I04fc429d9af27736c4f7f9b5468011ffdd4d7eaa
Signed-off-by: John Grossman <johngro@google.com>
2012-02-16 13:45:10 -08:00
Jeff Brown
e799cb78b4 Add a barrier mechanism to the MessageQueue.
The synchronization barrier enables selectively blocking
execution of synchronous messages until the barrier is released.
Asynchronous messages may continue running in the meantime.

The barrier is intended to be used to implement more sophisticated
scheduling policies related to view hierarchy traversals.  While
traversals are pending, most messages posted to the message queue
must be held up.  This is to satisfy the invariant that traversals
will occur before subsequently posted messages are handled.

The exception to this rule are "asynchronous" messages that represent
external events or interrupts that come from other components such
as VSYNC pulses, input events or sensor events.  Because these messages
are typically delivered at arbitrary times, they are independent of
traversals or other typical synchronization boundaries.

Messages can now be flagged as asynchronous to indicate that they
are weakly ordered.

Bug: 5721047
Change-Id: I1446dcfbc896f33b48355adc28967ace8c8c9b9b
2012-02-14 19:27:15 -08:00
Amith Yamasani
f0451db422 Merge "Multi-user - wallpaper service" 2012-02-10 14:34:52 -08:00
Amith Yamasani
37ce3a8af6 Multi-user - wallpaper service
- Allow each user to have their own wallpaper (live or static).
- Migrate old wallpaper on upgrade.
- Update SystemBackupAgent to backup/restore from primary user's
  new wallpaper directory.

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

Change-Id: I19c8c3296d3d2efa7f28f951d4b84407489e2166
2012-02-10 14:34:07 -08:00
Mike Lockwood
cba928cef7 SystemServer: Add support for disabling AudioService and MountService
Using the same convention in system_init.cpp, you can disable these
services by setting system properties:

	system_init.startaudioservice=0
	system_init.startmountservice=0

Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 12:02:04 -08:00
Dianne Hackborn
21fbd1f7da Some cruft removal.
Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
2012-02-10 10:54:15 -08:00
Dianne Hackborn
a573f6a1d9 Some hardening of isolated processes by restricting access to services.
Services now must explicitly opt in to being accessed by isolated
processes.  Currently only the activity manager and surface flinger
allow this.  Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration.  The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.

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

Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
2012-02-09 18:06:01 -08:00
Dianne Hackborn
a0c283eac3 Add new feature for running services in "isolated" sandbox processes.
This reserves a range of uids (for each user) in which these processes
run.  These uids are not associated with an application, so they
effectively run with no permissions.  When a Service requests to
run in such a process through android:isolatedProcess="true", each
time it is brought up a new isolated process is started with its
own unique uid.

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

Change-Id: Ibfd27c75619cba61f528f46ede9113f98dc5f45b
2012-02-09 11:18:33 -08:00
Amith Yamasani
742a671273 Multi-user - 1st major checkin
Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
2012-02-03 12:01:47 -08:00
Romain Guy
5e9120d4ad Always initialize AsyncTask on the main thread.
Change-Id: I039e5d6cb7157a0c8873e0d29161daf1cbda5577
2012-01-30 14:11:44 -08:00
Dianne Hackborn
81e9276a47 Added JELLY_BEAN version name; update some targetSdkVersion docs.
Change-Id: Ia38ff5b9ad2b63c2cf667260881222d9ff168052
2012-01-25 11:16:57 -08:00
Dianne Hackborn
d9ea468d6a New brightness setting to adjust auto-brightness mode.
Change-Id: Icfec22be99d8c79e9ff5720b80fb9dacbba36134
2012-01-23 12:01:00 -08:00
Glenn Kasten
a7f6562065 Merge "Add android.os.Process.setThreadScheduler" 2012-01-17 07:20:47 -08:00
Jeff Sharkey
7f97e65add Clear reply before writing exception.
Changes Binder.execTransact() to clear any partial reply before
writing the exception.  Specifically, this fixes case where an
onTransact() could leave a writeNoException() floating in the reply.

Bug: 5686023
Change-Id: Ibc944464a010f5ec2fd8ef3cc84ac23d8260a491
2011-12-14 18:07:54 -08:00
Joe Malin
84a0060ea1 am bea42859: am aa2719df: am 3937e055: Merge "DOC CHANGE: Add text for android.os.storage" into ics-mr0
* commit 'bea4285934b4cd5bab21f7c69ac82d871b6ee05f':
  DOC CHANGE: Add text for android.os.storage
2011-12-07 17:17:09 -08:00
Joe Malin
aa2719df72 am 3937e055: Merge "DOC CHANGE: Add text for android.os.storage" into ics-mr0
* commit '3937e055708a8618f184feab204fed4bb41f3f6e':
  DOC CHANGE: Add text for android.os.storage
2011-12-07 17:11:59 -08:00
Joe Malin
13235db8f7 DOC CHANGE: Add text for android.os.storage
Change-Id: Ia5785cff3860907af4c53cbe769126496ee338c3
2011-12-07 15:50:34 -08:00
Dianne Hackborn
138d870fb7 am 1f1fa7ed: am fb90df8c: Merge "Truthiness is good." into ics-mr1
* commit '1f1fa7edd608137863b863da44ee26efb5a93e23':
  Truthiness is good.
2011-12-07 10:49:56 -08:00
Dianne Hackborn
478237db07 Truthiness is good.
Change-Id: Iedd4d4027576001fc5e829bb0a1023dd2aefce99
2011-12-05 18:15:17 -08:00
Romain Guy
fe0d3523a5 Merge "Make sure onPostExecute() is never called after cancel() Bug #5651553" 2011-12-05 14:50:54 -08:00
Romain Guy
657f51371c Make sure onPostExecute() is never called after cancel()
Bug #5651553

As dfined by the documentation.

Change-Id: I627a49ee000d6990b61fd64dde9b06f72cd5cbae
2011-12-05 14:49:33 -08:00
Dianne Hackborn
a2a56f82a8 am 48e07296: am bfb3dec2: Merge "More social integration." into ics-mr1
* commit '48e07296800c49f8bc9b34cc57372593021f79a1':
  More social integration.
2011-12-01 18:52:27 -08:00
Dianne Hackborn
a3d487cb13 More social integration.
Change-Id: I9be09e08bda5db6c05f5beabc380708a11ead43b
2011-12-01 18:42:24 -08:00
Nick Pelly
082ccca5ff am 4fb747f3: am 043a8b14: Merge "Replace vendor specific NfcGoogle.apk with generic Nfc.apk" into ics-mr1
* commit '4fb747f329523d6b3a7efc59a4360a249cdaa5ad':
  Replace vendor specific NfcGoogle.apk with generic Nfc.apk
2011-11-21 21:08:29 -08:00
Nick Pelly
a5cb9f4217 Replace vendor specific NfcGoogle.apk with generic Nfc.apk
The access control changes allow us to just use Nfc.apk with
the regular platform certificate, instead of the custom signed
NfcGoogle.apk. So we can compeltely get rid of vendor/google/apps/NfcGoogle
and just build it out of packages/apps/Nfc now.

The package name is also reverted from com.android.nfc3 to com.android.nfc

The NFC uid needs to get bumped (25 to 27) to allow the cert change.

Bug: 5608249
Change-Id: I09a81a896ff3cceb5a8de331d3399921b870932a
2011-11-21 14:55:29 -08:00
Jeff Brown
fe2d4abdd9 am 698d3de6: am e7de36e6: Merge "Throw TransactionTooLargeException when Binder transaction fails. Bug: 5578022" into ics-mr1
* commit '698d3de681bf85047675baa61f9b28961f3d6862':
  Throw TransactionTooLargeException when Binder transaction fails. Bug: 5578022
2011-11-10 16:14:43 +00:00
Jeff Brown
0bde66a837 Throw TransactionTooLargeException when Binder transaction fails.
Bug: 5578022

Previously, Binder transactions failed silently, which caused
problems because apps would carry on assuming that the operation
had succeeded.  Often, the apps would crash soon due to a violated
invariant, but sometimes they managed to do some damage first...

Change-Id: Ia9cc98b3b761a8160e7c4e87507860b5912c0451
2011-11-08 20:42:11 -08:00
Robert Greenwalt
08d153fb8e am fd900f05: am 348297ab: Merge "Start using IP tool for advanced routing." into ics-mr0
* commit 'fd900f05fb67046b97701f20626f7fd408fd8990':
  Start using IP tool for advanced routing.
2011-11-05 19:33:46 +00:00
Robert Greenwalt
fd900f05fb am 348297ab: Merge "Start using IP tool for advanced routing." into ics-mr0
* commit '348297abc0e03fb87a1d22465020b580d83fdd61':
  Start using IP tool for advanced routing.
2011-11-04 22:55:30 +00:00
Doug Zongker
e2d58e95a0 close input streams obtained from otacerts zip file
Quells a StrictMode warning from OTA verification.

Change-Id: Ie3e4c345551d1925fcc37c3ae9ce5c45713be93a
2011-11-04 14:11:12 -07:00
Robert Greenwalt
3b28e9a3da Start using IP tool for advanced routing.
bug:5495862
bug:5396842
Change-Id: I5e31b352b14a4dc746cacce4d61cf8d9ad7382a0
2011-11-04 09:52:04 -07:00
Christopher Tate
bc6f0ce8be Add persistent property to disable strict mode
Setting persist.sys.strictmode.disable to 'true' will disable strict
mode on eng/userdebug builds where it is turned on by default.
Explicitly enabling it in the Settings UI will override this, so
it's still possible to toggle it there even when this property
has been set on the device.

Change-Id: Ifd971f948fb2f803d509c2a06112c4bb932a5b1f
2011-11-03 13:16:27 -07:00
Dianne Hackborn
f35fe23669 Add new OOM adjustment for the "previous" process.
This is the process that you had previously been interacting with
in the UI before the current one.  Treating it specially should
allow us to improve the scenario of switching back and forth
between two apps.

Also add API constent for ICS MR1.

Change-Id: Ib3fe4df36b270be11dfd6b7e8d107c9994058a4d
2011-11-01 19:25:20 -07:00
Jeff Brown
bce4561708 resolved conflicts for merge of 2d280f75 to ics-mr1
Change-Id: I459e1cb0b60fb94dfb12862fedb9f8d949c226a7
2011-10-30 14:24:02 -07:00
Jeff Brown
89101cd9d9 Improve the slow query instrumentation.
On user-debug and eng builds, you can set the
"db.log.slow_query_threshold" system property to queries that
take longer than the specified number of milliseconds.
Set it to 0 to log all queries.

This property has been around for a while but it was implemented
poorly.  In particular, it *changed* the behavior of the query
by calling getCount() while holding the Db connection.
In normal operation, the query will not actually run until later.

By putting the timing logic into fillWindow() instead, we ensure
that we only measure queries that actually ran.  We also capture
cases where the cursor window gets filled multiple times.

Bug: 5520301
Change-Id: I174f5e1ea15831a1d22a36e9a804d7755f230b38
2011-10-28 14:58:39 -07:00
Michael Chan
cf0ca99a22 Fix typos
Change-Id: I6406b33f52bd8fb126a9b346d1bfe30ca2c2144b
http://code.google.com/p/android/issues/detail?id=14614
http://code.google.com/p/android/issues/detail?id=3563
http://code.google.com/p/android/issues/detail?id=5960
2011-10-20 15:32:37 -07:00
Dianne Hackborn
3585a3dfc6 am 47f8367a: Merge "Work on issue #5465917: Wakelock *overflow* held for very long times" into ics-mr0
* commit '47f8367ab79247501d5d204632a7797fa8a888e5':
  Work on issue #5465917: Wakelock *overflow* held for very long times
2011-10-19 11:10:18 -07:00
Dianne Hackborn
c24ab866b0 Work on issue #5465917: Wakelock *overflow* held for very long times
- Fix ordering problem in sync manager that would cause its wake
  locks to slightly appear in the system process when they should
  be fully accounted against the app.
- Allow the system process to have more wake lock names in its
  battery stats.
- In the bug report output, print totals of the wake locks for each
  process, to make it easier to parse what is being printed for things
  like the system process with a huge number of individual wake locks.

Change-Id: I3cf39330f22f3c51c11e65e4124150d73a7da2dd
2011-10-18 16:38:17 -07:00
Christopher Tate
b9c1acfb0b DO NOT MERGE - Require device encryption password for adb backup/restore
This supersedes any backup-password that the user might supply.  Per
design, the device encryption password is also always used to encrypt
the backup archive.

The CL introduces two new strings, used for prompting the user for
their device encryption password rather than their settings-defined
"backup password" when confirming a full backup or restore operation.

Bug 5382487

Change-Id: I278737927a4ecbb765bfb5ecfd28a4cb8dae52ef
2011-10-13 17:39:48 -07:00
Christopher Tate
32418be49e Require device encryption password to perform adb backup/restore
This supersedes any backup-password that the user might supply.  Per
design, the device encryption password is also always used to encrypt
the backup archive.

The CL introduces two new strings, used for prompting the user for
their device encryption password rather than their settings-defined
"backup password" when confirming a full backup or restore operation.

Bug 5382487

Change-Id: I0b03881b45437c944eaf636b6209278e1bba7a9f
2011-10-13 12:29:32 -07:00
Romain Guy
0bbd8d8273 Revert "Check whether an AsyncTask is created/executed on a looper thread."
This reverts commit 7498ccb6b9.
2011-10-11 18:13:37 -07:00
Romain Guy
5e7f2d0b22 Revert "Fix the build"
This reverts commit 4db2504ada.
2011-10-11 18:13:05 -07:00
Romain Guy
f751210b4b Merge "Fix the build" 2011-10-11 14:51:18 -07:00
Romain Guy
4db2504ada Fix the build
Change-Id: I3071feab62abee7393557ceb920786b476fb0b02
2011-10-11 14:48:56 -07:00
Romain Guy
df61887feb Merge "Check whether an AsyncTask is created/executed on a looper thread." 2011-10-11 14:10:10 -07:00
Romain Guy
7498ccb6b9 Check whether an AsyncTask is created/executed on a looper thread.
Change-Id: I181b253c50a6579f35e61cd4b0c500379462e035
2011-10-11 14:09:27 -07:00
Jeff Brown
be7c29c9f7 Don't log BlockGuard violations on ENG builds.
We want to see CloseGuard violations in the log in ENG builds
because they indicate serious problems, but BlockGuard is
too noisy and is best viewed in the aggregate from the
drop box based tools.

Change-Id: I77d4d0a561a4299355c111d0ccb5a2147646245b
2011-10-11 11:35:23 -07:00