• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/os/
History log of /frameworks/base/core/java/android/os/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9adf1c54226940e9f9065d92b4edd2b232122302 05-Feb-2015 John Spurlock <jspurlock@google.com> am ac7b9dd3: am 42d3b66f: am e0852368: Fix a few typos in Parcel.java.

* commit 'ac7b9dd39f64118a2129c17cdc7b6c93e53e1c42':
Fix a few typos in Parcel.java.
ac7b9dd39f64118a2129c17cdc7b6c93e53e1c42 05-Feb-2015 John Spurlock <jspurlock@google.com> am 42d3b66f: am e0852368: Fix a few typos in Parcel.java.

* commit '42d3b66f48906e35244ffc9a45daae87021fc1a5':
Fix a few typos in Parcel.java.
e08523684d5414117f81debd4eb14bc8eb494c29 04-Feb-2015 John Spurlock <jspurlock@google.com> Fix a few typos in Parcel.java.

Change-Id: Ic1674fc72f08a0f3536b4870a5ce7d14ee6fcc16
arcel.java
a9f9c4b90a8af25974bc74971efeafa521073df2 15-Jan-2015 Nicolas Prevot <nprevot@google.com> Merge "Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING" into lmp-mr1-dev
0ee10f6d263e5476d0eb8f8ba82ff5cd522883e9 15-Jan-2015 Dianne Hackborn <hackbod@google.com> Fix issue android-app doc, bump battery stats checkin version

Issue #18983662: API Reivew: clarify Intent docs for URI_ANDROID_APP_SCHEME
Issue #19019830: Bump up battery stats checkin version

Change-Id: I0bd8f32b9d8d5978bd01d421ea2232d20def340a
atteryStats.java
b14ed95647ff7c38869550606396d5b784eeece1 13-Jan-2015 Nicolas Prevot <nprevot@google.com> Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING

BUG:18983720

Change-Id: I3af3354f746cd2981cdb8ba2ed6cc380665249ee
serManager.java
150514bd03312ab0a890cc040019cfbc73eb077c 08-Jan-2015 Amith Yamasani <yamasani@google.com> Clarify docs for user restrictions

Specify which restrictions are not relevant or behave differently
for managed profiles.

Bug: 18768578
Change-Id: Iac1435c5b931cbb889902a9b9e427bc0e0778bf2
serManager.java
29cd7f19625a2a2a8528469e55f3aa495107b9e7 08-Jan-2015 Dianne Hackborn <hackbod@google.com> Fix issue #18827122: system server crashed on broadcasting...

...an intent with invalid or null package uri

Also tweak battery stats to record in the history when we shut
down, to understand when restarts are due to clean shutdowns or
crashes.

Change-Id: I6443dafc23e356be9f569906f6081152d4f92d2b
atteryStats.java
1353df5655a551cbbf403d4f1f88b72761fe9e6b 11-Dec-2014 Dianne Hackborn <hackbod@google.com> Fix issue #18706195: Improve label names of memory types

Change-Id: Ia11153300e04aecd56baca9d4316ac362688d594
ebug.java
7a17e0b601c7f65a2ae0b53d8494ae1722c7a28b 10-Dec-2014 Craig Mautner <cmautner@google.com> Merge "Add put/getBoolean/Array to PersistableBundle" into lmp-mr1-dev
73bdf9761be2abdd85efc5fce165f3fa80fcfa65 10-Dec-2014 Craig Mautner <cmautner@google.com> Add put/getBoolean/Array to PersistableBundle

Due to popular demand the methods putBoolean(), getBoolean(),
putBooleanArray() and getBooleanArray() have been added to
PersistableBundle.

Fixes bug 18390436.

Change-Id: Id133ba902aca774f98529e36ce560e873b88ad5b
aseBundle.java
undle.java
ersistableBundle.java
8b33cf4d34a9ea75e1121ee2f1d829b21f3cb5d6 09-Dec-2014 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #18640385: Add procstats test mode" into lmp-mr1-dev
1a4b5a4f02e7d8ff8ff645377d97e6062d36aeaa 09-Dec-2014 Dianne Hackborn <hackbod@google.com> Work on issue #18640385: Add procstats test mode

You can now do "adb shell dumpsys procstats --start-testing" to
enable high frequency pss sampling.

Also improved the low on RAM mem reporting to separate out RAM
from memtrack, in case the data we are getting from that is bad.

And fixed meminfo --oom to work correctly again.

Change-Id: I7af17eab110a82298bd7b0ce381f8fa5c96c1f6a
ebug.java
25c5e2b12d5d5d06739e3f70a0da968d97935b46 09-Dec-2014 Mathieu Chartier <mathieuc@google.com> Add more -d dalvik details to dumpsys

Added .NonMoving for the non moving space.
Added .Zygote for the zygote.
Added .IndirectRef for indirect reference tables (jobjects).

Example:
Dalvik Details
.Heap 2264 2264 0 0
.LOS 80 80 0 0
.GC 144 144 0 0
.Zygote 331 196 0 2428
.NonMoving 540 540 0 0
.IndirectRef 20 20 0 0

Bug: 18672069
Change-Id: Id14e5bc92ceb15fe7a17d9fb035f18aa2925e50c
ebug.java
1e01d16982e6b22ec4c0e2d6dc1e261eb6f92c8e 05-Dec-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17323751: Additional items in aggregated battery stats

- Now aggregate number of times each process has crashed and ANRed.
- Now aggregate total number of connectivity changes.
- Now record connectivity changes in the history.

Crash and ANR counts are new entries at the end of "pr" in checkin.

Connectivity change counts is a new entry at the end of "m" in checkin.

Connectivity changes in the history checkin are Ecn and include the
type of connection and its state.

Change-Id: I0c01186446034cf6c3fb97d45f5e3b5c69a0438a
atteryStats.java
d537987b173f6b48f5196a2ae7d445af1a49e2bb 25-Nov-2014 Kweku Adams <kwekua@google.com> Changing AUDIO_TURNED_ON constant.

Changed so that it's set to a different value from WIFI_MULTICAST_ENABLED.

Change-Id: Ied3a2c2bf891f887ec3c7b5249453af4524c099a
atteryStats.java
0cce5355b45d835f95a8918b8b803fd977d374e4 26-Nov-2014 Jeff Sharkey <jsharkey@android.com> Sanitize display names, keep extensions intact.

When creating or renaming files on external storage, sanitize the
requested display names to be valid FAT filenames. This also fixes
a handful of directory traversal bugs.

Also relax logic around generating display names to allow any
extension which maps to the requested MIME type. Tests to verify.

Bug: 18512473, 18504132
Change-Id: I89e632019ee145f53d9d9d2050932f8939a756af
ileUtils.java
1d184acefa7105592134edebf7de4d77843d5791 27-Nov-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 7377998d to lmp-mr1-dev

Change-Id: I21870e241de7d992e97d7b91e0058f85b5a25fbe
7377998dac67ce8d486e11b9bd2f159fe0ca501d 26-Nov-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of a42f7c1d to lmp-sprout-dev

Change-Id: I8e53c9d7e0014b4ffc621c561b737aa2dae5460c
7265abe77a76f848a316640b5da106e882bdbc8a 21-Nov-2014 Christopher Tate <ctate@google.com> Be increasingly aggressive about fstrim if it isn't being run

The current heuristics depend on devices being alive at midnight+ in
order to run periodic background fstrim operations. This unfortunately
means that people who routinely turn their devices off overnight wind
up with their devices *never* running fstrim, and this causes major
performance and disk-life problems.

We now backstop this very-friendly schedule with an increasingly
aggressive one. If the device goes a defined time without a background
fstrim, we then force the fstrim at the next reboot. Once the
device hits the midnight+ idle fstrim request time, then we already
aggressively attempt to fstrim at the first available moment
thereafter, even if it's days/weeks later without a reboot.

'Available' here means charging + device idle. If the device never
becomes idle then we can't do much without rendering an in-use device
inoperable for some number of minutes -- but we have no evidence of
devices ever failing to run fstrim due to this usage pattern.

A new Settings.Global element (type 'long', called
"fstrim_mandatory_interval") is the source of the backstop time. If
this element is zero or negative, no mandatory boot-time fstrim will
ever be performed. If the element is not supplied on a given device,
the default backstop is 3 days.

Adds a new string to display in the upgrading dialog when doing
the fstrim. Note it is too late for this to be localized, but since
this operation can take a long time it is probably better to have
it show *something* even if not localized, rather than just sit there.

Bug 18486922

Change-Id: I5b265ca0a65570fb8931251aa1ac37b530635a2c
torage/IMountService.java
b6e0cb97b7d8e4acf345efc8066f1587408b83e0 25-Nov-2014 Alan Viverette <alanv@google.com> Load SPEAK_PASSWORD from currently active user rather than self

Also fixes a typo in UserHandle's docs.

BUG: 18295054
Change-Id: I1f5384f84062b9ea7dcbebe1e5f64af331028d41
serHandle.java
9ef94019386183cb88ad090965418ef294bbb79a 21-Nov-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 694c1d2b to lmp-mr1-dev

Change-Id: I9a9b724e0fd12aa161ff276540431b9d8e218e2b
fbe96706bb9754f9ea3f6345f32e058a45ad10b4 20-Nov-2014 Jeff Brown <jeffbrown@google.com> Support keeping activities resumed while dozing.

If the lock screen is not shown, then let activities keep running
while dozing. This is important to support ambient mode on watches
since it allows the home app to keep running.

To make this possible, we need to inform the activity manager about
the exact wakefulness state, not just the overall boolean
interactive state.

Bug: 18284212
Change-Id: Ia35c99127ce51ffc178f3a2f51fca67d24061c71
owerManagerInternal.java
76ea69b35e45f4b23dfb7b39c6cd790b00576526 19-Nov-2014 Nicolas Prevot <nprevot@google.com> Merge "Fix javadoc in UserManager mentioning application restrictions." into lmp-mr1-dev
ad6a99b32a0d062c967019e5cd9858071a9c6617 18-Nov-2014 Dianne Hackborn <hackbod@google.com> Add time estimates to batterystats dump.

Also fix some java docs.

Change-Id: Ie705f236db6f06e34fa5581c20852e5c8f7c2c17
atteryStats.java
34b6e35ba67a1dd4b770fbf80fe8f3dc1e1e01e3 18-Nov-2014 Nicolas Prevot <nprevot@google.com> Fix javadoc in UserManager mentioning application restrictions.

The java doc of UserManager.KEY_RESTRICTIONS_PENDING contains mistakes.

BUG: 18414603
Change-Id: I9584dad545dcbef1eb2ee0e4f5df117486435e8a
serManager.java
9c76a7b3e85ce7056071ac8627c8d675cc5c1599 17-Nov-2014 Jeff Sharkey <jsharkey@android.com> Merge changes Id7f9fb53,I897d7ee8 into lmp-mr1-dev

* changes:
Prevent user ID reuse until after reboot.
Warn user when build fingerprints differ.
bba231d7a63b58a8c2b174722ed1487b0f7d8270 15-Nov-2014 Jeff Brown <jeffbrown@google.com> Explicitly bind AsyncTask to main looper.

It seems we were sort of trying to do this by forcing the AsyncTask
static initializer to run at certain times but it was not sufficiently
reliable. In particular, this resulted in occasional system
server crashes.

Bug: 18192406
Change-Id: Ief73210c60e7680fbed6df74e3e58809b7ec7e4d
syncTask.java
2cffc7dafd390f6fe24a9fbb3ef3bc8226f5b385 14-Nov-2014 Jeff Sharkey <jsharkey@android.com> Warn user when build fingerprints differ.

We're now shipping devices with several partitions which may end up
mismatched, causing subtle runtime issues. To help manufacturers and
users catch this case, show wanring when we detected mismatched
fingerprints.

Bug: 18357469
Change-Id: I897d7ee8cbf3b8042d3d7d282afab277d242ed3f
uild.java
fef1e0e7f0a6a8d3564031ca4ecf14ab070468ff 13-Nov-2014 Jeff Brown <jeffbrown@google.com> Merge "Make Message.setAsynchronous() public." into lmp-mr1-dev
fabb70b2efbd125f74923d19ab12bc8e1371ed1f 11-Nov-2014 Dianne Hackborn <hackbod@google.com> Add reporting of Parcel memory/count.

Also fix issue #18340771: Dumpsys Procstats missing a newline

Change-Id: I0c612187a3fb4d7eeafbf97d373efdef732c477e
arcel.java
222722ee73c38dea5544118df6bd349e630d1c26 12-Nov-2014 Narayan Kamath <narayan@google.com> Merge "Tell installd when boot completes." into lmp-mr1-dev
9840c07667bb0363c93fb8459e6c08f7e30d5df1 12-Nov-2014 Jeff Brown <jeffbrown@google.com> Make Message.setAsynchronous() public.

There are many cases in real world applications where it is desirable
to continue processing messages on the Looper even when most other
messages have been suspended by a synchronization barrier pending
completion of the next drawing frame on vsync.

Internally the framework is able to mark certain messages as being
independent of these higher level synchronization invariants by
flagging them as asynchronous.

This change exposes the existing function and improves on the
documentation so that it is clearer what is meant by asynchronous.

Bug: 18283959
Change-Id: I775e4c95938123a364b21a9f2c39019bf37e1afd
andler.java
essage.java
32f7a6d813d7f936c7aa6a1f3abe2f05022a6cd9 11-Nov-2014 Jeff Brown <jeffbrown@google.com> Merge "Move device admin max screen off timeout to internal interface." into lmp-mr1-dev
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
rocess.java
cc8d56f66c64a66002b90ed014bbd2fb46125f63 10-Nov-2014 Andres Morales <anmorales@google.com> Merge "Unhide DISALLOW_OUTGOING_BEAM" into lmp-mr1-dev
3eed90f39301089a1c16d6e2c0d027b187567cf0 07-Nov-2014 Sander Alewijnse <salewijnse@google.com> Merge "Added the restrictions pending application restrictions key." into lmp-mr1-dev
53d63dcd04da3c1d5187b29f6530c2dcac9d516c 07-Nov-2014 Sander Alewijnse <salewijnse@google.com> Added the restrictions pending application restrictions key.

Bug:17632522
Change-Id: If5a0d0ea1f479b0584fc0b1cff2a179d296d2904
serManager.java
5ce1cb240b13db98fbdc21e1ef069b5f9cec8d72 07-Nov-2014 Jeff Brown <jeffbrown@google.com> Move device admin max screen off timeout to internal interface.

The setting was previously exposed in IPowerManager but it
doesn't need to be there.

Bug: 17656076
Change-Id: If3ed0cbe89f67c60aa00376be0c54b1bd9656144
PowerManager.aidl
owerManagerInternal.java
cd3b72e6f9a158ac492a4a8b5629d73b495a7d1e 06-Nov-2014 Andres Morales <anmorales@google.com> Unhide DISALLOW_OUTGOING_BEAM

Bug:17387303
Change-Id: If4410bbfd9f82c84886024a091454ee931d9d930
serManager.java
184293076201ec510898f8d505a8fe50458d9604 03-Nov-2014 Dianne Hackborn <hackbod@google.com> Few more small meminfo improvements.

- Add in category for graphics driver, and knowledge about it
for N5 (more devices will be added later).
- Renaming the labels for the .oat and .art files to be just
that, so it is clear what they are talking about.

Change-Id: I663ca8bd2febce41fcdde74b0d3a96ef9325edf1
ebug.java
0ed053ef537daa11659e70c91974cded7c9bddc6 01-Nov-2014 Jeff Brown <jeffbrown@google.com> am e333e674: Add a function to boost screen brightness temporarily.

* commit 'e333e674a758c39885d4d9779a1aad387fb0e6aa':
Add a function to boost screen brightness temporarily.
e333e674a758c39885d4d9779a1aad387fb0e6aa 28-Oct-2014 Jeff Brown <jeffbrown@google.com> Add a function to boost screen brightness temporarily.

When PowerManager.boostScreenBrightness() is called, the screen
brightness is set to maximum for 5 seconds. This action is
also considered to be user activity.

Bug: 17934954
Change-Id: I1cb4a03a60705c6c1c5cc9ff84b1c5dbd2932fcd
PowerManager.aidl
owerManager.java
e21a26b3ba78b0238f4ed4a09b43319a2320fbaa 28-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Add support for running 464xlat on wifi as well.

1. Add a command to NetworkManagementService to enable/disable
IPv6 ND offload via netd.
2. Make Nat464Xlat enable offload if clatd successfully comes up
on a wifi network (which means it detected a NAT64), and
correspondingly re-enable offload when the clatd interface
goes down.

This change does not enable clatd on wifi yet, that requires an
extra 2 lines to enable it.

Bug: 12111730
Change-Id: I4318611762a37487c9a84f8c4867ec5aece98be8
NetworkManagementService.aidl
def4cd4fa4aa035a5000e6b196130496430d65ff 29-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Merge "Support more than one clatd at a time." into lmp-mr1-dev
954394653dad05838235f48244a4320893e0f0cf 09-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Support more than one clatd at a time.

1. Make Nat464Xlat a per-network object, one for every network
requiring clat, instead of a ConnectivityService singleton.
2. Make the NetworkManagementService clatd commands take an
interface.
3. When we attempt to start clatd on a network, store its
Nat464Xlat object in the NetworkAgentInfo, so we have an
authoritative way of knowing whether clat is running on a
given network.
4. Rework Nat464Xlat, hopefully simplifying it.

Bug: 12111730
Change-Id: I1fa5508ef020cd1c3d1c7a1f7b06370ac5fc2ae2
NetworkManagementService.aidl
555f1986f106ccf1ec05f6e4118a19f9a6496dc5 01-Sep-2014 Nicolas Prevot <nprevot@google.com> Replace minimum with maximum in method description.

BUG:18152344

Change-Id: If5d09051e8f74addf53018cfd3be214d96efb9e6
onditionVariable.java
b3af4ec6bae4fe93d40f021e54cbbce10cc7b4c6 18-Oct-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17948288: Improve accuracy of memory use reporting

We now use Mapped to not double-count cached pages that are
mapped in to app processes. Also read in some more values that
count towards kernel RAM use, and count buffers as free rather
than used RAM.

It also looks like the zram accounting is broken -- it was never
collecting the total zram reserved space. I need to figure out
how I was finding that before.

Change-Id: I883f6fc93966774b5c7d2801d1801666dd11ed41
ebug.java
3182987eb8bf93c77d2cde6d3483d39006aea28a 17-Oct-2014 Dianne Hackborn <hackbod@google.com> am bab9b48e: am 52476989: Merge "SDK only: hide the old L API version constant." into lmp-dev

* commit 'bab9b48efcc55ee247c428aa3f53725c25222166':
SDK only: hide the old L API version constant.
3b6968876fc9a57f83bf3eaebf524ddd5de05a51 17-Oct-2014 Dianne Hackborn <hackbod@google.com> Add API level for MR1.

Change-Id: I3f2fd6b47f762f9b81afa4c9ae1e19997484b59e
uild.java
d3511d4be120f84cb302456b0992dbc003d4aa80 17-Oct-2014 Dianne Hackborn <hackbod@google.com> SDK only: hide the old L API version constant.

Also update the LOLLIPOP version constant to describe more things
that change when you target it.

Change-Id: I15e2c26a0f997ff2bfc8dd5076c827da7f42ee66
uild.java
6d93491f506312e0686d86f278eac6f48a364242 14-Oct-2014 Amith Yamasani <yamasani@google.com> Hide DISALLOW_OUTGOING_BEAM API

This is not fully functional in managed profiles, so it is being removed for L.

Bug: 17973040
Change-Id: If660e5e565076cdf61649e9f5ca12877425e9df3
serManager.java
ab4a81b3c625e33d04ae8070fcce6b6baee6522c 10-Oct-2014 Dianne Hackborn <hackbod@google.com> Improve some docs, fix some debugging.

- Add docs to Binder, Messenger, ResultReceier to explain their
relation (or lack there-of) to process lifecycle.
- Clarify some aspects of process lifecycle for services.
- Fix help text of am command.
- Fix per-package dumping of battery stats to not include history.
- Fix per-package dumping of proc stats to only include aggregated
and current stats and fix some formatting.
- Fix per-process dumping of meminfo to have an option to interpret
the input as a package, so including all processes that are
running code of that package.
- Fix top-level per-package debug output to correctly include all
of these improvements and give them a little more time (10s) to
complete for timing out.

Change-Id: I2a04c0f862bd47b08329443d722345a13ad9b6e2
inder.java
essenger.java
esultReceiver.java
89b196958fee07475765bd3c458098464ba16f2e 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Merge "Put in real "code" (aka marketing) name." into lmp-dev
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
uild.java
essage.java
serManager.java
41bb3455e44dc8fde4569bbfd56fa20c6da8a27d 07-Oct-2014 Amith Yamasani <yamasani@google.com> Merge "Set the default user restrictions to disallow calling and sms" into lmp-dev
aa6634eaca707f7cbf5f5a1d75b90d8d775d254b 06-Oct-2014 Amith Yamasani <yamasani@google.com> Set the default user restrictions to disallow calling and sms

When creating a user via the UI, disallow phone calls and SMS by
default. Primary user must explicitly enable it via Settings.

Bug: 17832802
Change-Id: I18cad4be8493ddc8890b5d90da2df256cb3f1ec9
serManager.java
9bb3dacbf9da4dae2cc0585c2e382c8b29476d32 06-Oct-2014 John Spurlock <jspurlock@google.com> Fix NPE in StrictMode handling.

Bug:17875462
Change-Id: I0bf31abe2d07335addd57976aca110565bb63cc4
trictMode.java
d867b7c7a2c8c151c01b57597b6612ca5355a51a 03-Oct-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...

...'java.lang.String java.lang.String.substring(int)' on a null object reference

Change-Id: I4a78653174da398a4edd23b2bc099598548b79c2
trictMode.java
7a73f2c5aab16e2d4c21fcce9aa8173e87ecfb4f 03-Oct-2014 Dianne Hackborn <hackbod@google.com> Merge "SDK only: Update docs to reflect current implementation." into lmp-dev
67a101aa3006aa2011a9d9edaacb2fa6f6f31140 02-Oct-2014 Dianne Hackborn <hackbod@google.com> SDK only: Update docs to reflect current implementation.

Change-Id: I498425bb55b157c954af6a2441d8bd9be3871c55
serManager.java
e4a05afe85f15472325db9c535ef81f409fb6070 24-Sep-2014 Sreeram Ramachandran <sreeram@google.com> Send app permissions to netd.

Based largely off Robert's http://ag/546170 (thanks!)

Bug: 15413737
Change-Id: I8a1f0a184923c4c0a4935e6b88895bcc05e39f02
NetworkManagementService.aidl
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
trictMode.java
7dc7f676d699c739128dcc7855cbc0dacddaaa57 01-Oct-2014 Narayan Kamath <narayan@google.com> Merge "Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS" into lmp-dev
ce92b0d070c4967914698b4e257c203d7121c972 30-Sep-2014 Dianne Hackborn <hackbod@google.com> More work on issue #17656716: Unhandled exception in Window Manager

Drop down the limit on when we log, since under normal operation we
will never get more than a few K of data due to strict mode.

Try to clean up the code paths coming in and out of binder IPCs to
plug any places where we could disrupt the gather flag of a thread,
causing it to keep gathering stack crawls (which is the thing that
is causing our strict mode data to become so large).

Change-Id: I9a46512283d33e863c429840b465855d1fabb74e
inder.java
trictMode.java
eff258c3050e260b67399432357c7d79baec7916 30-Sep-2014 Narayan Kamath <narayan@google.com> Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS

32 bit processes will always see values from SUPPORTED_32_BIT_ABIS
and 64 bit processes will always see values from SUPPORTED_64_BIT_ABIS.

bug: 17367265
Change-Id: I9996034c190f9213986b9b1a4ee0e38eca91c7ad
uild.java
73d6a821aeecd6003c70c32f7ae6c38f062c4290 29-Sep-2014 Dianne Hackborn <hackbod@google.com> Work on issue #17656716: Unhandled exception in Window Manager

Remove the checks for large parcel sizes. Those were triggering,
and identifyng the area of the problem, but also cause a lot of
trouble by making the unsafe deadlocky code there much more likely
to deadlock.

Add logging for strict mode IPCs, since those seem to be the
problem. Only log when things look bad.

Also add a log when battery stats are reset, to diagnose why they
are getting reset when they shouldn't be.

Change-Id: I588c858fb8d8c45f3c9c164ae2de9ae01547b304
inder.java
trictMode.java
208678718f9f8db3bc279c7d5bd1445af2831ae3 10-Sep-2014 jgu21 <jinghui.gu@intel.com> Frameworks/base: Early init native bridge

Add the app directory to the arguments for starting a process.
Add a check for NeedsNativeBridge and a call to PreInitializeBridge
in the native fork code.

(cherry picked from commit 2eacd06bfb82b33dfcbccafbcfc0bf1218484bb5)

Bug: 17671501
Change-Id: I970db5b284b0c12e2d8a45df3950c1fff2927a4e
rocess.java
820eab3e751fde9d8bb65d9aadcc058483d55a50 27-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "More debugging for issue #17656716: Unhandled exception in Window Manager" into lmp-dev
fad079dc5dbec1cb2461e4f8e0cdfd4784e9eada 27-Sep-2014 Dianne Hackborn <hackbod@google.com> More debugging for issue #17656716: Unhandled exception in Window Manager

Change-Id: I81d3678e21d293d5896c467ae5c6739c82cfaa95
inder.java
f839b4fcb6b179529585765517895a8c90fe315b 26-Sep-2014 Elliott Hughes <enh@google.com> Set the system locale correctly even on an encrypted device.

Bug: 17659622
Change-Id: Ibbbd5b959bfab5345f20b556c4720d0910b50084
torage/StorageManager.java
017c6a28bee788d2ba5550548ea844d0236bc40e 26-Sep-2014 Dianne Hackborn <hackbod@google.com> Work on issue #17656716: Unhandled exception in Window Manager

Create descriptive errors when sending unreasonably large
parcels through IPC.

Change-Id: Ie93b5372a8ed87541db282876c4eeeae69a1e8bd
inder.java
0a285b4462719b938dfd5bf54808a9a4a2e3e5b5 25-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Include reason when wiping data." into lmp-dev
004a4b20f8d3116e6a711525960d433fcfea4ee4 24-Sep-2014 Jeff Sharkey <jsharkey@android.com> Include reason when wiping data.

This will help us track down who requested a data wipe.

Bug: 17412160
Change-Id: If8413e5d6377773f37e8b34ae3d26347226a027c
ecoverySystem.java
60446165d8bd44f72cec8d0c5583a688369fa660 19-Sep-2014 Lorenzo Colitti <lorenzo@google.com> Block address families with routes, not NetworkAgent side channel

Now that we support unreachable routes, use those to block
address families on VPNs. This is a much more elegant solution.
Also update LinkProperties when IP addresses are added and
removed, fixing a TODO.

Bug: 17462989
Change-Id: Ib749d84710dca70d672350b9f129bb91419ec77e
NetworkManagementService.aidl
c34dc7cdeb5cae8ca4c731838aafe90ed4c9a2b8 18-Sep-2014 Amith Yamasani <yamasani@google.com> Allow primary user profile owner to set device restrictions

In addition to device owners, profile owners on the primary user
can also set user restrictions that are necessary to lock down the
user.

This is to enable the case of a profile owner registered after setup
wizard is completed, on the primary user.

Also make managed profile vs. profile wording consistent in the
DevicePolicyManager docs.

Bug: 17555025
Change-Id: Ib9d08b8af34a99b25e11757fa7dc83673a7deb32
serManager.java
988ae30ff7729ac0e9a44ee665c7e00f1961e7cd 18-Sep-2014 Adam Powell <adamp@google.com> Fix UserManager#isUserAGoat

Correctly detect if the user is a goat.

Change-Id: I78577dd7ec8c3685434ee03560010a6ea4db127f
serManager.java
8d4e6cb06005a2ce994360340a6191f0690db8f4 14-Sep-2014 John Spurlock <jspurlock@google.com> Saver: PowerManager call to set low power mode.

- Add an explicit power manager call to set the low power mode state,
instead of trying manage everything around a single setting.
- When low-power mode is triggered by falling below the configured
threshold, it does not update the setting.
- The "is-enabled" api returns setting || below configured trigger.
- Move the snooze management into the new api call.
- Callers (sysui + settings) updated to use the api instead of the
setting.
- Handles the case where the level does an unpowered leap out of the
low battery level. (Possible if powered in-between while the device
is off)

Bug:17460535
Change-Id: Ic030504c9cad9868a7137abbe837b170da37852b
PowerManager.aidl
owerManager.java
33d738a10209d4dc882a65285d6e71cfaeabe769 12-Sep-2014 Dianne Hackborn <hackbod@google.com> Allow throwing UnsupportedOperationException across Binder.

Change-Id: I3a9b81958886033d546c3a20331716dbb9492365
arcel.java
64d4dca63f65e4c7d4a829c85ff6670bdd34e2eb 28-Aug-2014 Alexandra Gherghina <alexgherghina@google.com> Assign default icon to users at creation time and in SystemUI.

Right now different code in System UI, Settings app and other places replace the
user icon with their own default. This tries to make it consistent by moving the
mechanism used in Settings in a helper class.

Bug: 17311038
Change-Id: Ic858c65bf82a98b9806dbba029e7cdcf441f372e
serManager.java
1208e2718daeae538dc89c37198092ccb32798a2 09-Sep-2014 Michael Wright <michaelwr@google.com> Change constant to PowerManager.RELEAES_FLAG_WAIT_FOR_NO_PROXIMITY

Bug: 17290118
Change-Id: Iae3866bf3f7ac24f756ec4c183e848a79d1f779b
owerManager.java
8cd28b57ed732656d002d97879e15c5695b54fff 09-Jun-2014 Amith Yamasani <yamasani@google.com> Apply cross-user restrictions to Shell

Even though Shell user is allowed to perform cross-user actions,
lock that path down if the target user has restrictions imposed by
the profile owner device admin that prevents access via adb.

If the profile owner has imposed DISALLOW_DEBUGGING_FEATURES, don't
allow the shell user to make the following types of calls:
start activities, make service calls, access content providers,
send broadcasts, block/unblock packages, clear user data, etc.

Bug: 15086577
Change-Id: I9669fc165953076f786ed51cbc17d20d6fa995c3
UserManager.aidl
serManager.java
da6e6c888f81d3bd19ff1f3cf9b081b7f9b2a013 09-Sep-2014 Amith Yamasani <yamasani@google.com> Merge "User restriction to disallow outgoing NFC beam" into lmp-dev
26af829fd70609cf073b56e54e1f78faf83a5e8b 09-Sep-2014 Amith Yamasani <yamasani@google.com> User restriction to disallow outgoing NFC beam

This can be controlled by MDMs via DPM.

Also fixes:
- javadoc for restrictions
- persisting of cross profile copy/paste restriction

Bug: 17387303
Change-Id: Ie148f56189181d2a4c6345c0823d417ab13a94a3
serManager.java
6b0ed64fb868e64684031558cbdeedcd94d40713 05-Sep-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Add native bridge post-fork initialization

(cherry picked from commit d7746a8b65ee4690427ed798816f970218578fa3)

Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67
rocess.java
e016605981985b64cc28a8272474ae925801548b 08-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Delayed ASEC allocation, refine progress handling." into lmp-dev
77d218e1869e69c8d436b09cd11dcfe45e50b2cf 06-Sep-2014 Jeff Sharkey <jsharkey@android.com> Delayed ASEC allocation, refine progress handling.

For restore use-case, session creation needs to complete quickly, so
delay ASEC allocation until session is opened. When preflighting
size checks, only consider external when we have a known size for the
container. Also relax size checks when using MODE_INHERIT_EXISTING
on external, since we don't know how much of existing app will be
copied over.

Consider session as "active" while commit is ongoing, until we're
either finished or pending user interaction.

Always publish first client needle movement away from 0. Use 25% of
internal progress to reflect ASEC allocation.

Avoid CloseGuard messages about leaking PFDs.

Bug: 17405741, 17402982
Change-Id: I6247a1d335d26621549c701c4c4575a8d16ef8c2
ileBridge.java
b30c9920df9a8b5f1515e26c65c5ce1d21e5a77a 07-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #17391969: Only exception on Message.recycle() when target-sdk > 20" into lmp-dev
7895bc2e6309427937ab060031bfee5c99879d59 06-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17391969: Only exception on Message.recycle() when target-sdk > 20

Change-Id: Iaf271c96901c5dba15831681269a49ad4aaa57fd
essage.java
ce78347c37000347c9dbd4487d53a3f4aceff692 06-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #17397177: BatteryStats reporting error on job start/stop" into lmp-dev
c3940bc1ba753bcbeb9849239ec4b2ec685c40e2 06-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17397177: BatteryStats reporting error on job start/stop

Dumb, dumb, dumb mistake.

Also fix battery stats wakeup reason tracking to use a SamplingTimer
(like kernel wake locks) so we can track both the duration and count
for each wakeup reason.

Change-Id: I89d69661006dc533622b1b7e68a139166d3a6975
atteryStats.java
c7d62f02b8acfd0a6b31f8544ec2c07e780fe4bb 05-Sep-2014 Svetoslav <svetoslavganov@google.com> Addressing API council comments for UserManager.

bug:17390424

Change-Id: I498d2541289915cb7db16e5c3249ccc7a7dc5ee6
serManager.java
d3cc74cac29c0534762228accf72ea8c6f5bebde 05-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Move Size parceling to Bundle." into lmp-dev
a240d8377a3a45ddd4daccdb6b34f51644296486 05-Sep-2014 Amith Yamasani <yamasani@google.com> Merge "Don't allow guests to install from unknown sources" into lmp-dev
5ef33984d0cc50bf4654b0d8e9557ac34d44fddd 05-Sep-2014 Jeff Sharkey <jsharkey@android.com> Move Size parceling to Bundle.

Size itself shouldn't be Parcelable, since that would be a layering
violation.

Bug: 17390381
Change-Id: Ica62709bd889db51c916c550a0146714b002baa3
undle.java
arcel.java
edfc6af590fa860403779d20a469d198f742ab67 05-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #17375172... sshhhhhh!!!" into lmp-dev
521e4bd7c5252455c01a0fe253e0357ff0733b8e 04-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17375172... sshhhhhh!!!

Change-Id: Idf3eafe829418bfc29e31f893ae6cff249488ffa
uild.java
29ce85bab94a2d0dc98d9075ae86c8a282367117 04-Sep-2014 Amith Yamasani <yamasani@google.com> Don't allow guests to install from unknown sources

Added a user restriction when creating a guest.
Made sure that guests can't install profile owners that
could undo the restriction.

Bug: 17359648
Change-Id: Icdd919e8b1cbd79a69aacb76e573ec3449f18e4c
serManager.java
bef1036af781f8defadb2345f256da71e3906bd4 03-Sep-2014 Amith Yamasani <yamasani@google.com> Merge "Add some @SystemApi tags for internal user-related APIs" into lmp-dev
0e8d7d63ba439cc0604af7055679dae3d30fdc48 03-Sep-2014 Amith Yamasani <yamasani@google.com> Add some @SystemApi tags for internal user-related APIs

Also added an internal isManagedProfile()

Bug: 17371392
Change-Id: Ibcc26771d954505cbd530192bf4a8a25a8d4cae0
serHandle.java
serManager.java
089ea995ba5183879dd7af098a8d645293798c4b 03-Sep-2014 Lorenzo Colitti <lorenzo@google.com> Merge "Pass the socket mark for DNS queries to dnsmasq." into lmp-dev
e2c88d39b2c5b33d55c42230db7899202625a96a 29-Aug-2014 Paul Lawrence <paullawrence@google.com> Add constants so we can distinguish decryption failures

Bug: 17213613
Change-Id: I6bc10a1ed0855f6946ea9eb2f8d2db00c1af327c
torage/IMountService.java
1df1473008c24487701c5bc15f39ed9f9697f421 30-Aug-2014 Amith Yamasani <yamasani@google.com> Make it possible to remove current user

Due to the async nature of switching users, it's not possible to
switch and remove immediately. So mark the switch target user as
soon as the user switch is requested, so that a remove will proceed
without failing at stopUserLocked().

Also, fix a similar problem with deleting the current guest and
switching to a new guest. It was attempting to remove the current
user which will result in a failed stopping of the user.
Added a way to mark the current guest
for deletion so that a new one can be created, switched to and the
old one deleted. If runtime fails, old guest is already marked for
deletion and will be cleaned up on restart.

Bug: 17321533
Change-Id: I4be0fb956227e0bb95588b5b1f2867fb1e655c0d
UserManager.aidl
serManager.java
b57edc5ae999abd9c7310833f4f10bbacbc469d7 23-Aug-2014 Lorenzo Colitti <lorenzo@google.com> Pass the socket mark for DNS queries to dnsmasq.

This makes tethered clients use the correct DNS servers when
tethering to non-default networks like the DUN APN.

Bug: 16357676
Change-Id: I8933b6de198a92c2aaf0291931ace8966ddba275
NetworkManagementService.aidl
73a821780334bc7972bca28d848cbce70cc3f825 29-Aug-2014 Jeff Sharkey <jsharkey@android.com> Keep tests building.

Bug: 17183379
Change-Id: I7f52af3201975e8c626a6c6d7f508fd8d006b204
ileBridge.java
c62f2e1bb76d3e7ff9e4504fdaa86cfa2ca849a3 29-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "FileBridge needs to keep strong reference to PFD." into lmp-dev
9a1507aa10577badabcbe00396613a967302e456 29-Aug-2014 Jeff Sharkey <jsharkey@android.com> FileBridge needs to keep strong reference to PFD.

Even though we've grabbed the underlying FD, the PFD could be GC'ed
and when finalized it would end up closing the underlying FD. This
fix ties the PFD object lifecycle to the returned OutputStream.

Bug: 17183379
Change-Id: Ibee8f4cf78fee357181a250d15f2a653294b2877
ileBridge.java
b4558af745047631d27697460efd8fc6e7a7cf38 28-Aug-2014 Michael Wright <michaelwr@google.com> Merge "Change constant to PowerManager#FLAG_WAIT_FOR_DISTANT_PROXIMITY" into lmp-dev
219857b900e2a15464c6254d8d64b68db7d548c0 28-Aug-2014 Michael Wright <michaelwr@google.com> Change constant to PowerManager#FLAG_WAIT_FOR_DISTANT_PROXIMITY

Also add docs to PowerManager.WakeLock#release(int)

Bug: 17290118
Change-Id: Ibcbc4279efdd0f275808042356e6ff843958e23f
owerManager.java
d3ca9917003a5e0650b559d58cf1eacf3b52bf34 26-Aug-2014 Jeff Sharkey <jsharkey@android.com> Report FileBridge failures as wtf().

Bug: 17183379
Change-Id: Ifd4dc690c04439e1f7abebd8e0ca4e1ff97d9cc8
ileBridge.java
37cf9907d201e39ecf8a8de934c44e3eaf04b6db 24-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "Installing splits into ASECs!" into lmp-dev
941a8ba1a6043cf84a7bf622e44a0b4f7abd0178 21-Aug-2014 Jeff Sharkey <jsharkey@android.com> Installing splits into ASECs!

Sessions can now zero-copy data directly into pre-allocated ASEC
containers. Then at commit time, we compute the total size of the
final app, including any inherited APKs and unpacked libraries, and
resize the container in one step.

This supports both brand new ASEC installs and inheriting from
existing ASEC installs. To keep things simple, it currently requires
copying any inherited ASEC contents, but this could be optimized in
the future.

Expose new vold resize command, and allow read-write mounting of ASEC
containers. Move native library extraction into the installer flow,
since it needs to happen before ASEC is sealed. Move multiArch flag
into NativeLibraryHelper, instead of making everyone pass it
around. Migrate size calculation to shared location.

Separate "other" package name in public API, provide a path to a
storage device when relevant, and add more docs.

Bug: 16514385
Change-Id: I06c6ce588d312ee7e64cce02733895d640b88456
torage/IMountService.java
7d82751530db56841f7e767fe752abe5faa06e0c 22-Aug-2014 Jeff Brown <jeffbrown@google.com> Hide PowerManager methods that third-party apps can't use.

Change-Id: I9c4dbdef913f68939eb29f2c250c5fe3afc67399
owerManager.java
0a571123544058578b4ef1558c276a4050519652 22-Aug-2014 Jeff Brown <jeffbrown@google.com> Poke interactive hint from userActivity and add @SystemApi.

Previously we only poked the interactive hint for input events that
were dispatched through the regular input system. However, when
using a car dock in projection mode input events are directly
delivered to apps by other system components, bypassing user activity.
So now we poke the interactive hint on all user activity.

Added an @SystemApi version of userActivity.

Added a new signature|system permission called USER_ACTIVITY
to allow system apps to poke userActivity. For now it seems
prudent to keep DEVICE_POWER signature only.

Bug: 17043684
Change-Id: Ia84bd03083065b8938a9853c08901fbf71b2e56b
owerManager.java
72671fbb2036e13fccb0b8eeb98be606de1819dd 22-Aug-2014 Jeff Brown <jeffbrown@google.com> Require DEVICE_POWER permission for DOZE_WAKE_LOCK.

This wake lock is only intended to be used internally.

Change-Id: I8d109c492605673616cf7f4f31f082a42fb1d912
owerManager.java
a71f03c48160ee82aad8d05edeb39faaf95ae137 22-Aug-2014 Jeff Brown <jeffbrown@google.com> Unhide the proximity sensor wakelock.

Bug: 5354313
Change-Id: I59c6bfcd8ff2cebe264f69c49032737a45326373
owerManager.java
8e28c9c315a8314163f874d12230822fe96d2c0a 22-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "Guard against EOF when reading in FileBridge." into lmp-dev
5f1ed727e27cc00267539974372f062104052f56 22-Aug-2014 Jeff Sharkey <jsharkey@android.com> Guard against EOF when reading in FileBridge.

Bug: 17183379
Change-Id: I8856fc149915281093f83f46bad64f211d134322
ileBridge.java
2cb384f42569f36e19ecee60da259d69048fdd85 13-Aug-2014 Julia Reynolds <juliacr@google.com> Prevent profile owners from setting certain user restrictions.

Bug: 16351901
Bug: 16701492
Change-Id: Ie866bc24d2d7cc15f86c5b50062a730e099612a1
serManager.java
249a7fdf4411f923c2fc69416b483a7d14f8b8cd 19-Aug-2014 Dianne Hackborn <hackbod@google.com> Merge "Temporary: raise overflow limit, print all wake locks." into lmp-dev
acc4a120742eed5905de2c7ee690f251cc32a0ae 19-Aug-2014 Dianne Hackborn <hackbod@google.com> Temporary: raise overflow limit, print all wake locks.

Change-Id: I02baa775b8e0659bd9cd4547b8671730f056cb86
atteryStats.java
681bf60ce2a3973d5982f9b7a405bcef5fb72f20 18-Aug-2014 Sunny Goyal <sunnygoyal@google.com> Fixing bounds check.

Change-Id: Ie17b173ef88288076a5cbfdc741b8e105dcda03e
serManager.java
89e4ae2f504b4c55d7823c3f04d4894de0d8e471 18-Aug-2014 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #16629489: Google (Play?) Services eating through battery" into lmp-dev
d953c53d3b04d772bb1b62ede1c2011641ca82b5 17-Aug-2014 Dianne Hackborn <hackbod@google.com> Work on issue #16629489: Google (Play?) Services eating through battery

There is a bug in how we deal with name overflows combined with resetting
the battery stats data. If we do a reset while a wakelock is being
actively held that has been put into the overflow bucket, then we can
end up reducing the number of known wake locks in the list so when after
that it is released we try to release it under its real name rather than
the overflow name.

This means we need to keep track of which wake locks have been placed
in the overflow bucket while they are actively being used, so we can be
sure to properly handle it as part of that bucket until it is eventually
released.

This makes things... somewhat more complicated. So now we have a class
to take care of all these details, and also use it for other places where
we have the same overflow semantics sync and job stats.

Also fix potential deadlock -- BatteryStatsHelper needs to call on to
ConnectivityManager to find out of there is telepohny, however we use
that class when doing a dump while the battery stats lock is held. To
fix this, we check the connectivity state up in the battery stats service
before acquiring the lock and propagate that information through to the
dump code.

Change-Id: Ib452206af5c36f4b0f03cc94d2845d36613d1ba5
atteryStats.java
742e790294b3441b79f715fe447069b63c6065db 17-Aug-2014 Jeff Sharkey <jsharkey@android.com> Progress towards staging ASECs.

Move location selection logic into shared PackageHelper location,
and share it between DCS and PackageInstaller. Fix bugs related to
installed footprint calculation; always count unpacked native libs.

Have PMS do its own threshold checking, since it's fine to stat
devices. PMS only ever deleted staging ASECs, so move that logic
into installer and nuke unclaimed staging ASECs. Allocate legacy
ASEC names using PackageInstaller to make sure they don't conflict
with sessions.

Start wiring up session to allocate ASEC and pass through staged
container for installation.

Fix bug to actually delete invalid cluster-style installs.

Bug: 16514385
Change-Id: I325e0c4422fc128398c921ba45fd73ecf05fc2a9
torage/StorageManager.java
3edf5272fb2185403dfe64b9722b9fc9b9de80f8 15-Aug-2014 Jeff Brown <jeffbrown@google.com> Add trace tag for power management.

Instrumented the basic power manager state transitions,
calling into the Power HAL, setting the display power mode,
and setting the backlight.

Bug: 17004602
Change-Id: I4e362162ddfd7292a7eea8b5d029ce3f6593c4a9
owerManager.java
race.java
d97a0e7281e3e8d3884ed580d4db4c97331509ed 15-Aug-2014 Amith Yamasani <yamasani@google.com> Merge "Copy certain settings to the managed profile" into lmp-dev
4f7e2e334e4ca5f1a67baf4bdd40cd080b954161 15-Aug-2014 Amith Yamasani <yamasani@google.com> Copy certain settings to the managed profile

All reads of those specific settings will go to the primary user.
Inserts to primary also go to managed profiles in order to notify
any observers.

This enables Location settings to be shared by both profiles.
Also some other settings related to IME and Accessibility since
those services are shared across the profiles.

Bug: 16457210
Change-Id: Ib8fd697b5c78027fcbaf245d82dda5e6d6aab4f0
serManager.java
d438deffad74ed5cc37b68100577215b9f08e6ff 15-Aug-2014 Julia Reynolds <juliacr@google.com> Merge "Apply lockdowns when user restrictions are set." into lmp-dev
3d9eb78fe91ab2479eb38443aed588e10421e31b 11-Aug-2014 Julia Reynolds <juliacr@google.com> Apply lockdowns when user restrictions are set.

Previously DMAgent would apply these lockdowns before/
after setting the matching user restrictions.

Bug: 16701642
Bug: 16945830
Bug: 16944983
Change-Id: Ib4f7145055687f12408d6ccacd8e6380406a32b2
serManager.java
f0433e50c7855579ad9847e939bb2c84e576e9d0 14-Aug-2014 Doug Zongker <dougz@google.com> Merge "@hide RECOVERY permission" into lmp-dev
c12035cd40d01b032013f515cb509e6c8791cf65 14-Aug-2014 Jeff Brown <jeffbrown@google.com> Log who is calling goToSleep().

Change-Id: Ibae61c90ee115735835e878bb3bf79eedaa0ae44
owerManager.java
9c3e74f1f77d3b29ad47d2c74b0a0061e67c76f1 14-Aug-2014 Dianne Hackborn <hackbod@google.com> Fix issue #16794553: Duplicate ArrayMap entries in Bundle...

...can lead to launching of un-exported activities

We now validate the array map after unparcelling to make sure there
are no duplicate keys.

And to make up for the performance overhead this introduces, I switched
the parcelling/unparcelling code to write keys as explicit string
objects rather than generic values. There was no reason to use generic
values since the write method itself only accepts an array map with
String keys.

Change-Id: I57bda9eb79ceaaa9c1b94ad49d9e462b52102149
arcel.java
95ab7849444125387dc88088bb5197ee463d8c17 12-Aug-2014 Amith Yamasani <yamasani@google.com> Decouple user limit from guest creation

Allow Guest to be created even if there are N users.
Allow N users to be created even if there are N-1 users
and a Guest.
Limit number of guests and managed profiles that can
be added.

Added unit tests.

Bug: 15934700
Change-Id: I1a8f0fa38a91d71ef7b2980e05c974244dfc337a
serManager.java
183415e521d599ca5e33e5022fec5ec7dfe1c055 12-Aug-2014 Doug Zongker <dougz@google.com> @hide RECOVERY permission

Bug: 16959027
Change-Id: I99fbdf24d5e8bce4beb32fa872e0caa6bfdbe1e9
owerManager.java
ecoverySystem.java
cd0e335be354d117c553bb87b3432a75d550d21a 08-Aug-2014 Dianne Hackborn <hackbod@google.com> Fix issues #16655104 and #16875776 in battery stats.

Issue #16655104: Android system used 21% of battery

We weren't clearing the current process state when we now retain
process objects across resets.

Issue #16875776: abnormal outliers in screen-off battery life in go/batterystats

The checkin data since charged was using the since unplugged data
for the amount of drain with the screen on/off.

Also added a new version tag in the checkin output containing
the platform build number and internal version format number, to
start moving away from the wasteful version code on every line.

And fixed a bug in figuring out when things have changed over
discharge levels.

Change-Id: I89b89513a748016aacc848f14bbbc8b2400d92ca
atteryStats.java
c08cb0ed7a01cd076e8277e49e1492eeab09e9fa 07-Aug-2014 Kenny Guy <kennyguy@google.com> Revert "Revert "Remove String version of getBadgedLabel""

This reverts commit 82020f109d78af889dfc5e86ede04c54fb6f1de2.

Bug: 16484455
Change-Id: I601edbb705cacd29bf30f90c8666c5f516796ebb
serManager.java
cbd7a6ecbb7aa5a4ea146cf05f1ec254eb3e60b9 06-Aug-2014 Christopher Tate <ctate@google.com> Introduce system API for distinguishing the owner user

Support services that special case the owner but are instantiated
per-user, and so need to be able to distinguish.

Bug 16661321

Change-Id: I7ff5168c91e39821317fdf5cfaba34e90d30de95
serHandle.java
0068d3dcf1f1a804554a1a09e3b173ac12651786 07-Aug-2014 Dianne Hackborn <hackbod@google.com> Fix issue @16555033: Battery history overflowing too much

- No longer track process starts/stops normally.
- Increase buffer size to 256KB.
- Buffer size increase requires reworking how battery stats
are retrieved, since it is going to be hitting IPC limits.
- Also, store the last full stats after a reset, to be reported
at the next checkin.
- Also, discharge and charge times are tagged with the screen
and battery save state during that time.

Change-Id: Ie108ac9b626846108a9bb858101ac2b93276ac16
atteryStats.java
UserManager.aidl
9962f335a176508c30e539565ad63518fa8ca0d1 07-Aug-2014 Kenny Guy <kennyguy@google.com> Revert "Remove String version of getBadgedLabel"

This reverts commit ed0096c14ae1b17845bc9bb8fbb1cdc47adfdd68.

Change-Id: If026db7e804be81aaa02cfd2a4e1a0a03ee020f1
serManager.java
4a4f275f24f6673c435c5205522273ba3500dbcc 07-Aug-2014 Kenny Guy <kennyguy@google.com> Remove String version of getBadgedLabel

It was left to allow unbundled apps time to update.

Bug: 16484455
Change-Id: Ibae2576ac7fc88000ec81c669e66536aaa2e3e79
serManager.java
6ac5db5777598b174cc815547ae3ef4e3c405676 07-Aug-2014 Paul Jensen <pauljensen@google.com> Merge "Revert DNS cache flush command deletion from "Cleanup: Delete dead code."" into lmp-dev
b69a3a8eaade042aa5b4d17f9b0dfd565c2e4a97 06-Aug-2014 Paul Jensen <pauljensen@google.com> Revert DNS cache flush command deletion from "Cleanup: Delete dead code."

This reverts part of commit 7a161c535104555890fa78b99faf1f414fc03e85.
The DNS cache flushing code needs to be called when routes change.

Change-Id: I20d39eabfa088deeeeeff0c3292b1910fd948b0d
bug:16549455
NetworkManagementService.aidl
c71c42fdb2ee54a419dc8eb0a5f4f82532b16c0c 06-Aug-2014 Svetoslav <svetoslavganov@google.com> Polish of the app widgets cross-profiles feature.

1. Added API for badging an arbitrary drawable at a given location.

2. Updated the icon and previewImage deprecation as they are no longer
returning a badged drawable. The methods to load the icon and the
preview are now just making it easier for a developer to get the
drawables.

3. Fixed a bug in AppWidgetServiceImpl leading to a crash when a user
is removed.

4. Fixed a bug in AppWidgetHost which was unnecessarily caching its
package name and having code paths where the cached value was not
populated when calling into the system.

bug:14991269

Change-Id: I50d011a6597d88814715d5ec04ee67815e8ce0bd
serManager.java
1bb480a3a4ce2ce63c5d09fa7f5cc38ec160ebf4 02-Aug-2014 John Spurlock <jspurlock@google.com> Battery saver: new policy changes + SystemUI tweaks.

- Service policy changes: allow the user to turn off (snooze)
saver mode below the auto-trigger level. Plugging in the
device always exits saver mode.
- Default trigger level is now 0 (never) instead of 15.
- SystemUI now also listens to a new POWER_SAVE_MODE_CHANGING,
since waiting for _CHANGED can take seconds.
- Move shared feature description text into the framework so it
can be shared.
- Tweak dialog title + action strings.
- Remove trigger-level from SystemUI, it no longer needs it.
- Add the ability to turn off saver mode directly from the
notification.
- Migrate saver confirmation dialog to common system UI dialog
helper, and add a few convenience methods.
- Fix bug where the status bar area would be orange over the keyguard
in SHADE_LOCKED mode.

Bug:16214395
Change-Id: I3d1ded1eec9e63e7d97469486f6a320e1bebbccd
owerManager.java
ceb2adca4905bc1f80545792d82bed5d877ed583 01-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "Persist install sessions, more lifecycle." into lmp-dev
1cb2d0d4bba387665128c62c342e59103ea4be26 31-Jul-2014 Jeff Sharkey <jsharkey@android.com> Persist install sessions, more lifecycle.

To resume install sessions across device boots, persist session
details and read at boot. Drop sessions older than 3 days, since
they're probably buggy installers.

Add session callback lifecycle around open/close to give home apps
details about active installs. Also give them a well-known intent
to show session details.

Extend Session to list staged APKs and open them read-only, giving
installers a mechanism to verify delivered bits, for example using
MessageDigest, before committing.

Switch to generating random session IDs instead of sequential.

Defensively resize app icons if too large. Reject runaway
installers when they have too many active sessions.

Bug: 16514389
Change-Id: I66c2266cb82fc72b1eb980a615566773f4290498
rocess.java
8616af1a4dd1877996fbd5bb0179659f4f123573 31-Jul-2014 Amith Yamasani <yamasani@google.com> Setup correct initial guest restrictions

Disable SMS by default, in addition to any other the primary
user may have set.

Bug: 16474761
Change-Id: I67b510ac72c2adfcafd95fb34e50ab5d8194090a
serManager.java
12451a39f480dde93a9280c1f289625eab92881f 30-Jul-2014 Julia Reynolds <juliacr@google.com> Merge "API council - DISALLOW_APPS_CONTROL -- need better documentation." into lmp-dev
c617f815453b6e70a0165924907e69a0f993e651 25-Jul-2014 Julia Reynolds <juliacr@google.com> API council - DISALLOW_APPS_CONTROL -- need better documentation.

Bug: 16401636
Change-Id: I168033eaabdb953d8e73f63792a7e729eb9eeff6
serManager.java
ff701a6a65f6e1f13bfb0b4561f0dd14272b4820 30-Jul-2014 Torne (Richard Coles) <torne@google.com> Parse system properties that are lists correctly.

String.split() returns a one-element array of the empty string if the
input is the empty string, not a zero-element array. Introduce a
getStringList function to handle this consistently in the cases where
system properties are parsed as comma separated lists.

The main result is that SUPPORTED_64_BIT_ABIS will now correctly be
empty on a 32-bit only device.

Change-Id: I6f74b48d0a6ced3cd6d49c05aad6a4b7e0b074d2
uild.java
bf3a9465483976dcd5692b619b47132c2b95f73e 28-Jul-2014 Amith Yamasani <yamasani@google.com> Set profile owner via an intent

priv apps can request to become a profile owner after setup has
completed. This will pop up a consent dialog (in Settings).

Also, clean up profile owner concept to be a component name.

Change-Id: I5e8532866e8018f61836c4e84fbbadb6150218ae
serManager.java
42065ac64cba166dc0fe602957ea8fe80bf406e2 27-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Prohibit address families by default unless a VPN explicitly allows them.

Bug: 15972465
Change-Id: I3278d94536fefacc86390c1ba4231680f7be8589
NetworkManagementService.aidl
39c12fab49075b715c253c68c84b5c10c3150197 26-Jul-2014 Sandeep Siddhartha <sansid@google.com> Use blob (shared memory) for large data in sound model/recognition event/config

Also add a missing null check in writeBlob

Bug: 16516353
Change-Id: Ie702f8daae541cab7c2cee6e13d49e7fc84c84e1
arcel.java
90d7a3e996ee3a6e33e655341c5d301fbe30cd58 26-Jul-2014 Sandeep Siddhartha <sansid@google.com> Add read/writeBlob to Parcel

These are {@hide}en for now.

Bug: 16516353
Change-Id: Ie1635617ee8611a78be9068a7ce674e34c30301d
arcel.java
8cd33ed84e94036a5e1201485af7603dc6fb0d9b 24-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Implement support for bypassable VPNs.

Bypassable VPNs grab all traffic by default (just like secure VPNs), but:
+ They allow all apps to choose other networks using the multinetwork APIs.
If these other networks are insecure ("untrusted"), they will enforce that the
app holds the necessary permissions, such as CHANGE_NETWORK_STATE.
+ They support consistent routing. If an app has an existing connection over
some other network when the bypassable VPN comes up, it's not interrupted.

Bug: 15347374
Change-Id: Iaee9c6f6fa8103215738570d2b65d3fcf10343f3
NetworkManagementService.aidl
237aecd18d0edf56c038761f570758c310c9e6df 21-Jul-2014 Kenny Guy <kennyguy@google.com> Change getBadgedLabelForUser to use CharSequence

Bug: 16401636
Change-Id: I45410a6293007dd789d6770d63397824559b756e
serManager.java
f1939901d2ed0480069f0b23be64f122fce93995 25-Jun-2014 Nicolas Prevot <nprevot@google.com> Making the clipboard work across users.

When copying from the parent: the ClipData can be pasted in the managed profile.
When copying from a managed profile: it can be pasted in the parent,
unless the policies says it's disabled. In which case, the clipboard of the parent becomes empty.
Supporting content uris.

BUG: 15186236

Change-Id: I522564a7c07ff21df137adcda980bb52e5739964
serManager.java
10eaa8574bb220e7dddf9a78057f83dc64ee5687 23-Jul-2014 Dianne Hackborn <hackbod@google.com> Fix issue #16467284: Make noteStartVideo and noteStartAudio nesting

Also add new methods to clear these states, so we can avoid any
nesting issues from getting the tracking state stuck.

Change-Id: Iba0eaba2a9a186355c24d392f16118982c5331ed
atteryStats.java
03666c705ddabe0e7c5869ab69c2ca8b964164e9 20-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Cleanup: Delete dead code.

Bug: 15413389
Change-Id: I315468832ef18ffc84174e54774ab63b86d284dc
NetworkManagementService.aidl
a77760d74ad544bbd4f6310fd28b395f24c5467d 18-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Fix WiFi-Direct.

Add a new command to let netd know about routes on a p2p interface.

Bug: 15413694

Change-Id: I36effc438d5ac193a77174493bf196cb68a5b97a
NetworkManagementService.aidl
970d4132ea28e748c1010be39450a98bbf7466f3 19-Jul-2014 Jeff Brown <jeffbrown@google.com> Allow dreams to control screen state and brightness.

Added setDozeScreenState() and setDozeScreenBrightness() methods to
DreamService. The values specified here only take effect once
startDozing is called and can be changed while dozing.

This required some significant rework of the display power controller
but the result seems quite nice and better represents the policy
we want to apply.

Changed the test dream a little bit to make it flash the screen
every minute using the new functions.

Bug: 15903322
Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
owerManager.java
owerManagerInternal.java
9c44933958bc03b93eac2452b26dd75567581b86 19-Jul-2014 Amith Yamasani <yamasani@google.com> API Review: Improvements to RestrictionsManager API

Use an activity intent for local approval instead of a type.
Use PeristableBundle instead of Bundle.
Pass requestId as an explicit argument in cases where it's required.

Bug: 16400892
Change-Id: Id882033f17c39aa9cd63a7eeb73bb7b51f98cf5b
ersistableBundle.aidl
89c3b29a9bfa0ae9858b913bc1ab6604c4613a15 20-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE

AudioAttributes: rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE to
USAGE_NOTIFICATION_RINGTONE in the list of usage values.
Temporarily keep the old definition to prevent transient build
breakages, will be removed after telephony packages have been
updated.

Bug 16401631

Change-Id: I9398443fd7ba3c30e9d371c5c5a2934b9ea6f30a
ibrator.java
7b41467704f941b11af6aace3e40993afc7f6c6f 18-Jul-2014 John Spurlock <jspurlock@google.com> Zen mode filtering should use new usage constants.

Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
VibratorService.aidl
ullVibrator.java
ystemVibrator.java
ibrator.java
390989da1967f9d385212cd2e22a50589ce69046 17-Jul-2014 Amith Yamasani <yamasani@google.com> Split telephony restrictions into outgoing calls and sms

DISALLOW_TELEPHONY renamed to DISALLOW_OUTGOING_CALLS and introduced
DISALLOW_SMS.

Outgoing emergency calls should always be permitted.

Change-Id: I0a38ef6e2df9dcf62d16fd93622ad61f4327614f
serManager.java
38d3c26fd57a9dc6f4ac09827120b713ceb04ebe 17-Jul-2014 Julia Reynolds <juliacr@google.com> Merge "Update message on DISALLOW_REMOVE_USERS constant." into lmp-dev
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
rocess.java
5b8224901b5de0cfe7b4a1d3cb158e38243ef99f 17-Jul-2014 Julia Reynolds <juliacr@google.com> Update message on DISALLOW_REMOVE_USERS constant.

Change-Id: I4f873eba4082278553ded830bb902fb3a3195d87
serManager.java
fdb1956ff71ff57fcdaafaaeb7f42c19de3d7c2f 12-Jul-2014 Dianne Hackborn <hackbod@google.com> Fix issue #15681802: Missing RESET:TIME in complete battery histories

But wait, there's more!

- Keep track of sync durations in the aggregated stats.
- Add events for users that are running and in the foreground.
- Rework the activity manager's tracking of stuff using
battery in the background to be based on proc stats, which
allows it to be better about determing when it should reset
its tracking of background work.
- Also add tracking of scheduled job execution, like we are
doing for syncs.
- And once I started hooking battery stats in to
JobSchedulerService, I found a few things I couldn't stop myself
from changing: (1) make it very explicit that it doesn't start
scheduling jobs until we have reached the point in system boot
where third party apps are allowed to run, and (2) adjust
the various for loops to not use iterators.

Change-Id: I69d812e27bcfee9e58a614f0f6b1c7545d7530b1
atteryStats.java
213bb2fd4da092826e45aae1a50403ab9c634d70 08-Jul-2014 Ashish Sharma <ashishsharma@google.com> Report wakelock time in checkin stats in ms. Bump version.

Change-Id: Icd5cebb3434572cb226ef018629fcfca8bfc08e8
atteryStats.java
1dcdbb5af50053613d01710123b45e2463350ac7 13-Jul-2014 Narayan Kamath <narayan@google.com> Merge "Unhide Build.SUPPORTED_ABIS and friends."
1adf4002e7517c9981df0d1320e18b38a86978f8 12-Jul-2014 Narayan Kamath <narayan@google.com> Unhide Build.SUPPORTED_ABIS and friends.

Also deprecates Build.CPU_ABI and Build.CPU_ABI2.

bug: 15018047

Change-Id: If8bda8481b29442c0208ba8a72ec0037e813946c
uild.java
a10311434778ea1be1621c2251c0c8c2966f337b 13-Jul-2014 Jeff Sharkey <jsharkey@android.com> Package installation listener events.

Flesh out implementation of install session observers. Carve out 20%
of published install progress for final system operations such as
dexopt, etc.

Add dumpsys output for active install sessions. Create explicit
fsync() instead of overriding meaning of flush(). Hack to throw
IOExceptions over Binder calls.

Bug: 14975160, 15348430
Change-Id: I874457e40c45d2661bc0a526df9285ffea4bb77c
ileBridge.java
06b6cdaed5c68816faac9d2354c6caf61e65e19d 12-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Remove unnecessary code and APIs.

This stuff has been replaced by setNetworkForUser() in NetdClient.

Change-Id: If525ee259b74314191d1913f7c2a3e828e05c38f
NetworkManagementService.aidl
31ab41726b84c31a6aa45c929aad4ad04d32a992 12-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Delete unused APIs in NetworkManagementService.

Change-Id: Idc6c0ac0d3a4149821fc7820b7f37d4209fc55d3
NetworkManagementService.aidl
3c58775a126c9c9b2f86bc22bd82cedbdcb06024 11-Jul-2014 Dianne Hackborn <hackbod@google.com> Merge "Allow INTERACT_ACROSS_USERS for service access."
409297da182267465adbc21cfb75a23e8d678117 11-Jul-2014 Dianne Hackborn <hackbod@google.com> Allow INTERACT_ACROSS_USERS for service access.

But only if the two users are in the same profile. Also
apply the same rule for the recently allowed interaction
across content providers.

The activity manager now keeps track of which users are in
the same profile group, and the handleIncomingUser function has
an option to allow a non-full caller to do the interaction
if the two users are in the same profile group.

Spread this joy all over the place.

Also turn off multi-user on Svelte devices.

Change-Id: I231484ea2a6bfccbb3cd51357d7a387bd75039ea
serManager.java
cba121541223a5fcaa6afe9cdf472b63865ea173 08-Jul-2014 Ashish Sharma <ashishsharma@google.com> Correctly attribute User Activity to the uid in checkin batterystats.

Change-Id: Iacca5985c0b5a68026da6b2b5c9607f8cb71aad5
atteryStats.java
6bc2c2c34f2b23eae79ad733c97a691734055c4f 07-May-2014 Paul Jensen <pauljensen@google.com> Convert Vpn from NetworkStateTracker to NetworkAgent.

This eliminates the need for the ConnectivityService.VpnCallback class.
This requires shifting VPNs to the new "network" netd API.
VpnService.protect() is modified to no longer go through ConnectivityService.
NetworkCapabilities is extended to add a transport type for VPNs and a
capability requiring a non-VPN (so the default NetworkRequest isn't satisfied
by a VPN).

bug:15409918
Change-Id: Ic4498f1961582208add6f375ad16ce376ee9eb95
NetworkManagementService.aidl
0769e550011d8f8a19e333efe1706ef0e6cc6a5f 03-Jun-2014 Colin Cross <ccross@android.com> android.os.Process: add killProcessGroup

Add Process.killProcessGroup to interface between ActivityManager and
libprocessgroup.

Bug: 15313911
Change-Id: I5226a6d86153b863e30d936cf1c84e256f0d7ea5
rocess.java
61659e5daaea80104d4d0fd567e78b5f757b5df4 10-Jul-2014 Dianne Hackborn <hackbod@google.com> Add tracking of uid process states in battery stats.

We now keep track of how long each uid had processes in
various states: foreground, active, running. This is based
on a collapse of the various activity manager process states
into these three bins.

You'll see these in a checkin like this:

8,10013,l,st,61504,61504,83109

Also fix issue #16021555: App showing up as on "top" even
when the screen is off. This is "fixed" by just saying we
always report the current app at the top of the activity stack,
regardless of the state of the screen.

Change-Id: I1204904225101243eb00b43425d9806bffdd2ab9
atteryStats.java
ec55ef0934b8e0d1bb705434947de817f7be57f1 08-Jul-2014 Jeff Sharkey <jsharkey@android.com> Extend pm to support sessions and split APKs.

Separate commands to create an install session, stream files into the
staging area, and then commit the install. Streaming can accept data
from stdin across adb, avoiding extra copy from push.

Extend FileBridge to support blocking close(). Always destroy
session regardless of result.

Bug: 14975160
Change-Id: Ic3f462e7d1901079b785e210228950cdfa676466
ileBridge.java
fe0538098403b49ebd9219bf77236471bb5ca63b 30-Jun-2014 Julia Reynolds <juliacr@google.com> Restrict factory reset with user restrictions.

Bug: 15985879
Change-Id: I524bd8a790798a85a679aa195e634f6e0227d09f
ecoverySystem.java
d746057f2414cba2bdc69257cc5be8cb681bb592 07-Jul-2014 Jeff Sharkey <jsharkey@android.com> Change new file installs to be cluster-based!

Now that all the other pieces are in place, we're ready to start
installing new file-based packages as a cluster (the new unified
directory-based layout). This greatly simplifies the renaming
process.

Also add helper methods to ApplicationInfo to give a much clearer
mapping between it and internal field names, since we can't change
the public API.

Add recursive restorecon().

Bug: 14975160
Change-Id: I72a63c5ddbc594c2fec4a91dd59f73ef253fbfd7
ileUtils.java
ELinux.java
ece4b655dcdcebac9434c91c2786f25aee6413c5 06-Jul-2014 Jeff Sharkey <jsharkey@android.com> Merge "Extract native code from split APKs."
1a20216bb27900475aa05434de21ab54f391ce55 05-Jul-2014 Nick Kralevich <nnk@google.com> am 3e5f0229: am 58005ec5: am 3b345a6f: Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2""

* commit '3e5f0229e10be4179f763efd6119b63bcea6d162':
Fix javadoc typo in Message.java: "arg1" -> "arg2"
3e5f0229e10be4179f763efd6119b63bcea6d162 05-Jul-2014 Nick Kralevich <nnk@google.com> am 58005ec5: am 3b345a6f: Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2""

* commit '58005ec545fd011418b6400a3b377fea6928c933':
Fix javadoc typo in Message.java: "arg1" -> "arg2"
73767b9d607d99b3a027619b5c6b7f1a09b7673d 05-Jul-2014 Jeff Sharkey <jsharkey@android.com> Extract native code from split APKs.

In the new split APK world, multiple APKs work together to define a
single package. This means that native code may be split among those
APKs. To handle this, extend NativeLibraryHelper to examine all
APKs in a package ordered by splitName.

A package has valid native code as long as one matching ABI is found
inside. The "best" ABI found across all APKs is picked for the
entire package. No attempt is made to ensure that every native
library defined is available for the picked ABI; that's the
responsibility of the installer.

Re-introduce PackageLite to represent a lightweight parsing of an
entire package, which may be a single monolithic APK or a cluster
of one or more APKs.

Remove native code extraction from InstallerSession, since it'll be
handled inside PMS for this release.

Bug: 14975160
Change-Id: I4f4db0f82e88a46101c7777499ebc0a11fd911f9
ileUtils.java
3b345a6f9103c1677a696b4770cc318df45cdcaa 05-Jul-2014 Nick Kralevich <nnk@google.com> Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2""
57dcf5b177b56195421535938544f32d8b591b42 19-Jun-2014 Jeff Sharkey <jsharkey@android.com> Slow progress towards APK clusters.

Differentiate between "split APKs" and "cluster packages". A cluster
package is a directory containing zero or more APKs (base+splits),
and a monolithic package is a single APK (base).

PackageSetting will use the directory name as its codePath, so track
the baseCodePath separately. Clarify documentation in several
places.

Require that all installers provide file:// URIs through existing
hidden APIs; PackageInstaller hasn't been able to read content://
URIs for a long time.

Bug: 14975160
Change-Id: I1c6fed1b55205c2474b09871161a98a26669d22e
ileUtils.java
ELinux.java
1c7c319bb89b9988bfd12afc3e8d89449fd163fc 26-Jun-2014 Jason Monk <jmonk@google.com> User restriction for disallowing window creation

Block any types of windows that could by used by apps to create
views on top of a locked app. This can be used by device admins
in conjunction with lock task mode.

Added a way for system (and priv apps) to bypass user restrictions
for specified op codes.

Bug: 15279535
Change-Id: I2381530ef6226a5bb32a99bb4030baafb39bf564
serManager.java
abc7c499133fe640d6ece2b28d43b52e66cdaa9a 01-Jul-2014 Dianne Hackborn <hackbod@google.com> Issue #15986092: Add power tracking of flashlight.

Not yet hooked up.

Change-Id: Id95e44ecc365e9f38169c0a629b0a48ddb29aa06
atteryStats.java
aeaf87fe452353371b36da42e5beccca3150ab08 26-Jun-2014 Narayan Kamath <narayan@google.com> Update javadoc for android.os.Bundle.

Call out the fact that defaultValue is returned if a null
mapping exists for a given key.

bug: https://code.google.com/p/android/issues/detail?id=68453

(cherry picked from commit ca2197b0457b1626b95a053d835ceaca43ac0286)

Change-Id: Iec70478ae091bb222be6e9ef9726c817395e9e23
aseBundle.java
e4afaa3a3d7c2885b82fe43f51bcf04e036f7462 30-Jun-2014 Amith Yamasani <yamasani@google.com> Store and retrieve default Guest settings

Save the default guest restrictions for use when a guest is created.

Bug: 15761405
Change-Id: I28db7d823944b0b47527a4909c10cc856c842a62
UserManager.aidl
serManager.java
cb3ed1dc287ddb9beb7c9186713426f5fba263c3 28-Jun-2014 Dianne Hackborn <hackbod@google.com> Add new sendingUid field to Message.

This tell you where the message came from when it was
delivered through a Messenger.

Change-Id: I86a5f521c8ae919b45872dd76b61e83447f397ab
andler.java
essage.java
816cff12e1864c4e3d2a9bdc5f57b4b8cc03ac86 24-Jun-2014 Narayan Kamath <narayan@google.com> am c141ae54: am 989ab6d3: Merge "Update javadoc for android.os.Bundle."

* commit 'c141ae547e9b295ce9013591a6fbb902b0e40073':
Update javadoc for android.os.Bundle.
b3af535adec8003d42c38d289ca514c92373c1fe 24-Jun-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 816cff12 to master

Change-Id: I33990232771138dcf91f55c7cde6bbfe40612b8f
3251b9075246841a7b1ddecf10859b1abd858f33 20-Jun-2014 Dianne Hackborn <hackbod@google.com> Add some wifi tracking to battery stats.

Now track supplicant state and wifi signal strength.
Output looks like this:

+12m45s235ms (1) 095 +wifi_full_lock +wifi_running wifi_signal_strength=3 wifi_suppl=scanning
+12m46s095ms (1) 095 -wifi_full_lock wifi_suppl=associated
+12m46s469ms (2) 095 wifi_suppl=completed +proc=u0a74:"com.google.android.videos"
+12m52s103ms (1) 095 +wifi_full_lock wifi_suppl=disconn

Also modify history dump so that when we hit a RESET or START
command, we clear our previous history data, so the next event
will include new data. This means if you are scanning through
the output, you must at this point clear any binary stats you
have like "running" or "wake_lock" or else you will continue to
think they are on until whatever point later they get turned on
and then back off.

And a small bug fix in proc stats that would cause the system
process to crash.

Change-Id: Ibec416a1ef786d428bd0d1d86e6e3296c41f7648
atteryStats.java
ca2197b0457b1626b95a053d835ceaca43ac0286 19-Jun-2014 Narayan Kamath <narayan@google.com> Update javadoc for android.os.Bundle.

Call out the fact that defaultValue is returned if a null
mapping exists for a given key.

bug: https://code.google.com/p/android/issues/detail?id=68453
Change-Id: Ifa6e94c1dee47809f70cadcb668cb98cb8dbef14
undle.java
d0eb55360fb94faa632cf65f246260827dc4a177 18-Jun-2014 Denver Coneybeare <denver@sleepydragon.org> Fix javadoc typo in Message.java: "arg1" -> "arg2"

Change-Id: I245eadaf322dce9e27af30d8dbb6d97ca0d296ce
essage.java
f7ecf7c80520c017255cb350d183f0b62022349b 18-Jun-2014 Kenny Guy <kennyguy@google.com> Add badging a label to support accessibility.

To provide a way to differntiate the content description
of an icon that has been badged with a managed profile
badge.

Bug: 15106236
Change-Id: Icd5798bbd2410a105054877e3862e199eff24b88
serManager.java
36fbc8d6453da438a8ab83352ff1bcfcba5f25b5 18-Jun-2014 Julia Reynolds <juliacr@google.com> Rename apps User Restriction.

Change-Id: I9f81a6b94ba06b593e7213967df51c7cb30a7b31
serManager.java
2139276ce8b54aba5faa858ca69ed5f01445c269 14-Jun-2014 Jeff Brown <jeffbrown@google.com> Refactor BatteryService to new pattern.

Apply SystemService pattern to BatteryService.

Change-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c
atteryManagerInternal.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
owerManagerInternal.java
19b8fe225dfd669406ee3e172747bd405ce49b1f 13-Jun-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Modifies APIs for retrieving managed profile accounts."
c1cf161af036e0f337b58ef0739a8ff2e42f01e7 05-Jun-2014 Alexandra Gherghina <alexgherghina@google.com> Modifies APIs for retrieving managed profile accounts.

This is needed for Account Settings UI.

Bug: 13656853
Change-Id: I33129e4b7b33b428a7bf670259accacb60f62d9b
serHandle.java
a596ff87cd899640334512371456b8481ba21b4a 13-Jun-2014 Amith Yamasani <yamasani@google.com> Show user switcher if guest is enabled

even if there's only one user.

Bug: 15549064
Change-Id: Ib9bc5e6cdc6f2655e44ec0a10a701dd39389e648
serManager.java
1e9c21871e81642669079cd290ef47818a3165bd 12-Jun-2014 Amith Yamasani <yamasani@google.com> Guest user first iteration

Setting for controlling if guest is enabled on the device.
Setting to hint to apps that they should skip showing first use clings.

User switcher handles creation and deletion of the guest user.
Some tweaks to the user switcher to show some feedback and make the icons
circular.

Change-Id: I187dc381d2ee7c372ec6d35e14aa9ea4dfbe5936
UserManager.aidl
serManager.java
03f5ff482e58474e9da7a2213fb96d0e0a877a4b 09-Jun-2014 Julia Reynolds <juliacr@google.com> Merge "Unhide UserManager.hasUserRestriction()."
c42ef37e2822e95e28162fb1477e332052ff4b39 07-Jun-2014 Todd Poynor <toddpoynor@google.com> am 1be0bda2: Merge "BatteryManager: battery property query API update" into lmp-preview-dev

* commit '1be0bda27ef001c41f4d4361f079eb5ca6592b04':
BatteryManager: battery property query API update
407a4034028da8578bca361bb4eaed46bc07e885 07-Jun-2014 Todd Poynor <toddpoynor@google.com> Merge "BatteryManager: battery property query API update" into lmp-preview-dev
2b2cf72f10f13d9314a1c53386188ed48e12d47c 06-Jun-2014 Julia Reynolds <juliacr@google.com> Unhide UserManager.hasUserRestriction().

Bug: 15466331
Change-Id: I83a0a77ffcb9781ec0517aed219ee9012137676f
serManager.java
d8883df650b77dba3be38fb2ca8980594b901461 06-Jun-2014 Dianne Hackborn <hackbod@google.com> am 87bc3c25: Merge "Improvements to low power mode." into lmp-preview-dev

* commit '87bc3c258d8be516bc0fcedeb6eec34088582061':
Improvements to low power mode.
421e2fd044815f00f0160810a052658abd95c4d8 06-Jun-2014 Dianne Hackborn <hackbod@google.com> Merge "Improvements to low power mode." into lmp-preview-dev
eb94fa7975b1e8742f3b00cec6bd4f9d6b329e3a 04-Jun-2014 Dianne Hackborn <hackbod@google.com> Improvements to low power mode.

Add new public API for monitoring low power mode.

BatteryService now puts device in to low power mode when
battery level is low.

Window manager now watches low power mode to turn off
animations.

Modifying the animator scale now gets propagated to all
processes.

Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee
PowerManager.aidl
owerManager.java
5fde3ff375e6cec3c11ddef7a4650d5f5f4942d1 05-Jun-2014 Todd Poynor <toddpoynor@google.com> BatteryManager: battery property query API update

Move battery property value accessors to BatteryManager.

Hide BatteryProperty class.

Bug: 15191190
Change-Id: Ic021e6e28a8bc30c145ccc31b3a3446ba82d2004
atteryManager.java
atteryProperty.java
d450a3a9959eaca56ee7fcb03919819c2481437b 05-Jun-2014 Robin Lee <rgl@google.com> am 7f993419: am 3c189e02: am 271251d7: Merge "Add Environment call: get config dir for some user"

* commit '7f99341950273f5284186ea2e59a22ac71241c30':
Add Environment call: get config dir for some user
7f99341950273f5284186ea2e59a22ac71241c30 05-Jun-2014 Robin Lee <rgl@google.com> am 3c189e02: am 271251d7: Merge "Add Environment call: get config dir for some user"

* commit '3c189e02e42fba9d5be2c4f68f76620bae33618e':
Add Environment call: get config dir for some user
8a0101bade3f817d925bd931d0b83bc454dedea4 09-May-2014 Kenny Guy <kennyguy@google.com> Badge notification from managed profiles.

Add a method to the UserManager to provide access
to bitmap of badge for managed profile.
Overlay the icon view in notification templates with
the badge from the UserManager.
Notifications with custom views won't be badged.

Bug: 12641490

Change-Id: I1f2aae927e75fc8a955e4d5bbc3cc81127d87069
(cherry picked from commit 0f4ab980227e8c298bfcd34dd85aad0febad528c)
serManager.java
6959133d84b52ad177b22efc80b10dc1ad3fb62f 28-Apr-2014 Robin Lee <rgl@google.com> Add Environment call: get config dir for some user

This returns a read-only directory accessible to any app running as the
same user, containing various configuration files written by the system.

Change-Id: I635de184fc285b8fef166b782bbc1ac79f8f0687
nvironment.java
d0969135aab791f1ec386e3239cdcd7653471da7 05-Jun-2014 Kenny Guy <kennyguy@google.com> Merge "Badge notification from managed profiles."
7f2d5162fd19345945d54cc864b3cc82bea35a2e 04-Jun-2014 Robin Lee <rgl@google.com> am c774caff: am 4891a9f9: am e46e6004: Merge "Assign AID_EVERYONE gid to newly-created processes"

* commit 'c774caff86d2e5dc5ca3a0008007cb0fd384568b':
Assign AID_EVERYONE gid to newly-created processes
c774caff86d2e5dc5ca3a0008007cb0fd384568b 04-Jun-2014 Robin Lee <rgl@google.com> am 4891a9f9: am e46e6004: Merge "Assign AID_EVERYONE gid to newly-created processes"

* commit '4891a9f9cfee569c0d362f1781f44493f5e320c0':
Assign AID_EVERYONE gid to newly-created processes
e46e60041215249a285384cd2282de9f4d956a04 04-Jun-2014 Robin Lee <rgl@google.com> Merge "Assign AID_EVERYONE gid to newly-created processes"
bcaffd05862b18a13d3aac5cbfc9114adf9ba595 03-Jun-2014 Dianne Hackborn <hackbod@google.com> am da4a186f: Merge "Some battery stats history fixes." into lmp-preview-dev

* commit 'da4a186f8bf49d8ea06d5ad6d402d9b073ee3841':
Some battery stats history fixes.
fc0641340ff927d9c35d5613723d25858f751118 02-Jun-2014 Dianne Hackborn <hackbod@google.com> Some battery stats history fixes.

- Now the full wake history uses the history tag if it can.
Hopefully this will still result in a consistent history,
since that isn't really want the tag is for... but the
current implementation in places will probably make this work.

- Possibly fix a bug with inconsistent state between partial
history snapshots: after a snapshot is printed, don't allow
any more batching into the most recent history entry, so the
next snapshot will not miss anything that might get placed
into it soon after.

Also rework command line arguments for enable/disable to make these
commands instead of options.

Change-Id: Ia33445cad1538bf8df549cef284f1e736efbc079
atteryStats.java
43e15653706d667a722a3b813ea89917d00ed42a 31-May-2014 Jeff Sharkey <jsharkey@android.com> am 9a78d4de: Merge "Per-app media directories on external storage." into lmp-preview-dev

* commit '9a78d4deb2d00dc67b2c11daf76b389e0712b535':
Per-app media directories on external storage.
05dc18d69ad64254f2bcdd9c1e208ab54ee664fe 31-May-2014 Jeff Sharkey <jsharkey@android.com> Merge "Per-app media directories on external storage." into lmp-preview-dev
2ee3c1e189819cc6efb4d7de24f1438bdb824087 31-May-2014 Jeff Sharkey <jsharkey@android.com> Per-app media directories on external storage.

This change defines per-app directories on external storage that
will be scanned and included in MediaStore. This gives apps a way
to write content to secondary shared storage in a way that can
easily be surfaced to other apps.

Bug: 14382377
Change-Id: I4cb367c870509e76f0c2c598f01e2f699780030a
nvironment.java
9de076a0a1c3081748497a5f924fda617d78cbc0 30-May-2014 Craig Mautner <cmautner@google.com> am b01b028e: Merge "Change PersistableBundle API per council\'s request" into lmp-preview-dev

* commit 'b01b028ed9a1a5b1a585152adf182afe16135c10':
Change PersistableBundle API per council's request
0a8e160eb56f3b8f504b37349a79ec4edb7e5039 29-May-2014 Craig Mautner <cmautner@google.com> Change PersistableBundle API per council's request

Fixes bug 15192573.

Change-Id: Ib98ef132c8c12e68e805cb3c0b1f7ae75940f17c
aseBundle.java
undle.java
ommonBundle.java
ersistableBundle.java
701ea7cf86b7d408b8d3bc1aab054be0333e1f26 09-May-2014 Kenny Guy <kennyguy@google.com> Badge notification from managed profiles.

Add a method to the UserManager to provide access
to bitmap of badge for managed profile.
Overlay the icon view in notification templates with
the badge from the UserManager.
Notifications with custom views won't be badged.

Bug: 12641490

Change-Id: I1f2aae927e75fc8a955e4d5bbc3cc81127d87069
serManager.java
fab7cbc9ced3d49df15b8c80cbf9b7fa7203e811 28-May-2014 Paul Lawrence <paullawrence@google.com> DO NOT MERGE: Hide crypto consts from docs

@bug 15192967

Change-Id: I134b2cb2d2841bc101e63a8a4dbd86f7b7bdca14
(cherry picked from commit 81ab14fb19a2669aa54c1a333c807c22d5c41a8e)
torage/StorageManager.java
b6102427ae0575cc1d32b94ec2dcac00fb81db4a 29-May-2014 Paul Lawrence <paullawrence@google.com> Merge "Hide crypto consts from docs"
9149c7abb29e94ff71a1a30dc9382b2638801ce6 29-May-2014 Elliott Hughes <enh@google.com> am a487fb77: am df0e9ed5: am 862be912: Merge "Updated Trace.h to recognize ATRACE_TAG_BIONIC."

* commit 'a487fb77dff1a86fbd160694de41e32b74f10cb1':
Updated Trace.h to recognize ATRACE_TAG_BIONIC.
a487fb77dff1a86fbd160694de41e32b74f10cb1 28-May-2014 Elliott Hughes <enh@google.com> am df0e9ed5: am 862be912: Merge "Updated Trace.h to recognize ATRACE_TAG_BIONIC."

* commit 'df0e9ed5536e2cab860f3ecf9dab0030a471766e':
Updated Trace.h to recognize ATRACE_TAG_BIONIC.
df0e9ed5536e2cab860f3ecf9dab0030a471766e 28-May-2014 Elliott Hughes <enh@google.com> am 862be912: Merge "Updated Trace.h to recognize ATRACE_TAG_BIONIC."

* commit '862be91276ec9532b3ed00d43fc7a750f1e6adb0':
Updated Trace.h to recognize ATRACE_TAG_BIONIC.
461ac24b8c2b400656a0bcd72743f03720af2fd0 28-May-2014 Brigid Smith <brigidsmith@google.com> Updated Trace.h to recognize ATRACE_TAG_BIONIC.

Bug: 15116468
Change-Id: I6aef941c6b6bd59347855f7265e701a3aaa08edc
race.java
e8fdc541dc8c4388dc3c6d52aff70f290d7fb985 28-May-2014 Paul Lawrence <paullawrence@google.com> Hide crypto consts from docs

@bug 15192967

Change-Id: I134b2cb2d2841bc101e63a8a4dbd86f7b7bdca14
torage/StorageManager.java
87e522efccdab28bf6b1262c28463a6d12b29f7e 27-May-2014 Ashish Sharma <ashishsharma@google.com> am 7279017f: Include START event (reboots) in partial history.

* commit '7279017f52ca1db58eb95bf881f3a2e238a7c2bd':
Include START event (reboots) in partial history.
6020071df901be17bedb0b59ab634555a1d95ecb 24-May-2014 Ashish Sharma <ashishsharma@google.com> Include START event (reboots) in partial history.

Change-Id: Ia1e5fba6c2c7bdb3f09eb5958d7134564d60e8b0
atteryStats.java
fc9e1e059213f067753da8d356edac82e277c466 27-May-2014 John Spurlock <jspurlock@google.com> Merge "DO NOT MERGE Hide vibrator streamHint overloads for preview." into lmp-preview-dev
0833d2bc87823c71851bd68bb7aeb1fb01d13d96 25-May-2014 Craig Mautner <cmautner@google.com> Merge "Add code for persisting tasks and activities to disk DO NOT MERGE" into lmp-preview-dev
098c0b8ca02241f11a74326bf6a0e5222a6529cc 24-May-2014 John Spurlock <jspurlock@google.com> DO NOT MERGE Hide vibrator streamHint overloads for preview.

Bug:15192966
Change-Id: I25f57053b6f62fb627ae4f451d5f64ee77b8eba0
ibrator.java
21d24a21ea4aaadd78e73de54168e8a8a8973e4d 23-Apr-2014 Craig Mautner <cmautner@google.com> Add code for persisting tasks and activities to disk DO NOT MERGE

Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.

Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
ommonBundle.java
ersistableBundle.java
b861179fcad905cc25315a429d3593dce4c05fd3 24-May-2014 Dianne Hackborn <hackbod@google.com> am b7a1d1e4: Merge "Fix issue #15195464: battery history says wakelock held when it\'s not" into lmp-preview-dev

* commit 'b7a1d1e4ed6ea26512d1e1f34fa264a639c91819':
Fix issue #15195464: battery history says wakelock held when it's not
536456f2d4c0d93bb55950ce5edc24e9bb9547eb 24-May-2014 Dianne Hackborn <hackbod@google.com> Fix issue #15195464: battery history says wakelock held when it's not

Simplify full wake lock logging, so wake_lock_in is a completely
separate event from wake_lock and provides the full real raw log
of wake lock events.

Also attempt to address issue #15018750 (Incorrect wakelock reporting)
by no longer being complicated and rolling up previous state in to a
new history slice.

Bug: 15195464
Bug: 15018750
Change-Id: I32154bdfc2f07113be969f9db5503b2f2807a427
atteryStats.java
deec695253aa5856135be3ffdcd35eaafed9e526 24-May-2014 Craig Mautner <cmautner@google.com> Merge "Add code for persisting tasks and activities to disk"
ef73ee1dd98acfc4a19561367cfc3e4d8bbe06ea 23-Apr-2014 Craig Mautner <cmautner@google.com> Add code for persisting tasks and activities to disk

Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.

Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
ommonBundle.java
ersistableBundle.java
5ec9aed64cd03545eded622cca214c83c170ab22 23-May-2014 Jeff Sharkey <jsharkey@android.com> Merge "Offer to stream and fsync() install sessions."
78cc340c2de873d6995c283b777476f7237d690f 22-May-2014 Jeff Sharkey <jsharkey@android.com> Offer to stream and fsync() install sessions.

Installers are interested in both streaming APK data and establishing
a happens-after relationship to support resuming downloads after a
process kill or battery pull.

This exposes a generic OutputStream for writing, and hooks up flush()
to be a blocking call which returns only when all outstanding write()
data has been fsync()'ed to disk.

Tests to verify behavior.

Bug: 14975160
Change-Id: I38289867c80ac659163bb0c2158ef12d99cc570d
ileBridge.java
d0045026b6a1fe6eba0d7a20fa3c8004d6d3ae1d 21-May-2014 Todd Poynor <toddpoynor@google.com> BatteryProperty: Fix ENERGY_COUNTER property id

Change-Id: I0490c0d589c637744c3db73596d34c1c4772074b
atteryProperty.java
d862ebb6036a769cb3be371b396e9e33f89ee365 21-May-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of fcc4fed3 to master

Change-Id: Icebca982b01debd67a1470c02651ef8936f6e5b0
fcc4fed3c16a57ef713a96b7298ed43aaeef2df4 21-May-2014 Jeff Brown <jeffbrown@google.com> am 6fb904bf: Merge "Make power button behavior configurable." into klp-modular-dev

* commit '6fb904bfd1f943547d6e5bc6f199ffec2290da01':
Make power button behavior configurable.
6d8fd27e51d799cf7418b14092b5e806d9792812 21-May-2014 Jeff Brown <jeffbrown@google.com> Make power button behavior configurable.

Allow power button to be used to either go to sleep as usual,
which may doze, or skip that completely and really go to sleep.
May also really go to sleep and go home all at once.

Bug: 14406056
Change-Id: Ia19e2551b9c2a72271bb2eddd5c0d1749761e019
PowerManager.aidl
owerManager.java
9f6c25f57e26f3e2f9c744547a139d14b7d3db5c 16-May-2014 Amith Yamasani <yamasani@google.com> Per-user telephony restrictions

Allow profile owners or administrators of restricted profiles
to restrict access to telephony features such as calling and
texting for a user.

Change-Id: I89f97608c07c647ad8a7b43fef9d1e6bc4a84e95
serManager.java
3fce73a866e58232b484ca26b58b1394b0121b6a 16-May-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix recording of wake_lock_in."
9a7554300637902bbb25991ffba41a9b8f682eff 16-May-2014 Dianne Hackborn <hackbod@google.com> Fix recording of wake_lock_in.

There was a bug that would allow the nesting count
to get off. Also better documentation of times in
HistoryItem, and new option to disable resetting of
the stats when unplugging.

Change-Id: If1b39a02475c5b620c67b700a323a6d0462d5c61
atteryStats.java
540f4d6db34905b38ee1095ef35fe98d3fa38a9e 09-May-2014 Todd Poynor <toddpoynor@google.com> BatteryManager: Add property ENERGY_COUNTER and long data type properties

Change-Id: Ie7f9b19c5cd47a48bb33af03d51acddaa14b0243
atteryManager.java
atteryProperty.java
0a3103e755218c1ee48c7d078892eb6b42cc2081 15-May-2014 Dianne Hackborn <hackbod@google.com> Merge "Battery stats more wake history, power save mode."
cbefd8dd2befcb768f911a63becc427ec4c13250 14-May-2014 Dianne Hackborn <hackbod@google.com> Battery stats more wake history, power save mode.

Add new option for battery stats to record the full wake
lock history, and recording the current power save mode.

Also add in some additional error constants when generating
Binder error exceptions.

And fix issue #14974572: Avoid repeating wakeup_reason at
the beginning of history

Change-Id: I7c1a2ab9569de216634f63d8ad69f1294ef1d235
atteryStats.java
owerManagerInternal.java
27a964b54d10bbc2793bb06557f69fef47177ebd 15-May-2014 Narayan Kamath <narayan@google.com> am 35b884f8: am be3dc575: am 402120a2: Merge "Wait for secondary zygote before bringing up the system_server."

* commit '35b884f88e39c97056e71f329e73812a142103b5':
Wait for secondary zygote before bringing up the system_server.
35b884f88e39c97056e71f329e73812a142103b5 15-May-2014 Narayan Kamath <narayan@google.com> am be3dc575: am 402120a2: Merge "Wait for secondary zygote before bringing up the system_server."

* commit 'be3dc5754fd081f54a86df9894763c0da915eed3':
Wait for secondary zygote before bringing up the system_server.
be3dc5754fd081f54a86df9894763c0da915eed3 15-May-2014 Narayan Kamath <narayan@google.com> am 402120a2: Merge "Wait for secondary zygote before bringing up the system_server."

* commit '402120a2236b294dff9a51461cb22400a6ef67f6':
Wait for secondary zygote before bringing up the system_server.
402120a2236b294dff9a51461cb22400a6ef67f6 15-May-2014 Narayan Kamath <narayan@google.com> Merge "Wait for secondary zygote before bringing up the system_server."
3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4 29-Apr-2014 Jeff Sharkey <jsharkey@android.com> Initial support for split APKs, PackageInstaller.

Defines a new PackageInstaller class that will be used for installing
and upgrading packages. An application desiring to install an
application creates a session, stages one or more package files in
that session, and then kicks off the install.

Previously, PackageManager would always make its own copy of a package
before inspecting it, to ensure the data could be trusted. This new
session concept allows the installer to write package data directly to
its final resting place on disk, reducing disk I/O and footprint
requirements. Writes are directed through an intermediate pipe
to ensure we can prevent mutations once an install has been initiated.
Also uses fallocate() internally to support optimal ext4 block
allocation using extents to reduce fragmentation.

Sessions are also the way we support installing multiple "split" APKs
in a single atomic operation. For a set of packages to form a valid
application, they must have exactly the same package name, version
code, and certificates. A session can also be used to add a small
handful of splits to an application by inheriting existing packages
when not performing a full install.

Add PackageParser support for extracting split names and certificates.

Bug: 14975160
Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
ileUtils.java
emoteException.java
93ffc21fc6accb8f9fb4b6069a20006e557cf090 14-May-2014 Torne (Richard Coles) <torne@google.com> am 41ecc8b1: am dcc9cf03: am 41ec8c96: Merge "Avoid supported ABI list containing "unknown"."

* commit '41ecc8b1e04794f3d6db01b594cb6daaafd8ae1d':
Avoid supported ABI list containing "unknown".
41ecc8b1e04794f3d6db01b594cb6daaafd8ae1d 14-May-2014 Torne (Richard Coles) <torne@google.com> am dcc9cf03: am 41ec8c96: Merge "Avoid supported ABI list containing "unknown"."

* commit 'dcc9cf03a846cb01d91de70d7a115d95c0c4db19':
Avoid supported ABI list containing "unknown".
dcc9cf03a846cb01d91de70d7a115d95c0c4db19 14-May-2014 Torne (Richard Coles) <torne@google.com> am 41ec8c96: Merge "Avoid supported ABI list containing "unknown"."

* commit '41ec8c9672fccce90a7156bcd856f59a36e93ad3':
Avoid supported ABI list containing "unknown".
da8c037c8b3b36d2edc42595cbf3a18d345c1489 14-May-2014 Torne (Richard Coles) <torne@google.com> Avoid supported ABI list containing "unknown".

If one of the ABI list system properties is undefined/empty (as
ro.product.cpu.abilist64 is on a 32-bit only device), getString returns
"unknown", which ends up creating a 1-element array with "unknown" as a
member. Fix this to instead just get the empty string and split that
into a 0-element array.

Change-Id: I0d0a54eb06bb04427bcf0487e2a16d4180b81116
uild.java
992f25257938ecc0378514f21c6e6e6375272976 28-Apr-2014 Paul Jensen <pauljensen@google.com> Separate network and interface addition/removal netd APIs.
This should facilitate stacked interfaces (i.e. clatd).

Change-Id: Ib3e7a4d3847ef6ec4449451f6da42e75959baa4f
NetworkManagementService.aidl
b2829fa165124264c7ec06a6e23b08a1d97b99e5 16-Apr-2014 Sreeram Ramachandran <sreeram@google.com> Specify netId when adding/removing routes.

Change-Id: I07fd950aee726e9721153f75c3e4c10d8e19d8e9
NetworkManagementService.aidl
f047f2a8f49cd06d9cb94238861f4acce937d87b 16-Apr-2014 Sreeram Ramachandran <sreeram@google.com> Update netd API.

Remove:
- resetOldSockets from setDefaultNetId: netd takes care of this automatically.
- {add,remove}DnsServersForNetId: equivalent to "resolver setnetdns".

Change-Id: I819a8be216d07cf9a8c05f51745b64658027ed02
NetworkManagementService.aidl
13e817df516a803fbedeacca2c802a9fc1c1370f 10-Apr-2014 Paul Jensen <pauljensen@google.com> Use NetId instead of interface name when communicating DNS changes to netd.

Change-Id: Ic82b73de6f50d39d56c5e1a32f5b1f3ebb80bb7d
NetworkManagementService.aidl
913c895216c0cb248ed0ce910e69dd84b285c064 08-Apr-2014 Robert Greenwalt <rgreenwalt@google.com> Update netd interface

Adding netId for route changes

bug:13732575
Change-Id: Id171412a0f580f71398c9b0b8742acb1f3ef5a1e
NetworkManagementService.aidl
568891d9282383747c418a59ee714281726f390a 04-Apr-2014 Robert Greenwalt <rgreenwalt@google.com> Add multinetwork netd calls

bug:13732575
Change-Id: I7f030bd63971ff71d32a221e50318c781e7f2370
NetworkManagementService.aidl
cd10d7c5950d979ac0bdca4e0a3635f951445fb4 14-May-2014 Adrian Roos <roosa@google.com> Merge "A better auto brightness"
daf7d410fc97647f2b3ab4254f73c09c923018de 13-May-2014 Adrian Roos <roosa@google.com> A better auto brightness

Bug: 14927472
Change-Id: I62d0695b7da16ffa7a27c465c3b6bc4b1515f9c0
owerManager.java
fc986d71caced8a758b74b699e6d8593dfd0bdc4 14-May-2014 Justin Koh <justinkoh@google.com> resolved conflicts for merge of 32c5f299 to master

Change-Id: I72656792e109fea82c63a3a42151c024630f5997
32c5f2998f709819ce82fcea5d9f9072c5dc5626 14-May-2014 Justin Koh <justinkoh@google.com> am 78b94de4: Set KITKAT_WATCH to be level 20, document API specific changes.

* commit '78b94de4b527c26bb3c038ae4f8cc351b3b4881f':
Set KITKAT_WATCH to be level 20, document API specific changes.
78b94de4b527c26bb3c038ae4f8cc351b3b4881f 14-May-2014 Justin Koh <justinkoh@google.com> Set KITKAT_WATCH to be level 20, document API specific changes.

Bug: 14116162
Change-Id: Iab094dbd0add414a365234c275bd473787b8803b
uild.java
64cd907af99ce9702e8975a657ee437c2626f8b5 13-May-2014 Narayan Kamath <narayan@google.com> Wait for secondary zygote before bringing up the system_server.

The zygote that's responsible for starting up the system server
now checks if there's another zygote on the system, and waits
for it to start up. Also, a few minor clean ups :

- Address a long standing TODO about zygote retries.
- Have functions throw IOException where appropriate and
wrap them in ZygoteStartFailedEx with a filled in cause.

bug: 14869939

Change-Id: I9e514659b79b3d2c98a4c5f93c0c376843f6c881
rocess.java
9ba9c58e4a249456794fbfb9989f27bd846d067e 20-Mar-2014 Robert Greenwalt <rgreenwalt@google.com> First pass on multinetwork framework

Starting to switch netd to use NetId.
Adding the Network identifying class

bug:13550136
Change-Id: Ie0db4fb17c9300bfafb63329adfa02339911b33d
NetworkManagementService.aidl
37de0989359be9c31b91d3608d2cfe63546c38ea 09-May-2014 Dianne Hackborn <hackbod@google.com> Battery stats tweaks.

- Generate currently active events when a partial
history is requested.
- Tag wake lock release with the wake lock name if it is
different than the one that was acquired.
- New RESET mark for the start of the history.

Change-Id: Ic105656649c46f52855946ed0ad7f98f1d24dedc
atteryStats.java
a8c5f577d0dfa23fb955faed4966e65dd8323bc6 09-May-2014 Jessica Hummel <jhummel@google.com> Merge "Add api for getting the parent of a profile."
bffcf1c2dae4fcfb8b7ee7d1ee7ff8951ad04d88 09-May-2014 Ashish Sharma <ashishsharma@google.com> Bump the batterystats checkin stats version number.

Change-Id: Ie403b89022e4d1f6ad0e07e70c95f39a1d5fa530
atteryStats.java
be81c800ae6216e30b6008b4c73172b36531c405 22-Apr-2014 Jessica Hummel <jhummel@google.com> Add api for getting the parent of a profile.

Change-Id: Ife59665cdf6531a118d74def864c8cfc92c92a42
UserManager.aidl
serManager.java
e22b3b143240f0f18e3d6d3c06686ad3c23b131b 08-May-2014 Dianne Hackborn <hackbod@google.com> Usage stats!

Start reworking the usage stats service to be able
to have an API we can publish.

The basic information it keeps is still the same, though
that will be changing in the future. The one big addition
here is that we are also now collecting configuration usage
stats.

Also introduce the start of an access model for usage stats,
using app ops. There is an new app op that gives an application
access to usage stats even if it normally wouldn't have it,
disabled by default.

Change-Id: I6ead28e18a7f08eafd057d6ff37dd9cb216358f4
arcelableParcel.aidl
394a6cdd987fed79bd040f39e2d3e47d4484bab4 07-May-2014 Emily Bernier <ember@google.com> New user restrictions for EDU

New user restrictions will allow schools to prevent students from 1) using
device microphones, 2) adjusting device volume, and 3) mounting physical
external media.

Change-Id: Ib2fcb7ce8fbc489a25d2c97a122b2124012a9e3c
serManager.java
d46d0f9dcd72dfaa93a57d07d896def6ce53bbae 23-Apr-2014 Julia Reynolds <juliacr@google.com> Add new EDU user restrictions.

Change-Id: I6aad10466d99cda6be378c72025df686fe665071
serManager.java
a93369a819c9d4cfd4fe7ce3dd519f1c974bce4d 06-May-2014 Jeff Brown <jeffbrown@google.com> am 84aaf124: Merge "Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)" into klp-modular-dev

* commit '84aaf124b762b9eeb0957aaea9df8424a429b148':
Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)
996e269d93d09615e242edcbd7a6218e065aeb7b 06-May-2014 Jeff Brown <jeffbrown@google.com> Merge "Plumb display state and interactive information to BatteryStats."
84aaf124b762b9eeb0957aaea9df8424a429b148 06-May-2014 Jeff Brown <jeffbrown@google.com> Merge "Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)" into klp-modular-dev
e95c3cd89591ba586aa8a0f7a17660c6fb8770bc 03-May-2014 Jeff Brown <jeffbrown@google.com> Plumb display state and interactive information to BatteryStats.

Fixes an issue where dozing was treated the same as the screen
being fully on. Now dozing is treated the same as the screen
being fully off which is slightly better. The decision of how
to represent this state is now internal to the battery stats
so it can be improved later.

Removed noteInputEvent() since it is unused.

Bug: 14480844
Change-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42
atteryStats.java
01ee6f6cf7de9fb98fc3a88509b43416caa71040 03-May-2014 Jeff Brown <jeffbrown@google.com> Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)

Fixes an issue where dozing was treated the same as the screen
being fully on. Now dozing is treated the same as the screen
being fully off which is slightly better. The decision of how
to represent this state is now internal to the battery stats
so it can be improved later.

Removed noteInputEvent() since it is unused.

Bug: 14480844
Change-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42
atteryStats.java
f99fc5405ea909e8fdea3446646afd8b26229c18 06-May-2014 Justin Koh <justinkoh@google.com> am 34f930f3: Fix build due to docs bug. DO NOT MERGE

* commit '34f930f3b591f08ee4be8c2f54ee602cabdacc33':
Fix build due to docs bug. DO NOT MERGE
34f930f3b591f08ee4be8c2f54ee602cabdacc33 06-May-2014 Justin Koh <justinkoh@google.com> Fix build due to docs bug. DO NOT MERGE

Fix build due to docs bug: needed to remove reference to stopMethodTracingSampling.

Change-Id: I878357b638b3862aecb4bc9d32ee166840b6c796
ebug.java
8b98c2130730b64917da0e0dbfb7e9202272f4f1 06-May-2014 Justin Koh <justinkoh@google.com> am bebfcb93: Merge "Hide startMethodTracingSampling DO NOT MERGE" into klp-modular-dev

* commit 'bebfcb93ef97095a7caa1f80a0b1b05a04e9fd8c':
Hide startMethodTracingSampling DO NOT MERGE
8fee5c857b2fe4be9509a9efd11b0cb2c82709b5 06-May-2014 Justin Koh <justinkoh@google.com> Hide startMethodTracingSampling DO NOT MERGE

Bug: 14116162
Change-Id: I68470f02a2b6c2f0d9a1cb52bb4b7eeea10b43cf
ebug.java
81850c48fd4fe1cb59c752cdfb4c81307631a46b 05-May-2014 Ashish Sharma <ashishsharma@google.com> Avoid creating new battery history types because of no separator.

Change-Id: I325743142bee21e4dbca5bf9ed6135b7ca5340ec
atteryStats.java
d06dcfd3db609d796165d602a2b7914c0b4f64bb 02-May-2014 Dianne Hackborn <hackbod@google.com> Change wake reason checkin tag to "wr".

The old "Wr" was also used for Wifi Running.

Also include discharge/charge time remaining in
checkin output.

Change-Id: I303a0be902002d0399b9eb76773857da9103e8ce
atteryStats.java
973a1d27417d22add96d716bfce702a48543931b 01-May-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Revert "Temporarily switch off returning only enabled profiles to support dogfooding""
4948f0eee8789c85e793965315514975fc07403f 01-May-2014 Narayan Kamath <narayan@google.com> Fix build.

Bad automatic merge by git resulted in a dup. of a function.

Change-Id: Idb8fd8a48e1a9f6aeac98a199d6b8c661efaab16
ileUtils.java
3a951e52d93697b7e232501b78f9ffb0ec605516 01-May-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 69da8a12 to klp-modular-dev-plus-aosp

Change-Id: Ie07b88f324749afcf8417b50d4dbbc6e2a271a2a
69da8a124e640c09d00546761c0502e1bcab79a6 01-May-2014 Narayan Kamath <narayan@google.com> am 2a9a0471: Merge "Package manager changes for dual zygote stack."

* commit '2a9a047140b8da8f9cd7147c8bed60eeb61d1b6a':
Package manager changes for dual zygote stack.
2e2c7d2325958166eba28499f7bd740ba319f840 01-May-2014 Narayan Kamath <narayan@google.com> am 6af42aea: am 9f34234f: am b916d8ad: Merge "Implement FileUtils#contains."

* commit '6af42aea725c2afd8e5fbff9bc33ba353c05e1a9':
Implement FileUtils#contains.
0338af46f968e2e1c2fd8c62e9387546fa9ed86b 01-May-2014 Narayan Kamath <narayan@google.com> am 99253c2d: am fde59428: Merge "Handle /oem and /vendor as well"

* commit '99253c2da945cbd4725efced6cac2dc40c858d6c':
Handle /oem and /vendor as well
6af42aea725c2afd8e5fbff9bc33ba353c05e1a9 01-May-2014 Narayan Kamath <narayan@google.com> am 9f34234f: am b916d8ad: Merge "Implement FileUtils#contains."

* commit '9f34234f1c0e39ee43c4a86e23d333ba2a30ec0e':
Implement FileUtils#contains.
0349e8c4785ed467d8de2ff383e28be3e41bdc3b 01-May-2014 Narayan Kamath <narayan@google.com> Package manager changes for dual zygote stack.

- Pass down the app's instruction set to dexopt so that
it can compile the dex file for the right architecture.

- Also pass down the app's instruction set to rmdex, movedex
and getSize so that they can construct the cache file
location properly.

- Temporarily compile "system" jars such as am,wm etc. for
both architectures. A follow up change will ensure that
they're compiled only for one architecture (the same
arch. as the system server).

- Java "shared" libraries are now compiled for the right
architecture when an app requires them.

- Improve the app native library ABI detection to account
for system apps installed in /system/lib{64}/<packagename>
and also handle sdcard and forward locked apps correctly.

(cherry-picked from commit b4d35dc8e9702f9d0d82d35a105f0eea35672b52)
uild.java
rocess.java
99253c2da945cbd4725efced6cac2dc40c858d6c 01-May-2014 Narayan Kamath <narayan@google.com> am fde59428: Merge "Handle /oem and /vendor as well"

* commit 'fde594288bff0b8f95567e6b27f273f50f0c5f87':
Handle /oem and /vendor as well
9f34234f1c0e39ee43c4a86e23d333ba2a30ec0e 01-May-2014 Narayan Kamath <narayan@google.com> am b916d8ad: Merge "Implement FileUtils#contains."

* commit 'b916d8adffd7ea3588bc178e1ee03f68f0a409e5':
Implement FileUtils#contains.
c84471c2e07c325e81568c4d764716f14fcb19fe 18-Apr-2014 Christopher Tate <ctate@google.com> Handle /oem and /vendor as well

Bug 13170859

(cherry-picked from commit 740888f62eae158d5775be716620f0d56d87f587)

Change-Id: I7b5e206697fcbec146cac6cd83fca5c583a8cbd7
nvironment.java
d6d1dbac3f71a292e071dd3108d8333cb5dae44d 01-May-2014 Narayan Kamath <narayan@google.com> Implement FileUtils#contains.

Partial cherry-pick of changes 4ca728c0 and 21de56a9, which
can't be cherry-picked due to their large surface area.

Change-Id: Ife46e150d360cd5241dea93863141749233c1805
ileUtils.java
df35d570ed25257c6782e632ab1bae5e1603855a 09-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Adds an enabled state in UserInfo instead of DevicePolicyManager

Bug: 14377459
Change-Id: Ib4ec43d87da96c3dddaf9b7ae1796f261863a182
UserManager.aidl
serManager.java
f2e7b3f56ae0ea9f49b5c50413b9be71d5249d6d 30-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Revert "Temporarily switch off returning only enabled profiles to support dogfooding"

This reverts commit 199c35a21ea9bddde80fdb435ec604f729b0cbe7 because client code has been updated.

Bug: 14132551
Change-Id: I7159087dfaded6f2bfe90ef103f74b242acb166c
serManager.java
0f206a149d27385ef092a34e0009a8607d663659 12-Apr-2014 Narayan Kamath <narayan@google.com> Package manager changes for dual zygote stack.

- Pass down the app's instruction set to dexopt so that
it can compile the dex file for the right architecture.

- Also pass down the app's instruction set to rmdex, movedex
and getSize so that they can construct the cache file
location properly.

- Temporarily compile "system" jars such as am,wm etc. for
both architectures. A follow up change will ensure that
they're compiled only for one architecture (the same
arch. as the system server).

- Java "shared" libraries are now compiled for the right
architecture when an app requires them.

- Improve the app native library ABI detection to account
for system apps installed in /system/lib{64}/<packagename>
and also handle sdcard and forward locked apps correctly.

Change-Id: I4f380b146137803e51d56fdf355c3bdfc92c409d
uild.java
rocess.java
293513a59d36cd96a3e474dde5981380d372d8c9 30-Apr-2014 Bill Yi <byi@google.com> Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD
ab5c0ea43cf457b20ab4267a14b224f39e0511bf 29-Apr-2014 Dianne Hackborn <hackbod@google.com> Add IBatteryStats API to retrieve current charge times.

Also include charge/discharge information in dumpsys.

Change-Id: Ica1b333ad334dc698d4a67da391b378757662f41
atteryStats.java
e66b6890ee59d108ae5c608f6ec8d4ad20cb06a8 29-Apr-2014 Robin Lee <rgl@google.com> Assign AID_EVERYONE gid to newly-created processes

Change-Id: I0ec45e07d77a4e6a47b6ba0d761c8375f433f528
rocess.java
serHandle.java
10596fbcce710a76ffc7e917400df13af5c2ebcb 28-Apr-2014 Elliott Hughes <enh@google.com> resolved conflicts for merge of 3ce4f3d0 to master

Change-Id: Id5c5997ad8f801b32e1dbd97413ea42e38c27210
3ce4f3d0af8b20f915631ab927aafa76a6105135 28-Apr-2014 Elliott Hughes <enh@google.com> am 685a0a72: am bbd87eb9: Merge "Track libcore.os\' move to android.system."

* commit '685a0a72d445515167a2071330679cdf9b53a62d':
Track libcore.os' move to android.system.
34385d352da19805ae948215e2edbeedd16b7941 28-Apr-2014 Elliott Hughes <enh@google.com> Track libcore.os' move to android.system.

(This is partial, but should cover everything in AOSP master except
for the zygote.)

Change-Id: I1042c99245765746a744c44e714095cb2c6cb75d
ommonClock.java
ommonTimeUtils.java
ileUtils.java
arcelFileDescriptor.java
rocess.java
tatFs.java
bdd4491b322bebd96b99da508ec7b0b7d59d97ae 12-Apr-2014 Jeff Sharkey <jsharkey@android.com> Gracefully handle long fingerprints.

Otherwise derived fingerprints longer than the maximum system property
size put the device into a crash loop.

Bug: 13983493
Change-Id: I8a88e71b1fd396f1cd63b414e3a62bb25010430c
uild.java
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
uild.java
250bb6e3e045a88022db526b074e7ab38c47d93c 25-Apr-2014 Amith Yamasani <yamasani@google.com> Merge "Allow profile owners to set user restrictions"
92d6aea86e5fbe59b6dd1dcc157118b1c57d7a57 25-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Temporarily switch off returning only enabled profiles to support dogfooding

Bug: 14132551
Change-Id: I3679c8fc248a799c816e5b80641b1fca6b7af061
serManager.java
2ac0462e7bdf0f7cfc8163bfa31cf4a90161a879 25-Apr-2014 Christopher Tate <ctate@google.com> Merge "Send factory reset notification broadcasts at foreground priority"
be46532c9fbebf3ab6498c1b78013a33f620cd31 24-Apr-2014 Amith Yamasani <yamasani@google.com> Allow profile owners to set user restrictions

Pass the setting along to UserManager.

Fixes a security exception when fetching the profile's enabled state.

Change-Id: If71698cf32c52cce1158cf2027443a339bc58488
serManager.java
ffcda1086185f217ebfbac0735f92fcc8a9196c8 24-Apr-2014 Dianne Hackborn <hackbod@google.com> Add support for muliple active development codenames.

The resource API level is also bumped by the number of
active codenames there are.

Change-Id: Ic1bac452d5c13dc3f48040ffa47f54b28abe2ccc
uild.java
e27ae55d6db8b5f80fb76c3e7637a834a14f5f0d 25-Apr-2014 Christopher Tate <ctate@google.com> Send factory reset notification broadcasts at foreground priority

Bug 14296706

Change-Id: I07b39e808dbf724f5edd4a11445de3e47c9e862b
ecoverySystem.java
2ffa11e4b71c545e34533ef827bdc1a07fbe8246 22-Apr-2014 Dianne Hackborn <hackbod@google.com> Start collecting mobile radio activity from the radio.

Hook in to the new radio API to find out when the radio
is active and use that to track its state in batter stats.
We also still have the data being tracked from the kernel's
emulation, and continue to use that if we don't get data from
the radio.

Currently this monitoring is turned off until some issues
in the radio can be fixed that are providing bad data.

Also add a new API to get estimated drain and charge times.

Change-Id: Ifc4900fabb8f848f9cda361dce698664ea75f175
atteryStats.java
385124d8cee38dee00d4fac31e8fbe46fb30565b 03-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Modify getUserProfiles to return only enabled profiles:

Add a new enabled state for a managed profile.
Expose that as a new API on DevicePolicyManager.
Set the new state when enabling the profile.
Return only enabled profiles from the user manager.

Bug: 13755441
Bug: 13755091
Change-Id: I2907b182e19b3562592da688b3f68ef5f4088557
UserManager.aidl
serManager.java
9c32cd498a8067d4487a97fbf93d8587bfcec1fd 23-Apr-2014 Emily Bernier <ember@google.com> Fix build.

Don't link to MANAGE_USERS permission in Javadoc.

Change-Id: Iad1391a0281a3fad06529a86b277f787791e94fc
serManager.java
5723febadc1877c045389afffa111913698e32e2 23-Apr-2014 Craig Mautner <cmautner@google.com> Merge "Introduce PersistableBundle"
8a0fa6e823ddbdfd17869d52f838b1cc0a46bd2b 23-Apr-2014 Emily Bernier <ember@google.com> Merge "Allow device or profile owner app to modify user restrictions."
7a2b4d11c741de8b78570c0e11f49deb165e35da 23-Apr-2014 Emily Bernier <ember@google.com> Allow device or profile owner app to modify user restrictions.

Currently this is gated on being a system or root app with the
MANAGE_USERS permission; third-party MDM apps set as device or profile
owner should have this ability as well.

Bug: 13585295

Change-Id: I61d21b13b9ec66fc0cb497ec2007ee732461d448
serManager.java
ceb5d17f6a2f5c144948ada1d59ec4f12da64799 23-Apr-2014 Neil Fuller <nfuller@google.com> am d720ef54: am caf6497b: am 683cf1bf: Merge "Changes to support asynchronous close interruption"

* commit 'd720ef541d06be87de3b3e03c1e7fb349299a21f':
Changes to support asynchronous close interruption
d720ef541d06be87de3b3e03c1e7fb349299a21f 23-Apr-2014 Neil Fuller <nfuller@google.com> am caf6497b: am 683cf1bf: Merge "Changes to support asynchronous close interruption"

* commit 'caf6497b9a0347da7d5acbe678adc2c8187176c0':
Changes to support asynchronous close interruption
43582df3dbcad1b1734b570c74246f5ff2f58027 11-Apr-2014 Neil Fuller <nfuller@google.com> Changes to support asynchronous close interruption

This change contains fixes to base from libcore change
I37de3e7d1a005a73821221e6156d10b95c595d7a

Bug: 13927110

Change-Id: I2d96e50307611c269dcf47886cd4d976854da8fc
arcelFileDescriptor.java
21de56a94668e0fda1b8bb4ee4f99a09b40d28fd 06-Apr-2014 Jeff Sharkey <jsharkey@android.com> Add directory selection to DocumentsProvider.

Introduce new ACTION_PICK_DIRECTORY that allows users to grant access
to an entire document subtree. Instead of requiring grants for each
individual document, this leverages new prefix URI permission grants
by defining new "via"-style URIs:

content://com.example/via/12/document/24/

This references document 24 by using a prefix grant given for
document 12. Internally, we use isChildDocument() to enforce that
24 is actually a descendant (child, grandchild, etc) of 12. Since
this is an optional API, providers indicate support with
Root.FLAG_SUPPORTS_DIR_SELECTION.

Extend DocumentsUI to support picking directories. Expose
createDocument() API to work with returned directories.

Offer to canonicalize via-style URIs into direct URIs, generating
exact permission grants along the way. Override openAssetFile()
to pass through CancellationSignal. Move testing code into ApiDemos.

Bug: 10607375
Change-Id: Ifffc1cff878870f8152eb6ca0199c5d014b9cb07
ileUtils.java
719e6b167041ffaffc2245f692714c8de191863f 05-Apr-2014 Craig Mautner <cmautner@google.com> Introduce PersistableBundle

The PersistableBundle class is similar to Bundle except that only
objects that have meaning across reboots can be stored and there
is a limited number of types that can be stored. More
specifically Binders, FileDescriptors, Parcelables, Booleans,
Bytes, Shorts, Chars, CharSequences, Floats, and ArrayLists
cannot be stored.

Fixes bug 13736007.

Change-Id: If6595b2e6fd92af6b7f60c4f7140ae867c258794
undle.java
ommonBundle.java
arcel.java
ersistableBundle.java
99009ea7dcc196cd97756d70ed69499025229bd9 19-Apr-2014 Dianne Hackborn <hackbod@google.com> Try to always print time stamp in battery history.

Also fix printing of string pool to quote the strings
and escape characters, and change history time stamps
to print starting at 0 and going up.

Change-Id: I2d0c080f2b5de7b27b20a7357c2c0cf481c82d8c
atteryStats.java
239751237c3431c9b9683fc08219c05f884f37d8 19-Apr-2014 Christopher Tate <ctate@google.com> Merge "Handle /oem and /vendor as well"
740888f62eae158d5775be716620f0d56d87f587 18-Apr-2014 Christopher Tate <ctate@google.com> Handle /oem and /vendor as well

Bug 13170859

Change-Id: I95dec4cd68e3d64517d08b3f08eefb849ce37b86
nvironment.java
5b5def547201b213bc2325400371c37d1612732e 11-Apr-2014 Michael Wright <michaelwr@google.com> Fixed a typo implying intents must and must not be explicit.

Change-Id: Id9746fad2e475b94d8d45f641bc5e2eaf9c874ae
uild.java
047f3c71a48d90a2b022bd886bf581add2d68326 16-Apr-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 3ee9dc58 to master

Change-Id: Idd045d01246367b77718210c8b6665110da58ac4
3ee9dc58e5e1e39fac184b98cac0c7c46af72dd9 16-Apr-2014 Jeff Brown <jeffbrown@google.com> am fa72a9ea: Merge "Declare VersionCodes.KITKAT_WATCH." into klp-modular-dev

* commit 'fa72a9eaae6170e65d9ba72720ee7b0d752f8847':
Declare VersionCodes.KITKAT_WATCH.
1c3f332c3fe2af24126739010d71d1cfe250eb0c 16-Apr-2014 Jeff Brown <jeffbrown@google.com> Declare VersionCodes.KITKAT_WATCH.

The constant does not have a final value yet but is useful for
documentation purposes during development.

Change-Id: Iddd9b956eff822a9a25e9df483b5bd3979189023
uild.java
8fd7f1ed7c11d35b3f2a97878e68ee38a551dd15 11-Apr-2014 Christoph Studer <chstuder@google.com> Rename basePkg to opPkg

...and actually populate the field correctly.

Change-Id: I3ce52efedb919d6af75dc9c3532e47764c467cac
VibratorService.aidl
ullVibrator.java
ystemVibrator.java
ibrator.java
e35872da97ac6bd07d2d9ac5af8a7c18ad290718 10-Dec-2013 Todd Poynor <toddpoynor@google.com> BatteryManager: Add API and service for battery property retrieval

Add service "batterymanager" and method getProperty to retrieve
battery properties. This is a public API.

Make BatteryProperty public. Cleanups for public-facing API.

Change-Id: I3637d131aabe4811dff40661728d5353eaf854c4
atteryManager.java
atteryProperty.java
8f993de81f9e9bcfd136c42bb6bf12114fedfd36 12-Apr-2014 Amith Yamasani <yamasani@google.com> Merge "Expose an API to generate a badged icon for managed profiles."
7dda2657be1fcc808566dab3482df9d643ceb0f5 11-Apr-2014 Amith Yamasani <yamasani@google.com> Expose an API to generate a badged icon for managed profiles.

Change-Id: I6257f43934ba6eefe752003942d8d3bcf207d5f9
serManager.java
6d8479d535f99db1e957cbc1c3ac396cb26287ed 11-Apr-2014 Narayan Kamath <narayan@google.com> am 88a99645: am 97953b30: am 4f4892d0: Merge "Workaround 64 bit devices that don\'t have zygotes yet."

* commit '88a996455b1f3906765cc177c461d38cc9bfda92':
Workaround 64 bit devices that don't have zygotes yet.
88a996455b1f3906765cc177c461d38cc9bfda92 11-Apr-2014 Narayan Kamath <narayan@google.com> am 97953b30: am 4f4892d0: Merge "Workaround 64 bit devices that don\'t have zygotes yet."

* commit '97953b308f9159a73061ae047e368eac503c1931':
Workaround 64 bit devices that don't have zygotes yet.
2d84a406bfc69eaad952078b01c3d5c76a489b41 11-Apr-2014 Narayan Kamath <narayan@google.com> Workaround 64 bit devices that don't have zygotes yet.

This can be fixed by tweaking their BoardConfig as well,
but that leads to all sorts of other problems.

For now, fall back to the primary zygote if the secondary
is unavailable. This will fail if shared libraries for the
primary zygote ABI are unavailable, but that won't be the
case just yet.

bug: 13970103
Change-Id: Ifa107e43ca95023d57a0d9c641e4fddaccd9a888
rocess.java
4e5c089ef3e62e7f658e71c0be262d09bd3e399b 11-Apr-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 337e764d to master

Change-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26
337e764debde56b1462fb5f2794b3e917d8a42e2 11-Apr-2014 Jeff Brown <jeffbrown@google.com> am f24687e2: Merge "Plumb display power state through display manager." into klp-modular-dev

* commit 'f24687e2731811fd0e3803b691fd47a659f89329':
Plumb display power state through display manager.
037c33eae74bee2774897d969d48947f9abe254f 09-Apr-2014 Jeff Brown <jeffbrown@google.com> Plumb display power state through display manager.

Declare a new method, Display.getState() to retrieve the actual
power state of a display.

Improved documentation for Intent.ACTION_SCREEN_ON and
Intent.ACTION_SCREEN_OFF to clarify what they really mean in
terms of the interactive state of the device.

Deprecated PowerManager.isScreenOn() and replaced it with
PowerManager.isInteractive() with a more suggestive name and
better documentation.

Redirect display power state changes to go through the display
manager first and only then head over to the power manager for
legacy compatibility.

Eliminated the bright here and woke here policy flags since they
were unused. Simplified the input dispatch policy somewhat.

Ensure that screen wake locks are respected up until the point
when dozing really begins.

Fixed a regression in DreamService where onDreamingStarted
might be called before onWindowAttached.

Bug: 13133142
Bug: 13472578
Bug: 13929355
Bug: 13760290
Change-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0
PowerManager.aidl
owerManager.java
9502f990899ef576879048ec5147d403158ad89d 10-Apr-2014 Paul Lawrence <paullawrence@google.com> Merge "Allow encryption when keyguard is set to pattern or no protection"
f148f36d140e995ec8f755e60bbb0b37f33c3da7 10-Apr-2014 Narayan Kamath <narayan@google.com> am 9e289d70: am 1d26a3f1: am 09e13cc5: Merge "System services detect and register app CPU ABIs"

* commit '9e289d70a8baaed0030413b5991653792e2a816d':
System services detect and register app CPU ABIs
d11f223c535ed9ce628fe5aaf0fd5692dd0cf9e4 10-Apr-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 286a247e to master

Change-Id: I63df9d482da3ce2ac851959223b9180020ffad0c
9e289d70a8baaed0030413b5991653792e2a816d 10-Apr-2014 Narayan Kamath <narayan@google.com> am 1d26a3f1: am 09e13cc5: Merge "System services detect and register app CPU ABIs"

* commit '1d26a3f1efd0d965e8751e8515608c31789bdbe2':
System services detect and register app CPU ABIs
286a247e4c8fcecb59636f668678d24e33142744 10-Apr-2014 Narayan Kamath <narayan@google.com> am 0fd40cb1: am 80413c9f: Merge "Re-implement native library search and copies."

* commit '0fd40cb100bccbd5d9ad6109ca39c818a857f889':
Re-implement native library search and copies.
ff0c470833b2cb4130a30895093630242d5f238d 01-Apr-2014 Ramin Zaghi <ramin.zaghi@arm.com> System services detect and register app CPU ABIs

This patch uses the NativeLibraryHelper class to
match native libraries in an .apk package with
those listed in 'ro.cpu.abilist' property.
The result is stored in packages.xml and the
ApplicationInfo class.

This information will be used by the ActivityManager
to decide which zygote to use to launch the given
app.

Change-Id: I3ec3d050996d8f4621f286ca331b9ad47ea26fa0
rocess.java
1378aba7aeeb7f6dd6cc2503968ba7b0e58d9333 28-Feb-2014 Ramin Zaghi <ramin.zaghi@arm.com> Re-implement native library search and copies.

We now use a two step approach :

- First we look through the list of shared libraries in an
APK, and choose an ABI based on the (priority) list of ABIs
a given device supports.
- Then we look through the list of shared libraries and copy
all shared libraries that match the ABI we've selected.

This fixes a long-standing bug where we would sometimes copy
a mixture of different ABIs to the device, and also allows us
to clearly pick an ABI to run an app with.

The code in NativeLibraryHelper has been refactored so that all
file name validation & matching logic is done in a single place
(NativeLibrariesIterator). This allows us to avoid a lot of
redundant logic and straightens out a few corner cases (for eg.
where the abi determination & copying logic do not agree on
what files to skip).

bug: https://code.google.com/p/android/issues/detail?id=65053
bug: 13647418

Change-Id: I34d08353f24115b0f6b800a7eda3ac427fa25fef
Co-Authored-By: Zhenghua Wang <zhenghua.wang0923@gmail.com>
Co-Authored-By: Ramin Zaghi <ramin.zaghi@arm.com>
Co-Authored-By: Narayan Kamath <narayan@google.com>
uild.java
10bdb4b9e966f0a3d8e1099bf8eff4c41c31981c 09-Apr-2014 Narayan Kamath <narayan@google.com> am 769a2475: am b6ab8c17: am a6f5e79d: Merge "Allow connections to multiple zygotes."

* commit '769a247595cb78536fa159e8f5d54191a4ef90c6':
Allow connections to multiple zygotes.
769a247595cb78536fa159e8f5d54191a4ef90c6 09-Apr-2014 Narayan Kamath <narayan@google.com> am b6ab8c17: am a6f5e79d: Merge "Allow connections to multiple zygotes."

* commit 'b6ab8c17bd0163bf07ff3dbe03ab352d58b61cb3':
Allow connections to multiple zygotes.
4444dcd0adc7e035cca030b90ed91f0cff9a772b 03-Apr-2014 Narayan Kamath <narayan@google.com> Allow connections to multiple zygotes.

Adds a new String argument "abi" to Process.start.
This method will now query the zygotes to
determine what ABIs the primary and the secondary
zygote support (the secondary is optional) and dispatch
a fork request over the right zygote connection.

Both zygotes are assumed to be active at all points.

Change-Id: I460319b4481ff1c1666e8172223691820658a35c
rocess.java
33ea32fd4e5edd7920adecd17ca69defd0c4ba93 09-Apr-2014 Narayan Kamath <narayan@google.com> am dc7eb9c9: am 00cfbe82: am a5608acb: Merge "Don\'t allow MemoryFiles of negative length."

* commit 'dc7eb9c947f36cbd34021663845bcbb090c3169d':
Don't allow MemoryFiles of negative length.
9d43dc5e4eba1bf96f0b8fa5deae5ee61a7f85ad 09-Apr-2014 Kenny Guy <kennyguy@google.com> Merge "Finish rename of related users to profiles."
dc7eb9c947f36cbd34021663845bcbb090c3169d 09-Apr-2014 Narayan Kamath <narayan@google.com> am 00cfbe82: am a5608acb: Merge "Don\'t allow MemoryFiles of negative length."

* commit '00cfbe82fa80ef57f3b1c34e47836d3e28c381b8':
Don't allow MemoryFiles of negative length.
5abdbb656063160ff8df2306bd01feba0714d4c1 09-Apr-2014 Amith Yamasani <yamasani@google.com> Avoid security exception when requesting badging

When requesting badged icons, use APIs that don't require the caller
to have MANAGE_USERS permission.

Change-Id: I218cdf5194f38f4affa1874a6fcb43a040ed5295
serManager.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
serManager.java
f626ca2c96f629627a8df6944c9b0d774e6e67ae 08-Apr-2014 Narayan Kamath <narayan@google.com> Don't allow MemoryFiles of negative length.

Prevents us from converting a (signed) jint into an
(unsigned) size_t and having horrible things happen.

Change-Id: I0f04e2eb9852ae7fc49b435fd0974f56e86751a4
emoryFile.java
f20a5eb279035d462e1f5d9895f4eb66cc152215 02-Apr-2014 Ruchi Kandoi <kandoiruchi@google.com> PowerManager: add powerHint method

Add powerHint method to IPowerManager for passing power hints from other
processes.

Change-Id: Ic596ace2ed1796a6da4cddb2163dcc4536115e55
PowerManager.aidl
f17f0e0eb0eef424401caa122e51a648f5ef3801 04-Apr-2014 Paul Lawrence <paullawrence@google.com> Merge "Save OwnerInfo so CryptKeeper can display at boot time"
46791e752ca1eca35e6a882c47d7de7f4f66687c 03-Apr-2014 Paul Lawrence <paullawrence@google.com> Allow encryption when keyguard is set to pattern or no protection

Add type parameter to encryptStorage so we can set type when we encrypt

Depends on
https://googleplex-android-review.git.corp.google.com/#/c/444056/

Circular dependency on:
https://googleplex-android-review.git.corp.google.com/#/c/444201/

Bug: 13749169
Change-Id: I52034ec25de35f12f1bbfdd1b0f8584923a0be2e
torage/IMountService.java
abf564ac9c4c2e2ae5063932cc5d5cf947b07015 02-Apr-2014 Kenny Guy <kennyguy@google.com> Finish rename of related users to profiles.

Clean up methods left to avoid multi project commit.

Change-Id: Ibf506af2a4bcbbd7c8044b3f62a68761451242c7
serManager.java
e51dcf98a4ddb1340cffba88059ad89f0b90909a 18-Mar-2014 Paul Lawrence <paullawrence@google.com> Save OwnerInfo so CryptKeeper can display at boot time

Requires vold change from
https://googleplex-android-review.git.corp.google.com/#/c/435164/

Bug: 13526708
Change-Id: I33153df9961832f72c3b8103bd5e1d3a17e77df3
torage/IMountService.java
1ccace916c8fdc61f1a8db6677aed518d31647e6 02-Apr-2014 Kenny Guy <kennyguy@google.com> Merge "Rename related users to profiles."
2a764949c943681a4d25a17a0b203a0127a4a486 02-Apr-2014 Kenny Guy <kennyguy@google.com> Rename related users to profiles.

Rename the related user concept as profiles.
When returning profiles of a user include the
user as a profile of itself.

Change-Id: Id5d4f29017b7ca6844632ce643f10331ad733e1d
UserManager.aidl
serManager.java
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
rocess.java
945490c12e32b1c13b9097c00702558260b2011f 27-Mar-2014 Paul Lawrence <paullawrence@google.com> Don't double prompt on booting encrypted device

vold will store password securely until KeyGuard requests it
and hands it on to KeyStore.

This is a revision of

https://googleplex-android-review.git.corp.google.com/#/c/418123/

which was reverted. It had two bugs in LockSettingsService.checkVoldPassword.
1) We were not checking password for null, which caused an exception
2) checkPattern/checkPassword return true if there is no saved pattern or password.
This leads to situations where we get true returned even when the password
doesn't match. Call the correct one based on what is there, not what vold
thinks ought to be there.

Bug: 12990752
Change-Id: I05315753387b1e508de5aa79b5a68ad7315791d4
torage/IMountService.java
6ee7d25010d4f23b44a151f3953225ba253de8af 26-Mar-2014 Paul Lawrence <paullawrence@google.com> Revert "Don't prompt at boot if we already did that when decrypting"

This reverts commit 493e3e7e6523fd94cc1acae3e45935a1227d58c3.

Should fixes

Bug: 13611885
Bug: 13656830
Change-Id: I117c988bb6679f44f8add4fcc18f45cb8238dfb4
torage/IMountService.java
43111e897be9f79ababb0ecf99f155695416d956 24-Mar-2014 Dianne Hackborn <hackbod@google.com> Merge "Battery stats: wake locks, radio active, cleanup."
4590e52f3d0558e01322fe4dd55bb612afdfb079 24-Mar-2014 Dianne Hackborn <hackbod@google.com> Battery stats: wake locks, radio active, cleanup.

- Improve wake lock work source updates to also update the current
history tag, in case the new work source gets recorded in the
history.

- Fix bug in recording radio active time that was not distributing
any time to apps.

- No longer hold a wake lock while dispatching data conn active call,
since it comes with its own timestamp.

- Fix issue where the top app was not being cleared while the screen
was off.

- Remove obsolete STATS_LAST stats type.

- Fix bug that was not clearing the total run time when resetting
the stats.

Change-Id: Iabe17a9edf34f762374ae09fcffb8a819cf72e30
atteryStats.java
PowerManager.aidl
owerManager.java
ff3bb2fe95a7d0158f5a456368eb7fa91069bc23 24-Mar-2014 Chad Brubaker <cbrubaker@google.com> am 7f623d6b: am 9506e84b: am c7726147: am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev

* commit '7f623d6b9459bc982c49f0a74aa2c9911f8e1dd8':
Include the interface for clearDnsInterfaceForUidRange
3796594cd76238c46dd79a990ae1797f197dea85 24-Mar-2014 Mark Renouf <mrenouf@google.com> am a63cd9f4: Merge "Run finalizers before counting for StrictMode." into klp-modular-dev

* commit 'a63cd9f424d70a3f8ca059aa8f76b28be1f9fa07':
Run finalizers before counting for StrictMode.
a63cd9f424d70a3f8ca059aa8f76b28be1f9fa07 24-Mar-2014 Mark Renouf <mrenouf@google.com> Merge "Run finalizers before counting for StrictMode." into klp-modular-dev
a1bd79268be693f04f4adee90673d6ed400cc9fd 21-Mar-2014 Dianne Hackborn <hackbod@google.com> Battery stats: track actually running time

Use the uptime while creating the battery stats history to
generate a new event indicating when the CPU is actually running.
We can do this in combination with the new event reporting when
the CPU comes awake, looking at the difference between the
uptime and elapsed time at that point to determine when it last
when to sleep.

Also use this information to generate a new set of aggregated
states, the uptime caused by each wake reason.

Finally use new radio down timestamp to adjust the times we
compute for radio use. Note that this information is not (yet)
being used to adjust how these are recorded in the history.

Change-Id: I723b3b526c8e7d64de0cac9d1193e04132d5a3e4
atteryStats.java
aa5a99b3b8655f0d092f76fe97a33b477da5262b 22-Mar-2014 Chad Brubaker <cbrubaker@google.com> am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev

* commit '1fce89d946760a1bcf3a733f55494f963eab00c2':
Include the interface for clearDnsInterfaceForUidRange
9506e84b6f1b8a63abd5c7ecd580548386cc9aae 21-Mar-2014 Chad Brubaker <cbrubaker@google.com> am c7726147: am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev

* commit 'c77261471432e1577586395dd0a6a481ef7431b5':
Include the interface for clearDnsInterfaceForUidRange
c77261471432e1577586395dd0a6a481ef7431b5 21-Mar-2014 Chad Brubaker <cbrubaker@google.com> am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev

* commit '1fce89d946760a1bcf3a733f55494f963eab00c2':
Include the interface for clearDnsInterfaceForUidRange
1fce89d946760a1bcf3a733f55494f963eab00c2 21-Mar-2014 Chad Brubaker <cbrubaker@google.com> am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev

* commit 'de4e7b4947998638e0345ab9a181bf35a8827bef':
Include the interface for clearDnsInterfaceForUidRange
717e0f5db7161ddfff98f21fe1cdb2a3b1a6c8b7 21-Mar-2014 Paul Lawrence <paullawrence@google.com> Merge "Don't prompt at boot if we already did that when decrypting"
8f1b19488787c98244da5ae32299a153566188ec 20-Mar-2014 Paul Lawrence <paullawrence@google.com> Merge "BatteryProperty: Add battery capacity property"
5a43cc6ddd2aa3d9af38891bae6fea866c7227f9 03-Mar-2014 Paul Lawrence <paullawrence@google.com> BatteryProperty: Add battery capacity property

Match change in native code
https://googleplex-android-review.git.corp.google.com/#/c/427553/

Change-Id: I0049ccbbef59fbbc0e14b50b9af7481d87a6d48c
atteryProperty.java
40c8725804f46c9d53f2815e0ee69e6cfb0152cc 20-Mar-2014 Dianne Hackborn <hackbod@google.com> batstats: fix wake lock tracking, service bug

- Fix bug I introduced in handling wake lock changes where
we weren't iterating over the new work sources correctly.
- Fix bug in ActiveServices that would wtf too much.
- Prepare to start tracking uptime in the battery history.

Change-Id: Ia94316be51bc6eab7b02f214a5c40c08e99cc3b1
atteryStats.java
a1bfe65daa15fe93ecd23486cfc4a9a722ca039d 20-Mar-2014 John Spurlock <jspurlock@google.com> Fix javadoc @links in Vibrator.

Change-Id: I5143334735a1bcdf8252687e703c74656ff9d126
ibrator.java
07cf4da1d004b145ba8b9055bbff314ef68528f3 19-Mar-2014 John Spurlock <jspurlock@google.com> Merge "Add stream-level suppression to vibrate/audio services."
1be762c1ba0f4ab57c9d2038620e03d45eeb1f0a 06-Mar-2014 Jeff Sharkey <jsharkey@android.com> Define an OEM directory, scan features and APKs.

To support OEM customizations, define a new top-level directory
that roughly mirrors the layout of the system partition. Scan this
location for (non-privileged) apps, and for additional features.

Bug: 13340779
Change-Id: Idb6d6626655061ee31ad952cab734d30ea6130b9
nvironment.java
1af30c7ac480e5d335f267a3ac3b2e6c748ce240 10-Mar-2014 John Spurlock <jspurlock@google.com> Add stream-level suppression to vibrate/audio services.

- Add new audio restriction layer to app-ops. Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled. Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
VibratorService.aidl
ullVibrator.java
ystemVibrator.java
ibrator.java
dd23853e6383df8f21c73bb01c2b665e28850822 18-Mar-2014 Doug Zongker <dougz@google.com> am 06fe82d8: am 2e6d960c: am cdf00888: add option to shutdown after factory reset

* commit '06fe82d8e01780b7b6c16364f81f8dd75d467420':
add option to shutdown after factory reset
2e6d960c85436b46f71a048a825c545a376fbf06 18-Mar-2014 Doug Zongker <dougz@google.com> am cdf00888: add option to shutdown after factory reset

* commit 'cdf008883921c2eb7daf10c82687e9a36461eb16':
add option to shutdown after factory reset
cdf008883921c2eb7daf10c82687e9a36461eb16 18-Mar-2014 Doug Zongker <dougz@google.com> add option to shutdown after factory reset

Add a new hidden method to recovery system to trigger a factory reset
followed by a shutdown, rather than a reboot back to the regular
system. Use this flag when the MASTER_CLEAR intent is broadcast with
a boolean extra "shutdown" set to true.

Change-Id: I2ceb25b715d9f0ef492a75b3d287d1e17cec89ef
ecoverySystem.java
10ad98223fd1fabb7b893de55d1384fd012aed7b 17-Mar-2014 Dianne Hackborn <hackbod@google.com> Start enforcing explicit intents for Context.bindService()

No longer prints a warning, now throws an exception.

Also fix a bug in UserManagerService that was causing an
exception while booting.

Change-Id: I3b43cfe08067da840b6850b9bed58664d36d34f1
uild.java
1b66923148130dec7139175a3bf4c4d534cabac4 20-Feb-2014 Chad Brubaker <cbrubaker@google.com> Include the interface for clearDnsInterfaceForUidRange

With netd allowing overlapping rules for uid range rules the interface
name is needed to make sure only the correct rule is removed.

Bug: 12134439
Change-Id: I94f77f154f49ca8d5f6cf49683a4473cc92c3eb7
NetworkManagementService.aidl
493e3e7e6523fd94cc1acae3e45935a1227d58c3 06-Feb-2014 Paul Lawrence <paullawrence@google.com> Don't prompt at boot if we already did that when decrypting

vold will store password securely until KeyGuard requests it
and hands it on to KeyStore.

Needs matching vold changes from
https://googleplex-android-review.git.corp.google.com/#/c/432050/

Bug: 12990752
Change-Id: I930ed8180cf0b8feb1e58db043d5fb6dff1bab20
torage/IMountService.java
9c5c56eb51e20c0789832d84a520a466a4ab5580 16-Jan-2014 Jeff Sharkey <jsharkey@android.com> Run finalizers before counting for StrictMode.

Otherwise we sometimes end up counting objects strongly referenced
by the finalizer queue, and falsely detecting an instance leak.

Bug: 12533002
Change-Id: I144c941a3dfb0cbb837b98e80d2f49ffc9ca13c7
(cherry picked from commit 6f3a38f3afd79ed6dddcef5c83cb442d6749e2ff)
trictMode.java
f0b56b580579c63caaa4d775231ccbad65b61af5 12-Mar-2014 John Spurlock <jspurlock@google.com> am 2fcac8ba: am b41c951f: am cb5f813b: am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs

* commit '2fcac8ba6fe870d78eca7b75c0e846a229f08819':
Fix doc typos in Vibrator.java
b41c951fb1b2a27d3278948f809e90a7c203ca4b 11-Mar-2014 John Spurlock <jspurlock@google.com> am cb5f813b: am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs

* commit 'cb5f813bb642e72777643dcd2bcbd92cc2039388':
Fix doc typos in Vibrator.java
cb5f813bb642e72777643dcd2bcbd92cc2039388 11-Mar-2014 John Spurlock <jspurlock@google.com> am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs

* commit '0a3cb2ce1b2472b7e4ca6739eaeaa50975abf6ab':
Fix doc typos in Vibrator.java
e5167ca61e2c5607aad9041b44158581bc61b4d8 08-Mar-2014 Dianne Hackborn <hackbod@google.com> Reduce wake lock noise in battery history.

When the work source of a wake lock was changed, this would
cause the old wake lock to be released in battery stats before
the new one was acquired (the power manager would correctly
keep holding the associated wake lock). This resulted in a
pointless entry in the battery history showing the last wake
lock being released and a new one acquired.

This change adds a new path in to battery stats to report
when a wake lock has changed, allowing it to acquire the
new wake locks first before the old ones, so it can't drop
down to zero wake locks. This also provides better timing
information, as the same current time can be used for both
operations.

In addition, added a new kind of history entry for the
current time, so you can tell when in actual world clock
time the battery data is happening.

Change-Id: Ibbf2eed83bb93f31f60267889b7bc5b9e71e355f
atteryStats.java
5468a5c1179f5d27d2a6c52dfd1fc69ad233bfe9 10-Mar-2014 Greg Hackmann <ghackmann@google.com> am 9e413bf4: am bbfc08b3: Merge changes I6d4fdada,Ia34899a4

* commit '9e413bf4e562d98b6efeb157369f152edd5f0261':
open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
Move time setting code from SystemClock to AlarmManagerService
2bc68575325ab7bf082de24f5f095f20ea63f877 10-Mar-2014 Paul Lawrence <paullawrence@google.com> Merge "Clean up a few minor issues"
5becf411fb96c5d7841384fbcb276a46ad899939 10-Mar-2014 John Spurlock <jspurlock@google.com> am 0a3cb2ce: am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs

* commit '0a3cb2ce1b2472b7e4ca6739eaeaa50975abf6ab':
Fix doc typos in Vibrator.java
0a3cb2ce1b2472b7e4ca6739eaeaa50975abf6ab 10-Mar-2014 John Spurlock <jspurlock@google.com> am b2bd63f0: Merge "Fix doc typos in Vibrator.java" into klp-docs

* commit 'b2bd63f00631b68df3595a4369ec4802e6443bc7':
Fix doc typos in Vibrator.java
0f49c28e7a3667e680002beb8c557d8b5e3ad1d3 10-Mar-2014 John Spurlock <jspurlock@google.com> Fix doc typos in Vibrator.java

Change-Id: Ie95cd7fa16042897e6acf94badec98bc19bde57a
ibrator.java
6a4faf1c72f170ba65554633cda72432ed0f4320 08-Mar-2014 Elliott Hughes <enh@google.com> am b2f07b27: am 4a809272: Merge "Fix documentation for Parcel.readException()."

* commit 'b2f07b27725bed9716114c46df2cf636eb366f6f':
Fix documentation for Parcel.readException().
c51cf03cf2458c8c137f60c7379f2cccf681d16f 03-Mar-2014 Dianne Hackborn <hackbod@google.com> Start recording wakeup reasons in battery history.

Depends on a modification to libsuspend so that we can get
a callback each time the device wakes up, to read the current
wakeup reasons from the kernel. These are then stuffed in
to a new field in the battery history.

Also add new dump options --history-start and --charged
to better control what is dumped.

Finally the alarm manager uses a "*walarm*" tag for history
item wake locks that are coming from a wakeup alarm.

Change-Id: I457571973d5b2b5fdc4e4b63ab16275db20d7edd
atteryStats.java
6b786e0012a1d45c3f0cc670a737036a734d56cf 07-Mar-2014 Paul Duffin <paulduffin@google.com> am 75d67c6a: am d562a9b5: Merge "Improve Parcel\'s handling of non-primitive arrays"

* commit '75d67c6aa051392e711fde3b901a4f2c62f983db':
Improve Parcel's handling of non-primitive arrays
364d8180d51b7960e922baebb730892a169dfa36 07-Mar-2014 Narayan Kamath <narayan@google.com> am 149510e0: am b9f960e0: Merge "Fixed cancel() not working correctly"

* commit '149510e010b46a445355a8d7fcdb8401125b92c3':
Fixed cancel() not working correctly
97ae538554e5d894774ddd55c266434ce1d67492 06-Mar-2014 Dianne Hackborn <hackbod@google.com> Formalize time bases in battery stats.

Battery stats used to revolve around a single time base
it maintained, "battery uptime and realtime." This is derived
from the system's uptime and realtime, but only increments while
the device is on battery. It is used to update its timers for
things like the screen being on, wake locks, etc only while the
device is not plugged in to power.

This change formalizes that time base into a separate class that
maintains all of its state. This is used to introduce a new
time base, "battery screen off," which only increments while the
device is on battery *and* the screen is off. Wake locks are now
based on this time base, so we don't count them while the screen
is on -- it is misleading to have them increment while the screen
is on because the device is defined to always stay awake anyway
during that time, so what they are doing is irrelevant.

Change-Id: I020e20c930d8dca2953c6c3ddef1dc93c24161a5
atteryStats.java
15e0e8e514c26d6168ebfb28c015af5f1d06661c 04-Mar-2014 Jeff Brown <jeffbrown@google.com> Merge "Detect invalid uses of Message."
9867ed7aa98f5a719db4b50c39a290bc0ef38123 28-Feb-2014 Jeff Brown <jeffbrown@google.com> Detect invalid uses of Message.

Throw an exception when an application attempts to recycle or
resend messages that are still in-use.

Change-Id: I7096e8b7bd5bec41b7b8ef0c798c55ce3db6827e
ooper.java
essage.java
essageQueue.java
36c96866f316254ec3b22b2214eef0aa017421c0 03-Mar-2014 Patrick Tjin <pattjin@google.com> Merge "Fix typo in documentation"
77b987f1a1bb6028a871de01065b94c4cfff0b5c 27-Feb-2014 Dianne Hackborn <hackbod@google.com> Hold a wake lock while dispatching network activity events.

Also add new API for determining whether the current data network
is active, and thus better scheduling network operations. This
API is designed to not be tied to a mobile network -- regardless
of the network, apps can use it to determine whether they should
initiate activity or wait. On non-mobile networks, it simply always
reports as the network being active.

This changed involved reworking how the idle timers are done so
that we only register an idle timer with the current default
network. This way, we can know whether we currently expect to
get callbacks about the network being active, or should just always
report that it is active. (Ultimately we need to be getting this
radio active data from the radio itself.)

Change-Id: Iaf6cc91a960d7542a70b72f87a7db26d12c4ea8e
atteryStats.java
NetworkActivityListener.aidl
NetworkManagementService.aidl
d45665bf0b26fddf5716a0fd43036848d9301960 26-Feb-2014 Dianne Hackborn <hackbod@google.com> Collect per-uid mobile radio usage.

We now compute radio active time per application, by distributing
the active time across all applications each time the radio goes
down, weighting it by the number of packets transferred.

Per-app radio power use is now computed using this radio active
time.

This also gives us a new metric "ms per packet", which give an
idea of how effectively an application is using the radio. This
is collected and reported as a new set of stats in the human-
readable checkin. (It can be computed from the raw checkin data).

Also improve sync reporting to include the sync source as used
in wake locks, not just the component name.

Change-Id: I0b0185fadd1e47ae749090ed36728ab78ac24c5e
atteryStats.java
72fa3ed1a04d1d3344dfd231fc36dedfb133a8c0 25-Feb-2014 Patrick Tjin <pattjin@google.com> Fix typo in documentation

Change-Id: Ida827957623cf49981e5a0c2c9193ef4efe8d1ce
syncTask.java
a1f1a3c573acd91024fda0ceb3b921c73b186963 25-Feb-2014 Dianne Hackborn <hackbod@google.com> More battery stats.

- Add events for sync.
- Add more descriptive tags for wake events.
- Fix battery reset.
- Fix tracking of wifi data.

Change-Id: Ic07f2a86a5ed33e7da57eb1108c31c777ecd801f
atteryProperties.java
atteryStats.java
PowerManager.aidl
owerManager.java
a77cf8735432daddb233164f41103a0ff38408bb 25-Feb-2014 John Spurlock <jspurlock@google.com> Merge "Tabs -> spaces in frameworks/base."
8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44 25-Feb-2014 John Spurlock <jspurlock@google.com> Tabs -> spaces in frameworks/base.

Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
roadcaster.java
1a447535cef7e3739d5f763dfe13e568568b9789 20-Feb-2014 Kenny Guy <kennyguy@google.com> Hide managed profiles from user switchers.

Hide managed profiles from lockscreen user switcher on tablets.
Hide managed profiles from power menu user switcher on phones.
Add flag to enable multi user ui turned off by default.

Change-Id: I4c69a6f7b0f39c249fc85fd940318df1ddab073f
serManager.java
4418372b21e91f6d4b9e11931dd87a90a023d79e 22-Feb-2014 Greg Hackmann <ghackmann@google.com> am 5f652b9f: am 0cab896a: resolved conflicts for merge of 9e413bf4 to klp-modular-dev-plus-aosp

* commit '5f652b9fdfbcc279353955f7ef86b72d2ef9f5fb':
open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
Move time setting code from SystemClock to AlarmManagerService
0cab896a987f6687affd5c50c3bdbe10745c8dff 22-Feb-2014 Greg Hackmann <ghackmann@google.com> resolved conflicts for merge of 9e413bf4 to klp-modular-dev-plus-aosp

Change-Id: Ibc41f0248235afca9546829e00b31003d09f4f7e
bbfc08b3abc0934f67659f3238eb79dcac838c17 21-Feb-2014 Greg Hackmann <ghackmann@google.com> Merge changes I6d4fdada,Ia34899a4

* changes:
open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
Move time setting code from SystemClock to AlarmManagerService
38bf51466881b726f42832743d8cca6ee67bb148 20-Feb-2014 Greg Hackmann <ghackmann@google.com> Move time setting code from SystemClock to AlarmManagerService

On devices using /dev/rtc instead of /dev/alarm, updating the
time-of-day clock and RTC are separate syscalls. Hence the clock and
RTC could be left in inconsistent states if two threads called
SystemClock.setCurrentTimeMillis() simultaneously.

By moving this code into AlarmManagerService, we can put a global lock
around AlarmManagerService.setTime() and prevent the race condition.

Note that access to SystemClock.setCurrentTimeMillis() is now gated by
android.permission.SET_TIME, where before it was gated by filesystem
permissions (i.e., could the process write to /dev/alarm or /dev/rtc).

Change-Id: Ia34899a4cde983656305fd2ef466dfe908ed23c8
Signed-off-by: Greg Hackmann <ghackmann@google.com>
ystemClock.java
5784f159ab9da9dd89c82926abdda26916503325 21-Feb-2014 Elliott Hughes <enh@google.com> am 48dcf9d5: am d7d37256: am b2f07b27: am 4a809272: Merge "Fix documentation for Parcel.readException()."

* commit '48dcf9d5f59acf53a3ac0eda141ec323534a3321':
Fix documentation for Parcel.readException().
d7d37256c4bab388e99dae5e16b80a59756cc97d 21-Feb-2014 Elliott Hughes <enh@google.com> am b2f07b27: am 4a809272: Merge "Fix documentation for Parcel.readException()."

* commit 'b2f07b27725bed9716114c46df2cf636eb366f6f':
Fix documentation for Parcel.readException().
4a80927241b3168d9d5138c46c22385d6467a736 21-Feb-2014 Elliott Hughes <enh@google.com> Merge "Fix documentation for Parcel.readException()."
10102e4c0e501333a12b38a5cfe709d1558d84dd 21-Feb-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of baaa080b to master

Change-Id: I3ee12321e298f7a2ea577a99f30c49f3bb497fae
90506a41c6b85cf7e65b663480e4fe003a99c8c2 20-Feb-2014 Jeff Brown <jeffbrown@google.com> am 07e6d1b9: Merge "Add a new "doze mode" based on Dream components." into klp-modular-dev

* commit '07e6d1b9a5f81ff5a5bf91f2b260ee487d5f2b65':
Add a new "doze mode" based on Dream components.
2687550272ba061448f5d5b914700dc335299ee7 31-Jan-2014 Jeff Brown <jeffbrown@google.com> Add a new "doze mode" based on Dream components.

When a doze component has been specified in a config.xml resource
overlay, the power manager will try to start a preconfigured dream
whenever it would have otherwise gone to sleep and turned the
screen off. The dream should render whatever it intends to show
then call startDozing() to tell the power manager to put the display
into a low power "doze" state and allow the application processor
to be suspended. The dream may wake up periodically using the
alarm manager or other features to update the contents of the display.

Added several new config.xml resources related to dreams and dozing.
In particular for dozing there are two new resources that pertain to
decoupling auto-suspend mode and interactive mode from the display
state. This is a requirement to enable the application processor
and other components to be suspended while dozing. Most devices
do not support these features today.

Consolidated the power manager's NAPPING and DREAMING states into one
to simplify the logic. The NAPPING state was mostly superfluous
and simply indicated that the power manager should attempt to start
a new dream. This state is now tracked in the mSandmanSummoned field.

Added a new DOZING state which is analoguous to DREAMING. The normal
state transition is now: AWAKE -> DREAMING -> DOZING -> ASLEEP.
The PowerManager.goToSleep() method now enters the DOZING state instead
of immediately going to sleep.

While in the doze state, the screen remains on. However, we actually
tell the rest of the system that the screen is off. This is somewhat
unfortunate but much of the system makes inappropriate assumptions
about what it means for the screen to be on or off. In particular,
screen on is usually taken to indicate an interactive state where
the user is present but that's not at all true for dozing (and is
only sometimes true while dreaming). We will probably need to add
some more precise externally visible states at some point.

The DozeHardware interface encapsulates a generic microcontroller
interface to allow a doze dream for off-loading rendering or other
functions while dozing. If the device possesses an MCU HAL for dozing
then it is exposed to the DreamService here.

Removed a number of catch blocks in DreamService that caught Throwable
and attempted to cause the dream to finish itself. We actually just
want to let the process crash. Cleanup will happen automatically if
needed. Catching these exceptions results in mysterious undefined
behavior and broken dreams.

Bug: 12494706
Change-Id: Ie78336b37dde7250d1ce65b3d367879e3bfb2b8b
owerManager.java
ca1bf21c511dc7d513b631a1af8498b5b08d107a 14-Feb-2014 Dianne Hackborn <hackbod@google.com> Implement wifi part of issue #12973036: Improve power_profile.xml

Add battery stats tracking of wifi state.

Also update when we retrieve the current time to use a more
consistent value across stats tracking.

Change-Id: I6a7c3efd58ff2c8ea86dac141c8f848e7996d63f
atteryStats.java
0a18029075fbe5e5da396c66ef26cfa7e7f1a082 13-Feb-2014 Paul Lawrence <paullawrence@google.com> Clean up a few minor issues

Make public some constants, remove unused imports.

See https://googleplex-android-review.git.corp.google.com/#/c/412885/
for when these were introduced.

Change-Id: I90d0e33a411ebdd84c36e3d9afae70d2f2847538
torage/StorageManager.java
a9f387bdf0a836de8bcb12a46a5cdfcb544fbb1a 14-Feb-2014 Paul Lawrence <paullawrence@google.com> Merge "Support default, pattern, pin and password encryption types"
d39ccd0ad9cb562b0093eaf78a5273b000c0aa7a 13-Feb-2014 Dianne Hackborn <hackbod@google.com> Merge "Start tracking radio up time."
e13c4c0b664dabdc069ca8f9601d96a337eb02f9 12-Feb-2014 Dianne Hackborn <hackbod@google.com> Start tracking radio up time.

We now always turn on network state tracking for mobile,
and push this information down to battery stats.

In battery stats we use this to both log the changes in
the history and keep track of the total time the mobile
radio was active.

Power computation is switched over to using this information
to help determine power use, which will hopefully make it
more accurate (not counting inaccuracies in knowing when it
actually goes down).

Note yet done is aggregating this data per-uid, to better
emphasize which apps are causing the radio to be up. Right
now we just spread the total time across all uids weighted
by the total number of packets they have sent and received.

Also put in the battery stats infrastructure for bluetooth to
address issue #12973036: Improve power_profile.xml

Change-Id: I39d11b7ff6ae4f336f253d1cba308d8569de7e0d
atteryStats.java
8e39736f91a08961cf59c87075e61d9026833b50 28-Jan-2014 Paul Lawrence <paullawrence@google.com> Support default, pattern, pin and password encryption types

Java plumbing to expose methods to get/set encryption type in
IMountService, and hooking up of those methods to the Settings app
so the type is set correctly.

Needs matching vold changes from
https://googleplex-android-review.googlesource.com/#/c/412649/

Bug: 8769627
Change-Id: I70c0ed72d11f5ab6f0958a7f9c101b6822b13baa
torage/IMountService.java
torage/StorageManager.java
5ea06c59be1f7a0495378f703562ee02eaad99d8 13-Feb-2014 Paul Duffin <paulduffin@google.com> am 4de91118: am 0741e11c: am 75d67c6a: am d562a9b5: Merge "Improve Parcel\'s handling of non-primitive arrays"

* commit '4de9111819638b70dd6fb58094d7a61477fc59da':
Improve Parcel's handling of non-primitive arrays
0741e11c65350aba95df150d52674c2fab41511a 12-Feb-2014 Paul Duffin <paulduffin@google.com> am 75d67c6a: am d562a9b5: Merge "Improve Parcel\'s handling of non-primitive arrays"

* commit '75d67c6aa051392e711fde3b901a4f2c62f983db':
Improve Parcel's handling of non-primitive arrays
ac5a0828c14eea59f2ffda85432ad1977d3e1ce0 03-Feb-2014 Paul Duffin <paulduffin@google.com> Improve Parcel's handling of non-primitive arrays

Treat arrays other than actual Object arrays (i.e. those whose component type
is actually Object) and the primitive arrays already handled specially by
Parcel as Serializable's.

Issue: 64583
Change-Id: I3ff797f3262e77e4de27f35709bceee5410d1ed4
arcel.java
a52dc3eb40777b055c0ca8d7885bd2c9577bcd1a 11-Feb-2014 Kenny Guy <kennyguy@google.com> Add concepts of related users and managed profiles to user manager.

Related users are a group that will share things like notifications.
Managed profiles are a profile of another user.

Change-Id: I2d0532f1abf939810f0fa3fc7c77ad13fa567833
UserManager.aidl
serManager.java
68ac5cef63a9fef595a0cd6b7d8f9170994672ad 07-Feb-2014 Dianne Hackborn <hackbod@google.com> Merge "Battery stats: more events, fixes."
eaf2ac464b1cd741d7d0fe700771b1b7c00ddb29 07-Feb-2014 Dianne Hackborn <hackbod@google.com> Battery stats: more events, fixes.

Add new history events for top application package and
foreground application packages.

Doing this involved a fair amount of improvement to history
events. The event code is now separated out to have "start"
and "finish" identifies, and we use that to now keep track
of which events are active. With that, when resetting the
stats, we can spit out all of the currently active events at
the front of the new history.

Also fixed some problems when I re-arranged the history delta
int bits that were conflicting with the packing of the battery
status bits. These packing structures are changed to work
together correctly.

Change-Id: Ic8b815060dd8a50ff4a0a209efc2e1044215cd88
atteryStats.java
ebf8ad5d91b22eb4359c75711a5b70ddcce0723d 31-Jan-2014 Jeff Sharkey <jsharkey@android.com> Update DrmOutputStream to use raw FileDescriptor.

This allows DownloadManager to use FDs, paving the way for downloading
directly to content:// Uris.

Also return flag indicating if deleteOlderFiles() actually deleted
anything. Update tests to verify.

Bug: 5287571
Change-Id: I2579e5e2113f31b2860d7b021bd61c91b6310963
ileUtils.java
3d658bf20e2d56e36941e7407deebeec1276fbcf 05-Feb-2014 Dianne Hackborn <hackbod@google.com> Improve logging of first wake lock, history size.

We now try to have a better label for the first wake lock
that is acquired in the log. This is done in two ways:

- The alarm manager now sorts the alarms it is going to
execute so that wakeup alarms are first, which are more
important w.r.t. which one should be logged.
- There is a new power manager facility to make a wake lock
as "unimportant for logging," which just means in battery
stats that a wake lock acquired after that can be considered
the actual one to log. This is only used by the alarm manager
to mark its TIME_TICK alarms as unimportant for logging.

Also reworked the battery history code to be cleaner and a bit
smaller. There is no longer a separate EVENT command, instead
the event code and tag are just another thing that can be included
in an UPDATE command.

The bits used in the first history int are also re-arrange, so
that only the ones that really change a fair amount in the state
bits are up at the top and there is no longer space used for
the command code (since now it is always just UPDATE). This
allows us to have more room for the time delta at the bottom,
to better avoid situations where we need to write an int delta.

Change-Id: I1bb860ae5b558a248800b090b03a84fbf7acd68a
atteryStats.java
owerManager.java
e8d916c04c3fb40667fbacb9b6fd1c775ce00b42 03-Feb-2014 Dianne Hackborn <hackbod@google.com> Merge "More battery history improvements."
71fc13eb583eecc677b177b8010538a08aebb43d 03-Feb-2014 Dianne Hackborn <hackbod@google.com> More battery history improvements.

- Better batching of history items. Fixed problems where empty
entries would be created because state toggles got lost.
- The string pool is now a HistoryTag pool, containing both a string
and uid; now an entry only requires 16 bits in the history data.
- Acquiring the first wake lock also now includes a HistoryTag
identifying who did the aquisition.
- Cleaned up printing of signal strengths and cell radio types.
- There was code that tried to allow you to add new history entries
while iterating the history... but these should never happen
together, so turned that into a failure... and fixed an issue
where we could leave the battery stats in a state where it
thinks it is continually iterating.

Change-Id: I1afa57ee2d66b186932c502dbdd633cdd4aed353
atteryStats.java
fd6a44d0b5b6bcfc606abf23520b316c4bf36fc4 31-Jan-2014 Narayan Kamath <narayan@google.com> am ff62e966: am 149510e0: am b9f960e0: Merge "Fixed cancel() not working correctly"

* commit 'ff62e966b60bb20dc7c3384485816b1e7bf06057':
Fixed cancel() not working correctly
ff62e966b60bb20dc7c3384485816b1e7bf06057 31-Jan-2014 Narayan Kamath <narayan@google.com> am 149510e0: am b9f960e0: Merge "Fixed cancel() not working correctly"

* commit '149510e010b46a445355a8d7fcdb8401125b92c3':
Fixed cancel() not working correctly
3cd12a515562b278c05dff88324f254995a60e9e 07-Aug-2013 jl1990 <jlcarrasco1990@gmail.com> Fixed cancel() not working correctly

The method handleMessage(Message msg) from mHandler variable was
not checking if the timer was cancelled, so
sendMessageDelayed(obtainMessage(MSG), delay) was keeping the
timer alive. The patch simply adds a boolean and checks if the
CountDownTimer was cancelled before calling
sendMessageDelayed(obtainMessage(MSG), delay)

bug: https://code.google.com/p/android/issues/detail?id=58668

Change-Id: Ic6bbb9d33a3616f8503db222513cc14ad2270cb8
Signed-off-by: jl1990 <jlcarrasco1990@gmail.com>
ountDownTimer.java
ef099b71838e15758c8e859af21748a123bb4a99 29-Jan-2014 Narayan Kamath <narayan@google.com> am 4a587146: am 09d07d0d: am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"

* commit '4a58714606fdeb2e740b0ce51ea5074783e2ecf4':
AArch64: Make Binder and Parcel 64-bit compatible
4a58714606fdeb2e740b0ce51ea5074783e2ecf4 29-Jan-2014 Narayan Kamath <narayan@google.com> am 09d07d0d: am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"

* commit '09d07d0d33d44fc87c02a8f607ecb7b96dbb4145':
AArch64: Make Binder and Parcel 64-bit compatible
09d07d0d33d44fc87c02a8f607ecb7b96dbb4145 29-Jan-2014 Narayan Kamath <narayan@google.com> am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"

* commit 'e3e4b40577032f6fad38bfbeb9c2b40df89f0ef9':
AArch64: Make Binder and Parcel 64-bit compatible
e3e4b40577032f6fad38bfbeb9c2b40df89f0ef9 29-Jan-2014 Narayan Kamath <narayan@google.com> am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"

* commit '9846fb695a3c41aabde4ca0061d583b35f9621d1':
AArch64: Make Binder and Parcel 64-bit compatible
5f4a5f9536eb171bf21a9293198d90c9891e7205 25-Jan-2014 Dianne Hackborn <hackbod@google.com> Add "start time" timestamp to battery stats.

Change-Id: I902269b98b40b2421245bfd8971f34df5ff9214e
atteryStats.java
8ab665dda40ab10e60fc69392022171f454af530 22-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make Binder and Parcel 64-bit compatible

Changes include
[x] Long is used to store native pointers

[x] Added new method obtain(long obj) to Parcel. Binder
uses this method instead of obtain(int obj).

[x] obtain(int) has been changed to throw unsupported
operation exception.

Change-Id: I408e0f2a24deb28c9277d86670653a51eb314266
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
inder.java
arcel.java
b34a4615f82a4ad8ce2c0687f47e2113e057e893 23-Jan-2014 Narayan Kamath <narayan@google.com> Hide android.os.Parcel.obtain(int).

This will break on 64 bit because 64 bit pointers are
wider than java int.

Also, this method technically isn't a public API because
it's a protected method on a final class. It shows up in
our api.txt files because of a quirk in the API generation
system.

Change-Id: I2b574943008ed34696b048195c0cac6af1aa0a3b
arcel.java
39e79006cf22f10eb62ac721238778aa6b7d3473 22-Jan-2014 Dianne Hackborn <hackbod@google.com> Merge "Battery stats improvements."
099bc627c463d9941e23e480f25a78a154429c55 22-Jan-2014 Dianne Hackborn <hackbod@google.com> Battery stats improvements.

- Adjust total power use when there is unaccounted power so that our
percentages don't end up > 100%.
- Fix accounting of isolated uids to be against the owning real app
uids.
- Rework how we put cpu use into the battery stats to no longer need
this uid name cache that can confuse the uid it is associated with.
- Finish implementing events in the history, adding a string pool and
reading/writing/dumping them.
- Add first two events: processes starting and finishing.
- Fix alarm manager reporting of wakeup alarms to be adjusted by the
WorkSource associated with the alarm, so they are blamed on the
correct app.
- New "--history" dump option allows you to perform a checkin of
only the history data.
- Fixed BitDescription bug that would cause incorrect printing of
changes in some states.

Change-Id: Ifbdd0740132ed178033851c58f165adc0d50f716
atteryStats.java
509cc13b705f8c488774e7097ab17471c3dacd2e 18-Jan-2014 Jeff Brown <jeffbrown@google.com> am e2c9cd58: Merge "Refactor display manager service to new pattern." into klp-modular-dev

* commit 'e2c9cd583f4f706b48270b8cbe84df627c69af24':
Refactor display manager service to new pattern.
4ccb823a9f62e57f9d221f83a97e82967e79a9e5 17-Jan-2014 Jeff Brown <jeffbrown@google.com> Refactor display manager service to new pattern.

Transform DisplayManagerService into a SystemService and start cleaning
up other local services that it uses from window manager and input manager.

Clean up service thread initialization.

Remove unnecessary static variables from ActivityManagerService.

It's starting to become clear that we really need a better way to manage
service dependencies. Boot phases don't quite cut it.

Change-Id: If319dbd7cbfbd4812fe55ece969e818d4b20755b
owerManagerInternal.java
a17059b78795e095c75a3d31ce8553e8713900c8 17-Jan-2014 Jeff Sharkey <jsharkey@android.com> Merge "Run finalizers before counting for StrictMode."
3b0218b0ae1fad67f539ff3c10d6d2f3abec1a11 14-Jan-2014 Doug Zongker <dougz@android.com> boot into recovery via the pre-recovery service

Change PowerManagerService to start the pre-recovery service rather
than rebooting directly, when requested to reboot into recovery. Add
a new RECOVERY permission which a caller needs (in addition to REBOOT)
in order to go to recovery.

Bug: 12188746
Change-Id: I39121b701c4724558fe751adfbad79f8567faa43
owerManager.java
6f3a38f3afd79ed6dddcef5c83cb442d6749e2ff 16-Jan-2014 Jeff Sharkey <jsharkey@android.com> Run finalizers before counting for StrictMode.

Otherwise we sometimes end up counting objects strongly referenced
by the finalizer queue, and falsely detecting an instance leak.

Bug: 12533002
Change-Id: I144c941a3dfb0cbb837b98e80d2f49ffc9ca13c7
trictMode.java
09d30981f8e882ffaa336aa4665bfe348557895a 16-Jan-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 6f357d32 to master

Change-Id: I1979e6ed1acddbe656f5010114fd900f10865e75
6f357d3284a833cc50a990e14b39f389b8972254 16-Jan-2014 Jeff Brown <jeffbrown@google.com> Start untangling system server early bootstrapping.

Refactored SystemServer to get rid of a bunch of legacy cruft related
to how the ServerThread used to be started up.

Create system context first when system server starts. This removes
the tangled initialization order dependency that forced us to start
the activity manager service before most anything else.

Moved factory test related constants into the FactoryTest class.

Partially migrated Installer, ActivityManagerService, and
PowerManagerService to the new SystemService pattern. There's more
work to be done here, particularly around the lifecycle of the
power manager.

Bug: 12172368
Change-Id: Ia527dd56e3b3fd90f9eeb41289dbe044921230d4
actoryTest.java
owerManagerInternal.java
ab8643452adcf91781991bce03be26f072311d89 16-Jan-2014 Narayan Kamath <narayan@google.com> Track AArch64 changes from AOSP.

mPtr is now long, not int.

Change-Id: I75297cbef3571f8f0cc02a35a06c1bc1f4fbe416
essageQueue.java
5875c94c591e3e10011509cd6a059844316b7f85 16-Jan-2014 Narayan Kamath <narayan@google.com> am 275586aa: am 7471dfc4: am 42defa02: am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"

* commit '275586aa53889a851e0b739e408896861d76e3a8':
AArch64: Use long for pointers in android/os/MessageQueue
1bf3ab08db3dc342461a77e7a261ee9f406a5060 16-Jan-2014 Narayan Kamath <narayan@google.com> am c45068e4: am d7a54c65: am 31f10bb2: am 80b3dd0d: am 27a647bf: Merge "AArch64: Use long for pointers in android/os/MemoryFile"

* commit 'c45068e4a48053447413783e549be7273e38ea97':
AArch64: Use long for pointers in android/os/MemoryFile
7471dfc4a894ade4cd83949d2b59b9b7e75bbf92 16-Jan-2014 Narayan Kamath <narayan@google.com> am 42defa02: am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"

* commit '42defa02337b94d25714fe737f749f2c3300c790':
AArch64: Use long for pointers in android/os/MessageQueue
d7a54c6574c3ca759e977f27912caecb6b40e827 16-Jan-2014 Narayan Kamath <narayan@google.com> am 31f10bb2: am 80b3dd0d: am 27a647bf: Merge "AArch64: Use long for pointers in android/os/MemoryFile"

* commit '31f10bb21b24824c5dbf60b420239513f02b9e55':
AArch64: Use long for pointers in android/os/MemoryFile
42defa02337b94d25714fe737f749f2c3300c790 16-Jan-2014 Narayan Kamath <narayan@google.com> am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"

* commit 'faa62aaca5f4a149f20487d42279fefc7d356428':
AArch64: Use long for pointers in android/os/MessageQueue
31f10bb21b24824c5dbf60b420239513f02b9e55 16-Jan-2014 Narayan Kamath <narayan@google.com> am 80b3dd0d: am 27a647bf: Merge "AArch64: Use long for pointers in android/os/MemoryFile"

* commit '80b3dd0d8e333905e9f2a3a844bc524d41df7da2':
AArch64: Use long for pointers in android/os/MemoryFile
84ee7930bb0f91f6a19662efa4c3f7c7044be426 16-Jan-2014 Narayan Kamath <narayan@google.com> Merge "AArch64: Use long for pointers in android/os/MessageQueue"
27a647bf382f12aea6d0c9584302423e1c44fbb0 16-Jan-2014 Narayan Kamath <narayan@google.com> Merge "AArch64: Use long for pointers in android/os/MemoryFile"
c46809e9979204aa9a131d8933da23d298411441 16-Jan-2014 Dianne Hackborn <hackbod@google.com> Whoops add a line separator.

Change-Id: Ie596527a39319fcf3f80a444fed9e62f90163ea5
atteryStats.java
c8345b32c9636d4d2984a2e9f23dd0391c664ba4 16-Jan-2014 Dianne Hackborn <hackbod@google.com> Merge "Add battery power use reporting to batterystats service."
4ca728c064aeab644f6d044e0285eaa056818b8a 11-Jan-2014 Jeff Sharkey <jsharkey@android.com> Detect removable and emulated secondary storage.

Also rename existing secondary storage API to match naming
convention in rest of class.

Bug: 11536709
Change-Id: I2684c817de4982b414893d2d9927a21e3f171d53
nvironment.java
ileUtils.java
a7c837f043c1ca0bdecd42645ba7da8c5717566d 16-Jan-2014 Dianne Hackborn <hackbod@google.com> Add battery power use reporting to batterystats service.

Move the BatteryStatsHelper class (which computes power use based
on the raw battery stats) out of the settings app and in to the
framework. It is now used by batterystats dump output to print
the computed power information from its current stats.

This involved a lot of refactoring of the BatteryStatsHelper code
to remove all of the UI dependencies. I also did a bunch of cleanup
in it, such as making all power computations be in terms of mAh.

Change-Id: I8ccf2c9789dc9ad34904917ef57050371a59dc28
atteryStats.java
70216e599e678d46b0630e261e25b5209465255a 15-Jan-2014 Jeff Hao <jeffhao@google.com> am ac20b469: am 6c13f384: am 56b11064: am 9a5005a3: am f6730d26: Merge "Add sample profiling interface to startMethodTracing."

* commit 'ac20b469259129df948bae1fa5434098b1801185':
Add sample profiling interface to startMethodTracing.
6c13f384749150e9fa6f930023a9161fe97402d0 15-Jan-2014 Jeff Hao <jeffhao@google.com> am 56b11064: am 9a5005a3: am f6730d26: Merge "Add sample profiling interface to startMethodTracing."

* commit '56b110649424534de36ca41b3e352a73b6bdf3c0':
Add sample profiling interface to startMethodTracing.
56b110649424534de36ca41b3e352a73b6bdf3c0 15-Jan-2014 Jeff Hao <jeffhao@google.com> am 9a5005a3: am f6730d26: Merge "Add sample profiling interface to startMethodTracing."

* commit '9a5005a3bfa419cb856a83ca34a67556d9fd5b74':
Add sample profiling interface to startMethodTracing.
d02e60fbd41e4f35160f1ea17a9c606d611bb60e 07-Jan-2014 Jeff Hao <jeffhao@google.com> Add sample profiling interface to startMethodTracing.

Frameworks base side of this change. Also changed art and libcore.

Change-Id: Ib5ba0445163dca714d1ae66430750346ff8811be
ebug.java
88926a5482552ddf2f4906df581bbbf1cc9d03aa 14-Jan-2014 John Spurlock <jspurlock@google.com> am 4b67b88e: am cce06eda: am b3436359: am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs

* commit '4b67b88e344a147317fc6b32e5364d4cfabf1e1d':
Docfixes: three typos and escape */*.
cce06eda6bd6af957b261f66eb8ea3623fe09caf 14-Jan-2014 John Spurlock <jspurlock@google.com> am b3436359: am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs

* commit 'b34363590953e4efd70168cdf03386d1e469a548':
Docfixes: three typos and escape */*.
b34363590953e4efd70168cdf03386d1e469a548 14-Jan-2014 John Spurlock <jspurlock@google.com> am e05190ea: am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs

* commit 'e05190eae74be57dd517bb5afbccf901543329bf':
Docfixes: three typos and escape */*.
e05190eae74be57dd517bb5afbccf901543329bf 14-Jan-2014 John Spurlock <jspurlock@google.com> am 85f98508: Merge "Docfixes: three typos and escape */*." into klp-docs

* commit '85f98508366e8422f71553d2a5e682eb804c7419':
Docfixes: three typos and escape */*.
5002b8c972967b9f0f58dcefe6e37ea79fa9a179 10-Jan-2014 John Spurlock <jspurlock@google.com> Use custom classloader if provided for Serializables.

If an explicit classloader is provided during unparcel, use it
when deserializing java serializables.

Change-Id: I2b354f0b55359201528234b8095aa0bc102928ec
arcel.java
63a37153238d95cf8897939e6d6e8fbc56e9ec7f 10-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in android/os/MessageQueue

Long is used in android/os/MessageQueue class to store
pointers as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I7e901b8515a5b5e3afe1dadaaf3e5c186955c2a0
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
essageQueue.java
c20cadbdad0cdfe8e56431c22bd26ae666101e89 10-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in android/os/MemoryFile

Long is used in android/os/MemoryFile class to store
pointers as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I07afc010524c16b5c852273b89becb0c08ff27d7
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
emoryFile.java
3390018c6b45acffa6edf97a4174ca49f1e8c76d 02-Jan-2014 John Spurlock <jspurlock@google.com> Docfixes: three typos and escape */*.

Change-Id: I418d855b5d08a1a20eaca3d8e4d2e5d0fca23dd5
syncTask.java
91ecb36df50be3446809e9da2a8f571d157f7549 11-Jul-2013 Todd Poynor <toddpoynor@google.com> ActivityManagerService use lmkd low memory killer daemon -- DO NOT MERGE

Change-Id: Ie2f8af1e411c28d7f03be56c356ec39e1d71558e
rocess.java
879ea451cefa535803d9742506cf51e2e0df75a7 02-Jan-2014 Mark Doliner <markdoliner@google.com> Fix documentation for Parcel.readException().

The old documentation was kind of useless and not clear, so this is an
improvement.

In addition to this change, I think this method should probably be private
instead of public, especially since the values for code are private. But it's
too late to change that now. Also the method name is pretty poor, since it's
not actually reading anything. Something like "throwException" would be more
appropriate.

I'm open to suggestions on how to improve this situation. Maybe mark the
method as deprecated with a comment that it will be made private in the
future?

Change-Id: I830f2bcf606714bd130d8c953aa33974b33c9a83
arcel.java
a8cf4f2fd1f72e3fa6ded96e1516ea1788fe3a25 20-Dec-2013 David Christie <dnchrist@google.com> Document that Handler.postDelayed uses uptimeMillis() based counting.
-Make it clear that delay may be longer than requested.
-Potentially help developers avoid power bugs (e.g. releasing after delay).
Bug: 12015795

Change-Id: I8034466f6307f64bfcad985948c1dc06872297d3
andler.java
57ed6a6440ff010494a03c6c68ce6dc0924b57d6 10-Dec-2013 Dianne Hackborn <hackbod@google.com> Improvements to battery stats.

Now collect per-network packet usage data.

Big reworking of history to be able to start adding more events to it.
Also rework how the checking dump is done to make it more compact, so
maybe we can start uploading it.

Change-Id: I2b29e049ebe073671d0dbe38324223cc2ec0d043
atteryStats.java
09cee9d21f201b75241f6171728c3afb0e7b3139 11-Dec-2013 Marco Nelissen <marcone@google.com> am 4f6a1394: am c680bab3: am 69b46707: am ce3bd309: Merge "Parse UUID string with Long.parseLong"

* commit '4f6a139493e922f2db5e4ee7bb5364e4f8487322':
Parse UUID string with Long.parseLong
69b4670730ec557af6dc67f6c42aff20e5b0b86a 11-Dec-2013 Marco Nelissen <marcone@google.com> am ce3bd309: Merge "Parse UUID string with Long.parseLong"

* commit 'ce3bd309b12e9552c05d5a59a06d7883618c5ca0':
Parse UUID string with Long.parseLong
17d5c1b18132e82abb1b828dcc39ca17cff35dd3 06-Dec-2013 Tom Marshall <tdm.code@gmail.com> Parse UUID string with Long.parseLong

Integer.parseInt throws an NPE for values greater than 0x7fffffff.
torage/StorageVolume.java
64fe2b3a33a34f585d83c3f64798e745ca6a37a2 21-Nov-2013 Dirk Dougherty <ddougherty@google.com> am 3eddb621: am a40420c9: am 43eea0a6: Merge "Doc change: Change description for BRAND. Bug:11431921" into klp-docs

* commit '3eddb6213dc017c78e6d641f7f4a4685db09851e':
Doc change: Change description for BRAND. Bug:11431921
3eddb6213dc017c78e6d641f7f4a4685db09851e 21-Nov-2013 Dirk Dougherty <ddougherty@google.com> am a40420c9: am 43eea0a6: Merge "Doc change: Change description for BRAND. Bug:11431921" into klp-docs

* commit 'a40420c9c1c8216fd0251dc550bb22e9cc1dd177':
Doc change: Change description for BRAND. Bug:11431921
a40420c9c1c8216fd0251dc550bb22e9cc1dd177 21-Nov-2013 Dirk Dougherty <ddougherty@google.com> am 43eea0a6: Merge "Doc change: Change description for BRAND. Bug:11431921" into klp-docs

* commit '43eea0a640db07c4da05146f7e68eae567592bdb':
Doc change: Change description for BRAND. Bug:11431921
491b40d752578b4f6e73333a478fb8c547adb929 30-Oct-2013 Dirk Dougherty <ddougherty@google.com> Doc change: Change description for BRAND.
Bug:11431921

Change-Id: Id08bb58a52699942e0cf626aeb577ac05c84c575
uild.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
atteryStats.java
ommonClock.java
ommonTimeConfig.java
ountDownTimer.java
ebug.java
ropBoxManager.java
ileObserver.java
ileUtils.java
Binder.java
ooper.java
ullVibrator.java
egistrant.java
egistrantList.java
ystemProperties.java
ystemService.java
race.java
serManager.java
b25b890126f768b19e0a800e9bc73a913c3aad8e 15-Nov-2013 Dianne Hackborn <hackbod@android.com> am 6f5d8537: am 47b260d0: am 572b759a: Merge "Use index in SparseArray access properly"

* commit '6f5d85377be86f6d2856470788471bdda5832366':
Use index in SparseArray access properly
6f5d85377be86f6d2856470788471bdda5832366 15-Nov-2013 Dianne Hackborn <hackbod@android.com> am 47b260d0: am 572b759a: Merge "Use index in SparseArray access properly"

* commit '47b260d071859a8c20bb0af2bcc095e253f7046c':
Use index in SparseArray access properly
72cd81db365c0b2742cb91adf02faf994608d18e 13-Nov-2013 Scott Main <smain@google.com> am af623b99: am bb146981: am 29610421: Merge "Revised some text while reading up on traceview. this is what\'s left of this older CL that was left for dead: I5528b476d8110df51d45aaf690d878f72bc75c9f" into klp-docs

* commit 'af623b99dafbc16effc7b05de833e842654b75e1':
Revised some text while reading up on traceview. this is what's left of this older CL that was left for dead: I5528b476d8110df51d45aaf690d878f72bc75c9f
af623b99dafbc16effc7b05de833e842654b75e1 13-Nov-2013 Scott Main <smain@google.com> am bb146981: am 29610421: Merge "Revised some text while reading up on traceview. this is what\'s left of this older CL that was left for dead: I5528b476d8110df51d45aaf690d878f72bc75c9f" into klp-docs

* commit 'bb1469816451aeb24eb8208fac1f2596f528aa80':
Revised some text while reading up on traceview. this is what's left of this older CL that was left for dead: I5528b476d8110df51d45aaf690d878f72bc75c9f
b94d654d36d6352d56847d877450b80da7e0d5b4 13-Nov-2013 Igor Chernyshev <igorc@google.com> Use index in SparseArray access properly

The original code was calling get() rather than valueAt(),
treating index as if it was a key.

Change-Id: I52539dfcb49b3d2ee3cb027d38c50b46f73b5ee7
Signed-off-by: Igor Chernyshev <igorc@google.com>
undle.java
bb1469816451aeb24eb8208fac1f2596f528aa80 13-Nov-2013 Scott Main <smain@google.com> am 29610421: Merge "Revised some text while reading up on traceview. this is what\'s left of this older CL that was left for dead: I5528b476d8110df51d45aaf690d878f72bc75c9f" into klp-docs

* commit '29610421a32501661d6c20136c76ec426d6500fb':
Revised some text while reading up on traceview. this is what's left of this older CL that was left for dead: I5528b476d8110df51d45aaf690d878f72bc75c9f
c468240c1a2a393ec02d992f459c6586ae450161 13-Jun-2013 Scott Main <smain@google.com> Revised some text while reading up on traceview.
this is what's left of this older CL that was left for dead:
I5528b476d8110df51d45aaf690d878f72bc75c9f

Change-Id: I42f784d693c0a2a2e2e8ed4c582cbc10180191e7
race.java
d528d48e5d8444de0730d62b9f621b9cc2df5fbd 08-Nov-2013 Robert Greenwalt <rgreenwalt@google.com> resolved conflicts for merge of c3eef190 to master

Change-Id: I36fd3c7fcbb13e47e27ffc340484c03b5a553bb1
c3eef19047b897bfb6e3cf42220d5146b187c66e 07-Nov-2013 Robert Greenwalt <rgreenwalt@google.com> am f1612bcf: am e8c51298: Merge "Add BatteryStats for Wifi Batched Scanning." into klp-dev

* commit 'f1612bcfdd2cb517948f14369fd0977ceb55d19c':
Add BatteryStats for Wifi Batched Scanning.
a029ea131836725b050e1a7550aa171b68171522 26-Sep-2013 Robert Greenwalt <rgreenwalt@google.com> Add BatteryStats for Wifi Batched Scanning.

bug:10690989
Change-Id: Ia39b715ee6d5733970095bc76de0ed40ff8208c0
atteryStats.java
09e0244f72c6ed61ee205fa85e29e821d4c72b42 06-Nov-2013 Patrick Tjin <pattjin@google.com> am b4328566: am 5eecb9e8: am bd9513f3: Merge "Add HSPA+ to BatteryStats" into klp-dev

* commit 'b4328566fa415b69974a9721ec690a1b74880873':
Add HSPA+ to BatteryStats
b4328566fa415b69974a9721ec690a1b74880873 06-Nov-2013 Patrick Tjin <pattjin@google.com> am 5eecb9e8: am bd9513f3: Merge "Add HSPA+ to BatteryStats" into klp-dev

* commit '5eecb9e8d44b3864a3261a3c5ebfbb9c606e77f5':
Add HSPA+ to BatteryStats
b71703cfdfbac35a6e5afaa437d073cf835c25db 06-Nov-2013 Patrick Tjin <pattjin@google.com> Add HSPA+ to BatteryStats

HSPA+ was being shown as connection type other in battery
statistics because it was not updated when TelephonyManager
was changed.

Bug: 11552902
Change-Id: I85ce7c393bf93010a4ac8437f14684015ad0391a
atteryStats.java
aa2f9f01fa820ba93eaff8916b74cbc4a2bf0254 30-Oct-2013 Jeff Brown <jeffbrown@google.com> am 81b7caf0: resolved conflicts for merge of 5214dae4 to klp-dev-plus-aosp

* commit '81b7caf0d12fb56ab40592467d6b1cbcaef8f0b4':
handle negative temperature
81b7caf0d12fb56ab40592467d6b1cbcaef8f0b4 30-Oct-2013 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 5214dae4 to klp-dev-plus-aosp

Change-Id: I769e7acbe207b9c3a60ff1576d11b3ab40b8c66d
e4d5f6e24e01d3da8f415e79ba8f37ea2d522f67 29-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 8f541938: am 23ac234e: am 704269ec: Merge "Mention external storage changes in KITKAT docs." into klp-dev

* commit '8f5419383283c6e82d2038ca807c3c55281d8fa2':
Mention external storage changes in KITKAT docs.
6dbbba4e9adc3f1c2481698e42f4ffc0c68937f1 29-Oct-2013 Jeff Brown <jeffbrown@android.com> Merge "handle negative temperature"
8f5419383283c6e82d2038ca807c3c55281d8fa2 29-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 23ac234e: am 704269ec: Merge "Mention external storage changes in KITKAT docs." into klp-dev

* commit '23ac234e9049512696c7e7c6f277e334fde50f7a':
Mention external storage changes in KITKAT docs.
3ec2f60ebde1e6fa6ee276b4d5dfaa5d56ed3cef 29-Oct-2013 Jeff Sharkey <jsharkey@android.com> Mention external storage changes in KITKAT docs.

Bug: 11388971
Change-Id: I97145472948867f54125f1d0f0237bf3b339535e
uild.java
a22010ebe533aafe1b3d488128f3df757f306dd0 26-Oct-2013 Marco Nelissen <marcone@google.com> am d19385bf: am 21657181: Merge "Add a method to set a list of uids for a wake lock" into klp-dev

* commit 'd19385bf58225069c8ea0a7ce5075ed28861b039':
Add a method to set a list of uids for a wake lock
2165718153c1288dee7e106f0c61d952f515600b 25-Oct-2013 Marco Nelissen <marcone@google.com> Merge "Add a method to set a list of uids for a wake lock" into klp-dev
92706ac8dfef79d65779ac1a886c0ce21529dbb9 25-Oct-2013 Jeff Sharkey <jsharkey@android.com> am d8a81d06: am fd38f940: am ac4bf7fd: Merge "Skip writing PFD status when comm is closed." into klp-dev

* commit 'd8a81d06e4649498b3ba884f2e5443701e13d023':
Skip writing PFD status when comm is closed.
d8a81d06e4649498b3ba884f2e5443701e13d023 25-Oct-2013 Jeff Sharkey <jsharkey@android.com> am fd38f940: am ac4bf7fd: Merge "Skip writing PFD status when comm is closed." into klp-dev

* commit 'fd38f940f4283f9ea68142185426a7cf45d58ae0':
Skip writing PFD status when comm is closed.
ac4bf7fd9ade1bf8448b67feb3935bf4620714d5 25-Oct-2013 Jeff Sharkey <jsharkey@android.com> Merge "Skip writing PFD status when comm is closed." into klp-dev
738ffdc9da55db3127146df1b3fcb15b5163a335 16-Oct-2013 Marco Nelissen <marcone@google.com> Add a method to set a list of uids for a wake lock

Cherrypicked from master.

b/9464621

Change-Id: Ia6a9d36d55129ae87d3ec070fbf10dc02f4b6cb4
PowerManager.aidl
27dab3889128c35d422cfc1132d1d0b14249667d 25-Oct-2013 Dianne Hackborn <hackbod@google.com> am f09a1b88: am aec8fbb3: am df033aed: Merge "Fix issue #11290095: Parcel change causing crashing in KLP..." into klp-dev

* commit 'f09a1b88ae87abb750bda62f97fce1633a9cab7d':
Fix issue #11290095: Parcel change causing crashing in KLP...
f09a1b88ae87abb750bda62f97fce1633a9cab7d 25-Oct-2013 Dianne Hackborn <hackbod@google.com> am aec8fbb3: am df033aed: Merge "Fix issue #11290095: Parcel change causing crashing in KLP..." into klp-dev

* commit 'aec8fbb354621dc49a4ac971a64706bee01e5806':
Fix issue #11290095: Parcel change causing crashing in KLP...
d99f9caba6600f1b5e0bc8a21681162ae42d6518 25-Oct-2013 Jeff Sharkey <jsharkey@android.com> Skip writing PFD status when comm is closed.

If the remote side of PFD has already written a status message, then
they've also closed their end of the comm FD, and we're going to
EPIPE if we try sending our own status. So, skip writing status if
a remote status is present.

Only one end of the openFile() comm socket needs to be blocking,
otherwise detachFd() would end up blocking forever.

Bug: 11385467
Change-Id: I346d40cc1ca4a6683cec4c2d2b7db2b32ac94a55
arcelFileDescriptor.java
8aee64d18b6b90e46e886a80d8de0467d682ddc4 25-Oct-2013 Dianne Hackborn <hackbod@google.com> Fix issue #11290095: Parcel change causing crashing in KLP...

...when reading from empty byte[]

Better handling of empty bundles and parcels.

Change-Id: Ie9182e43a52b8f163e8fb20bd1d110e0832683e6
undle.java
arcel.java
50ae3858942c3afb4006317a8b517bceb1b0114e 04-Oct-2013 Todd Poynor <toddpoynor@google.com> BatteryService: remove dumpsys-only info duplicated by systemhealth

Change-Id: I7fa605304b5f62ea19bcf3851d11abe7bf6c83f5
atteryProperties.java
c8c25943817252a591a6cc3cb326e21abdf90fb1 18-Oct-2013 Marco Nelissen <marcone@google.com> Merge "Add a method to set a list of uids for a wake lock"
b1eb620219de034b28a0130b07ca05140c4ff830 18-Oct-2013 Jeff Brown <jeffbrown@google.com> am 83bf4404: am 3e3296e5: am 82f31701: Merge "Log view root, input and looper state in bug reports." into klp-dev

* commit '83bf440440309a394f792e3d8a6acb98197d9d7c':
Log view root, input and looper state in bug reports.
83bf440440309a394f792e3d8a6acb98197d9d7c 18-Oct-2013 Jeff Brown <jeffbrown@google.com> am 3e3296e5: am 82f31701: Merge "Log view root, input and looper state in bug reports." into klp-dev

* commit '3e3296e526663306237fe551527146286e14f4e4':
Log view root, input and looper state in bug reports.
82f31701141f5c3057b162cba1d57f78cbad5091 18-Oct-2013 Jeff Brown <jeffbrown@google.com> Merge "Log view root, input and looper state in bug reports." into klp-dev
eeb58c79c0512b9a4bff0383327665875304a53f 18-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 703840da: am 1a5804d7: am 0c0f1e2e: Merge "Include external storage devices in DocumentsUI." into klp-dev

* commit '703840da8a33c703f2d787526438c650b0318845':
Include external storage devices in DocumentsUI.
db289e0ac752ea204cf88abd7c38bf9b27e294c9 18-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 47938450: am 306bb90d: am 8f4c15d8: Merge "Plumb through physical device UUID and label." into klp-dev

* commit '47938450b4d19f60edf774c8f451d53aa110ea0b':
Plumb through physical device UUID and label.
703840da8a33c703f2d787526438c650b0318845 18-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 1a5804d7: am 0c0f1e2e: Merge "Include external storage devices in DocumentsUI." into klp-dev

* commit '1a5804d7aa253432f37fbd5d8eb89ac363501fe9':
Include external storage devices in DocumentsUI.
47938450b4d19f60edf774c8f451d53aa110ea0b 18-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 306bb90d: am 8f4c15d8: Merge "Plumb through physical device UUID and label." into klp-dev

* commit '306bb90d97da583c3728d35073ebcb7f7ca5c467':
Plumb through physical device UUID and label.
1f706c6cd1cb841adadc2babc57a34e5728983ec 17-Oct-2013 Jeff Sharkey <jsharkey@android.com> Include external storage devices in DocumentsUI.

Include volume UUID in generated document IDs to uniquely identify
volumes over time. Show volume label to users. Watch for mount
changes to update available roots.

Bug: 11175082
Change-Id: Ia151bde768587468efde0c1d97a740b5353d1582
torage/StorageVolume.java
5aca2b8dc4f4ff2d466a64587d06666c7bbd9749 17-Oct-2013 Jeff Sharkey <jsharkey@android.com> Plumb through physical device UUID and label.

vold now parse out UUID and label for inserted physical devices,
and reports them to framework. Add these to hidden StorageVolume
class for use by DocumentsUI and MediaProvider.

Remove last JNI method in FileUtils!

Bug: 11175082
Change-Id: I1cfcd1ade61767b103f693319ea2600008ee2e3c
ileUtils.java
torage/StorageVolume.java
1125235da15a5655e1fdf3b5f24df48dafccee90 16-Oct-2013 Marco Nelissen <marcone@google.com> Add a method to set a list of uids for a wake lock

Change-Id: Ia6a9d36d55129ae87d3ec070fbf10dc02f4b6cb4
PowerManager.aidl
5182c780a8b42acd46a06d693ab63a0dd78c6d70 16-Oct-2013 Jeff Brown <jeffbrown@google.com> Log view root, input and looper state in bug reports.

Bug: 10948648
Change-Id: I956cce2a0fb516c02f9bbbc021f6238bcb226891
ooper.java
essage.java
essageQueue.java
3e41d9bf41480f9e36c8af6e99d2be81b56f989a 16-Oct-2013 Jeff Sharkey <jsharkey@android.com> am fc7c4b9d: am 2a48dbce: am 905c50a2: Merge "Improve DocumentsProvider and contract docs." into klp-dev

* commit 'fc7c4b9d7234b645adb31cb819b75ba925adab7a':
Improve DocumentsProvider and contract docs.
fc7c4b9d7234b645adb31cb819b75ba925adab7a 16-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 2a48dbce: am 905c50a2: Merge "Improve DocumentsProvider and contract docs." into klp-dev

* commit '2a48dbcee91a3a37dacaa96763c92f116d916a15':
Improve DocumentsProvider and contract docs.
e8c00d8ed477e199b7f8d1b1e2f37e9cf8593372 16-Oct-2013 Jeff Sharkey <jsharkey@android.com> Improve DocumentsProvider and contract docs.

Bug: 10567557
Change-Id: I71e7f7ad172e9986e58b9c9533b1c948c5530397
arcelFileDescriptor.java
91695305f2556b48d17e8eafe7632c261b7348f6 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 881cde33: am 16c4b8c5: am ddf5a170: Merge "Relax user constraint on storage state." into klp-dev

* commit '881cde33589859e23a0af0a08b3c59d2f90cfd10':
Relax user constraint on storage state.
881cde33589859e23a0af0a08b3c59d2f90cfd10 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 16c4b8c5: am ddf5a170: Merge "Relax user constraint on storage state." into klp-dev

* commit '16c4b8c5999b4365bde5ad7c2f00337cee988dab':
Relax user constraint on storage state.
a6d19995292a82e6d480779acfbd8e140bebecb9 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> Relax user constraint on storage state.

Otherwise we wtf() when called various places in the system.

Bug: 11223886
Change-Id: I514d28603db02e3debd4af1cf20049af0c7399f4
nvironment.java
183cd0ca649c9d79a70a6d79ba7e2217fe37fa25 14-Oct-2013 Kenny Root <kroot@google.com> am 7a2f4ae1: am 69779458: am 7878883e: Merge "Remove direct reference to X509CertImpl"

* commit '7a2f4ae13223bb804417e9ce3294b22bd9bda49a':
Remove direct reference to X509CertImpl
7a2f4ae13223bb804417e9ce3294b22bd9bda49a 14-Oct-2013 Kenny Root <kroot@google.com> am 69779458: am 7878883e: Merge "Remove direct reference to X509CertImpl"

* commit '69779458aeef3fa9d9c6f54487784cf558c850e8':
Remove direct reference to X509CertImpl
27e549428eb5ae77a0ae536f778b204430f8c743 14-Oct-2013 Kenny Root <kroot@google.com> Remove direct reference to X509CertImpl

This should use the system default X.509 certificate provider.

Change-Id: Ibdfd800a9d10f9dc566a360401efe7c3dc6cef5d
ecoverySystem.java
f22abb961b45f86f1e5df4b847738a755127bdcb 09-Oct-2013 Jeff Sharkey <jsharkey@android.com> am ac50f60d: am 58ff8af5: am a6af40cd: Merge "Add secondary external storage support." into klp-dev

* commit 'ac50f60da6ae9943321d4fe945e81d14dff0d4c2':
Add secondary external storage support.
ac50f60da6ae9943321d4fe945e81d14dff0d4c2 08-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 58ff8af5: am a6af40cd: Merge "Add secondary external storage support." into klp-dev

* commit '58ff8af53a8378ee50375b039c390ca7f0a29126':
Add secondary external storage support.
44cbdec292c6b234d94aae59257721cf499989ba 08-Oct-2013 Jeff Sharkey <jsharkey@android.com> Add secondary external storage support.

When SECONDARY_STORAGE is defined by the hardware configuration,
include those paths in the new getExternalCacheDirs() and
getExternalFilesDirs() APIs. Give secondary volumes valid state
until vold reports back.

Bug: 10330128, 10330229
Change-Id: Ifa55bfda47fd7c750f462dd26c98792ad462ab91
nvironment.java
a37bbc6afc9700c4b7ff7f8e116f656c608c9ae0 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 8a5f7ab6: am 22c298a5: am 7192c6d7: Merge "KLP/KitKat is now API 19." into klp-dev

* commit '8a5f7ab6e18e05a54a3ae7e0acb7e1b728ad613c':
KLP/KitKat is now API 19.
6588538ec5121e058cf3f93df95c07d8b793abb6 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 7c55154d: am 80e75d39: am 0d763a90: Merge "Implement issue #11050739: Show swapped out RAM" into klp-dev

* commit '7c55154d4776896c3e602f4739fd5b9cbbf1dba4':
Implement issue #11050739: Show swapped out RAM
4bfeed94996c29e5879fa46d78759af5267dabf8 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 61509ca5: am 479dde0b: am 6a6f96a2: Merge "Fix issue #10378741: configupdater needs to be explicit when it calls startService()" into klp-dev

* commit '61509ca5bafbe59e29e1eaaaa938c5a668352cba':
Fix issue #10378741: configupdater needs to be explicit when it calls startService()
10a4d0b46eba85557b5414161eb11c50c3166e2c 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 495fe22d: am 2d3f995a: am d585f954: Merge "Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle..." into klp-dev

* commit '495fe22d680c1674598184d08a01d5b961c13fc5':
Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle...
2a0a5d102243e5fc5e955234a1359433fd8fa74d 04-Oct-2013 Marco Nelissen <marcone@google.com> am d9ff894e: am 05f56fc1: am 95867a65: Merge "Add PowerManager method to assign blame to a single uid" into klp-dev

* commit 'd9ff894eae0b3acd3c89585a80ebd2039ed1de8c':
Add PowerManager method to assign blame to a single uid
8a5f7ab6e18e05a54a3ae7e0acb7e1b728ad613c 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 22c298a5: am 7192c6d7: Merge "KLP/KitKat is now API 19." into klp-dev

* commit '22c298a5df7a9fa53826ecfa4925372b1eebf8bc':
KLP/KitKat is now API 19.
7c55154d4776896c3e602f4739fd5b9cbbf1dba4 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 80e75d39: am 0d763a90: Merge "Implement issue #11050739: Show swapped out RAM" into klp-dev

* commit '80e75d3946fd4c5cdd913d217df1b8d32ec464ee':
Implement issue #11050739: Show swapped out RAM
61509ca5bafbe59e29e1eaaaa938c5a668352cba 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 479dde0b: am 6a6f96a2: Merge "Fix issue #10378741: configupdater needs to be explicit when it calls startService()" into klp-dev

* commit '479dde0bc21a1e9d0bb8dad801cfe015f6c7e416':
Fix issue #10378741: configupdater needs to be explicit when it calls startService()
495fe22d680c1674598184d08a01d5b961c13fc5 04-Oct-2013 Dianne Hackborn <hackbod@google.com> am 2d3f995a: am d585f954: Merge "Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle..." into klp-dev

* commit '2d3f995a65f2acd60559b1db57ae3ab2346a1df0':
Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle...
d9ff894eae0b3acd3c89585a80ebd2039ed1de8c 04-Oct-2013 Marco Nelissen <marcone@google.com> am 05f56fc1: am 95867a65: Merge "Add PowerManager method to assign blame to a single uid" into klp-dev

* commit '05f56fc121e176ef4e227639a7b636a875f38037':
Add PowerManager method to assign blame to a single uid
7192c6d7c6272c788e5e72ca416354491119fbfa 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Merge "KLP/KitKat is now API 19." into klp-dev
6bc3789b3982d25bf3fc09d257efa6cdb628e7f2 03-Oct-2013 Dianne Hackborn <hackbod@google.com> KLP/KitKat is now API 19.

Bug: 10348975

Change-Id: I19bf1a56064deda2e59085520960aac8ce3a825b
uild.java
0d763a901e6f205c05fbec3123225a41672def45 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Merge "Implement issue #11050739: Show swapped out RAM" into klp-dev
6a6f96a296679c23f61b58b34985c8b25960a151 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #10378741: configupdater needs to be explicit when it calls startService()" into klp-dev
fd6c7b12c312bef3ab9de2a8fcdeef9260fd85f1 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10378741: configupdater needs to be explicit when it calls startService()

Not enough time to fix everything, so instead we'll make it a warning
in this release and finish up turning it into a target-SDK based
exception in the next release.

Change-Id: I5aae64a1225a145f03ba4162238b53d5e401aba2
ebug.java
d585f95406f8b12e36ca436faea7113ecd8704fd 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle..." into klp-dev
4a7d824c3b41eafc4ff91d3253ff8a9ebd60a454 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle...

...fails from KRS84 across all platforms

My fix for issue #10807048 was wrong, wrong, wrong. The problem was
actually just a stupid mistake in ArrayMap.erase(). This makes it
all right.

Change-Id: I762f7a2d5100bceb86a091ab3d6368edc21b4266
undle.java
arcel.java
d983ba5cac232c01dff818556b57f497f7d99854 03-Oct-2013 Marco Nelissen <marcone@google.com> Add PowerManager method to assign blame to a single uid

Currently used by audioflinger to account for recording wakelocks.
b/10985160

Change-Id: I18fc8487f2a197bf02b5269a4bcae9e75b6c2207
PowerManager.aidl
8883ced18ac25199330843964634fdf70647a127 03-Oct-2013 Dianne Hackborn <hackbod@google.com> Implement issue #11050739: Show swapped out RAM

Add "swapped out" field to mem info everywhere.

Change-Id: I89abe8eb0e91fa5c193da93815dc592593c8a3c8
ebug.java
3d28abf392e7f2f727cc1b7e898385a97d141c5a 27-Sep-2013 Nick Kralevich <nnk@google.com> am 19db8894: am 19f9f445: am 7a56d949: Merge "Fix SELinux.java doc errors"

* commit '19db889424addfdf2eae9e3dac1c97d93e13cb74':
Fix SELinux.java doc errors
19db889424addfdf2eae9e3dac1c97d93e13cb74 27-Sep-2013 Nick Kralevich <nnk@google.com> am 19f9f445: am 7a56d949: Merge "Fix SELinux.java doc errors"

* commit '19f9f445bfe368f801f893aad6dbd372562746ac':
Fix SELinux.java doc errors
7a56d949ef524d00e4091827104ac2450e4ec9db 27-Sep-2013 Nick Kralevich <nnk@google.com> Merge "Fix SELinux.java doc errors"
9c437bcb57a7cf5eb3bd1a85a4f2322fd34f50a3 26-Sep-2013 Adam Lesinski <adamlesinski@google.com> am 7979e170: am bde988ad: Merge "Add Graphics alloc tracking via memtrack" into klp-dev

* commit '7979e170b5bdfb6922d758f2c66f06829b6b5d9b':
Add Graphics alloc tracking via memtrack
7979e170b5bdfb6922d758f2c66f06829b6b5d9b 26-Sep-2013 Adam Lesinski <adamlesinski@google.com> am bde988ad: Merge "Add Graphics alloc tracking via memtrack" into klp-dev

* commit 'bde988ade5f75c3d241422dce2ee4124871fab53':
Add Graphics alloc tracking via memtrack
bde988ade5f75c3d241422dce2ee4124871fab53 26-Sep-2013 Adam Lesinski <adamlesinski@google.com> Merge "Add Graphics alloc tracking via memtrack" into klp-dev
f3647c7bdc1733d28e878564facf49108c0dc2c6 26-Sep-2013 Dianne Hackborn <hackbod@google.com> am f9ad7b9d: am 66a9b2d7: Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev

* commit 'f9ad7b9d92f0464bdffb36f4b9f9f63292ba9863':
Fix issue #10903002: com.facebook.katana keeps itself in A Services
f9ad7b9d92f0464bdffb36f4b9f9f63292ba9863 26-Sep-2013 Dianne Hackborn <hackbod@google.com> am 66a9b2d7: Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev

* commit '66a9b2d7392a7f6334b5fe23d00ba718f3fa1851':
Fix issue #10903002: com.facebook.katana keeps itself in A Services
cbd9a52f256087426feb19ac6e51eff772e81375 25-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10903002: com.facebook.katana keeps itself in A Services

Now when memory low, if a service's process is above
a selected pss, then the process is not allowed to go
in to the service a list.

Also simplified the normal meminfo details dump to not
include the shared dirty and shared clean sizes by
default, since these can be very confusing. You will
still get to see them with the "-a" flag.

Finally some small steps to better managing service
processes in the LRU list, so hopefully we can some
day be better about letting them drop down in the list
when there isn't really much interesting happening in
the process. Not yet used at this point.

Change-Id: I654bfd6d05de2a63120185ebb15ffda8cbeb5dac
ebug.java
5b4ef81f2b79dd5d597b1681de4d0311d46693aa 23-Sep-2013 Adam Lesinski <adamlesinski@google.com> Add Graphics alloc tracking via memtrack

Any OpenGL memory reported by /proc/pid/smaps will not be included
in the GPU GL memory count and will be considered Unknown. This is
an artifact of how some memory reporting is done in libmemtrack
and some is done in this module.

bug:10294768

Change-Id: Id8fb63b2e86520f4dbc8410573a509e66b96b13b
ebug.java
6885d577cbfe8dedcdb82fc066a4408ea762204f 25-Sep-2013 Dianne Hackborn <hackbod@android.com> am 8715dc14: am 4213e68f: am 3a7d5f71: Merge "Replace SEAndroid with SELinux."

* commit '8715dc1401557f5ec068f9214ab0712291a3b403':
Replace SEAndroid with SELinux.
8715dc1401557f5ec068f9214ab0712291a3b403 25-Sep-2013 Dianne Hackborn <hackbod@android.com> am 4213e68f: am 3a7d5f71: Merge "Replace SEAndroid with SELinux."

* commit '4213e68f67d59c0912d2a8729fcec4539197756a':
Replace SEAndroid with SELinux.
3a7d5f71456b57f712b0f878beb5317f0ce6d564 25-Sep-2013 Dianne Hackborn <hackbod@android.com> Merge "Replace SEAndroid with SELinux."
49580f5ce440b6af663a7e0f689dda67796d29f0 24-Sep-2013 David Christie <dnchrist@google.com> am f6a63c92: am fe538cb6: Merge "Fix broken method WorkSource.set (names aren\'t applied)." into klp-dev

* commit 'f6a63c92448be250208556520900c4309917a010':
Fix broken method WorkSource.set (names aren't applied).
dd3a021f4a3f7b78d1a5b330b70f39d914507d72 24-Sep-2013 David Christie <dnchrist@google.com> Fix broken method WorkSource.set (names aren't applied).

Change-Id: I89273b99e312e48adc10debbb4e40d8684cceb23
orkSource.java
c430e0dc7693a8fbe02900a02bb4be7e089b3cef 21-Sep-2013 Dianne Hackborn <hackbod@google.com> am 28db9c64: am 90d51b1a: Merge "Fix issue #10807048: Groupon: The application crash when user rotates..." into klp-dev

* commit '28db9c64172c046118eede06a5cc6f8d729c50c8':
Fix issue #10807048: Groupon: The application crash when user rotates...
90d51b1abe64442927c7e6bdbafc99f41a55f393 21-Sep-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #10807048: Groupon: The application crash when user rotates..." into klp-dev
e784d1e4cfeaf3a9accd7caa33c087abd8f39040 21-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10807048: Groupon: The application crash when user rotates...

...device to another mode (portrait or landscape) on Main page.

So, it turns out that Bundle claimed to have an invariant that either
mParcelledData or mMap would hold its data, never both. The new
implementation on top of ArrayMap assumed this was the case. However,
there is one situation where it is not true: an application can take
an existing Bundle that contains data, and call readFromParcel() on it.
The implementation of readFromParcel() would just pull out the
parceled data and stuff it in to mParcelledData for later unparceling,
even if that Bundle already had a non-empty mMap.

To fix this, we just look for this case in readFromParcel() and
immediately unparcel at that point into the existing map, using a
new unparcelling method that doesn't rely on the target map being
empty.

Change-Id: Ib816b6876a6cd2760b7a3372c7a79ca2f12dfeba
undle.java
arcel.java
5fc67f98b92ac1542eda7739ea9604cf69e18dc5 21-Sep-2013 Adam Lesinski <adamlesinski@google.com> am a35ff661: am d473ebb7: Merge "Surfaces ParcelFileDescriptor#parseMode() as API" into klp-dev

* commit 'a35ff66127d07117e93268482d7e9719abfd58c3':
Surfaces ParcelFileDescriptor#parseMode() as API
f439bcd953f34a1e5784ddc74d4fd093939ace85 21-Sep-2013 Jeff Sharkey <jsharkey@android.com> am 578f67c2: am dfed2448: Merge "Delegate mkdirs() to vold when lacking perms." into klp-dev

* commit '578f67c25c6bb160cf30bf39b7e41bc039000a5c':
Delegate mkdirs() to vold when lacking perms.
d473ebb7c4f212cb9f74fe748bb8b95d7d126417 21-Sep-2013 Adam Lesinski <adamlesinski@google.com> Merge "Surfaces ParcelFileDescriptor#parseMode() as API" into klp-dev
dfed244876d6c0ddd8d8bd2b8f3b970cd0a1ab95 21-Sep-2013 Jeff Sharkey <jsharkey@android.com> Merge "Delegate mkdirs() to vold when lacking perms." into klp-dev
eb8c3f93edc826413ff4143284dec01c1061d5cc 20-Sep-2013 Adam Lesinski <adamlesinski@google.com> Surfaces ParcelFileDescriptor#parseMode() as API

Moves ContentResolver#modeToMode() to ParcelFileDescriptor#parseMode()

bug:10711271
Change-Id: I28a5de4ca70adfbec4caf739863b77f0fd7fd9a4
arcelFileDescriptor.java
2d8b4e801332e02d6aad615b85cc9dd056ef805c 18-Sep-2013 Jeff Sharkey <jsharkey@android.com> Delegate mkdirs() to vold when lacking perms.

Apps without sdcard_r or sdcard_rw are still able to write to
their package-specific directory, but someone needs to first make
that directory on their behalf. This change will delegate the
mkdirs() call through to vold when an app fails to create directly.

MountService validates that the path belongs to the calling user, and
that it's actually on external storage, before passing to vold.

Update Environment to make app-vs-vold paths clearer.

Bug: 10577808
Change-Id: I43b4a77fd6d2b9af2a0d899790da8d9d89386776
nvironment.java
torage/IMountService.java
2875fb8586a9ffa42d63fd078fc5115791564680 20-Sep-2013 David Christie <dnchrist@google.com> am 0e500803: am f31a7897: Merge "Clear names from externally supplied WorkSources to WifiManager (b/10733757)" into klp-dev

* commit '0e50080395d2ed9e3c703f769ea3fb84706f989a':
Clear names from externally supplied WorkSources to WifiManager (b/10733757)
f31a78977401b155c0781dfe7d7cb6b7b38543c0 20-Sep-2013 David Christie <dnchrist@google.com> Merge "Clear names from externally supplied WorkSources to WifiManager (b/10733757)" into klp-dev
a31510e47a0f0c2525702c2f10a85064322a28f2 20-Sep-2013 David Christie <dnchrist@google.com> Clear names from externally supplied WorkSources to WifiManager (b/10733757)

Change-Id: I36102f13962df2093c1e35fb40081ead647eff32
orkSource.java
af7968497ed40514902456809f72a076032bd0e8 20-Sep-2013 Dianne Hackborn <hackbod@google.com> am 2d696ff9: am 76e6bcb8: Merge "Fix issue #10310128: CTS: android.security.cts.ServicePermissionsTest" into klp-dev

* commit '2d696ff910479457b0f01421c93f2f8516f64b13':
Fix issue #10310128: CTS: android.security.cts.ServicePermissionsTest
a2067473e8cb3e026503cf0c58dec51ea748b952 20-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10310128: CTS: android.security.cts.ServicePermissionsTest

Change-Id: Id6432fc1b62db41c6c291ec08450c2fc37ced899
inder.java
0125d4bd257276ce59f192f298ce9924dd268afa 19-Sep-2013 Amith Yamasani <yamasani@google.com> am 2f9fd33f: am e8c01ddb: Merge "Changes to PFD based on API review" into klp-dev

* commit '2f9fd33fd9cad3bbd8edffefa9c65cbeb7e50c94':
Changes to PFD based on API review
e8c01ddbe748490463f7f516df9b1b4784228913 19-Sep-2013 Amith Yamasani <yamasani@google.com> Merge "Changes to PFD based on API review" into klp-dev
b433bb8c96f98d280f4a8508ba500bd8f196a773 19-Sep-2013 Amith Yamasani <yamasani@google.com> Changes to PFD based on API review

Removed boolean param to ask for exception on detached fd. Use a
subclass of IOException instead.

Bug: 10461576
Change-Id: If7db16120297edcdb7d5d5905ed453003be0e38e
arcelFileDescriptor.java
dc7e0464b8f304a10293328ca83365b381c79b24 18-Sep-2013 Amith Yamasani <yamasani@google.com> am a8b4da87: am 840b3bd6: Merge "Fix provider leak in PFD" into klp-dev

* commit 'a8b4da872a1824408b52fb1730699fde780cad04':
Fix provider leak in PFD
487c11a3101c6cd9fc18758b3032383666f55e46 18-Sep-2013 Amith Yamasani <yamasani@google.com> Fix provider leak in PFD

Code path to release content provider associated with the PFD was
inadvertently bypassed by a previous change. Reinstate that code
when closing the PFD.

Bug: 10767447
Change-Id: I23306cfb3c28c99e587892b17ca85efd3f7a8a07
arcelFileDescriptor.java
3f7867b6033b04d0755c9d0b427e44e64ff64fc8 14-Sep-2013 Dianne Hackborn <hackbod@google.com> am 570d0ca3: am fc9122ec: Merge "Implement #10666712: NetworkOnMainThreadException should be..." into klp-dev

* commit '570d0ca39cd8d11faf7cc453cfd8096e07c3877b':
Implement #10666712: NetworkOnMainThreadException should be...
6180e84410963ff9ab66c87a04c2f2cc3762a102 14-Sep-2013 David Christie <dnchrist@google.com> am 691a3191: am 5f68f717: Merge "Strip names out of externally supplied WorkSources to WifiManager (b/10710007)." into klp-dev

* commit '691a3191e3efb11f0607c45f29e460d2baf8188e':
Strip names out of externally supplied WorkSources to WifiManager (b/10710007).
fc9122ecae06339283602bdc78c5d704d95e3f29 14-Sep-2013 Dianne Hackborn <hackbod@google.com> Merge "Implement #10666712: NetworkOnMainThreadException should be..." into klp-dev
5f68f717019433ce4fa284386ba48bd1b571073a 14-Sep-2013 David Christie <dnchrist@google.com> Merge "Strip names out of externally supplied WorkSources to WifiManager (b/10710007)." into klp-dev
6ab2284c98c08df68ed1ca8f7ac9748387ba6cb2 14-Sep-2013 David Christie <dnchrist@google.com> Strip names out of externally supplied WorkSources to WifiManager (b/10710007).

Change-Id: I69bd7ce9e942c2f9327415b2821d805e1b50a1a4
orkSource.java
7e7144218e8681fff2065a891de517bad6fe1b38 14-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement #10666712: NetworkOnMainThreadException should be...

...relayed back to calling application

What's one more exception between friends?

Change-Id: Ib83c7bfbddd397457dcdbe506a8cd2bc0f4fb70b
arcel.java
e05498665714d83212eb2e2a4bb39be3ca080506 14-Sep-2013 Dianne Hackborn <hackbod@google.com> am 5b7359aa: am 76adfd71: Merge "Fix issue #10461477: KLP API Review: Debug.MemoryInfo" into klp-dev

* commit '5b7359aa442a120c2853a05bc987c501da659df2':
Fix issue #10461477: KLP API Review: Debug.MemoryInfo
1cd9a73ac020bfb2db32da3c8e853c4a514be858 14-Sep-2013 Dianne Hackborn <hackbod@google.com> am f3b4cf7d: am 28eeb420: Merge "Implement #10749688: Improve low memory reporting" into klp-dev

* commit 'f3b4cf7d01b68418dd652e201868d140de081bd8':
Implement #10749688: Improve low memory reporting
4c7c51480e182a4960797f295f5ce4800cd546e0 14-Sep-2013 Jeff Sharkey <jsharkey@android.com> am f5513f41: am 0bf2ed90: Merge "Move search to roots; Documents root; hide empty." into klp-dev

* commit 'f5513f41fe041bef29ec70abdce7cc6f582a11c2':
Move search to roots; Documents root; hide empty.
3fa8969021793cf75f95540742cac04e6893488e 14-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10461477: KLP API Review: Debug.MemoryInfo

Oops.

Change-Id: I2143790af9e6649dba8d74618358c47232cf6cc4
ebug.java
28eeb42012018bfa3cffc77e9a970e8f5c13f70b 14-Sep-2013 Dianne Hackborn <hackbod@google.com> Merge "Implement #10749688: Improve low memory reporting" into klp-dev
8e69257a9c7e9c1781e1f53d8856358ada38921d 11-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement #10749688: Improve low memory reporting

This significantly reworks the logging we do when
all cached processes are killed:

- We now collect the list of processes in-place so we
have a snapshot of exactly when the low memory situation
happened.
- In that snapshot we include the key process state: oom
adj, proc state, adj reasons.
- The report then asynchronously collects pss information
for those processes.
- The ultimate data printed to the log looks like a mix
between the "dumpsys meminfo" and "dumpsys activity"
output. This code no longer uses "dumpsys meminfo"
itself, so some of that data is no longer included,
in particular pss organized by allocation type.

In doing this, I realized that the existing code that is
supposed to run "procstats" is not currently working. And
at that point I realized, really, when we are collecting
this pss data we'd really like to include all those native
processes using ghod-only-knows how much RAM. And guess
what, we have a list of processes available in
ProcessCpuTracker.

So we now also collect and print information for native
processes, and we also do this for "dumpsys meminfo" which
really seems like a good thing when we are printing summaries
of all pss and such.

I also improved the code for reading /proc/meminfo to be
able to load all the interesting fields from there, and
am now printing that as well.

Change-Id: I9e7d13e9c07a8249c7a7e12e5433973b2c0fdc11
ebug.java
3e1189b3590aefb65a2af720ae2ba959bbd4188d 13-Sep-2013 Jeff Sharkey <jsharkey@android.com> Move search to roots; Documents root; hide empty.

Documents searches now happen root-wide, instead of only under a
subdirectory. Updates abstract class and flags to match. Add flag
for a root to indicate it's empty, and hide empty roots in UI unless
creating.

Define "Documents" public directory and storage backend to contain
files.

Bug: 10712057, 10710865, 10710758
Change-Id: I8716367568969f9cb1d83927b2bf5a7013809350
nvironment.java
123eeea6d62a80fb9660ad623fd378d2f2f0c904 12-Sep-2013 Jeff Sharkey <jsharkey@android.com> am e2d76fa8: am cecccecc: Merge changes Ib1274847,I2eb2a1bf into klp-dev

* commit 'e2d76fa8c6d0f5c3d1a73a3ec9756c4bc545806d':
Fix SDK build.
Request all tethering interfaces, fix corruption.
8d717b917cfe0b7d47743e2c80fd22131048ef3a 12-Sep-2013 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 03422d26 to master

Change-Id: I5d012fb122224c949a0039450bf0a9a475dc8e82
ceccceccffbd2668b98e21487f2323f80d2c7b98 11-Sep-2013 Jeff Sharkey <jsharkey@android.com> Merge changes Ib1274847,I2eb2a1bf into klp-dev

* changes:
Fix SDK build.
Request all tethering interfaces, fix corruption.
95d785346b4dae808a2d8f77356175e55a572d96 11-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10688644: Java crash in com.android.phone:

java.lang.SecurityException: Operation not allowed

There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids. This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.

To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName(). This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.

I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.

Also improve the security exception throw to have a more descriptive
error message.

Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
owerManager.java
ystemVibrator.java
e4984bea95a07dea0ef0259fefa1e52f0bbb1533 11-Sep-2013 Jeff Sharkey <jsharkey@android.com> Request all tethering interfaces, fix corruption.

netd now tracks statistics for tethered interfaces across tethering
sessions, so switch to asking for all tethering stats. (Currently
we're double-counting all tethering data, ever since it started
tracking across sessions.)

Also catch OOME to handle corrupt stats files, which we then dump to
DropBox and then start over.

Bug: 5868832, 9796109
Change-Id: I2eb2a1bf01b993dd198597d770fe0e022466c6b9
NetworkManagementService.aidl
605839066af9a5825c074e54e3db90cf88a2220a 10-Sep-2013 Jeff Brown <jeffbrown@google.com> Fix crash when Looper used after quit.

Calling Looper.loop() after quit() isn't supported but it shouldn't
crash either.

Bug: 8808624
Change-Id: I73ea54444ed908c2e8964645f4a8cd08b842baac
essageQueue.java
c677ff8c3b332aa5080d6662b13c283185810397 07-Sep-2013 Jeff Brown <jeffbrown@google.com> am cbf2b02d: am 23a5f44c: Merge "Fix native crash when message queue quits." into klp-dev

* commit 'cbf2b02d6c288c49f5bdbcb70d87c44d26086ba4':
Fix native crash when message queue quits.
23a5f44c5a306b4a70821722a697da55cc3c5db8 07-Sep-2013 Jeff Brown <jeffbrown@google.com> Merge "Fix native crash when message queue quits." into klp-dev
013cf847bcfd2828d34dced60adf2d3dd98021dc 07-Sep-2013 Jeff Brown <jeffbrown@google.com> Fix native crash when message queue quits.

Fix a race when quitting the looper's message queue that could
cause the mPtr field to be zeroed out and the native object to
be destroyed while still in use.

This happened due to an optimization that was intended to release
the native looper's file descriptor as soon as the last message
was processed rather than waiting for the finalizer to run.

Bug: 9726217
Change-Id: I695a9a657acfdb3ce65a5737ff20cd11113d15fa
essageQueue.java
e52785e6a7e48b39d881aa2190d38d9b3c8b9dab 07-Sep-2013 Robert Greenwalt <rgreenwalt@google.com> am 9234e15d: am ecd0db5a: Merge "Setting MTU size for specific network." into klp-dev

* commit '9234e15d8d4d99b211e6bb5c199790a77cf36be7':
Setting MTU size for specific network.
ecd0db5a7391e8234b3ea5d9e21c19f5d6589b0a 07-Sep-2013 Robert Greenwalt <rgreenwalt@google.com> Merge "Setting MTU size for specific network." into klp-dev
1775ebb76fecaad3c708d9a022aa49d50f50c333 07-Sep-2013 Dianne Hackborn <hackbod@google.com> am b6459eb2: am 3e1fdd9e: Merge "Implement issue #10550827: watching gpu memory for occam_svelte" into klp-dev

* commit 'b6459eb25f0593561389d7cb3da38a4f960cce14':
Implement issue #10550827: watching gpu memory for occam_svelte
9d9b74a900696191048aa97cc3c854072640428b 01-Sep-2013 sy.yun <sy.yun@lge.com> Setting MTU size for specific network.

Able to config network specific MTU size. Normally, the default size of MTU is 1500.
US - ATT 1410, TMUS 1440, SPRINT 1422
KR - SKT 1440, KT 1450, LGU+ 1428
JP - KDDI 1420, SoftBank 1340
CA - RGS 1430, FIDO 1430, MTS 1430, BELL 1358, SaskTel 1358
AU - TEL 1400

Bug: 10195070
Change-Id: Ie18650b37a3d44af944f2dae4aa97c04fb12cd5e
NetworkManagementService.aidl
37c99432625e2adeb50baf25f471abc8481b2b3e 06-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement issue #10550827: watching gpu memory for occam_svelte

Well, it would work if the published file permissions gave the
system process access to them. :(

Change-Id: I99e0c506f52c212384b20a042dcdd35516cf49c2
ebug.java
a94db2467cdc03929c2fc97bf3b451c51a421873 06-Sep-2013 Igor Murashkin <iam@google.com> am 76f883e0: am 034052b3: Merge "Binder: Log exceptions originating from the binder stub for oneway calls" into klp-dev

* commit '76f883e0a8fa6d62110824399440c779a1b68874':
Binder: Log exceptions originating from the binder stub for oneway calls
034052b352e14054d5271ea42985497f6b101b4f 06-Sep-2013 Igor Murashkin <iam@google.com> Merge "Binder: Log exceptions originating from the binder stub for oneway calls" into klp-dev
cd57b4950f5df4c3c435ec3995d730ad98b525dc 06-Sep-2013 Amith Yamasani <yamasani@google.com> am 3d27c9f9: am f1eebfc2: Merge "Remove unused APIs and rename others based on API review" into klp-dev

* commit '3d27c9f973b1dd35ed457785b452851316cdca8a':
Remove unused APIs and rename others based on API review
f1eebfc2cf47b7fb6ed8dfd06fb124f78ca3519e 06-Sep-2013 Amith Yamasani <yamasani@google.com> Merge "Remove unused APIs and rename others based on API review" into klp-dev
7eb6cfe10b1df1f9d6f4d449dff554e7fbca0362 16-Aug-2013 Igor Murashkin <iam@google.com> Binder: Log exceptions originating from the binder stub for oneway calls

- Under a normal situation, if an exception happens in managed, the stack trace
will be printed to logcat.
- Hitherto, the Binder#execTransact call silently caught exceptions and passed
them to the remote side with Parcel#writeException
- Although this behavior might be acceptable when there is a remote side,
for FLAG_ONEWAY calls the exception effectively disappeared.
- From the user point of view, it looked like code execution "halted" when an
exception was thrown.

This tries to make the binder exception handling behavior more like normal,
by printing the exception to the log, to give a better indication of what
happened.

Change-Id: I1f37f0468f61e766a71db60d2fda2104936ab096
inder.java
f55ba05cf8c64a6abc98dc5cf2a540f2dd194325 05-Sep-2013 Mike Lockwood <lockwood@google.com> Merge "ParcelFileDescriptor: Add comments to warn that parcelling must stay in sync with Parcel.cpp implementation"
672fcd5c9a90ed4e133d441fee3b0130c7acd769 05-Sep-2013 Chet Haase <chet@google.com> am 04f31501: am a9fa33b3: Merge "Change build version from KEY_LIME_PIE to KITKAT" into klp-dev

* commit '04f31501602a87ae9526983f4a92e623b4d68bb3':
Change build version from KEY_LIME_PIE to KITKAT
d304af69891483aad808356af1ac5f00e90c8edf 05-Sep-2013 Amith Yamasani <yamasani@google.com> Remove unused APIs and rename others based on API review

Restrictions challenge is only to be used by device admins.

Bug: 10461761
Change-Id: I3db1249e2ce99f386602de59ed930302bb0a97fb
UserManager.aidl
serManager.java
8b85164c506e9a02e6aedfc53823276ba309b419 05-Sep-2013 Mike Lockwood <lockwood@google.com> ParcelFileDescriptor: Add comments to warn that parcelling must stay in sync with Parcel.cpp implementation

Change-Id: If9fcdada0b2dbaae4973ac236b02e527e2e6b198
arcelFileDescriptor.java
e8222dddaf2e3da14380101e818d4254899e0c0d 05-Sep-2013 Chet Haase <chet@google.com> Change build version from KEY_LIME_PIE to KITKAT

Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
uild.java
nvironment.java
2e9992583c014a9199cd270cbaaf0909ab05bd1f 05-Sep-2013 Todd Poynor <toddpoynor@google.com> Merge "BatteryProperty: Add average current property"
1703c54a0e033f90a8ea5c723d0f3b4fe99c8960 05-Sep-2013 Dianne Hackborn <hackbod@google.com> am 021a138b: am 8144585c: Merge "Fix issue #10422349: Limit/change the battery history data in batterystats" into klp-dev

* commit '021a138bdc0a8d1561cd7a429936afb8983c68b0':
Fix issue #10422349: Limit/change the battery history data in batterystats
be7d9e399e9b73d326df172c6f85e2a0fa3455a2 28-Aug-2013 Todd Poynor <toddpoynor@google.com> BatteryProperty: Add average current property

Change-Id: I48907708024bddae9770bc1a3f0149ad901075c4
atteryProperty.java
49021f5f790c31f62d4cee9fafcae13505bed798 05-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10422349: Limit/change the battery history data in batterystats

Don't include history in real checkins; have a new compact option
for bug reports.

Change-Id: I077f9218b365154f6bae9cc685c2c6b378e0283a
atteryStats.java
ef00641cbf891e7640d3abb976f35226489635ba 04-Sep-2013 David Christie <dnchrist@google.com> am 55e4889c: am 61edc94a: Merge "Make location QuickSettings multi-user compatible (b/10563313)" into klp-dev

* commit '55e4889cea528253ff91fe5c1806c0c0b75d9827':
Make location QuickSettings multi-user compatible (b/10563313)
b12ba933f3db9280edcb6a3591741d29c109a4e2 04-Sep-2013 David Christie <dnchrist@google.com> Make location QuickSettings multi-user compatible (b/10563313)

Change-Id: I8ae5238e66fa2d6890ffe5697d3e6d5f50413c3e
serManager.java
bfdd62323e7b3bb724c98730e4143afa3e4d9cb5 11-Jul-2013 Todd Poynor <toddpoynor@google.com> ActivityManagerService use lmkd low memory killer daemon

Change-Id: Ie2f8af1e411c28d7f03be56c356ec39e1d71558e
rocess.java
6f0a04f5d2fbd9507bcb1b4e766623d444503ae5 29-Aug-2013 Jeff Hao <jeffhao@google.com> Change IsMethodTracingActive to GetMethodTracingMode for frameworks.

(cherry picked from commit ffbe799f3824f4be705ca726988355d3943a9004)

Change-Id: Ic87a254171fca7dfdf02c8643cd367055c8889cd
ebug.java
c0a38c227e7affdeeac5ac392ca2e7569eec6089 30-Aug-2013 Jeff Hao <jeffhao@google.com> am 3a9c7161: am 6627e5b2: Merge "Change IsMethodTracingActive to GetMethodTracingMode for frameworks." into klp-dev

* commit '3a9c7161dfd6f16baddd2eb209a013609b927da7':
Change IsMethodTracingActive to GetMethodTracingMode for frameworks.
ac27705f75e74f022de8c7888b14b49fed899176 29-Aug-2013 Jeff Hao <jeffhao@google.com> Change IsMethodTracingActive to GetMethodTracingMode for frameworks.

Bug: 9968521

Change-Id: Ic63340e0d2fef18f27fdfabdd056ac5304c3d54f
(cherry picked from commit ffbe799f3824f4be705ca726988355d3943a9004)
ebug.java
7be3a138d57713bbe6d624998620081807e65b71 23-Aug-2013 Jeff Hao <jeffhao@google.com> Add frameworks support for sample profiling from traceview gui.

(cherry picked from commit ca307d3138ff1e5d0bcf190eb24f3b8dbcabfaa9)

Change-Id: I3553bafe24ac8deb4fa3f9a4d78939c3848b3850
ebug.java
98486543ccb2fc5b46baecf12508808af7a71e72 29-Aug-2013 Jeff Sharkey <jsharkey@android.com> am 6607275b: am 9fd81a90: Merge "Stronger DocumentsProvider contract." into klp-dev

* commit '6607275b3a99b28f4176f8f8cc87f46c5ed051db':
Stronger DocumentsProvider contract.
6607275b3a99b28f4176f8f8cc87f46c5ed051db 29-Aug-2013 Jeff Sharkey <jsharkey@android.com> am 9fd81a90: Merge "Stronger DocumentsProvider contract." into klp-dev

* commit '9fd81a9008d5c8dd33272b6a451d89fa2fa1841e':
Stronger DocumentsProvider contract.
aeb16e2435f9975b9fa1fc4b747796647a21292e 28-Aug-2013 Jeff Sharkey <jsharkey@android.com> Stronger DocumentsProvider contract.

Using a contract class requires that a provider implement it exactly
with little help. This change introduces a DocumentsProvider abstract
class that provides a client-side implementation of the contract that
greatly reduces developer burden, and improves correctness.

This also moves to first-class DocumentRoot objects, and moves calls
with complex side effects to be ContentProvider.call() invocations,
offering more granular permission control over Uri operations that
shouldn't be available through Uri grants.

This new design also relaxes the requirement that root information be
burned into every Uri. Migrate ExternalDocumentsProvider and
DocumentsUI to adopt new API.

Bug: 10497206
Change-Id: I6f2b3f519bfd62a9d693223ea5628a971ce2e743
undle.java
f46f843171e963a7869cc0f1d37974096688e014 28-Aug-2013 Jeff Hao <jeffhao@google.com> am 5d21168b: am 366291e2: Merge "Add frameworks support for sample profiling from traceview gui."

* commit '5d21168bb4b33fb5eb8770996895a729880c7dbc':
Add frameworks support for sample profiling from traceview gui.
ffee626c3ab32888014a03f69e1048368fdd5c19 23-Aug-2013 Jeff Hao <jeffhao@google.com> Add frameworks support for sample profiling from traceview gui.

(cherry picked from commit ca307d3138ff1e5d0bcf190eb24f3b8dbcabfaa9)

Change-Id: Ic193ddadf01c42905fc7c35a1a8bf89fba4556e9
ebug.java
e3d54fe23adfdf9ffb0fa7b7a679ab491bb652a9 23-Aug-2013 Jeff Hao <jeffhao@google.com> Add frameworks support for sample profiling from traceview gui.

Change-Id: I702f12cdd8bd27b762f30e158fbe824909421dee
(cherry picked from commit ca307d3138ff1e5d0bcf190eb24f3b8dbcabfaa9)
ebug.java
f026518672ed93f0c9d4a9ec5c75cc146d4da0a3 27-Aug-2013 Svetoslav Ganov <svetoslavganov@google.com> am e0612ffe: am 826debf5: Merge "Print UI bug fixing and printer discovery refactoring." into klp-dev

* commit 'e0612ffe5495602134d60422f63bfc05387512e1':
Print UI bug fixing and printer discovery refactoring.
44720af55a8fdf991929983dad5d53c02851dd1e 21-Aug-2013 Svetoslav Ganov <svetoslavganov@google.com> Print UI bug fixing and printer discovery refactoring.

1. Added support for selecting a printer from the all printers activity
that is not in the initial printer selection drop down. The user
initially sees a sub set of the printers in the drop down and the
last option is to see all printers in a separate activity. Some
of the printers in the all printers activity are not shown in the
initial drop down.

2. Refactored printer discovery by adding (private for now) printer
discovery app facing APIs. These APIs are needed to support multiple
printer selection activities (print dialog and all printers activities)
and also the settings for showing all printers for a service.

Now multiple apps can request observing for printers and there is
a centralized mediator that ensures the same printer discovery
session is used. The mediator dispatches printer discovery specific
requests to print services. It also aggregates discovered printers
and delivers them to the interested apps. The mediator minimizes
printer discovery session creation and starting and stopping discovery
by sharing the same discovery session and discovery window with
multiple apps. Lastly, the mediator takes care of print services
enabled during discovery by bringing them up to the current
discovery state (create discovery session and start discovery if
needed). The mediator also reports disappearing of the printers
of a service removed during discovery and notifies a newly
registered observers for the currnet printers if the observers are
added during an active printer discovery session.

3. Fixed bugs in the print UI and implemented some UX tweaks.

Change-Id: I4d0b0c5a6c6f1809b2ba5dbc8e9d63ab3d48f1ef
emoteCallbackList.java
d7b34771cbb89c056e7c0f8976db431cad1ace8c 15-Aug-2013 Todd Poynor <toddpoynor@google.com> java-side interface for reading individual battery properties on demand

Change-Id: I60a84ed936f1115fdb122f34986f2e605ae274de
atteryProperty.aidl
atteryProperty.java
BatteryPropertiesRegistrar.aidl
da5a3e12f4f8f965c57d6f93c74190f43ea233f3 11-Aug-2013 Jeff Sharkey <jsharkey@android.com> Richer ParcelFileDescriptor close events.

When reading from the end of a pipe or socket, there is no way to
tell if the other end has finished successfully, encountered an error,
or outright crashed. To solve this, we create a second socketpair()
as a communication channel between the two ends of a pipe or
socket pair, sending a status code with details about why the
ParcelFileDescriptor was closed.

The writer end of a pipe or socket can closeWithError() to send a
message to the reader end. When the reader encounters EOF, they
call checkError() to detect if any error occured. This also detects
the case where the remote process died without sending a success
message.

This design is also extended to support regular files on disk, using
the communication channel above to detect various remote close events
or crashes, and delivering that event to a supplied OnCloseListener.

Replaces JNI with best-practice Libcore.os calls, and deprecates
some flags to match Context.

Bug: 10330121
Change-Id: I8cfa1e4fb6f57397667c7f785106193e0faccad3
arcel.java
arcelFileDescriptor.java
6e14b22cfe2ac923825d4b085e4e48b1fbd98f09 12-Aug-2013 Jeff Sharkey <jsharkey@android.com> Merge "APIs for multiple external storage devices." into klp-dev
1abdb7123025e52512b2ed7a518f8c754c35f50a 12-Aug-2013 Jeff Sharkey <jsharkey@android.com> APIs for multiple external storage devices.

Provide developer APIs to discover application-specific paths on
secondary external storage devices. Covers files, cache, and OBB
directories. Apps will not have write access outside their package-
specific directories on secondary devices, so only primary storage is
exposed through Environment.

Creation of .nomedia files will be handled by FUSE daemon in future
change.

Change-Id: Ifcce6201a686d80269d7285adb597c008cf8fa7c
nvironment.java
719c44e03b97e850a46136ba336d729f5fbd1f47 10-Aug-2013 Romain Guy <romainguy@google.com> Prevent AsyncTask from creating too many threads
Bug #10228005

From the ThreadPoolExecutor documentation:

- If fewer than corePoolSize threads are running, the Executor
always prefers adding a new thread rather than queuing.
- If corePoolSize or more threads are running, the Executor
always prefers queuing a request rather than adding a new thread.
- If a request cannot be queued, a new thread is created unless
this would exceed maximumPoolSize, in which case, the task will
be rejected.

Before this change AsyncTask could create up to 128 threads because
of the limited queue of 10 items (the capacity of a blocking queue
is fixed.)

This change increases the size of the queue to 128 items and reduces
the maximum number of threads to the number of CPU cores * 2 + 1.
Apps can still submit the same number of tasks.

Change-Id: I015d77b53b6a9fda39c618830b34d45a10de5571
syncTask.java
184a0100abc431fc3d6d8dd1b20212b84958cada 11-Jul-2013 Jeff Sharkey <jsharkey@android.com> Allow packages.list access with new GID.

The FUSE daemon is using packages.list to map from package name to
appId after it drops permissions, so create a new "package_info" GID
to grant read access.

Also switches FileUtils to use Libcore.os.

Change-Id: I9451ca4e90e8a985526805c6df0888a244a1db36
ileUtils.java
rocess.java
8a0de58ece89c467c8e7415097d193e5f8db9db8 08-Aug-2013 Dianne Hackborn <hackbod@google.com> Get ProcessStats callable from other processes.

Also fix a bug where, when parceling the stats, we were
computing the final duration values too late. We need to
do that before we write the long table.

Change-Id: Idb6c1ed95417448c56973fe5866bfb3570e525f4
atteryStats.java
df89ca3308544cfdd1ca12b22eac4a1d16e04410 31-Jul-2013 Todd Poynor <toddpoynor@google.com> batteryservice: add battery current now and charge counter data

Available for retrieval via future APIs if desired. Dumped by dumpsys.
Not added to batterystats or ACTION_BATTERY_CHANGED intents at this point.

Also fixes a formatting problem in the existing dumpsys output for voltage.

Change-Id: I5320b19035914256fb872c13095c09c648dd522a
atteryProperties.java
d2932243e3313b59e7538641731aa98852bc5ac7 06-Aug-2013 Dianne Hackborn <hackbod@google.com> Refactor ProcessStats, ProcessTracker.

ProcessStats is now called ProcessCpuTracker.

ProcessTracker is now ProcessStatsService, and its inner State
class is broken out into a separate top-level ProcessStats class.
This ProcessStats is moved to the framework, so we will be able
to use it elsewhere.

Change-Id: I6a127bcb835b6b474b72647c0b99b82c2137e5c5
inder.java
221ea892dcc661bd07d6f36ff012edca2c48aed4 05-Aug-2013 Dianne Hackborn <hackbod@google.com> Start restricting service calls with implicit intents.

The bindService() and startService() calls have always had
undefined behavior when used with an implicit Intent and there
are multiple matching services. Because of this, it is not
safe for applications to use such Intents when interacting with
services, yet the platform would merrily go about doing... something.

In KLP I want to cause this case to be invalid, resulting in
an exception thrown back to the app. Unfortunately there are
lots of (scary) things relying on this behavior, so we can't
immediately turn it into an exception, even one qualified by the
caller's target SDK version.

In this change, we start loggin a WTF when such a call happens,
and clean up some stuff in Bluetooth that was doing this behavior.

Change-Id: I62e25d07890588d2362104e20b054aebb6c0e007
uild.java
2a805f930463ece57bc0d0fd8dee7f5d50681b22 01-Aug-2013 Elliott Hughes <enh@google.com> resolved conflicts for merge of 368d81fe to master

Change-Id: I4bc59cd9a54cbc1b62ac135cf86dc73ac85968d5
6d4b1e24aef5b74b40de4d8f6e63c21874ce8e3a 01-Aug-2013 Elliott Hughes <enh@google.com> Switch Process.myTid over to the libcore JNI too.

Change-Id: I80eaecff014fabf809f4be3c9ee8b26aa64bf0cf
rocess.java
406ec15647b7664cadadde41dbaaa10e298c582b 30-Jul-2013 Jeff Hao <jeffhao@google.com> Replace native Process getpid/getuid with calls to libcore equivalents.

The Process natives were getting called were getting called while
handling a jdwp packet before the vm had a chance to register them.

(cherry-pick of 5bce6a308fc8a3c1e449cf905b8b6e8ace4ef3e2.)

Change-Id: Ia2b4f79b11e427283a712b2d0c52948f394640bf
rocess.java
bd19b9ee305c11d8aa3cbb105bf2d3a6b06389b5 12-Apr-2013 Stephen Smalley <sds@tycho.nsa.gov> Replace SEAndroid with SELinux.

Change-Id: Ibbe544a9f025d71ad416bc01cee2145b62d7b2d4
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
rocess.java
c7e9e8b4f3e264375b416eff830739ecf0dc206c 15-Jan-2013 Sungmin Choi <sungmin.choi@lge.com> handle negative temperature

When the battery temperature drops to below zero, BatteryLevelInit()
fails to show negative temperature. Because the type is unsigned
and the size of bit field is 10 bits.
So to handle negative temperature, change the type of battery temperature
from "char" to "short". And extend the size of temperature bit field
from 10 to 11 bits, which first bit is used for the sign bit.

Before:
31 24 14 0
+---------------+---------------------+-----------------+
| Battery Level | Battery temperature | Battery Voltage |
+---------------+---------------------+-----------------+

After:
31 25 14 0
+-------------+-----------------------+-----------------+
|Battery Level| Battery temperature | Battery Voltage |
+-------------+-----------------------+-----------------+

Bits 31..25: battery level percentage (7 bits unsigned)
Bits 24..14: battery temperature (11 bits signed)
First bit is used for the sign and others for the temperature
Bits 13..0: battery voltage in 0.001 volt units (14 bits unsigned)

Becuase of changing the format, let the BatteryStatsImpl.VERSION field
increment.

Bug: 8009514
Change-Id: Iaa12f4d3f14e6cf4d73bc1a23d81c60f9677a499
atteryStats.java
a9de3462a6f4eaea63e12d82aaa0eb5728b1f812 23-May-2013 Todd Poynor <toddpoynor@google.com> Add libbatteryservice AIDL and java interfaces

Add IBatteryPropertiesRegistrar and IBatteryPropertiesListener AIDLs,
BatteryProperties class.

Change-Id: Ic8e71178c02b04868eca29c3da88e877bc2590ca
atteryProperties.aidl
atteryProperties.java
BatteryPropertiesListener.aidl
BatteryPropertiesRegistrar.aidl
5830e0752121c5565da184727888de6567b50e3a 23-Jul-2013 Geremy Condra <gcondra@google.com> Merge "Fix supplimentary network connections with VPNs"
0343ec3abb205b21d554ab432710ff854f3d9d75 22-Jul-2013 Amith Yamasani <yamasani@google.com> User restriction API to disable single-user restrictions feature.

Change-Id: I80e08b38b5e32f3cb1af51398907510508ec199f
serManager.java
450d8c5b7c936b00fd0d40b5d68670df0fe56daa 20-Jul-2013 Dianne Hackborn <hackbod@google.com> Fix issue #9940105: IllegalArgumentException in ArrayMap

Try to deal with unmarshalling old parcels. Turns out someone
was writing a parcel to disk storing a Bundle. Naughty, naughty.
This helps us not completely keel over.

Change-Id: Id343da2690b7bab89f6c3cb6fad1b92f270dad03
undle.java
f336d722c773855402d91a227fc290eafca23335 16-Jul-2013 Chad Brubaker <cbrubaker@google.com> Fix supplimentary network connections with VPNs

Enables the use of supplimentary mobile networks like MMS, and HIPRI
while VPNs are running.

Change-Id: I313f57a905b4e16bd4322c68687cbff1cfbe9d3e
NetworkManagementService.aidl
7e81dd274f36265e1421d0859727bb253fe75e91 19-Jul-2013 Amith Yamasani <yamasani@google.com> Merge "Have UserManagerService clear the restrictions and unblock apps"
127c5ef5d7bf2dc44fc53deeda9058a17e27addb 19-Jul-2013 Dianne Hackborn <hackbod@google.com> Fix crash.

Change-Id: I0b5d846d5a9e6b1c7c3756b653833c263634270b
undle.java
1a7472e7220a2b027464fb4a2281550f784a2ca3 02-Jul-2013 Amith Yamasani <yamasani@google.com> Have UserManagerService clear the restrictions and unblock apps

Since this is an operation that could take a few seconds to run and needs to be
completed even if Settings dies, best to do it in the user manager.

Refactored PIN challenge/setup UI with a field to verify existing pin
when changing to a new one.

Change-Id: I0b7df5b2ccb7f343aa9282a9245d3bc2b577a794
UserManager.aidl
serManager.java
b87655b3e551c6a32f34084c8533800bbd1aff7d 18-Jul-2013 Dianne Hackborn <hackbod@google.com> Switch Bundle's implementation over to ArrayMap.

That was... um... easier than I thought it was going to be.

Change-Id: Id8f2211c1d5f8145e0bb009dca0f62a590f2b860
undle.java
arcel.java
cdae0f3c608ed5aee5ddbdf9c54ac86a5619e64b 16-Jul-2013 Dianne Hackborn <hackbod@google.com> Merge "Switch proc stats to use new process state constants."
0a880d040203ddbd89253d4a80ea03c10a5e8798 16-Jul-2013 Rom Lemarchand <romlem@google.com> Merge "Increase swappiness of processes when memcgroups are enabled"
c8230519728b14065effd3b7d4eca273ff86160c 14-Jul-2013 Dianne Hackborn <hackbod@google.com> Switch proc stats to use new process state constants.

These new constants are a better mapping to the kind of
information that procstats is wanting to collect about
processes. In doing this, the process states are tweaked
to have a bit more information that we care about for
procstats.

This changes the format of the data printed by procstats,
so the checkin version is bumped to 2. The structure is
the same, however the codes for process states have all
changed. The new codes are, in order of precedence:

p -- persistent system process.
t -- top activity; actually any visible activity.
f -- important foreground process (ime, wallpaper, etc).
b -- important background process
u -- performing backup operation.
w -- heavy-weight process (currently not used).
s -- background process running a service.
r -- process running a receiver.
h -- process hosting home/launcher app when not on top.
l -- process hosting the last app the user was in.
a -- cached process hosting a previous activity.
c -- cached process hosting a client activity.
e -- cached process that is empty.

In addition, we are now collecting uss along with pss
data for each process, so the pss checkin entries now
have three new values at the end of the min/avg/max uss
values of that process.

With this switch to using process state constants more
fundamentally, I realized that they could actually be
used by the core oom adj code to make it a lot cleaner.
So that change has been made, that code has changed quite
radically, and lost a lot of its secondary states and flags
that it used to use in its computation, now relying on
primarily the oom_adj and proc state values for the process.

This also cleaned up a few problems -- for example for
purposes of determing the memory level of the device, if a
long-running service dropped into the cached oom_adj level,
it would start being counted as a cached process and thus
make us think that the memory state is better than it is.
Now we do this based on the proc state, which always stays
as a service regardless of what is happening like this, giving
as a more consistent view of the memory state of the device.

Making proc state a more fundamentally part of the oom adj
computation means that the values can also be more carefully
tuned in semantic meaning so the value assigned to a process
doesn't tend to change unless the semantics of the process
has really significantly changed.

For example, a process will be assigned the service state
regardless of whether that services is executing operations
in the foreground, running normally, or has been dropped to
the lru list for pruning. The top state is used for everything
related to activities visible to the user: when actually on
top, visible but not on top, currently pausing, etc.

There is a new Context.BIND_SHOWING_UI added for when system
services bind to apps, to explicitly indicate that the app
is showing UI for the system. This gives us a better metric
to determine when it is showing UI, and thus when it needs
to do a memory trim when it is no longer in that state. Without
this, services could get in bad states of continually trimming.

Finally, more HashSet containers have been changed to ArraySet,
reducing the temporary iterators created for iterating over
them.

Change-Id: I1724113f42abe7862e8aecb6faae5a7620245e89
ebug.java
5534ba91ac0a0c9af822af62bcf92e2c5a8d6ec8 13-Jul-2013 Rom Lemarchand <romlem@google.com> Increase swappiness of processes when memcgroups are enabled

When memcgroups are enabled, migrate heavier and lower priority processes
to the sw memcgroup.

Change-Id: Iba07a723037a599736ef23dea16a30a26634428a
rocess.java
6098c5d3555860f272d8ddbd353a42f4c8474e1c 17-Jun-2013 John Spurlock <jspurlock@google.com> Docfixes in IBinder, Context, View, and Intent.

Fix links in @throws clauses, typos, redundant "returns"
and use @code for true + false in returns.

Change-Id: Ic3c4c75d6061732d997a386dc3232475c992c188
Binder.java
f33468e68a6e78c6a2c88d90de4fbce55cad7eac 12-Jul-2013 Geremy Condra <gcondra@google.com> Merge "Add NetworkManagement support for fwmark routes"
cca54c4decc70dd49382cc7ebe297845c94ee706 28-Jun-2013 Chad Brubaker <cbrubaker@google.com> Add NetworkManagement support for fwmark routes

Add NetworkManagementService binds for netd's fwmark routes

Change-Id: I55cf6b198d56f1fb0d20818ddf176a0f779a33b6
NetworkManagementService.aidl
a7ac8be1f564ad27c0b1f4796b60f3eaaa8dc611 11-Jul-2013 Elliott Hughes <enh@google.com> am dff4ec87: am e16a21c6: resolved conflicts for merge of 4a59376d to stage-aosp-master

* commit 'dff4ec87e7b942b7b4410f639fc74c2cffb386d6':
Track libcore API change.
e16a21c6b4f108813e5f5e00f30e0ff075de504c 10-Jul-2013 Elliott Hughes <enh@google.com> resolved conflicts for merge of 4a59376d to stage-aosp-master

Change-Id: I0e40180b46dc58781c218b8d382299dab73d49cc
befd0b1bdfb4492425944a1b7fcf6d10eaed9b4c 09-Jul-2013 Elliott Hughes <enh@google.com> Track libcore API change.

Change-Id: Ib818a7f21325c5f918bf497033a90d76b25ec9e7
tatFs.java
a4cc205ee840a5374a96c9635dc5121d82a3eaf9 09-Jul-2013 Dianne Hackborn <hackbod@google.com> More procstats work.

The historical data is now a more central part of the stats.
When a checkin happens, the data is not deleted, just marked
as checked in so we can continue to access it.

The default procstats dump is now a new "summary" mode that
shows a more useful set of data for all of the running processes.
By default the current and all committed states are shown; you
use "--current" to only show the current. Use "--details" to
get the previous more detailed data (which now includes detailed
process data like the per-package data).

Also tweaked uid printing to be a little more compact.

Change-Id: I5414ea7c07134ebd5dc83f6f7b9f6e30151eda85
atteryStats.java
serHandle.java
053f61d6a6e23825e680dc49982e55c5b4299d61 27-Jun-2013 Dianne Hackborn <hackbod@google.com> Work on issue #9586838: Crash after waking up Hammerhead device

I made the power manager more rigid, not allowing different uids
to use the same wake lock. This never should happen. I would
guess there is somewhere that the activity manager is acquiring
the wake lock without clearing the calling identity... but it is
hard to follow all the paths this may happen in. So here we add
some checks when acquiring/releasing the wake lock to make sure
it is being done as the system uid.

Also:

- Protect the new activity stack calls with a permission, and
make sure to clear the calling uid once past that.
- Collect uid data from process stats so we can correctly
associate CPU use with a uid even if we don't know about the
pid for some reason.
- Fix battery stats dump commands to clear calling uid before
executing so they aren't broken.

Change-Id: I0030d4f7b614e3270d794ecfc3669139a5703ce9
ileUtils.java
5fa9f2b127c2d7c40da419540f3425ac45a89439 27-Jun-2013 Amith Yamasani <yamasani@google.com> Merge "Single-user restrictions"
13ac041b9f21043bc7c848a743be618bfd7a67e9 26-Jun-2013 Dianne Hackborn <hackbod@google.com> Update procstats to start collecting/reporting pss.

Completely reworked how it manages its data, since trying
to keep track of all of the possible pss data with the old
data structures would have made it huge. Now we have a sparse
data structure for pss and process times. (Will switch service
times over to it soon.)

Currently the only thing that collects pss data is running
"dumpsys meminfo". More will be added later.

Modified checkin output to also scale better as more distinct
data categories are added, and added output of pss data. Now
instead of dumping every possible entry as a comma-separated
list, it dumps a comma-separated list of only the entries with
data, tagged with the state they go with.

Also fixed some problems in the checkin reporting of batterystats
(it needs to escape commas), added checkin reporting of the history
list, fixed parsing of kernel wake locks to strip quotes, fixed
wake lock name that the sync manager generates to be more sane.

Change-Id: Ibf4010838a9f685ebe1d93aff86c064ccc52b861
atteryStats.java
rocess.java
655d0e2029e6ae77a47e922dce4c4989818b8dd1 12-Jun-2013 Amith Yamasani <yamasani@google.com> Single-user restrictions

Introduces a new "blocked" state for each package. This is used to temporarily
disable an app via Settings->Restrictions.

PIN creation and challenge activities for use by Settings and other apps. PIN
is stored by the User Manager and it manages the interval for retry attempts
across reboots.

Change-Id: I4915329d1f72399bbcaf93a9ca9c0d2e69d098dd
UserManager.aidl
serManager.java
8c84109b9fbbf473b225707a38261ff5f99d95fb 24-Jun-2013 Dianne Hackborn <hackbod@google.com> Use FastPrintWriter... everywhere.

One problem this turned up is, because FastPrintWriter does
its own buffering, a lot of code that used to use PrintWriter
would fail -- if it pointed to a StringWriter, there was no
buffering, so it could just immediately get the result. Now
you need to first flush the FastPrintWriter.

Also added some new constructors to specify the size of buffer
that FastPrintWriter should use.

Change-Id: If48cd28d7be0b6b3278bbb69a8357e6ce88cf54a
ebug.java
trictMode.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
ancellationSignal.java
db4e33f1f1d766afa3218a6bbdbb561e7962c854 02-Apr-2013 Dianne Hackborn <hackbod@google.com> Faster PrintWriter.

Change-Id: I4e1ae7e0357214deb7e19ae65f8701b69b347c6e
inder.java
fbf7a9aea201484ff40e827de97a6db903b53ac3 15-Jun-2013 Dianne Hackborn <hackbod@google.com> Merge "More work on process tracking."
91268cf21eace600792d04db1ac62e9268f48002 14-Jun-2013 Dianne Hackborn <hackbod@google.com> More work on process tracking.

Re-arranged code to be more flexible, now track
state of services, dump ordered list of running
processes while memory was critical and low.

Also rename battery stats service from "batteryinfo" to "batterystats".

Change-Id: I0f4f0c8d443c49d255cb84d0fc917e8ec18b152e
atteryStats.java
214816da8ebfae411610c8f9ec4c4285b8f6f359 15-Jun-2013 Jeff Sharkey <jsharkey@android.com> Merge "Cache AndroidBlockGuardPolicy to avoid allocation."
a2934d5ff0b5c4098408cd583c2c259edf37c118 14-Jun-2013 Jeff Sharkey <jsharkey@android.com> Cache AndroidBlockGuardPolicy to avoid allocation.

Every incoming Binder call ends up triggering a BlockGuardPolicy
update, which would thrash between new AndroidBlockGuardPolicy
instances and BlockGuard.LAX_POLICY, causing GC churn.

This change avoids the extra allocations by recycling a single
AndroidBlockGuardPolicy in a ThreadLocal. Worst-case thrashing case
is now 10% faster; from 7.46us to 6.65us.

Bug: 9424568
Change-Id: I9c3b1c097a2aecc9b1f109a824cf3ea319fb3393
trictMode.java
e08d54b92e32244a44283a84d7fae9ca37ff51b5 14-Jun-2013 Geremy Condra <gcondra@google.com> Merge "Add NetworkManagement methods for netd uid binds"
a5512f2e0ed8fc9656304b3a78c2123ae4f68370 13-Jun-2013 Kristian Monsen <kristianm@google.com> Merge "Add javadoc to Handler.Callback.handleMessage"
3277620a69b6b9f27126f0b2651ea4293731cd09 12-Jun-2013 Chad Brubaker <cbrubaker@google.com> Add NetworkManagement methods for netd uid binds

Add methods to NetworkManagementService for per uid routing and DNS and
for setting up fwmark tables for interfaces.

Change-Id: Icf2c4a46f7f422660031ef73b537745922286246
NetworkManagementService.aidl
cbfd23ee6f14445c3e17c5169abbc80c216fa137 11-Jun-2013 Dianne Hackborn <hackbod@google.com> Add new API to retrieve a dumpsys of a single package.

Adds a platform API, and pm command. Fixes some issues with
dumping per-package data in package manager, makes battery
stats able to dump per-package state.

Change-Id: I76ee6d059f0ba17f7a7061886792b1b716d46d2d
atteryStats.java
7a1c3fce478122b9f03464117dc94d44f7c1995e 04-Jun-2013 Jeff Sharkey <jsharkey@android.com> Accumulate network statistics based on deltas.

Network stats are now read out of the kernel in one sweep, instead of
reading per-UID. We now accumulate the delta traffic between each
stats snapshot using the well-tested SamplingCounter pattern.

Since Wi-Fi and mobile traffic have different costs, track each
separately. Avoids counting misc interfaces like loopback and
ethernet under total.

Bug: 5543387
Change-Id: I642004dc530113c27ef79f2abbae51d8af30117f
atteryStats.java
1d3b409cd93f803aa7a0bbafa2ac5fa90866bc33 06-Jun-2013 Kristian Monsen <kristianm@google.com> Add javadoc to Handler.Callback.handleMessage

Describing param and return value. There is a public bug for this at:
https://code.google.com/p/android/issues/detail?id=6464

Change-Id: Ia917cd4e047b629e6511bf12a91a5e953da8ae2e
andler.java
390517be2d60dd6e6264150c190c372d89bb331a 31-May-2013 Dianne Hackborn <hackbod@google.com> Clean up some temporary allocations.

Yay to ArrayMap, letting me get rid of a bunch of temporary
iterators in core code paths like updateOomAdj. (Now I definitely
need an ArraySet to finish that up.)

Also clean up various other things that are doing unnecessary
allocations, clean up some debug output, make more of the debug
output respect package filtering.

Change-Id: Ib4979faf4de8c7912739bc0937c3fa9e7bfcde67
emoteCallbackList.java
trictMode.java
80b12fcaaec458377d966803c3a61504f0897ea1 30-May-2013 Romain Guy <romainguy@google.com> Disable the AssetAtlas when running under valgrind
Bug #9191438

When running under valgrind, the ppid will be different from the ppid
of the system server (which always gets forked from zygote.)

Change-Id: I42cbf99fd0084aeab76c30de9beb7c49ed1fc7d8
rocess.java
df6f42394bb75837516a4dd6a148b17effd122a8 24-May-2013 Tim Murray <timmurray@google.com> Merge "Add support to Java for RS tracing."
6d7a53cbddbffba30f7e9f82ced9c1ab46214f5a 24-May-2013 Tim Murray <timmurray@google.com> Add support to Java for RS tracing.

Change-Id: I95c365345fea3a1e132a7eb2270d541be0745d02
race.java
64770d16b0907a8e1ee81ef6c8fa398a6bdbee79 24-May-2013 Dianne Hackborn <hackbod@google.com> Some improvements to meminfo output.

- Rename "Swappable PSS" to "PSS Clean" which I think is what it
means and is consistent with the other memory metrics.
- Split at the top level the dalvik heap from other dalvik allocations,
so when you look on the dalvik allocations line things are consistent
with the allocator's data and it is clear what are app allocations vs.
other data in dalvik.
- Don't print lines that are all 0.
- Don't print the detailed Dalvik allocation data by default; add a new
option to have it printed.

Here's what a typical system process dump now looks like:

** MEMINFO in pid 6358 [system] **
Pss Pss Shared Private Shared Private Heap Heap Heap
Total Clean Dirty Dirty Clean Clean Size Alloc Free
------ ------ ------ ------ ------ ------ ------ ------ ------
Native Heap 0 0 0 0 0 0 6964 3599 2048
Dalvik Heap 7541 0 4344 7356 0 0 11768 11194 574
Dalvik Other 3553 0 2792 3448 0 0
Stack 28 0 8 28 0 0
Cursor 4 0 0 4 0 0
Ashmem 5 0 12 0 0 0
Other dev 4004 0 24 4000 0 4
.so mmap 3959 684 2500 2280 5468 684
.apk mmap 173 68 0 0 692 68
.dex mmap 4358 3068 0 0 9276 3068
Other mmap 60 0 8 8 244 36
Unknown 4387 0 508 4380 0 0
TOTAL 28072 3820 10196 21504 15680 3860 18732 14793 2622

Objects
Views: 10 ViewRootImpl: 1
AppContexts: 8 Activities: 0
Assets: 3 AssetManagers: 3
Local Binders: 176 Proxy Binders: 341
Death Recipients: 141
OpenSSL Sockets: 0

SQL
MEMORY_USED: 473
PAGECACHE_OVERFLOW: 98 MALLOC_SIZE: 62

DATABASES
pgsz dbsz Lookaside(b) cache Dbname
4 68 49 7/21/7 /data/data/com.android.providers.settings/databases/settings.db
4 20 17 0/13/1 /data/system/locksettings.db
4 20 21 96/14/2 /data/system/locksettings.db (1)
4 20 21 75/13/2 /data/system/locksettings.db (2)
4 80 29 4/17/3 /data/system/users/0/accounts.db

Change-Id: Ifd511a7baaa8808f82f39509a5a15c71c41d1bac
ebug.java
3c61506b7147e13b9d39fc07fb189504fcab4541 13-May-2013 Anwar Ghuloum <anwarg@google.com> Add more memory usage stats

Added support for teasing apart different parts of the dalvik heap.

Note this adds more public api and we should talk to hackbod before going into master with this.

(cherry picked from commit 73407daf3f6110e933d8614605b21586c4c5fde2)

Change-Id: If4431f50e67e18bcc42e00694c97805477bd6815
ebug.java
3a8ce1bec819c9b104880493a6862fd2a9546132 27-Apr-2013 Anwar Ghuloum <anwarg@google.com> More stats for meminfo

Added shared clean tracking (for pageable stuff). Renamed .oat and .art mmap.

(cherry picked from commit 967d53b17b6010c3a675ca9c3bbd0e9dd2f2f092)

Change-Id: I741e0dbe0d3f9aee6975c6fad8af9905942962d4
ebug.java
88887d0a53f866e61a7524b0edfc95e6dde57d72 19-Mar-2013 Anwar Ghuloum <anwarg@google.com> break out boot.art

breaking out boot.art mapped pages

(cherry picked from commit eaa3f2d59adaeb87cd8d1726b696521f984659c4)

Change-Id: Ie89477bd3a93a15de3a4db76ef5eae497c3087e3
ebug.java
8884ef4fe80505bc6e41c167b67efbb93e43475d 15-Mar-2013 Anwar Ghuloum <anwarg@google.com> Break out Oat footprint for ram

Breaking out oat footprint in meminfo.

(cherry picked from commit c92f177d96b5952e0bfde01597972fc607aed93a)

Change-Id: I7b0452045c265b7544c41d3a5953e10a081c5315
ebug.java
66d5369e79182dbe65306b27a4da7f4a7e25c723 22-May-2013 Richard Haines <richard_c_haines@btinternet.com> Fix SELinux.java doc errors

This fixes five errors when building the Java docs. It also
removes two obsolete lines.

Signed-off-by: Richard Haines <richard_c_haines@btinternet.com>
ELinux.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
PowerManager.aidl
owerManager.java
b14e42f1211940baa76b15589bfa696611fea87f 10-May-2013 Dianne Hackborn <hackbod@google.com> Merge "Cleanup some of the thread merging."
fa98345745049cb352fe5c2cca525a612dcb5007 09-May-2013 Daniel Sandler <dsandler@android.com> am 617055d7: am 5d6dc425: Merge "Filter out dangerous CharSequences in Notification." into jb-mr2-dev

* commit '617055d7a9e2c30d1a99bf7e596f8d9e32fab723':
Filter out dangerous CharSequences in Notification.
5d6dc425287e5651e3a1fdc32591b8791dd9dd18 09-May-2013 Daniel Sandler <dsandler@android.com> Merge "Filter out dangerous CharSequences in Notification." into jb-mr2-dev
8afcf4411ef472256c030b4c747132c6a4bfdec0 09-May-2013 Jamie Gennis <jgennis@google.com> am 211eae98: am d28653df: Merge "Add the trace tag for Dalvik." into jb-mr2-dev

* commit '211eae98fce88c7c502eb8f59d956c1a249d77bc':
Add the trace tag for Dalvik.
dcbaf661bfa931f481022c27987798a03ce7a932 26-Apr-2013 Daniel Sandler <dsandler@android.com> Filter out dangerous CharSequences in Notification.

If an app mistakenly puts some Parcelable implementation of
CharSequence in here, Bundle will try to marshal the derived
class, which is going to be bad news when we try to unparcel
it in another process.

Additionally add a proper stack trace to unparceling
failures (otherwise you have no idea where the bad parcel
was being used).

Bug: 8725271
Change-Id: Ide19b986d65c7f47929cf2dde4e62b762c469fee
arcel.java
d28653df6580b76559374580764aa2e86d6c2f48 08-May-2013 Jamie Gennis <jgennis@google.com> Merge "Add the trace tag for Dalvik." into jb-mr2-dev
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
ooper.java
essageQueue.java
0cc84cefdd4e947f984678dfe854d3c53ded0475 08-May-2013 Jamie Gennis <jgennis@google.com> Add the trace tag for Dalvik.

Bug: 8856374
Change-Id: Id0fbdb8f7a487c5831edcd2c6c64a7da63aec03d
race.java
3aa49b6fece334ace7525d42c1f6d0b7cdc1fbfb 27-Apr-2013 Dianne Hackborn <hackbod@google.com> New UndoManager.

Basic implementation of an undo manager. Supports
multi-level undo/redo, building on the top undo state
as edits occur, managing multiple distinct entities in
the undo state (such as embedded objects in a document),
and saving/restoring the full undo state. Still some
work remaining on correctly dealing with dependencies
between undo states that hold multiple owners.

Also do a simple implementation of undo state in TextView
to see how things actually work. The implementation here
is very primitive: it needs a lot more work to correctly
identify when to merge undo ops, is not trying to do
anything smart with style spans, etc.

Change-Id: Ie30f4e133351e2f569ffb48c6c44a2b19cadee27
arcelableParcel.java
add582122dcec5aeb20d9e8f8c49348e00a5fe76 07-May-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of 485d7a31 to master

Change-Id: I058e19af8732df44457bdc614ee810a642dc25e4
5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a 04-May-2013 Dianne Hackborn <hackbod@google.com> Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS

IActivityController has a new callback which the Watchdog calls
when it detects that the system process is hung. This may be
use full monkey. All hail the monkey!

Also add a new private feature to Binder to be able to turn off
all incoming dump() calls to a process. The watchdog uses this
when it reports it is hung, so that if someone, say, wants to
collect a bug report at this point they won't get stuck waiting
for things that are all busted.

Change-Id: Ib514d97451cf3b93f29e194c1954e29f948c13b1
inder.java
ec43a6bc17d90058ba2c00e016846c863ab239bc 30-Apr-2013 Jeff Sharkey <jsharkey@android.com> Better --unplugged support when dumping battery.

Also fixes logBatteryStatsLocked() to output valid dump data, instead
of just a usage message.

Bug: 8708665
Change-Id: Ie0d8d90e1a470b7e1e902643333309c2cf7bdb72
atteryStats.java
fe9270712ec9e84ba37dc13c42495b0b6ec3753e 26-Apr-2013 Amith Yamasani <yamasani@google.com> am 83a61421: am bbd90f8e: Merge "Hide isLinkedUser()" into jb-mr2-dev

* commit '83a6142173fbd3ddf5c4285e2b6359e44beaddb0':
Hide isLinkedUser()
3e013e85b0dfb9db58a4401b80d672a7eeb09d47 25-Apr-2013 Jeff Sharkey <jsharkey@android.com> Track foreground activities in battery stats.

To help correlate battery usage against actual foreground app usage,
start tracking time on a per UID basis. It uses the nesting feature
of StopwatchTimer to track multiple PIDs inside the same UID.

Improves units on docs, and persists foreground CPU time with a
consistent ordering. Reports foreground activities time and
foreground CPU time.

Change-Id: I95d12963923e3fd421730f6fbfc842dfd8d3a055
atteryStats.java
2555dafce87e60fae28d71913730abf73e40fcd7 25-Apr-2013 Amith Yamasani <yamasani@google.com> Hide isLinkedUser()

It's not the best API to use to determine anything. Defer to other
APIs such as UserManager.getUserRestrictions()

Bug: 8720520
Change-Id: Ie49589056ab52b4fdbcc736f8cdefadb8ba5d9d8
serManager.java
023c1f4a1e94ae93a4ab4578ea87a0c26eb83667 24-Apr-2013 Ian Rogers <irogers@google.com> am 896ee5b6: am be4536d2: Merge "Adding matching @deprecated."

* commit '896ee5b6f8354567464a371025088156ed49bc32':
Adding matching @deprecated.
282a7e1b1db121c910f25b13081242a8c7611708 19-Apr-2013 Ian Rogers <irogers@google.com> Adding matching @deprecated.

Bug: 8657266

(Cherry-pick of c2a3adbd56e763ef0ad045fd8c58a54e41d1639d)

Change-Id: Idbd22dc647f11441d15da12eb23723539768cf4c
ebug.java
eadbcd3352fa58c685f83e4128f4a01c904b9c7e 23-Apr-2013 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 8c3cb811 to master

Change-Id: I1cd4186b6b2dcb3d1d7d21c346384dbcc6e6a8df
896ee5b6f8354567464a371025088156ed49bc32 23-Apr-2013 Ian Rogers <irogers@google.com> am be4536d2: Merge "Adding matching @deprecated."

* commit 'be4536d214eedc3d12b50f0f30b47bba773b8dbc':
Adding matching @deprecated.
d2eeed635d2d7fdeeda0a1eaa6ec9e659198c45f 22-Apr-2013 Dianne Hackborn <hackbod@google.com> JB MR2 == API 18.

Change-Id: Ia62a81f8ebc79ae0e01b181f4ef47ef192c71592
uild.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
nvironment.java
50474f91e3453e0e6448803c956d39e2e143e604 19-Apr-2013 Jeff Sharkey <jsharkey@android.com> am dde9559b: am 24b55f25: Merge "Deprecate StatFs methods returning small values." into jb-mr2-dev

* commit 'dde9559b78a93344ec0b568c2bac7329621de31f':
Deprecate StatFs methods returning small values.
c2a3adbd56e763ef0ad045fd8c58a54e41d1639d 19-Apr-2013 Ian Rogers <irogers@google.com> Adding matching @deprecated.

Bug: 8657266
Change-Id: Idbd22dc647f11441d15da12eb23723539768cf4c
ebug.java
b81440bd9bcb22ba93c2bfec4e3c2da39a57c95d 19-Apr-2013 Jeff Sharkey <jsharkey@android.com> Deprecate StatFs methods returning small values.

Bug: 8656794
Change-Id: Ic904bd1bc016ef48b5a304b7c68250afe23e98bc
tatFs.java
8844892a8859c5231cb5bfa76719c6bd46075710 19-Apr-2013 Jeff Brown <jeffbrown@google.com> am ba8fdcac: am 6f575bb3: Merge "Fix change of behavior in Looper.quit()." into jb-mr2-dev

* commit 'ba8fdcac4cc4ae3d9dcac8fa6a64c55facd6f25f':
Fix change of behavior in Looper.quit().
8b60e4514702edd1eb4b6f2bfc027e04a94369c0 19-Apr-2013 Jeff Brown <jeffbrown@google.com> Fix change of behavior in Looper.quit().

It seems some applications rely on Looper.quit() terminating the
loop immediately without processing all messages. Rather than
risk breaking them, make the safer behavior optional.

Also take care to properly drain the message queue before quitting
so that all of the Message instances are recycled. This may
help release storage sooner in case the Looper doesn't get GC'd
promptly and its remaining queue of undelivered messages sticks
around.

Improve docs on runWithScissors.

Bug: 8596303
Change-Id: I8cbeb6f7a5f6b8e618b5109f87a03defc1486b9f
andler.java
andlerThread.java
ooper.java
essageQueue.java
c1ce6e1a795935a9dfb34878370706e301758baf 17-Apr-2013 Amith Yamasani <yamasani@google.com> am ac16c21d: am a0042742: Merge "Modify restrictions bundle per api council recommendations" into jb-mr2-dev

* commit 'ac16c21d11c1545efb8deafbcb7c120a5e0821a1':
Modify restrictions bundle per api council recommendations
7e99bc02c8e2f44dd92d70bfa6e654297e5286d8 17-Apr-2013 Amith Yamasani <yamasani@google.com> Modify restrictions bundle per api council recommendations

Use a Bundle for persisting and passing to the application, but use a
list to return data back from an application that's exposing restrictions.

Changed the xml reading/writing code to store the value type in the Bundle
so that it can be reproduced when reading. Earlier we were assuming only
String and String[].

Bug: 8633967

Change-Id: I523d5553728edcf28a1e9d432f490b4956f34215
UserManager.aidl
serManager.java
a720a87fded1704d1a7490956bc5ec682b67a4fb 17-Apr-2013 Jamie Gennis <jgennis@google.com> am a0b28ca7: am 95a869f9: Merge "Disable tracing from Zygote" into jb-mr2-dev

* commit 'a0b28ca74806dcf46300d82ebb689b002bd36955':
Disable tracing from Zygote
057d3eb1bd13adac7b0a78e419c8932c92c13b00 17-Apr-2013 Doug Zongker <dougz@android.com> Merge "RecoverySystem: update comment to reflect signature changes"
6ad0452e6301c0650f58f3991f7c523f6f279ddb 16-Apr-2013 Jamie Gennis <jgennis@google.com> Disable tracing from Zygote

This change disables all atrace tracing in Zygote immediately after it is
initialized. This is necessary because Zygote has no way to receive
notifications that the enabled trace tags have been changed. Tracing is
re-enabled when other processes fork from Zygote.

Change-Id: If2983858fb0c4890ba9ab041849b1c4d98f66c13
race.java
60113556355f25d02d9d0e0556a02483cad8ff48 14-Apr-2013 Amith Yamasani <yamasani@google.com> am 6064c5cf: am e1375908: Rename isUserLimited to isLinkedUser

* commit '6064c5cf22b16464a82f04f0a9560f412ba2a90a':
Rename isUserLimited to isLinkedUser
e1375908a5f05e5c926e95049970c4505e4dfad9 14-Apr-2013 Amith Yamasani <yamasani@google.com> Rename isUserLimited to isLinkedUser

A linked user is derived from another user and shares their accounts.

Change-Id: Ia2e63d573ccb635495ec54f31ac7b174725ad7a8
serManager.java
11dc37686fa284f3c6c63b911febd4547d5bb92b 13-Apr-2013 Dianne Hackborn <hackbod@google.com> am 18e99d1d: am 15fed390: Merge "Add new resources trace, also trace apk dex loading." into jb-mr2-dev

* commit '18e99d1d5f7bb2e35fb9f5c3edbb4265d66e3d93':
Add new resources trace, also trace apk dex loading.
15fed390c44972932f6dd7ce3bef1004e8b98b61 13-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Add new resources trace, also trace apk dex loading." into jb-mr2-dev
8c176b2513fb296fe2cf43072262574254bcd808 13-Apr-2013 Amith Yamasani <yamasani@google.com> am b0511d47: am e107aa43: Merge "Rename isUserRestricted to isUserLimited" into jb-mr2-dev

* commit 'b0511d47eb15f4f7941d278467964f2cd6dd2871':
Rename isUserRestricted to isUserLimited
e107aa43866ce06cd08a7a3f2500a22bf81bbe79 13-Apr-2013 Amith Yamasani <yamasani@google.com> Merge "Rename isUserRestricted to isUserLimited" into jb-mr2-dev
46bc4ebb87232b39d7b02ac0135c8ccf2c33f233 12-Apr-2013 Amith Yamasani <yamasani@google.com> Rename isUserRestricted to isUserLimited

Avoid confusion with user restrictions which can be applied to
non-limited users as well.

Updated the java docs.

Change-Id: I4097c50b528b01a49cebcb0832d09f2b06998faa
serManager.java
f7be4800df28d7cb6a96003046bf90245e7054ab 12-Apr-2013 Dianne Hackborn <hackbod@google.com> Add new resources trace, also trace apk dex loading.

Change-Id: Ia48566efb21ee018659bd976ddb3a0f4997b9a3a
race.java
190a0f24dbba2fde41a77faf555da30bf2b1b79c 12-Apr-2013 Romain Guy <romainguy@google.com> am a378bab7: am 50b68bf8: Merge "Add async events tracing to android.os.Trace" into jb-mr2-dev

* commit 'a378bab7a7ea4f748c72b0d14acbdf9359dbebfb':
Add async events tracing to android.os.Trace
50b68bf8364fd728553cb8066ece8f7905885625 12-Apr-2013 Romain Guy <romainguy@google.com> Merge "Add async events tracing to android.os.Trace" into jb-mr2-dev
d65b268fcd7aadbbd22bdfbe9af6ffdf6005be21 12-Apr-2013 Emily Bernier <ember@google.com> am 9b8abb5a: am ce70311b: Merge "Add user restrictions (credentials, user removal)" into jb-mr2-dev

* commit '9b8abb5abde4264b6ed4e022804c743faf68323d':
Add user restrictions (credentials, user removal)
ce70311b67c3dba6ed4fbda41617f4e24c82dfc7 12-Apr-2013 Emily Bernier <ember@google.com> Merge "Add user restrictions (credentials, user removal)" into jb-mr2-dev
b97ebedeb3183b7453fc763df2ddf618e42b2157 12-Apr-2013 Jeff Brown <jeffbrown@google.com> am dc5711ea: am bf26c9cf: Merge "Ensure looper quits after all other messages are handled." into jb-mr2-dev

* commit 'dc5711eaef8662d5299f0088edf6e47fff77a872':
Ensure looper quits after all other messages are handled.
024136f57e5f8b4c11a4fe0fd83061eb6d372d26 12-Apr-2013 Jeff Brown <jeffbrown@google.com> Ensure looper quits after all other messages are handled.

Bug: 8596303
Change-Id: Ie8bfbbe810f5ade2afd870c8e675ce1353a80e5d
ooper.java
essageQueue.java
b223f73a69f76f5e32a0bca267f945f464776f9d 11-Apr-2013 Emily Bernier <ember@google.com> Add user restrictions (credentials, user removal)

Created constants in current.txt and UserManager.java, modified restrictions access in UserManagerService.java.

Change-Id: If8d778d84af81dcbf5784f6e0afd9ef966cc8ecf
serManager.java
3e4e221e6dd0e5c6fd4ef6036a37b166bd1053e4 11-Apr-2013 Jamie Gennis <jgennis@google.com> am 8a675b9a: am 6e8a2dd3: Merge "Trace: unhide app tracing APIs" into jb-mr2-dev

* commit '8a675b9aca36fdccdefd67d20128c9b5bc03644a':
Trace: unhide app tracing APIs
6e8a2dd3e66e65008a70fc09f6532b231d9b5f27 11-Apr-2013 Jamie Gennis <jgennis@google.com> Merge "Trace: unhide app tracing APIs" into jb-mr2-dev
5800fc881e9919bc8a0ce12199f2a16230c6cbbf 10-Apr-2013 Jamie Gennis <jgennis@google.com> Trace: unhide app tracing APIs

Change-Id: I48316623fe0394d3fe77e9abca3f6dbf791d0c08
race.java
9425f923fae8977d09d924436148d3808032ea98 11-Apr-2013 Romain Guy <romainguy@google.com> Add async events tracing to android.os.Trace

Change-Id: I106a50732a88c03a00602c328f8b46626bf66e08
race.java
ea13f6ff99d1304a74f2933f04948a51a8477534 10-Apr-2013 Dianne Hackborn <hackbod@google.com> am a92e95e5: am 064fab54: Merge "Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats" into jb-mr2-dev

* commit 'a92e95e5d9c7e6a35541708a0a51ce9b54704b17':
Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats
2323dd8d1e2564e5a7b912bf57838802571e8777 10-Apr-2013 Dianne Hackborn <hackbod@google.com> Fix issue #7691456: adbd CPU usage identified as Bluetooth in battery stats

Bluetooth GID was wrong and pointless and dumb and now gone.

Change-Id: Ibde563ef0c10c6d316428e1e683b013005b934d4
rocess.java
c9a9ffc5264c2c9405b7b98e1e993279e10f994f 10-Apr-2013 Doug Zongker <dougz@android.com> RecoverySystem: update comment to reflect signature changes

No functionality change is needed.

Change-Id: I2dd4775e484ffa96daa0d8778add5feb6c257424
ecoverySystem.java
097fc7ef72ea8a005028d7315ca7cca2f1aa1972 10-Apr-2013 Jamie Gennis <jgennis@google.com> am bb2e031a: am 65b08486: Merge "Add APIs for application-generated systrace events" into jb-mr2-dev

* commit 'bb2e031ace9072a0bd71f6316269f3060f04aa27':
Add APIs for application-generated systrace events
f9c7d6bc15b68393c1f0aa85c3c023c31244c3f2 25-Mar-2013 Jamie Gennis <jgennis@google.com> Add APIs for application-generated systrace events

This change adds new APIs to enable applications to generate custom Systrace
begin/end events. Application-generated events use the ATRACE_APP_TAG tag,
which is enabled only if either the application has declared itself debuggable
in its manifest or ro.debuggable is set to 1 on the device.

Change-Id: I311d09e2e6ed1a30f5ffa84907f250e11cc0d48d
race.java
b437a79b050e8928ce7187899b7754f049008085 09-Apr-2013 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 21dffd5d to master

Change-Id: I37c48dee471c9d43f19c1fe4a01f70db53e2441f
3a2854bcee08e3af3ca1b042c1fef6ca68f8c70a 09-Apr-2013 Jeff Brown <jeffbrown@google.com> Merge "Queues, queues, queues and input." into jb-mr2-dev
f9e989d5f09e72f5c9a59d713521f37d3fdd93dd 05-Apr-2013 Jeff Brown <jeffbrown@google.com> Queues, queues, queues and input.

Redesigned how ViewRootImpl delivers input events to views,
the IME and to native activities to fix several issues.

The prior change to make IME input event delegation use
InputChannels failed to take into account that InputMethodManager
is a singleton attached to the main looper whereas UI may be
attached to any looper. Consequently interactions with the
InputChannel might occur on the wrong thread. Fixed this
problem by checking the current thread and posting input
events or callbacks to the correct looper when necessary.

NativeActivity has also been broken for a while because the
default event handling logic for joysticks and touch navigation
was unable to dispatch events back into the native activity.
In particular, this meant that DPad synthesis from touch navigation
would not work in any native activity. The plan is to fix
this problem by passing all events through ViewRootImpl as usual
then forwarding them to native activity as needed. This should
greatly simplify IME pre-dispatch and system key handling
and make everything more robust overall.

Fixed issues related to when input events are synthesized.
In particular, added a more robust mechanism to ensure that
synthetic events are canceled appropriately when we discover
that events are no longer being resynthesized (because the
application or IME is handling or dropping them).

The new design is structured as a pipeline with a chain of
responsibility consisting of InputStage objects. Each InputStage
is responsible for some part of handling each input event
such as dispatching to the view hierarchy or to the IME.
As a stage processes an input event, it has the option of
finishing the event, forwarding the event to the next stage
or handling the event asynchronously. Some queueing logic
takes care to ensure that events are forwarded downstream in
the correct order even if they are handled out of order
by a given stage.

Cleaned up the InputMethodManager singleton initialization logic
to make it clearer that it must be attached to the main looper.
We don't actually need to pass this looper around.

Deleted the LatencyTimer class since no one uses it and we have
better ways of measuring latency these days using systrace.

Added a hidden helper to Looper to determine whether the current
thread is the indicated Looper thread.

Note: NativeActivity's IME dispatch is broken by this patch.
This will be fixed later in another patch.

Bug: 8473020
Change-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60
atencyTimer.java
ooper.java
ae9d6aa6d96ad382bba27e8104ea99ad06d81008 05-Apr-2013 Jeff Brown <jeffbrown@google.com> am 4c2a7b23: am 4a706bc6: Merge "Correctly manage the lifecycle of IME InputChannels." into jb-mr2-dev

* commit '4c2a7b23f5f012cf00357035f840a32d4da20eb5':
Correctly manage the lifecycle of IME InputChannels.
4a706bc6f1dcf4483b282d5758e22482cf02506f 05-Apr-2013 Jeff Brown <jeffbrown@google.com> Merge "Correctly manage the lifecycle of IME InputChannels." into jb-mr2-dev
1951ce86c21445ac191e4d2d95233f4f5c096b56 05-Apr-2013 Jeff Brown <jeffbrown@google.com> Correctly manage the lifecycle of IME InputChannels.

InputChannels are normally duplicated when sent to a remote process
over Binder but this does not happen if the recipient is running within
the system server process. This causes problems for KeyGuard because the
InputMethodManagerService may accidentally dispose the channel
that KeyGuard is using.

Fixed the lifecycle of InputChannels that are managed by the IME
framework. We now return a duplicate of the channel to the application
and then take care to dispose of the duplicate when necessary.
In particular, InputBindResult disposes its InputChannel automatically
when returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE).

Bug: 8493879
Change-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79
inder.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
nvironment.java
552d7c1099510e21855dd36f7f8e5a8f59e1074a 04-Apr-2013 Ying Wang <wangying@google.com> am 6690203c: am 0fa30372: Fix doc build.

* commit '6690203c7ff16ce4fcf3cc9a9d305d7acbcc4428':
Fix doc build.
0fa30372c7768692f9deef3e33655382e8a683fd 04-Apr-2013 Ying Wang <wangying@google.com> Fix doc build.

Change-Id: I954a45866d968b0571040ba99cc93b818d02aeb5
trictMode.java
5c1994eeff841ab6c44113d7138bc4e34e6694dd 04-Apr-2013 Jeff Sharkey <jsharkey@android.com> am 04e740a6: am 0f8e8b03: Merge "Warn when exposing file:// Uris beyond a process." into jb-mr2-dev

* commit '04e740a65e2399c4a4b211408bd84f2d545d9f4a':
Warn when exposing file:// Uris beyond a process.
a14acd20b8d563319ea1a5974dca0e9a29f0aaef 03-Apr-2013 Jeff Sharkey <jsharkey@android.com> Warn when exposing file:// Uris beyond a process.

Check for file:// Uris inside Intents, ClipData, Notifications and
RemoteViews when StrictMode option is enabled.

Also introduces Intent.prepareToLeaveProcess() to uniformly handle
Intents about to leave an app process.

Bug: 8529070
Change-Id: I8efb43877cbc5f21eb029fc6492b3ee1415059ef
trictMode.java
76703d8fe5f2a374201ec668ddf4c2289509517d 02-Apr-2013 Jeff Brown <jeffbrown@google.com> am 21b41af7: am d42ae93c: Merge "Make MessageQueue and Looper final." into jb-mr2-dev

* commit '21b41af7ea418be8e0ec94800bb2d0cc12c4965e':
Make MessageQueue and Looper final.
67fc67cf3e1dba17b0eae4f3923f3e93a78c7575 01-Apr-2013 Jeff Brown <jeffbrown@google.com> Make MessageQueue and Looper final.

Applications already cannot subclass these classes because
their constructors are not visible.

Change-Id: Id979d86dd05f7bcc888fe4ea499ab9b95d3d5dde
ooper.java
essageQueue.java
bb49e8573e22cb6325dc31bf007a500fb7c136eb 31-Mar-2013 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 15935aad to master

Change-Id: I9664186a62cf7b11844c6a14967f5b8c2b67c289
27db46850b708070452c0ce49daf5f79503fbde6 31-Mar-2013 Amith Yamasani <yamasani@google.com> Block access to accounts for limited users.

Make sure that apps that have access to restricted accounts can see them.
If they don't have access, they shouldn't be able to add a new account either.
Show an error message in the account picker if the user/app is not authorized.

Change-Id: I117c0b14d7d06c5ac4e66506df156b174567f5f3
serManager.java
c78453f12bfdc34cd30da24c0aefab5f7ad71cbb 28-Mar-2013 Maggie Benthall <mbenthall@google.com> am b3c060a1: am c92342bb: Merge "Add user restrictions for bluetooth, sideloading, usb file transfer" into jb-mr2-dev

* commit 'b3c060a166e9d5a141a6500e4c443a20d4e002b6':
Add user restrictions for bluetooth, sideloading, usb file transfer
c92342bb01f67597c45f97bbd0debf8221f0ad0d 28-Mar-2013 Maggie Benthall <mbenthall@google.com> Merge "Add user restrictions for bluetooth, sideloading, usb file transfer" into jb-mr2-dev
62a2cb09026bf7b0658c1e41c905f38649a3c77c 28-Mar-2013 Robert Greenwalt <rgreenwalt@google.com> am 766991ae: am 5acc8632: Merge "Add BT - DataTracker connection" into jb-mr2-dev

* commit '766991ae212f50695754c3ded5d9815fb0d99b24':
Add BT - DataTracker connection
665e1aed5e99af1e66af56c0d73e32fd86f57273 22-Aug-2012 Robert Greenwalt <rgreenwalt@google.com> Add BT - DataTracker connection

Allows the external BT stack the means to communicate with
ConnectivityService during reverse tethering.

bug:8445208
Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
NetworkManagementService.aidl
a12fccf57d5ec289793699d9b22ff45daccd3933 14-Mar-2013 Maggie Benthall <mbenthall@google.com> Add user restrictions for bluetooth, sideloading, usb file transfer

Created constants for these in UserManager and current.txt. Also created
an accessor for individual user restrictions that takes the restriction key
(removing individual methods for particular restrictions).

Change-Id: Ibb5517cbcdffadd3925f52cbe67d7d525813faa9
serManager.java
ee6a2a91f22fa4e4109397e071a7014e4c096454 27-Mar-2013 Amith Yamasani <yamasani@google.com> am 88139986: am e450c3cd: Merge "Fix docs build." into jb-mr2-dev

* commit '88139986284f30ae97727495b0e545ad41e60660':
Fix docs build.
ca050adc13b48c58c978255dd5ce6d9654549cb0 27-Mar-2013 Amith Yamasani <yamasani@google.com> Fix docs build.

Change-Id: I959db164f0ed7badfcdf921ffa1bfff60b4fb952
serManager.java
a1535223fe949742f995aa296a6bf49e514e1cdf 26-Mar-2013 Amith Yamasani <yamasani@google.com> am f3dc9f0a: am df5e9fe1: Merge "Device Owner, a special kind of device admin" into jb-mr2-dev

* commit 'f3dc9f0aa91d2785b715f251b144487ec1b57ecc':
Device Owner, a special kind of device admin
df5e9fe1819099097901641b1267374ca0bbc319 26-Mar-2013 Amith Yamasani <yamasani@google.com> Merge "Device Owner, a special kind of device admin" into jb-mr2-dev
71e6c697e54a43d357cc25d87a446d140f17396a 25-Mar-2013 Amith Yamasani <yamasani@google.com> Device Owner, a special kind of device admin

A Device Owner cannot be uninstalled and is available to all users. It must
be registered before the device_provisioned flag is set.

Device admins can be disabled until used, but visible to device policy
manager, so that users wont be bothered with update requests.

Opened up a few related APIs for use by a system-installed Device Owner.

Change-Id: I847b5fe68c0f724863f778a67602b5bddc79d8e5
UserManager.aidl
serManager.java
0d0002b5bfb08c6272ee4c6a527968ef4fed01ec 26-Mar-2013 Michael Wright <michaelwr@google.com> am 1426be82: am c3d8790d: Merge "Remove misleading documentation from SystemClock" into jb-mr2-dev

* commit '1426be82b4440ce87ac7654cfd889ee7e174fb8f':
Remove misleading documentation from SystemClock
c8ee44d4b68a524f324c0d02cafe6bdfd94e1152 23-Mar-2013 Michael Wright <michaelwr@google.com> Remove misleading documentation from SystemClock

Change-Id: Ic97f911dca5c2b8911a4b2c670c4c79578f2cec0
ystemClock.java
e32011e8c06b994d840e6d568b5ffa8915320909 21-Mar-2013 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 99755cd3 to master

Change-Id: I752c387c013c3deaad836df9b0c2294e7149a32a
df2e92a535e19c00edd37318d974dab992ccc2c1 02-Mar-2013 Amith Yamasani <yamasani@google.com> Application restrictions API

Adds the ability for apps to export some restrictions. The restrictions
are presented in Settings based on the restriction type. The user's
selections are stored by UserManagerService and provided to the
target user's application as a list of RestrictionEntry objects which
contain the key, value(s).

Also introduce a manifest entry for system apps to request that the
app be automatically installed in all users, so that they cannot be
deselected by the owner user.

Shared account filtering for non-whitelisted apps.

Change-Id: I15b741e3c0f3448883cb364c130783f1f6ea7ce6
UserManager.aidl
serManager.java
e7a4e42d3d29f891d556c903e8a6358f5fbc7c1b 14-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 49ca328f: am debbeec5: Merge "Move deleteOlderFiles() to framework, tests." into jb-mr2-dev

* commit '49ca328fc0c3bdb090b323e5bae23bfb696e6099':
Move deleteOlderFiles() to framework, tests.
d9526907d1a51ef0b35bfbbeee43fa209d8b5bbf 14-Mar-2013 Jeff Sharkey <jsharkey@android.com> Move deleteOlderFiles() to framework, tests.

Supports both age and count based constraints. Added light docs and
tests to verify behavior.

Bug: 8387555
Change-Id: If4d0dac8bc54ce705c2a339bc09a60ea748728b8
ileUtils.java
547f1c42cd71eaccf97d48b1abbc1834e6a8311f 07-Mar-2013 Scott Kennedy <skennedy@google.com> am 16c0cf0d: am b1b6efd0: Merge "Specify the size of the Map in the constructor" into jb-mr2-dev

* commit '16c0cf0deb94cb3cfb19a7c1e62fbb80ca1ee7d0':
Specify the size of the Map in the constructor
8ad7fbae871c9e08b217554b0b5757365ff487c1 06-Mar-2013 Scott Kennedy <skennedy@google.com> Specify the size of the Map in the constructor

Change-Id: Ie3325f387cec72216cb70c1b764370e6f3dd1a3e
undle.java
5d2bfa1604419fbe7ce2a3709dce82a60d429b84 05-Mar-2013 Dianne Hackborn <hackbod@google.com> Welcome, Key Lime Pie.

Change-Id: I00ebaffda975b368aa5f727963899e80a233c744
uild.java
2e0da1ea5f2493d968b4b83d4a0dd54e2cc63849 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> Merge "Improve performance of storage measurement." into jb-mr2-dev
63d0a067997cecf9c6e97a17852f9b657bbba48e 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> Improve performance of storage measurement.

When calculating directory sizes of data living on emulated external
storage, translate the path to use the internal backing data, which
avoids going through the emulation layer. It carefully retreats to
the original path when it runs into trouble.

Testing with a hierarchy of 10 directories deep and 2 directories
and 10 files wide at each level, this change improves performance
from 5900ms before to 250ms after; over 20 times faster (!).

Bug: 8172425
Change-Id: Ia7365416f091e102bf7345a49f7d7209a22580a9
nvironment.java
79751848d1c3a5139eb5ccd6ddecaf84c2a09783 28-Feb-2013 Lorenzo Colitti <lorenzo@google.com> Expose clatd commands to NetworkManagementService.

For now, we only support running one clat at a time. This is
enforced by the netd ClatdController code.

Bug: 8276725
Change-Id: I8a50305f9182f4da0f80716081211625a0202583
NetworkManagementService.aidl
7e112d51c4d203e4e3b2b875dc7c8457e1d9e056 27-Feb-2013 Ian Rogers <irogers@google.com> am 14d0ab55: am de3c20bc: Merge "Track stack memory in MemoryInfo."

* commit '14d0ab55e983d314128bb7b3293023f4a237d991':
Track stack memory in MemoryInfo.
7c9f30bfb361ccb864e6d130e0f4f2af53fc1c32 27-Feb-2013 Ian Rogers <irogers@google.com> Track stack memory in MemoryInfo.

In /proc/pid/maps the main stack is identified as "[stack]". In Linux 3.4
thread stacks are identified as "[stack:<tid>]" where <tid> is the thread ID of
the thread using that stack. Add support in MemInfo's otherStats to track
memory being used by the stack.

Add sanity check on the length of the otherStats array.
Add detail messages to two null pointer exceptions.

Bug: 8265251

Change-Id: I2b228b147da9bdc5c7a4d825dfc628fcc7923927
ebug.java
0493d7997e22376524d707e407662d0f98f40c47 27-Feb-2013 Ian Rogers <irogers@google.com> am 75dcb333: am 545464df: Merge "Deprecate and document memory allocation counting."

* commit '75dcb3338d85d12991249598e1ed407c8a6be1eb':
Deprecate and document memory allocation counting.
fe067a4cc586631881f51d0fd48100dd0f7cadf2 23-Feb-2013 Ian Rogers <irogers@google.com> Deprecate and document memory allocation counting.

Bug: 8241521
Change-Id: I174c4024600c5b78e74030ecc99e784a98295f09
ebug.java
4b141acde00840db4cd850e5cddbe2cf849830aa 26-Feb-2013 Dianne Hackborn <hackbod@google.com> Merge "Add Bundle APIs for putting/getting Binder objects." into jb-mr2-dev
3cbdddbd5ce6f52688d88f120c1e5214ed6afbda 26-Feb-2013 Dianne Hackborn <hackbod@google.com> Add Bundle APIs for putting/getting Binder objects.

This is really useful for certain cases, you just need
to be thoughtful and careful about what you are doing.

Change-Id: I314592480e447a6d8346f5089fade35da50b3510
undle.java
035045f8bbd54933b50026c7578d814bf3c5fefc 26-Feb-2013 Dianne Hackborn <hackbod@google.com> Merge "Add version code constant for JB MR2." into jb-mr2-dev
45e9ede55f3c5049fed1fc5002bd5084d1cd7eac 26-Feb-2013 Dianne Hackborn <hackbod@google.com> Add version code constant for JB MR2.

Change-Id: I60fc76bbeb3c5e85d716179e9e3ea5758bafaf69
uild.java
6794458f8626c3be27eac3db3a5c89d94f132675 22-Feb-2013 Maggie Benthall <mbenthall@google.com> Add location sharing toggle user restriction.

And add support for respecting it.

Change-Id: Ia5cf9134c5f5741c3f55afadbe54f862da7bfe5b
serManager.java
be72215c39916af9ae42332260c04b696bc73d7f 16-Feb-2013 Jeff Sharkey <jsharkey@android.com> Better API for low disk space warnings.

Provides uniform interface to ask about low disk thresholds; can
be mocked by other tests. Opens door to adjust thresholds based on
disk type.

Switch monitor service to using new API, and use filesystem paths
from Environment instead of hard-coding.

Change-Id: Ifdb536e36a453f1b67bc65849037ec3cc0232cf2
torage/StorageManager.java
b65ce57675ecd983c85dd4d755fe0167f33ecc87 14-Feb-2013 Jeff Sharkey <jsharkey@android.com> Expose longer statfs values, add derived values.

Since fsblkcnt_t is 8 bytes, provide methods to access larger value
instead of casting to int. This would start being an issue around
8TB filesystems.

Also add convenience methods to calculate values in bytes.

Change-Id: Ib924425d8d6d82785466f611ca71800cc1e952b6
tatFs.java
636c61ed41f08b4a8de11ab9146903a8125a4aa0 12-Feb-2013 Amith Yamasani <yamasani@google.com> Merge "Starting point for User Restrictions API"
e4cf73437a18c1444055f88a1fcc0d146ec23ac5 17-Dec-2012 Amith Yamasani <yamasani@google.com> Starting point for User Restrictions API

Restrictions saved as key/value pairs, mostly booleans right now
but might be expanded to other types later.

Save and restore restrictions in the user manager service.
Enforce some of the restrictions at the framework level. Some
are enforced (also) at the app level, such as in Settings.

Change-Id: Id11ffe129cb6a177e094edf79635727388c26f40
UserManager.aidl
serManager.java
034170cd4ca17bdda2d0baae5f438f2786805147 07-Feb-2013 Robert Greenwalt <rgreenwalt@google.com> Merge "Second pass tying into dns cache per interface"
8b47b3601f82f299bb8c135af0639b72b67230e6 23-Aug-2011 Mattias Falk <mattias.falk@sonyericsson.com> Second pass tying into dns cache per interface

Set dns servers for secondary nets and attach the
processes (pids) that are using the secondary nets
to the secondary nets associated dns cache.

bug:5465296
Change-Id: I1eaf92d5c6b81d287e9fb2763b3d972d9de34395
NetworkManagementService.aidl
33c239f74816449979456e8535b8e058057373d7 06-Feb-2013 Mathias Agopian <mathias@google.com> Merge "allow the framework to access a Sensor's handle"
7f84c065fa1615ee9afb5c229ec9b9319ab88920 05-Feb-2013 Mathias Agopian <mathias@google.com> allow the framework to access a Sensor's handle

this is needed in another CL to fix an issue where
sensors power usage is always reported as 0.

Change-Id: Ie496b98bf4b7e69911bdc99bee14cc924e1d71e8
atteryStats.java
f265ea9d8307282ff1da3915978625a94fc2859e 01-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: vibration, neighboring cells, dialing, etc.

Improve handling of vibration op, so that apps are
better blamed (there is now a hidden vibrator API that
supplies the app to blame, and the system now uses this
when vibrating on behalf of an app).

Add operation for retrieving neighboring cell information.

Add a new op for calling a phone number. This required
plumbing information about the launching package name through
the activity manager, which required changing the internal
startActivity class, which required hitting a ton of code that
uses those internal APIs.

Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
VibratorService.aidl
ullVibrator.java
ystemVibrator.java
ibrator.java
5988335aacdbea5b60b597fa2c52583bc655e30f 29-Jan-2013 Jeff Brown <jeffbrown@google.com> Merge "Optimize Looper JNI code."
864693461b6223a995038847591b17abe2de647e 28-Jan-2013 Jeff Brown <jeffbrown@google.com> Optimize Looper JNI code.

Use static native methods.

Release the native looper objects as soon as the Looper quits
instead of waiting until the GC finalizer to take care of it.

Change-Id: I02783e48782a8f972ec2138862f700ade33d8e78
essageQueue.java
5e45ee6752528791deb66b83d76250685de15d47 25-Jan-2013 Dianne Hackborn <hackbod@google.com> App ops: you can now turn off operations.

Also add new ops for calendar and wi-fi scans, finish
implementing rejection of content provider calls, fix
issues with rejecting location calls, fix bug in the
new pm call to retrieve apps with permissions.

Change-Id: I29d9f8600bfbbf6561abf6d491907e2bbf6af417
orkSource.java
20da885caa27ee8148c61be0ff56451ad6bf8146 19-Jan-2013 Robert Greenwalt <rgreenwalt@google.com> Merge "Revert "Second pass tying into dns cache per interface""
63837f455d08605173985042a89d5f9ba06883d1 19-Jan-2013 Robert Greenwalt <rgreenwalt@google.com> Revert "Second pass tying into dns cache per interface"

This reverts commit f60f94a89e49c125f4aff6496710a0fb66579545

Change-Id: If52dffd5100a6b03275da0eabfa05e24c5ecada9
NetworkManagementService.aidl
d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac 18-Jan-2013 Dianne Hackborn <hackbod@google.com> Rework ParceledListSlice to be much easier to use.

Take advantage of this to return better information about
packages filtered by permissions -- include the permissions
they have in the requested array.

Also fix issue #8026793 (Contact picture shows default pic
while searching for a contact in qsb) by using the base
package name of the Context when reporting the app name
of an operation. Otherwise you could make a resource-only
context for another application and do calls through that
and get reported as the wrong app.

Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
arcel.java
ystemVibrator.java
9e57c414f39e1a31349bc215635fdcfaf1902cee 17-Jan-2013 Jeff Sharkey <jsharkey@android.com> Add method to get process group.

Change-Id: Ia62223228a54a6a4e3cdfc5c2e8c73ee194e77ef
rocess.java
0f8d155363c361199a9d9aa5dcdbc4088990f893 17-Jan-2013 Robert Greenwalt <rgreenwalt@google.com> Merge "Second pass tying into dns cache per interface"
f849124b6bc769bdaf98909279124ff9716c9107 16-Jan-2013 Sasha Levitskiy <sanek@google.com> Merge "Removed Throttle Manager as obsolete"
ca6486e7f579fa885b6213513f26ce2ca49f873b 15-Jan-2013 Sasha Levitskiy <sanek@google.com> Removed Throttle Manager as obsolete

Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
NetworkManagementService.aidl
0d31c74b2eff3ce37133a2fe9fb57db7d4d84a91 14-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge "WorkSource can now track package names."
369da18ffb8686f66bcbe081419bd4b1aa31442c 12-Jan-2013 Irfan Sheriff <isheriff@google.com> Merge "Handle missing static for CREATOR"
002a54e2291eeb3a3fd0b6b3f9dbc96a7c805062 11-Jan-2013 Dianne Hackborn <hackbod@google.com> WorkSource can now track package names.

Use this to track the package name of applications
accessing GPS.

And now the app ops service can enforce that callers
must provide valid package names.

Change-Id: I842a0abe236ea85f77926d708547f0f95c24bd49
orkSource.java
f60f94a89e49c125f4aff6496710a0fb66579545 23-Aug-2011 Mattias Falk <mattias.falk@sonyericsson.com> Second pass tying into dns cache per interface

Set dns servers for secondary nets and attach the
processes (pids) that are using the secondary nets
to the secondary nets associated dns cache.

Change-Id: Id865c2c3fdc0ec1c3e30c134e9ea4109f4f2fbeb
bug:5465296
NetworkManagementService.aidl
97a72f6693a7bee3255b2307c6bb18f66669a36c 11-Jan-2013 Irfan Sheriff <isheriff@google.com> Handle missing static for CREATOR

I made a mistake of missing out on static for CREATOR on a Parcelable
and it threw a NPE which was not obvious. We do not get NoSuchFieldException
when CREATOR exists but is not static.

Change-Id: Ib06f60797c00722075255d45e8189f8cebef9ae2
arcel.java
6f028480faf9f87c2808c3b82797b553eb6ac257 10-Jan-2013 Scott Main <smain@google.com> am 8a05d13e: am 5b56d432: am 9107fa5d: am 66adf0d0: am 70af3cdb: Merge "docs: resolve bugs from external tracker" into jb-mr1-dev

* commit '8a05d13ef656b0147d85e1826b70a55f6b32e1e3':
docs: resolve bugs from external tracker
ee49a3a007b9eb63bcb27eac492060b50ff75ce7 10-Jan-2013 Nick Kralevich <nnk@google.com> Merge "Add K api version."
6b0fb368707a2d47dd3fbeaf01c214de5227baa0 10-Jan-2013 Nick Kralevich <nnk@google.com> Merge "Revert "App home directories are now 0700 for targetSdkVersion > 17""
a985c3bb145c75176f105e1188cd42c8373d503d 10-Jan-2013 Nick Kralevich <nnk@google.com> Add K api version.

Change-Id: I2b74e06f8bda8b23c5cc4280af4b18a5ad66a6c2
uild.java
1506921e8e7897be8297365dcaf15f4c6d6eb472 10-Jan-2013 Nick Kralevich <nnk@google.com> Revert "App home directories are now 0700 for targetSdkVersion > 17"

This reverts commit 92091fa9636403728fe94cc83400495a8612c2d3.

Bug: 7966399
Bug: 7208882
uild.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
atteryStats.java
VibratorService.aidl
ystemVibrator.java
serHandle.java
8a05d13ef656b0147d85e1826b70a55f6b32e1e3 08-Jan-2013 Scott Main <smain@google.com> am 5b56d432: am 9107fa5d: am 66adf0d0: am 70af3cdb: Merge "docs: resolve bugs from external tracker" into jb-mr1-dev

* commit '5b56d43237d959403bb8a32de25376deee2dab22':
docs: resolve bugs from external tracker
66adf0d04d92257e60a583617fb97f136fefd192 08-Jan-2013 Scott Main <smain@google.com> am 70af3cdb: Merge "docs: resolve bugs from external tracker" into jb-mr1-dev

* commit '70af3cdb90bafc081ffa693a350b95ced48b6cfd':
docs: resolve bugs from external tracker
6aad995042599dd0f5def79fea85cee90439c9a8 08-Jan-2013 Scott Main <smain@google.com> docs: resolve bugs from external tracker

Change-Id: I680970ec63701197103f6c5ab55c25c736aa0519
ileObserver.java
116751d84f6d276f2cac7074abd9f8ba23742958 21-Dec-2012 Christopher Tate <ctate@google.com> Shrink Bundle.getString(key, default) and getCharSequence(key, default)

They previously duplicated the full logic of getString(key) and
getCharSequence(key) independently. Now they both use the no-default
version internally, resulting both in a single point of implementation
for test & isolation purposes and in a (small) decrease in code size.

Change-Id: If1b1e1fa4a549a0ec4cf221e54998f4fd438f3a2
undle.java
92091fa9636403728fe94cc83400495a8612c2d3 13-Dec-2012 Nick Kralevich <nnk@google.com> App home directories are now 0700 for targetSdkVersion > 17

Pass targetSdkVersion to installd so it knows the appropriate
permissions to apply to the app's home directory.

Bug: 7208882
Change-Id: Ia62ed36b32ee5af01077fb10a586024411be8ed4
uild.java
abe998c5e0550f37d27f9c03dbaf56cc07a03dcb 13-Dec-2012 Nick Kralevich <nnk@google.com> Remove dead code.

Android no longer supports a security manager.
System.getSecurityManager() always returns null.

Change-Id: Id44ae8e100da901f2e3054dab905376423a8ff5b
arcelFileDescriptor.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
chedulingPolicyService.java
a3b7e450bcc8f7a1533eeac97eb2bf8343b10ec5 01-Dec-2012 Nicolas Klein <foxykeep@google.com> am ca4199ef: am 04f3b12f: am 5ea914f2: am 759c1005: Merge "Fix some typos and missing @param in android.os.Bundle" into jb-mr1-dev

* commit 'ca4199ef8b70f73f914b72ec69fc596c2ca600e2':
Fix some typos and missing @param in android.os.Bundle
ca4199ef8b70f73f914b72ec69fc596c2ca600e2 01-Dec-2012 Nicolas Klein <foxykeep@google.com> am 04f3b12f: am 5ea914f2: am 759c1005: Merge "Fix some typos and missing @param in android.os.Bundle" into jb-mr1-dev

* commit '04f3b12f1f82784d0b1b8c0812a3d0017b17b69e':
Fix some typos and missing @param in android.os.Bundle
5ea914f21b397ae57195decd0b5e37544d85db8c 30-Nov-2012 Nicolas Klein <foxykeep@google.com> am 759c1005: Merge "Fix some typos and missing @param in android.os.Bundle" into jb-mr1-dev

* commit '759c1005b3f96ea8bbf59192d206aacece315655':
Fix some typos and missing @param in android.os.Bundle
9f6cb87522d395eacd87dff1da525f4dc9809d27 30-Nov-2012 Nicolas Klein <foxykeep@google.com> Fix some typos and missing @param in android.os.Bundle

getChar(String) and getChar(String, char) had wrong description in their
javadoc.
Also most of the get methods with default value were missing the corresponding
@param tag for the default value parameter.

Change-Id: I0f38b3caacf9cabd70e0c1ada36af3662f5566d0
undle.java
a0e1f91b989f34d5c2ca695ec5de208f9fe2b1e2 29-Nov-2012 Elliott Hughes <enh@google.com> am 565de5f6: am 820b3e29: Merge "Make transactGetSockaddr locale safe"

* commit '565de5f6cb75631f6b23011fcac4fcf8be8d5c5e':
Make transactGetSockaddr locale safe
565de5f6cb75631f6b23011fcac4fcf8be8d5c5e 29-Nov-2012 Elliott Hughes <enh@google.com> am 820b3e29: Merge "Make transactGetSockaddr locale safe"

* commit '820b3e29caab93de9535f18d98c6fd264c7fa983':
Make transactGetSockaddr locale safe
3251d363139cbda760af27755f5685a14afe6655 29-Nov-2012 Alex Ray <aray@google.com> Merge "core: Update Java wrappers for atrace."
8a6787b1c7f5192388436373465c35655cc8ef7c 15-Nov-2012 Alex Ray <aray@google.com> core: Update Java wrappers for atrace.

Atrace functionality moved to cutils. Add ATRACE_TAG_HAL.

Change-Id: I80e1c9438bfd2436559b64e94e4009cb9c5dbc09
race.java
816a5d9c27890fab17e2884fa3a67e4154ce8196 28-Nov-2012 Dianne Hackborn <hackbod@google.com> am 360acd03: am 78551bc7: am ba4ac518: Merge "Improve debugging for issue #7586414: AlarmManager wakelocks held" into jb-mr1.1-dev

* commit '360acd03bfe0d597ee845d2392d715633a89e12b':
Improve debugging for issue #7586414: AlarmManager wakelocks held
360acd03bfe0d597ee845d2392d715633a89e12b 27-Nov-2012 Dianne Hackborn <hackbod@google.com> am 78551bc7: am ba4ac518: Merge "Improve debugging for issue #7586414: AlarmManager wakelocks held" into jb-mr1.1-dev

* commit '78551bc7d5541c86503b32db0e3e2564218bf179':
Improve debugging for issue #7586414: AlarmManager wakelocks held
8103890a59de6ed4abaedaad80e66666ea59f9b5 27-Nov-2012 Dianne Hackborn <hackbod@google.com> Improve debugging for issue #7586414: AlarmManager wakelocks held

In alarm manager, print a summary of the top 10 alarms by time
being executed. Keep track of execution time (and wake count) of
each type of alarm for each application so this can be printed in
the summary (and used to compute the top 10 alarms). Rework how
the alarm summary stats are tracked so that we don't need to hold
on to the full Intent for each stat and can get the Intent information
at the time the alarm is sent rather than waiting for whatever Intent
comes back in the result.

Also in the battery stats: sort the kernel wake locks by time, add
a new section showing all partial wake locks across all applications
sorted by time.

Finally a new LocalLog class that is used by AlarmManager to log
important warning messages, so these can also be later found in
its dumpsys output.

Change-Id: Icc07810053e60fb623a49937e696819cb8352b06
atteryStats.java
f4f35f8e8d16c57a76befdd66dd39b894ac93548 26-Nov-2012 Craig Mautner <cmautner@google.com> am 1ee927f4: am 8de91ce1: am 7f2a9896: Merge "Ignore invalid combination of PowerManager flags." into jb-mr1.1-dev

* commit '1ee927f42bea9817fc16d5ee6532ce46e099f4b4':
Ignore invalid combination of PowerManager flags.
1ee927f42bea9817fc16d5ee6532ce46e099f4b4 26-Nov-2012 Craig Mautner <cmautner@google.com> am 8de91ce1: am 7f2a9896: Merge "Ignore invalid combination of PowerManager flags." into jb-mr1.1-dev

* commit '8de91ce1e037408064f453b26f1fe725cd6377e3':
Ignore invalid combination of PowerManager flags.
636c0ff499e01b3dfe90264fc26f3df5ca6346cf 28-Aug-2012 Johan Redestig <johan.redestig@sonymobile.com> Make transactGetSockaddr locale safe

Explicitly use Locale.US transactGetSockaddr to avoid
unexpected results in some locales.

Change-Id: If8316e543e21e133dc0c821cc390a2b55fe6fcdf
ommonTimeUtils.java
6edb6db512198aa0eef66341d163926b3531bca3 21-Nov-2012 Craig Mautner <cmautner@google.com> Ignore invalid combination of PowerManager flags.

ACQUIRE_CAUSES_WAKEUP is supposed to be ignored if combined with
PARTIAL_WAKE_LOCK. Instead it was being carried out for any values
of the WakeLock level.

This change reverts behavior to closely match
previous releases of the framework by only honoring
ACQUIRE_CAUSES_WAKEUP for screen wake lock levels. The only
difference being that in previous releases ACQUIRE_ could have been
combined with PROXIMITY_SCREEN_OFF_WAKE_LOCK (it never was) and
now such a combination will ignore the ACQUIRE_ flag.

Bug 7532258 fixed.

Change-Id: I46e848d8fd1b57e54c63141bf3d4f353986b5bdf
owerManager.java
60bfacd8ef765f7f8ee43224a9d85960dea2b1c8 16-Nov-2012 Robert Greenwalt <rgreenwalt@google.com> Merge "Support for dns domain."
8058f621891b41c6864b6004c1c47647436a0ac1 09-Nov-2012 Robert Greenwalt <rgreenwalt@google.com> Support for dns domain.

bug:6799630
Change-Id: I10070eddb65b7b60f0bc2b3e1e320e1aa4ec6e98
NetworkManagementService.aidl
9634e970679c687572e2da84250adc8baf91a8c3 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> am bfea4f04: am f5377a72: Merge "Useful annotations for code documentation." into jb-mr1.1-dev

* commit 'bfea4f04f226f1adf374412628d5945c380382a7':
Useful annotations for code documentation.
9077ca586e083fd0e2913c4232915416b3719e7d 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> am dcb72dbb: am 445767c1: Merge "Watch for leaked ParcelFileDescriptors." into jb-mr1.1-dev

* commit 'dcb72dbb39227674e4a54167efabcdc8add4548a':
Watch for leaked ParcelFileDescriptors.
f5377a7242d71e221807150f0778a0521e1270b6 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> Merge "Useful annotations for code documentation." into jb-mr1.1-dev
7407c948cbe7305c63ca33c471cf9e2a78674368 12-Nov-2012 Jeff Sharkey <jsharkey@android.com> Watch for leaked ParcelFileDescriptors.

Bug: 7426029
Change-Id: I18f7ac7d7b357b092bf9ec91ffb9fa3de5ca0271
arcelFileDescriptor.java
8b2c3a14603d163d7564e6f60286995079687690 12-Nov-2012 Jeff Sharkey <jsharkey@android.com> Useful annotations for code documentation.

Bug: 6537978
Change-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f
nvironment.java
9d42794dde0dc6f83b6cf29ba66c3cf535ec9ae3 10-Nov-2012 Andy McFadden <fadden@android.com> am a7113f70: am 798de53c: Merge "Reduce emulator logspam" into jb-mr1.1-dev

* commit 'a7113f70c55517b5dbf3c54827c4559304faff4f':
Reduce emulator logspam
325be8a1ea03308de2ac35d613a2fe751bf16d94 30-Oct-2012 Andy McFadden <fadden@android.com> Reduce emulator logspam

The emulator doesn't support systrace, but we should point that out
at most once per process.

Bug 7436352

Change-Id: I30e0094dc3b24bc3ab6bc2799ce81ca0a6bb7d9d
race.java
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
HardwareService.aidl
VibratorService.aidl
okenWatcher.java
ef03a7f441cf0cbef5a5f7fafb58a7d5aea7ef52 30-Oct-2012 Dianne Hackborn <hackbod@google.com> Work on issue #7343200: Fails to show wallpaper in the background...

...for lockscreen sometimes and remains black / blank

Add some debug output to try to track down what is going on.

Change-Id: I98a96c5da9c04b988e948f6fc2766d927db49ebf
ebug.java
7b9a28892b1821a657bc9de5245528557d15a154 28-Oct-2012 Dirk Dougherty <ddougherty@google.com> Doc change: fix some table formatting.

Change-Id: I1533be695347697f5afd5c8d2719a0ff0b07abaa
owerManager.java
b26306ad5277097b3abb345112b24d9a142fb299 25-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7408647: Add getUserCount() API

Change-Id: Ib4e8e2300757e0941fae8fbc46c4323f5e2d7d6b
serManager.java
d401a53c6472921ce7785059195a4f031feea7cc 24-Oct-2012 Andy McFadden <fadden@android.com> Merge "Improve systrace tag propagation" into jb-mr1-dev
b76a0c40d4b638064aab358a1370b47d010442d7 23-Oct-2012 Jeff Sharkey <jsharkey@android.com> Avoid mentioning hidden API in docs.

Change-Id: If83c179ec0d1b038e94a7fdca386c8ddf324e391
nvironment.java
d11ca4dd2ca90e1412b24f4526a56f7b963054a8 23-Oct-2012 Andy McFadden <fadden@android.com> Improve systrace tag propagation

The native side of the tracing code latches a copy of the tags from a
system property on first use. The Java-side tracing code latches a
copy of the native's copy during class init. The tracing code is
preloaded by the zygote, which means we get the flags during zygote
init and don't update them when we launch a new app.

This changes the Java sources to also defer initialization until
first use, so that newly-launched apps will use the current value
of the system property.

Bug 7323431

Change-Id: I7db048ec54345ae9565088a35c2e2b4c82f993fd
race.java
8c16579994a58c5763788b4f6be864e8a8219575 22-Oct-2012 Jeff Sharkey <jsharkey@android.com> Update docs for multi-user storage behavior.

Define external storage as being isolated for each user, with the
caveat for shared OBB files. Also mention external storage
permissions.

Bug: 7384941
Change-Id: Ib156b5874c5587749d7bc066791e9e88d931b174
nvironment.java
6f931ccd31bc0a8a402072c1d87e682c8a30a404 17-Oct-2012 Romain Guy <romainguy@google.com> Fix javadoc

Change-Id: Ie98dd00f41add876f3740f5d37781a10c6bd41fe
syncTask.java
90619816d99154d504a14774c6f2d5f4254ff780 13-Oct-2012 Guang Zhu <guangzhu@google.com> use BufferedInputStream in readTextFile

With FileInputStream, using assumption of bytes read (as
returned by read function) not matching buffer size as EOF is
not correct, we hit this when reading from /proc in some cases.

BufferedInputStream's behavior matches that assumption due to
its implementation.

Bug: 7342759
Change-Id: Ibb06dbe1fbe33f6f880524f7555ff5542889ea50
ileUtils.java
ff54920ed222a2bd6abe618743a5a3e9fe10bd4b 12-Oct-2012 Amith Yamasani <yamasani@google.com> Temporarily disable multiuser for specific builds

Enable switching through power menu for other builds

Change-Id: I0bd8450583e078b0a83fb639337427ab84db5ab8
serManager.java
9cf36b7a77bb8e821f9e593fdbb200f8a1742ff0 11-Oct-2012 Jeff Brown <jeffbrown@google.com> Don't process UEvents in Dalvik unless they match a pattern.

On some devices, vsync is delivered from the kernel to userspace
over a netlink socket via UEvent. The result is that a thread wakes
up, reads a message, creates a new String then searches it for matches
against a pattern on every single frame.

Reduce the overhead by performing the initial pattern matching in
native code.

Bug: 7326329
Change-Id: Icb22db1c38330694207bec1153840e0c06f502d6
EventObserver.java
a8a9bd65bf5865d83ef44f54552ca39522bfbcf0 10-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7311376: Add API to allow apps to know if they are...

...running as the foreground user

Add UserManager.isUserRunning() which is the public version of the
existing method on ActivityManager.

Also add UserManager.isUserRunningOrStopping() since that seems like
it will be useful.

And fix the internal function that returns the array of currently
running users to not include stopped users.

Change-Id: I84672fa8748fc027fd402729586b5603f640e498
serManager.java
0cdbd0776d141011567e63158aa0a430362425ef 05-Oct-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7290206: Need API to get/look up user serial number" into jb-mr1-dev
33f9cb8cf01e0a6288eb5b9ce724c56aa4e1e382 05-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7290206: Need API to get/look up user serial number

Change-Id: I1713215e7c205b1b66c36488f89e3fbf4572cb97
serManager.java
93cbbb25a56356cd36523809783a277fe92e312e 04-Oct-2012 Jeff Brown <jeffbrown@google.com> Allow phone to go to sleep while in call.

Bug: 7279383
Change-Id: Ia05490218f40a1843507b95ff48fa07910e582d4
owerManager.java
c428aae6429c3fd5e2037c3793af399d9f6e23bf 04-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7267494, issue #7212347

7267494 Calendar is not syncing
Check for whether a content provider is dead before returning
it. This is kind-of a band-aid, but probably the right thing
to do; I'm just not sure exactly the full details of why this
problem is happening. Hopefully this "fixes" it, though I don't
have a way to repro to tell.

7212347 System power off dialog is only visible to user 0
Make it visible. Also turn on some battery debugging stuff and
clean it up so we can just keep it.

Change-Id: I5add25bf2a763c8dfe1df23bc5c753a9ea5d157a
PowerManager.aidl
owerManager.java
a4d8204e3068b9d8d6908d4cf3440e81967867a3 03-Oct-2012 Jeff Brown <jeffbrown@google.com> Fix some synchronization issues in BatteryService.

Some of the BatteryService state was being locked
sometimes and it wasn't at all consistent.

Bug: 7158734
Change-Id: I46e75f66fde92c5a577a80a6bd99c9573066f3c1
atteryManager.java
db21284a7fb081065d26137891594bd8495b116f 01-Oct-2012 Jeff Brown <jeffbrown@google.com> Disable use of twilight mode for auto-brightness.

This adjustment is still experimental.

Bug: 7165399
Change-Id: I3fcf361933995d02a5329eeaec80155b39371ba3
owerManager.java
1e3b98d47df596d0c4eadbdf60143709f8465b28 01-Oct-2012 Jeff Brown <jeffbrown@google.com> New internal API to eliminate poke locks.

Added a new WindowManager.LayoutParams inputFeatures flag
to disable automatic user activity behavior when an input
event is sent to a window.

Added a new WindowManager.LayoutParams field userActivityTimeout.

Bug: 7165399
Change-Id: I204eafa37ef26aacc2c52a1ba1ecce1eebb0e0d9
PowerManager.aidl
ocalPowerManager.java
edce6a797878792de2b0bde4360f3171b9e9d9d2 01-Oct-2012 Jeff Brown <jeffbrown@google.com> Remove clearUserActivityTimeout().

This function is not implemented and not needed.

Bug: 7165399
Change-Id: Ib1c50fabad6292ccf670404ba70aeb1242c4614d
PowerManager.aidl
fc4947491f785600b8770112fa1d19ece06d42f9 28-Sep-2012 Dianne Hackborn <hackbod@google.com> Update APIs to JB MR1 level 17.

17 is current, resources are fixed, cleanup is done.

Change-Id: I6de446e209f59c5dd5fe1cde311776ab222817ea
uild.java
120664816a9bf325b618d8dd40febae2e3636ec8 29-Sep-2012 Jeff Brown <jeffbrown@google.com> Get rid of preventScreenOn().

Bug: 7165399
Change-Id: I1968265ecd74fff4d85efd2ca03b1983425ea518
PowerManager.aidl
eed8f06f7f5d8f934ea99f16ef987a3ae1bd99b2 27-Sep-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()" into jb-mr1-dev
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
PowerManager.aidl
owerManager.java
1951db86f527ff4e8c2ddf4306779ce956cd372d 26-Sep-2012 Jeff Sharkey <jsharkey@android.com> Merge "Multi-user ringtone playback." into jb-mr1-dev
4118012da9a22694b3353040a485f8cdc27e2f17 26-Sep-2012 Philip Milne <pmilne@google.com> Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()

Change-Id: Ie38952bbaace080e81e41e61350cda172951d548
ystemClock.java
65c4a2b26cd8776b0927e9b0e07ecf53bd31b627 26-Sep-2012 Jeff Sharkey <jsharkey@android.com> Multi-user ringtone playback.

Change RingtonePlayer to open content:// Uris based on requesting
UserHandle. Grant SystemUI visibility to all emulated storage so
it can play ringtones for apps without READ_EXTERNAL_STORAGE.

Resolve canonical file:// Uris before passing out of source app,
replacing any /emulated_legacy/-style paths with user-specific
variant so they can be opened by SystemUI. Calling for RemoteViews,
Ringtones, and Notifications.

Bug: 7202982
Change-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099
serHandle.aidl
4fbbda4cecb078bd3867f416b02cc75f5455284f 25-Sep-2012 Jeff Sharkey <jsharkey@android.com> Handle multi-user mountObb() requests.

Since emulated external storage paths differ based on execution
context, carefully fix up paths for various use-cases:

1. When sending paths to DefaultContainerService, always scope
OBB paths as belonging to USER_OWNER.
2. When sending paths to vold, always build emulated storage paths
visible to root.
3. Always use the original untouched path when talking with apps.

Mount OBB containers using shared app GID, so that an app can read
the mount point across users.

Handle legacy paths like "/sdcard" by resolving the canonical path
before sending to MountService. Move tests to servicestests, and
add tests for new path generation logic.

Bug: 7212801
Change-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7
nvironment.java
torage/IMountService.java
torage/StorageManager.java
7d8bcb498d4cfb90202335781df1ffa92e96c18b 24-Sep-2012 Jeff Sharkey <jsharkey@android.com> Move multi-user OBB under user-specific path.

Bug: 7212801
Change-Id: I0ab83c1d9cb21914d61a7da45a32e89956e22ec8
nvironment.java
466bd636812684aeb8161f144597cc3b3ed39078 21-Sep-2012 Dan Morrill <morrildl@google.com> Merge "New method returning user metadata." into jb-mr1-dev
920ace0bbc2d4133dbec991d2636c99a57d6245e 21-Sep-2012 Amith Yamasani <yamasani@google.com> Query users excluding any being removed

Keep track of user creation and last logged-in time.
adb shell dumpsys users
User switcher shouldn't show users about to be removed.
No need to check for singleton for activities.

Bug: 7194894
Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
UserManager.aidl
serManager.java
e4ab16ad98b183afbf7a21ad7314372de41a8b57 21-Sep-2012 Dan Morrill <morrildl@google.com> New method returning user metadata.

Change-Id: Ic1a42cf54152fe2e6bcd01b1bd9f1edb77d1710e
serManager.java
4673e7ea8d1f869910a9c0f9c211d4d27ad50b41 19-Sep-2012 Jeff Sharkey <jsharkey@android.com> Migrate UI to supportsMultipleUsers().

Bug: 7194531
Change-Id: Ifbbe3b4d954f8d11fb1c94674e5e7f8e21264c75
serManager.java
3fe5bf6d69f146077ce9b5e588be8651462b0cd2 19-Sep-2012 Jeff Sharkey <jsharkey@android.com> Make getMediaStorageDirectory() user-aware.

Bug: 7173591
Change-Id: I4513afbd8c3d6a31cd66d8a149be4071d5a4d24c
nvironment.java
27bd34d9d9fe99f11b80aa0bbdb402fb47ef4158 16-Sep-2012 Jeff Sharkey <jsharkey@android.com> Multi-user MTP.

The current MTP kernel driver at /dev/mtp_usb is exclusive, meaning
only one process can have it open. In addition, each MTP session
with a desktop requires unique object IDs, which doesn't hold true
across users on the device.

To solve these two issues, when switching users we cycle the USB host
stack to disconnect both local and remote MTP connections, giving the
new user's media process a chance to claim /dev/mtp_usb, and causing
the desktop to initiate a new MTP session.

This change also allows BroadcastReceivers to registerReceiver()
allow retrieval of a current sticky broadcast. Adds a system property
to override maximum users. Removes MOUNTED broadcasts for secondary
users. Allows INTERACT_ACROSS_USERS to getCurrentUser().

Bug: 6925114
Change-Id: I02b4a1b535af95fb2142655887b6d15a8068d18a
serManager.java
f7a6dfcafc1eaa8014b4fa796e4b31208f72fd36 18-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Pass Bitmap instead of ParcelFileDescriptor in UserManager" into jb-mr1-dev
e928d7d95dbb64627e6ff3a0572190c555b59d96 18-Sep-2012 Amith Yamasani <yamasani@google.com> Pass Bitmap instead of ParcelFileDescriptor in UserManager

Add a USER_INFO_CHANGED intent for lockscreen and quicksettings to use
to monitor changes to the user name or icon.

Bug: 7164040
Change-Id: Id6fb8b6d38ce04ccd02bbadcf0c10699783d6c03
UserManager.aidl
serManager.java
c33f94e2a50c9b03cb771237e8672743da8b1314 18-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix API review bugs." into jb-mr1-dev
8832c18d8b63367929c2d394c9c508f56003d400 18-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix API review bugs.

7173152 API REVIEW: android.content.pm.PackageUserState
7172969 API REVIEW: android.app.PendingIntent
7172730 API REVIEW: android.content.Context
7172726 API REVIEW: android.manifest.permission

Change-Id: Iad470256d3b5ca5596487f6a699ec1871457c3b5
serManager.java
3b49f07a452e0a77c1d22db2065255689a461d31 17-Sep-2012 Amith Yamasani <yamasani@google.com> Add UserManager.getUserIcon()

So that we don't abuse the setUserIcon() for reading. So the new method won't try
to create the file, only return it if it exists.

Change-Id: I7a81d3f1b29d14d37e71f531744ce39f21d827ac
UserManager.aidl
serManager.java
d0c6ccbafdebc73d03cf3cd47f02f9f6c78a69ff 15-Sep-2012 Jeff Sharkey <jsharkey@android.com> Move NetworkPolicy from apps to UID.

For multi-user devices, switch to storing policy per-user instead of
per-app. Also watch for user added/removed broadcasts to clean up
policies and apply global restrictions.

Bug: 7121279
Change-Id: Ia7326bd0ebe0586fa4ec6d3a62f6313dc8814007
serHandle.java
24271a8c4c55a60047fd3d35c8a7af98b0f4e666 13-Sep-2012 Kenny Root <kroot@google.com> Merge "Use shared app gid for forward-locked processes" into jb-mr1-dev
dfa45309e09bcdbad877e4e6a6005f348962d64d 13-Sep-2012 Jeff Sharkey <jsharkey@android.com> Give DefaultContainerService all external storage.

Now we can bind to just one instance of DCS, instead of requiring
one-per-user. This also means we can operate on otherwise-stopped
users.

Bug: 7003520
Change-Id: I4881e064ae8942907f6a02c6b868926223455cdc
nvironment.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
ebug.java
nvironment.java
torage/IMountService.java
torage/StorageManager.java
torage/StorageVolume.java
e091f22e226f7177e45e23850670c1ad9b63fd75 12-Sep-2012 Kenny Root <kroot@google.com> Use shared app gid for forward-locked processes

Use a shared app gid for each app across different users which allows
forward-locked applications to share the same APK file.

Change-Id: Ifecf51ee7865547117746f83e9733083d3dd5111
rocess.java
serHandle.java
8a9f5d42a5cc373439ee8bbb9185dcce9086770d 11-Sep-2012 Dianne Hackborn <hackbod@google.com> USER_CURRENT_OR_SELF had the same int as USER_CURRENT!

Change-Id: I0f2b0fa4fb82d1f871450b509a7a4d13e9817320
serHandle.java
1edf63ef4c7484355a6d9371bea912d6518a7d1e 09-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Enable auto-brightness adjustment feature with system prop." into jb-mr1-dev
631938f26dbc89e7e9530bb85d9f37706dba59f3 09-Sep-2012 Jeff Brown <jeffbrown@google.com> Enable auto-brightness adjustment feature with system prop.

This feature is experimental and disabled by default.

Change-Id: I183534370da7613557e4d1535f556873f8a763df
owerManager.java
74ee8652e02fc94901177214fc9370659732c921 08-Sep-2012 Dianne Hackborn <hackbod@google.com> Add Binder.getCallingUserHandle().

Change-Id: I2a7eedfdc7baeeb4c2cd2ca0153aa95e0cf0bf45
inder.java
9545dc020ea11649d70dcbe911a8e82a3254a4ea 07-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include primary flag in StorageVolume.

Bug: 7003520
Change-Id: Iaae2ae22253820c954c51e0199c31087bc825f3f
torage/StorageVolume.java
1cf70bbf96930662cab0e699d70b62865766ff52 06-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Screen magnification - feature - framework.

This change is the initial check in of the screen magnification
feature. This feature enables magnification of the screen via
global gestures (assuming it has been enabled from settings)
to allow a low vision user to efficiently use an Android device.

Interaction model:

1. Triple tap toggles permanent screen magnification which is magnifying
the area around the location of the triple tap. One can think of the
location of the triple tap as the center of the magnified viewport.
For example, a triple tap when not magnified would magnify the screen
and leave it in a magnified state. A triple tapping when magnified would
clear magnification and leave the screen in a not magnified state.

2. Triple tap and hold would magnify the screen if not magnified and enable
viewport dragging mode until the finger goes up. One can think of this
mode as a way to move the magnified viewport since the area around the
moving finger will be magnified to fit the screen. For example, if the
screen was not magnified and the user triple taps and holds the screen
would magnify and the viewport will follow the user's finger. When the
finger goes up the screen will clear zoom out. If the same user interaction
is performed when the screen is magnified, the viewport movement will
be the same but when the finger goes up the screen will stay magnified.
In other words, the initial magnified state is sticky.

3. Pinching with any number of additional fingers when viewport dragging
is enabled, i.e. the user triple tapped and holds, would adjust the
magnification scale which will become the current default magnification
scale. The next time the user magnifies the same magnification scale
would be used.

4. When in a permanent magnified state the user can use two or more fingers
to pan the viewport. Note that in this mode the content is panned as
opposed to the viewport dragging mode in which the viewport is moved.

5. When in a permanent magnified state the user can use three or more
fingers to change the magnification scale which will become the current
default magnification scale. The next time the user magnifies the same
magnification scale would be used.

6. The magnification scale will be persisted in settings and in the cloud.

Note: Since two fingers are used to pan the content in a permanently magnified
state no other two finger gestures in touch exploration or applications
will work unless the uses zooms out to normal state where all gestures
works as expected. This is an intentional tradeoff to allow efficient
panning since in a permanently magnified state this would be the dominant
action to be performed.

Design:

1. The window manager exposes APIs for setting accessibility transformation
which is a scale and offsets for X and Y axis. The window manager queries
the window policy for which windows will not be magnified. For example,
the IME windows and the navigation bar are not magnified including windows
that are attached to them.

2. The accessibility features such a screen magnification and touch
exploration are now impemented as a sequence of transformations on the
event stream. The accessibility manager service may request each
of these features or both. The behavior of the features is not changed
based on the fact that another one is enabled.

3. The screen magnifier keeps a viewport of the content that is magnified
which is surrounded by a glow in a magnified state. Interactions outside
of the viewport are delegated directly to the application without
interpretation. For example, a triple tap on the letter 'a' of the IME
would type three letters instead of toggling magnified state. The viewport
is updated on screen rotation and on window transitions. For example,
when the IME pops up the viewport shrinks.

4. The glow around the viewport is implemented as a special type of window
that does not take input focus, cannot be touched, is laid out in the
screen coordiates with width and height matching these of the screen.
When the magnified region changes the root view of the window draws the
hightlight but the size of the window does not change - unless a rotation
happens. All changes in the viewport size or showing or hiding it are
animated.

5. The viewport is encapsulated in a class that knows how to show,
hide, and resize the viewport - potentially animating that.
This class uses the new animation framework for animations.

6. The magnification is handled by a magnification controller that
keeps track of the current trnasformation to be applied to the screen
content and the desired such. If these two are not the same it is
responsibility of the magnification controller to reconcile them by
potentially animating the transition from one to the other.

7. A dipslay content observer wathces for winodw transitions, screen
rotations, and when a rectange on the screen has been reqeusted. This
class is responsible for handling interesting state changes such
as changing the viewport bounds on IME pop up or screen rotation,
panning the content to make a requested rectangle visible on the
screen, etc.

8. To implement viewport updates the window manger was updated with APIs
to watch for window transitions and when a rectangle has been requested
on the screen. These APIs are protected by a signature level permission.
Also a parcelable and poolable window info class has been added with
APIs for getting the window info given the window token. This enables
getting some useful information about a window. There APIs are also
signature protected.

bug:6795382

Change-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00
emoteCallbackList.java
2701f325a6d4acd920637d2ff6fd6972a9cf836b 01-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Remove Binder.getOrigCallingUid()." into jb-mr1-dev
430e5b23cf702d57aa662972c43d546806147d76 01-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Centralize the creation of the user system directory" into jb-mr1-dev
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
andler.java
61f57379ca2c5b6290c8da7548fa17128f7ab24f 31-Aug-2012 Amith Yamasani <yamasani@google.com> Centralize the creation of the user system directory

Environment.getUserSystemDirectory(int userId)

Use it all relevant places that was hardcoding it.
Also, wipe out the user's system directory when user is removed, otherwise old state
might be transferred to a new user.

Change-Id: I788ce9c4cf9624229e65efa7047bc0c019ccef0a
nvironment.java
4120375d46091df8527bb701882e056fbb0e6b06 31-Aug-2012 Dianne Hackborn <hackbod@google.com> Remove Binder.getOrigCallingUid().

Replaced all remaining places that used it with explicit user
specification.

While doing this, I ran into stuff that was creating PendingIntent
objects (that now need to specify the explicit user they are for),
which are also posting notifications... but have no way to specify
the user for the notification.

So the notification manager in the system process now also gets a
formal concept of a user associated with the notification, which
is passed in to all the necessary aidl calls. I also removed the
old deprecated aidl interface for posting/cancelling notifications,
since we now always need a user supplied.

There is more work that needs to be done here, though. For example
I think we need to be able to specify USER_ALL for a notification that
should be shown to all users (such as low storage or low battery).
Along with that, the PendingIntent creation needs to be tweaked to
be able to handle USER_CURRENT by evaluating the user at the point the
pending intent is sent.

That's for another change, however.

Change-Id: I468e14dce8def0e13e0870571e7c31ed32b6310c
inder.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
ecoverySystem.java
serHandle.java
e217ee4d7a8223289a1af7363627c69956c46d41 29-Aug-2012 Jeff Sharkey <jsharkey@android.com> Access to all users' external storage.

System services holding this permission have external storage bound
one level higher, giving them access to all users' files.

Bug: 7003520
Change-Id: Ib2bcb8455740c713ebd01f71c9a2b89b4e642832
rocess.java
c53abc4d42a707caddf7ec9bb7d041125a09dbd7 29-Aug-2012 Jeff Brown <jeffbrown@google.com> Run with scissors.

Add a useful (if somewhat dangerous) method which will help
replace similarly dangerous code patterns in a few different places.

Change-Id: If1295f7ab9652c906ce718d94eb7914d143e1939
andler.java
a2910d0abbbe18ba1710dfd4a31af45769632255 25-Aug-2012 Jeff Brown <jeffbrown@google.com> Make it easier to create asynchronous Handlers.

There are potentially very many Handlers owned by services
that should not be blocked by barriers introduced by UI traversals
occurring on the same thread (if that ever happens).
Add some convenience constructors to make it easy to switch
these Handlers over to being async.

Bug: 7057752
Change-Id: I64d9bffe81e7c52ada4cfad4e89d4340153f4688
andler.java
7767eac3232ba2fb9828766813cdb481d6a97584 24-Aug-2012 Dianne Hackborn <hackbod@google.com> Keep track of whether an app is installed for each user.

This add a new per-user state for an app, indicating whether
it is installed for that user.

All system apps are always installed for all users (we still
use disable to "uninstall" them).

Now when you call into the package manager to install an app,
it will only install the app for that user unless you supply
a flag saying to install for all users. Only being installed
for the user is just the normal install state, but all other
users have marked in their state for that app that it is not
installed.

When you call the package manager APIs for information about
apps, uninstalled apps are treated as really being not visible
(somewhat more-so than disabled apps), unless you use the
GET_UNINSTALLED_PACKAGES flag.

If another user calls to install an app that is already installed,
just not for them, then the normal install process takes place
but in addition that user's installed state is toggled on.

The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED,
PACKAGE_REPLACED etc broadcasts to users who don't have a package
installed or not being involved in a change in the install state.
There are a few things that are not quite right with this -- for
example if you go through a full install (with a new apk) of an
app for one user who doesn't have it already installed, you will
still get the PACKAGED_REPLACED messages even though this is
technically the first install for your user. I'm not sure how
much of an issue this is.

When you call the existing API to uninstall an app, this toggles
the installed state of the app for that user to be off. Only if
that is the last user user that has the app uinstalled will it
actually be removed from the device. Again there is a new flag
you can pass in to force the app to be uninstalled for all users.

Also fixed issues with cleaning external storage of apps, which
was not dealing with multiple users. We now keep track of cleaning
each user for each package.

Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
serHandle.java
1552586283f329253edc4786a6cf40c5bb69ea36 24-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Clean up firewall interface method names." into jb-mr1-dev
2c0929850ae495d54efb91a68e4bbd29a2e0ec95 24-Aug-2012 Jeff Sharkey <jsharkey@android.com> Clean up firewall interface method names.

Change-Id: I653f0a01af7c90fc96b201abb31ea8354b036e74
NetworkManagementService.aidl
96702ad6d736fd2b145968843d5d83615b104a16 24-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Framework interface for netd firewall." into jb-mr1-dev
c268f0b19efd0b6c6c89c21be0893787f3cc9cf7 24-Aug-2012 Jeff Sharkey <jsharkey@android.com> Framework interface for netd firewall.

Bug: 5756357
Change-Id: If8b9f738fcea2cf16bd01682220718b57346c7cc
NetworkManagementService.aidl
d5fc86f0677575333556fe579838353fae10ce52 24-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Begin moving VPN to NetworkStateTracker pattern." into jb-mr1-dev
899223b97c9b0ae56a8211a46600914c0ecfd854 05-Aug-2012 Jeff Sharkey <jsharkey@android.com> Begin moving VPN to NetworkStateTracker pattern.

Created base tracker that handles common bookkeeping, and move VPN
to become a tracker. VPN status is now reflected in NetworkInfo, and
is mapped to LegacyVpnInfo.

Legacy VPN now "babysits" any init services it starts, watching for
when they stop unexpectedly.

Bug: 5756357
Change-Id: Iba7ec79da69469f6bd9a970cc39cf6b885b4c9c4
ystemService.java
d8b6fa293133324d77040e45d0d4625fc90917ba 23-Aug-2012 Doug Zongker <dougz@google.com> Merge "pass --locale argument to recovery" into jb-mr1-dev
e33b4007ee56e843d5e99cfb92627425a551058d 23-Aug-2012 Doug Zongker <dougz@google.com> pass --locale argument to recovery

When RecoverySystem boots into recovery (to install an update or wipe
data and/or cache), pass the --locale argument with the currently
selected locale.

Change-Id: Ib280330932a402be2011207bff8f05caa9b999cd
ecoverySystem.java
3451dc90648b8bd176030425ce91c019460ba88c 23-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Iteration on multi-user external storage." into jb-mr1-dev
b9b56954ec5a242f7c4945942539106539f98ffb 22-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Eliminate special battery calls by WindowManager" into jb-mr1-dev
2bca868361b41ff6a8228824cbecadc4c5deb44e 22-Aug-2012 Jeff Sharkey <jsharkey@android.com> Iteration on multi-user external storage.

Remove single-user bind mounts, since they need to remain as raw
mounts to correctly propagate when remounted. This means we're back
to using sdcard_r GID to enforce READ_EXTERNAL_STORAGE.

Bug: 6925012
Change-Id: I41b5d7ddc985a5df2e288632a0a80d4724089e00
rocess.java
259328c04ce16c554b48a14f68d8af94dc54d7ec 22-Aug-2012 Craig Mautner <cmautner@google.com> Eliminate special battery calls by WindowManager

Previous to this change the WindowManager was notifying the
BatteryDtatsService about windows that keep the screen on. WM used a
custom WakeLock tag to indicate to PowerManagerService that it had
already notified the BatteryStatsService.

This change eliminates WindowManager notifying the BatteryStatsService
and lets PowerManagerService do the job.

Fixes bug 7030326.

Change-Id: I666dc6ef8f094b8d3d109fea6876be058e057b4f
owerManager.java
98dddda7912428241ed61c053c7300d4a6702fa7 22-Aug-2012 Amith Yamasani <yamasani@google.com> Merge "Remove permission requirement for some UserManager calls" into jb-mr1-dev
1952637425eece18aa1ce3d80d4b49086ef3bcf7 22-Aug-2012 Amith Yamasani <yamasani@google.com> Remove permission requirement for some UserManager calls

Update javadocs to be explicit about permissions.
Minor fixes in UserManagerService

Change-Id: I0d355e0a60e5dbdb49ed06091111d480ff249f3d
serManager.java
11167b887aa2af52b861f5ffd31efa0882c80ec5 22-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Make the screen brightness setting limits configurable." into jb-mr1-dev
f9bba13692c10ff99a52f79d6d0f04c96117ff57 22-Aug-2012 Jeff Brown <jeffbrown@google.com> Make the screen brightness setting limits configurable.

Change-Id: Ica84951c482edef6b7faebe1af22c609a1b9e8be
owerManager.java
892f371c6b8c33268dceaeb89ac09c73ad72ad79 21-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Encapsulate locks in UEventObservers." into jb-mr1-dev
008b1762a8d5c908281a832ff90817ade6c7f9f6 21-Aug-2012 Jeff Brown <jeffbrown@google.com> Encapsulate locks in UEventObservers.

Synchronized methods make me cry so fixing this first before
I introduce any new functionality that could result in a deadlock.

Bug: 6548391
Change-Id: I9c006dc491ce205bfd86acf828dcebda2a63b2ca
EventObserver.java
4b72463d7cb807912ca359f3b5a160f59d985c1d 21-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Add factory test feature to shut off on long press power." into jb-mr1-dev
a5d5d608ccd885d8328879dde782a8cc93b7cf4f 21-Aug-2012 Brian Muramatsu <btmura@google.com> Merge "add wireless charger support" into jb-mr1-dev
9a538ee7bde42ad36f43edc48594282d98e191a4 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Add factory test feature to shut off on long press power.

Bug: 6847329
Change-Id: I2f4f975c3af2d13ccc06812a5a42e79032700862
actoryTest.java
80618d66b02d8cce325cdaa184435f43818a062b 20-Aug-2012 Kenny Root <kroot@google.com> am 7d5b22af: am f029c22f: Merge "Use Libcore.os.umask for setting umask"

* commit '7d5b22afae8525cdf80ba1bf8e18b87d597f830d':
Use Libcore.os.umask for setting umask
7d5b22afae8525cdf80ba1bf8e18b87d597f830d 20-Aug-2012 Kenny Root <kroot@google.com> am f029c22f: Merge "Use Libcore.os.umask for setting umask"

* commit 'f029c22f82573e7fee7c7e0cca4439fe78300bac':
Use Libcore.os.umask for setting umask
4c74f8c1713fa82904b10beec4da9ad8ebb97375 17-Aug-2012 Kenny Root <kroot@google.com> Use Libcore.os.umask for setting umask

Libcore.os now provides a umask method call, so just use that since it's
available.

Change-Id: I8826fa40bcab3d61a424ff98a8050d3e44f7ec34
ileUtils.java
37a37f445cbcd64376af153dd79ea2a123d9405d 15-Aug-2012 Brian Muramatsu <btmura@google.com> add wireless charger support

bug: 6879638

- add new enum value BATTERY_PLUGGED_WIRELESS
- check for sys online file with contents "Wireless"

Change-Id: I22dc3c40f50573c98643e7b5cbcb237d0216530d
atteryManager.java
atteryStats.java
79af1dd54c16cde063152922b42c96d72ae9eca8 17-Aug-2012 Dianne Hackborn <hackbod@google.com> Switch public APIs to use new UserHandle class for identifying users.

Gets rid of "yet another integer" confusion.

Change-Id: Id07ea7307aea7c62f0087c6663a1f1c08e2e5dee
rocess.java
serHandle.java
serManager.java
2a00329c6d55c6cd9166e01963d7410e95d80d21 15-Aug-2012 Amith Yamasani <yamasani@google.com> UserHandle to UserSerialNo mapping

Use AtomicFile for usermanager files.

Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.

Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
UserManager.aidl
serManager.java
9a994b5350731b8169a9b25463f57266ee2988fb 17-Aug-2012 Kenny Root <kroot@google.com> am 050c87f8: am a950daf5: Merge changes Ieb566a2a,I953057cd

* commit '050c87f87e2a48c7bc90f5b15fb6e4e37e667286':
Use Libcore's stat instead of FileUtils#getFileStatus
Use Libcore.os.stat instead of FileUtils
050c87f87e2a48c7bc90f5b15fb6e4e37e667286 17-Aug-2012 Kenny Root <kroot@google.com> am a950daf5: Merge changes Ieb566a2a,I953057cd

* commit 'a950daf5c14a0009c2c62e9c3e0e8d51eb0cf7d9':
Use Libcore's stat instead of FileUtils#getFileStatus
Use Libcore.os.stat instead of FileUtils
520ee7bcadafdc5768fa8fc8890199ebe29886da 17-Aug-2012 Kenny Root <kroot@android.com> am a2e8365c: am 9b0da58e: Merge "Introduce a restorecon JNI binding."

* commit 'a2e8365cc883de0d3e56e9f4af350ecfe1b8fc4c':
Introduce a restorecon JNI binding.
a2e8365cc883de0d3e56e9f4af350ecfe1b8fc4c 17-Aug-2012 Kenny Root <kroot@android.com> am 9b0da58e: Merge "Introduce a restorecon JNI binding."

* commit '9b0da58e3a30b760de37138cdd51d20f269c383e':
Introduce a restorecon JNI binding.
98e15e78934a00cf46f2be55472b7fd7a39ac0de 16-Aug-2012 Kenny Root <kroot@google.com> Use Libcore's stat instead of FileUtils#getFileStatus

Remove the last user of FileUtils#getFileStatus and move it to
Libcore.os.stat instead. Then we can remove the JNI code that does the
equivalent of a stat.

Change-Id: Ieb566a2a8a17c2dd0150724b4eb3ac1cc41c823d
ileUtils.java
786cbcacd2efbd94476eb05a4d5b77211f20d434 16-Aug-2012 Kenny Root <kroot@google.com> Use Libcore.os.stat instead of FileUtils

PackageManagerService just needed to know the owner for this file, so
just use stat instead so we can remove the old JNI code.

This is the last user of FileUtils#getPermissions so just remove the
FileUtils method as well.

Change-Id: I953057cd6b9de4410f33b6f22e4bddff02fe2988
ileUtils.java
9b0da58e3a30b760de37138cdd51d20f269c383e 16-Aug-2012 Kenny Root <kroot@android.com> Merge "Introduce a restorecon JNI binding."
c584b65b2093396c9a0c9303dab6ff6cb81ac315 16-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Multi-user external storage support." into jb-mr1-dev
a579f7926af72597f1c11c5df0486253d5d2c435 16-Aug-2012 Kenny Root <kroot@google.com> am d69b47c0: am 8942e5a3: Merge "Use libcore Posix class for StatFs implementation"

* commit 'd69b47c087a87355df76a5276ab18af847f64367':
Use libcore Posix class for StatFs implementation
d69b47c087a87355df76a5276ab18af847f64367 16-Aug-2012 Kenny Root <kroot@google.com> am 8942e5a3: Merge "Use libcore Posix class for StatFs implementation"

* commit '8942e5a32ae2d1a36b65efe5b26cc06227ea0ca5':
Use libcore Posix class for StatFs implementation
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 16-Aug-2012 Dianne Hackborn <hackbod@google.com> Rename UserId to UserHandle.

This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
inder.java
rocess.java
serHandle.java
serId.java
bdd23ae9f5ea2b3e0720e76711345cad0fa8d6dd 16-Aug-2012 Kenny Root <kroot@google.com> Use libcore Posix class for StatFs implementation

Remove some JNI and duplicated functionality and use libcore's Posix
class for the statfs function instead.

Change-Id: Ic1e161dc10c18c2c6ee81d895a0efd8910086dbf
tatFs.java
5b1ada2562c17921adf6a62ea62bcb445160983c 15-Aug-2012 Jeff Sharkey <jsharkey@android.com> Multi-user external storage support.

Emulated external storage always has multi-user support using paths
like "/data/media/<user_id>". Creates and destroys these paths along
with user data. Uses new ensure_dir() to create directories while
always ensuring permissions.

Add external storage mount mode to zygote, supporting both single-
and multi-user devices. For example, devices with physical SD cards
are treated as single-user. Begin migrating to mount mode instead
of relying on sdcard_r GID to enforce READ_EXTERNAL_STORAGE.

Bug: 6925012
Change-Id: I9b872ded992cd078e2c013567d59f9f0032ec02b
rocess.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
PowerManager.aidl
ocalPowerManager.java
owerManager.java
orkSource.java
109025d778c12d78f8585920447320aaf0f1d2f8 15-Aug-2012 Jeff Brown <jeffbrown@google.com> Make all messages in KeyguardViewMediator asynchronous.

We don't want these messages to get blocked by UI traversals.

Added a convenience for creating Handlers that always send
asynchronous messages.

Change-Id: Id568e87fcb8b169e8c52c5fe1dc76a4a5771570b
andler.java
aac71ff465399251fa8e830407f2917b986988d9 14-Aug-2012 Christopher Tate <ctate@google.com> Don't back up / restore non-primary users' data

For now only the device owner "user" gets cloud backups. Also, only the
device owner account has access to local backup/restore.

Bug 6956438

Change-Id: I87d7ba5969e606c23f4214469f9bf2fd47a6c61b
serId.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
UserManager.aidl
serManager.java
0412423f06ec633203b96f68b51f0720c33a2473 29-Jun-2012 Haoyu Bai <bhy@google.com> Setup idletimer for network interface.

Cherry-picked from commit f71ca8a5728e425de61ba794c9653dd0b04f16e3 in
master. DO NOT MERGE

Change-Id: I6101c7ae041b4cc1237ce7a9983753dbdfa301d3
NetworkManagementService.aidl
06439fd29f9bbf7031f58f5b06aa6c022ac9897a 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am cb80cb70: am 37548994: Merge "StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test."

* commit 'cb80cb700d15319c20686998e822aed32a56adf5':
StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test.
cb80cb700d15319c20686998e822aed32a56adf5 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 37548994: Merge "StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test."

* commit '37548994e69292932e9e2fafb7cba6c53e3a2bcd':
StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test.
37548994e69292932e9e2fafb7cba6c53e3a2bcd 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test."
8264408f5995534f8e3147b001664ea0df52aaa5 03-Aug-2012 Amith Yamasani <yamasani@google.com> Start the correct settings from the status bar.

Added a new method to Context: startActivityAsUser() requiring the
INTERACT_ACROSS_USERS_FULL permission.

Show the correct Recents list, based on current user.
Added a getRecentTasksForUser() in ActivityManager. Hidden and requires
the INTERACT_ACROSS_USERS_FULL permission.

Change-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c
serId.java
82f479d0647855148af84fe2ba5484cb188c92cc 09-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Cleaner controls between Vpn and init services." into jb-mr1-dev
04c7923c74eca791d1bea853b9ac246af2ad3db0 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 74913572: am 6fb8fe9a: Merge "StrictMode.permitCustomSlowCalls() should call disable(DETECT_CUSTOM)"

* commit '749135722c6edb681fc27fcbab5beba25f938d82':
StrictMode.permitCustomSlowCalls() should call disable(DETECT_CUSTOM)
749135722c6edb681fc27fcbab5beba25f938d82 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 6fb8fe9a: Merge "StrictMode.permitCustomSlowCalls() should call disable(DETECT_CUSTOM)"

* commit '6fb8fe9aba75681509d84f68d536ed78d292bd44':
StrictMode.permitCustomSlowCalls() should call disable(DETECT_CUSTOM)
2caec6c682853ccbfe73ef5ae15c1d03ea043e8a 08-Aug-2012 Nick Kralevich <nnk@google.com> Fix link typo.

Change-Id: I182b9c04caddcc4a985f206eddf5c23b06afe0e3
uild.java
9d16c219f1ca0836a832e25a61fcaf9c1d0dd67b 08-Aug-2012 Nick Kralevich <nnk@google.com> Merge "Content Providers: change default for android:exported" into jb-mr1-dev
537915828b45693e846a126292e026c5b4f05152 08-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "More mult-user API work." into jb-mr1-dev
7d19e0242faac8017033dabb872cdf1542fa184c 08-Aug-2012 Dianne Hackborn <hackbod@google.com> More mult-user API work.

- You can now use android:singleUser with receivers and providers.
- New API to send ordered broadcasts as a user.
- New Process.myUserHandle() API.

For now I am trying out "user handle" as the name for the numbers
representing users.

Change-Id: I754c713ab172494bb4251bc7a37a17324a2e235e
rocess.java
b53e9b42c302a5c5ccd837aece6bfffdf0cb5bf2 07-Aug-2012 Scott Main <smain@google.com> am a8583c29: am 40eee61e: docs: fix broken links and update sitemap text file

* commit 'a8583c2934836572632bb82d1fe7607392d4ca72':
docs: fix broken links and update sitemap text file
a8583c2934836572632bb82d1fe7607392d4ca72 07-Aug-2012 Scott Main <smain@google.com> am 40eee61e: docs: fix broken links and update sitemap text file

* commit '40eee61e25fb887f5267686f8a0a7c5bd9f95769':
docs: fix broken links and update sitemap text file
f097b16cfddce2dbb097b929458fe9b0a402963e 28-Jul-2012 Nick Kralevich <nnk@google.com> Content Providers: change default for android:exported

Change the default value of android:exported to true
for applications which target a newer API version.
This will help stop inadvertent content provider
exposure to untrusted apps.

Bug: 3306452

Change-Id: I8cb34e823aef9551319951ce92217345c54cee63
uild.java
40eee61e25fb887f5267686f8a0a7c5bd9f95769 07-Aug-2012 Scott Main <smain@google.com> docs: fix broken links
and update sitemap text file

Change-Id: I6982c3f029c46135ae856b8484d906c2882bad3a
inder.java
088f29f55eebc6862a4cb5dddeaefacf24f74d95 05-Aug-2012 Jeff Sharkey <jsharkey@android.com> Cleaner controls between Vpn and init services.

Change-Id: I35edf054f4a1190f7fb7b4c48ee832e899c9528b
ystemService.java
6614bb657929c70dad988fb14b4b91f3b9d4f7fc 28-May-2012 Chuanxia Dong <chuanxiao.dong@intel.com> StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test.

Issue description:
When run ICS stress test, always meet GREF issue. one of contributor is MountService$MountServiceBinderListener.
log info
19:21:11.609 222 24316 W dalvikvm: 24 of com.android.server.am.ActivityManagerService$AppDeathRecipient (24 unique instances)
19:21:11.609 222 24316 W dalvikvm: 479 of com.android.server.MountService$MountServiceBinderListener (479 unique instances)
19:21:11.619 222 24316 W dalvikvm: 7 of com.android.server.accessibility.AccessibilityManagerService$6 (7 unique instances)
Note: PID 222 is system server.

Issue alaysis:
Everyone can call getSystemService(Context.STORAGE_SERVICE) to get service.
When other service get StorageManager, StorageManager will new MountServiceBinderLister and
register a listener in MountService, which won't be unregistered. It's easy to generate a lot of
instance of unused MountService$MountServiceBinderListener in system server.

Issue fix:
So change the policy to be:
1. Doesn't new MountServiceBinderLister in construction.
2. when other service needs to register listener in StorageManager,
StorageManager will register listener with MountService.
3. When other service needs to unregister listener in StorageManager,
if there is no more other listeners in StorageManager, StorageManager
will unregister listener in MountService.

Change-Id: Iaaf889f44a1a5f62b9f65b3ab1b486c9b7dcaf7f
Author: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: Bo Huang <bo.b.huang@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
torage/StorageManager.java
4c7a4a776741ddaa49df1361aa3a8f3977e59196 03-Aug-2012 Raph Levien <raph@google.com> Fix bug 6930875: ArrayIndexOutOfBoundsException on Battery details

The wrong constant was used to count the number of user activity types.
The number of types changed recently, so before then nothing bad
happened. Now we get an AIOOB.

This is the change to NUM_USER_ACTIVITY_TYPES:

Change-Id: I05045180129b30fa09fe5f5e1e3b0ac25fee23b4
https://googleplex-android-review.googlesource.com/#/c/211982/
atteryStats.java
435cdb4604d9112c2fa8b2bb8d0ec49468bfdcf2 31-Jul-2012 Dianne Hackborn <hackbod@google.com> New API level 17 for JB MR1.

Change-Id: If71ce3b521fe17578feb5c2a2f7fd65696720554
uild.java
b696de5c10ebcc7bf42d8487fc0e56e0e937754d 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Move and rename user activity event type constants.

Change-Id: Ie565808796773b6896e71ddfac6aaaf8031de846
ocalPowerManager.java
owerManager.java
155fc70252fd9ccee1f05da4e6966a99ec86d499 27-Jul-2012 Jeff Brown <jeffbrown@google.com> Flatten power manager wake lock constants.

We only support a few basic kinds of wake locks. Rather than
pretend that we could support other weird combinations of features,
just get rid of the feature bits.

Deprecated other wake lock types. We really want to encourage
developers to use FLAG_KEEP_SCREEN_ON instead of managing
their own wake locks, even though its behavior is not
exactly equivalent.

Change-Id: Idfeb0bc6efff0ef2736e47f72a06e69e5a16996e
owerManager.java
94838913abf6363532cd32b9c795917d808228cc 27-Jul-2012 Jeff Brown <jeffbrown@google.com> Implement equals() and hashCode() like a good little object.

Change-Id: I06fc8f96586c72095ffa142d52fbd71af05cee97
orkSource.java
df693de4fe12f081555b449e2726e205fbd86572 27-Jul-2012 Jeff Brown <jeffbrown@google.com> Fix inconsistency in user activity types.

Looks like BatteryStats was not updated when we reduced the number
of user activity types from 7 to 3.

Change-Id: I7465f86c78baa561a6555c33f681553b870827f2
atteryStats.java
ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
Fix several cases of broken droiddoc syntax external issue 35214
71930dd77e4dc6f6be5c648019d2ab0da5f0584c 25-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit 'a45746efadd11bb7dfab026fb3c81a25fae74ca4':
Fix several cases of broken droiddoc syntax external issue 35214
a45746efadd11bb7dfab026fb3c81a25fae74ca4 19-Jul-2012 Jeff Smith <whydoubt@yahoo.com> Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
torage/StorageManager.java
554cb0c290406f5bba34908489db5382a69d0a9a 05-Jul-2012 rpcraig <rpcraig@tycho.ncsc.mil> Introduce a restorecon JNI binding.

Label the vmdl.*\.tmp files and the final .apk file differently.
Modify the WallpaperManagerService to restorecon the wallpaper file.

Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>

Change-Id: Idfc056e9ec0508d7e11100626a7114f341f1af70
ELinux.java
95f1158908d990bbf954d7cc78f3f214a6c84f1f 19-Jul-2012 Nick Pelly <npelly@google.com> Introduce SystemClock#elapsedRealtimeNano.

Change-Id: I47e1b14d45c5321f959d46e1805f86aafd72f5d4
ystemClock.java
ff1baef86c3b34fe2aec33a22bc2d06112af4c03 20-Jul-2012 Jeff Brown <jeffbrown@google.com> Fix keyguard wake-up issue.

Bug: 6835809
Change-Id: I7a23b50286592b4c4b104b0b6429f2d05fb5e01b
owerManager.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
NetworkManagementService.aidl
3a6794cad739c2b6fcc9b3fc6c4461f88728af8a 17-Jul-2012 Matthew Xie <mattx@google.com> Merge "Changes to Bluetooth Service structure."
1abb1cb3a8fe17f7866150604c2fd73751da787e 26-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Changes to Bluetooth Service structure.

Changes to make Bluetooth Service part of the system_service.
These changes may be temporary.

Changes to update to the new disable API.

Change-Id: If89dba17e6e6c6daa53c37684221763a2da076e9

Conflicts:

services/java/com/android/server/pm/PackageManagerService.java
rocess.java
097fbf2e98e0d32baf6cbd1a5659c4145afb191f 13-Jul-2012 Qi Wang <wangqi0316@gmail.com> StrictMode.permitCustomSlowCalls() should call disable(DETECT_CUSTOM)
trictMode.java
430c25428a351bbf3d02b152050c7403457875e2 04-Jun-2012 Glenn Kasten <gkasten@google.com> Increase SchedulingPolicyService.PRIORITY_MAX to 3

This allows selected kernel workers to use 1, while audio preempts them
with 2 and 3.

Bug: 6461925
Change-Id: Ie132235f3027964749509f493fea44b48426c491
chedulingPolicyService.java
287a64af979451fde58148e723ef0ff89824718e 22-Jun-2012 Kenny Root <kroot@android.com> am ae017c55: am a9543a3d: Merge "Pass additional inputs when spawning apps via the Zygote and add SELinux permission checks."

* commit 'ae017c55824ca345186b0c9fc204401153bd8a23':
Pass additional inputs when spawning apps via the Zygote and add SELinux permission checks.
ae017c55824ca345186b0c9fc204401153bd8a23 21-Jun-2012 Kenny Root <kroot@android.com> am a9543a3d: Merge "Pass additional inputs when spawning apps via the Zygote and add SELinux permission checks."

* commit 'a9543a3dad0da58f30580bdf99b76bc2ab97a2df':
Pass additional inputs when spawning apps via the Zygote and add SELinux permission checks.
e6d2016be01273cb58ea58424596f3aa2b302a74 20-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Clean up PowerManager API."
1244cdaedd5bb4518fc75c9a25b834190ea31877 20-Jun-2012 Jeff Brown <jeffbrown@google.com> Clean up PowerManager API.

Mostly just moved the code around and improved the docs.

Fixed a minor inefficiency in WakeLock.setWorkSource() where
we would tell the power manager that the work source was changed
even when the old work source and new work source were both null.

Fixed a bug in WakeLock.setWorkSource() where we would not
notify the power manager that the work source was changed if
there was no work source previously specified.

Added synchronized to WakeLock.setReferenceCounted.

Added a checked in WakeLock.acquireLocked() and WakeLock.release()
to check whether the wake lock is actually not held / held
before performing the corresponding operation. This change avoids
making redundant calls into the power manager service in the
case where the wake lock is not reference counted and acquire()
or release() have been called multiple times.

Made the PowerManager and WakeLock classes final. They are not
directly instantiable by applications so this change does not
break the API.

Removed a little dead code (one private constructor and an
unused constant).

Change-Id: I4e10cf893506115938a35756136c101256dccf30
owerManager.java
90542758d4fef2e5ff8badaf3b40c2a227fbfc47 20-Jun-2012 Irfan Sheriff <isheriff@google.com> Cleanup softap interface to netd

Change-Id: I01e6c5b5a5a8ddaf05b979f9cc6d1293c86e8773
NetworkManagementService.aidl
4d2bef3f850e75744ade93f95615c7cb4a7fefa0 19-Jun-2012 Nicolas Falliere <nicof@google.com> am 277c09f6: am 56bb344c: Merge "Added or fixed doctrings for required permissions." into jb-dev

* commit '277c09f6c16c4adfd50407e2fa4dbf61a0e06e55':
Added or fixed doctrings for required permissions.
277c09f6c16c4adfd50407e2fa4dbf61a0e06e55 19-Jun-2012 Nicolas Falliere <nicof@google.com> am 56bb344c: Merge "Added or fixed doctrings for required permissions." into jb-dev

* commit '56bb344ccfd3d261cea9987c98a17d0820279b17':
Added or fixed doctrings for required permissions.
9530e3a22d5ffa2019d1a5177b6a441d4d6d048b 19-Jun-2012 Nicolas Falliere <nicof@google.com> Added or fixed doctrings for required permissions.

Bug: 6591338
Change-Id: Ia2092f9994854701b5fa1425c371817367ae07ec
ibrator.java
10c45b6965baf9e0fbadd8b0b5742290689c6319 16-Jun-2012 Nick Pelly <npelly@google.com> Merge "Include WIFI scan's in Battery Stats."
6ccaa540a18a69e5343e3e4d507f341880fcde5a 16-Jun-2012 Nick Pelly <npelly@google.com> Include WIFI scan's in Battery Stats.

Call noteWifiScanStartedFromSource() when a scan is started.
Call noteWifiScanStoppedFromSource() when a scan is finished.

The current implementation tracks to UID that requested the scan, and
correctly tracks the duration of the scan. It ignores scan requests
that occur when a scan is already in progress. It does not distinguish
between active and passive scans.

Repurpose all the noteScanWifiLockAcquired/Released() plumbing
for WIFI scan tracking. The WIFI scan locks were never reported
to the user. Use noteFullWifiLock() when WIFI scan locks are used -
this makes sense because the power draw for a WIFI scan lock
should be about the same as for a full WIFI lock.

Bug: 6642581
Change-Id: Ida6e87992853698545b89f875c973a239218317d
atteryStats.java
be782a6aa0f7c656ed0dce468b9722c3acde8358 11-Jun-2012 Dianne Hackborn <hackbod@google.com> am 3857681e: am a7e3a1e0: Merge "Include important native processes in watchdog stacks." into jb-dev

* commit '3857681e5885b64e593dcc3e28492b156d860ed3':
Include important native processes in watchdog stacks.
3857681e5885b64e593dcc3e28492b156d860ed3 11-Jun-2012 Dianne Hackborn <hackbod@google.com> am a7e3a1e0: Merge "Include important native processes in watchdog stacks." into jb-dev

* commit 'a7e3a1e0e7d308e7e78a1992038a34485d04ab29':
Include important native processes in watchdog stacks.
f72467ad9843bf5d4b75fb308386e77ebb5c3447 09-Jun-2012 Dianne Hackborn <hackbod@google.com> Include important native processes in watchdog stacks.

Helps us track down deadlocks involving native service processes.

Bug: 6615693
Change-Id: I580047550772e29586195a8cf440141574e3f40c
ebug.java
rocess.java
450f21a97da3d12fa835ed436cab251bbc34cf89 08-Jun-2012 Kenny Root <kroot@google.com> am d26f7139: Merge "resolved conflicts for merge of 9855f6e2 to jb-dev-plus-aosp" into jb-dev-plus-aosp

* commit 'd26f7139a7ff42ca1be470657515767f7509955b':
Add JNI bindings for some of the libselinux interfaces.
e38b1c4d156a569efc646e86a72ab3a3e3ccf6fc 08-Jun-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 9855f6e2 to jb-dev-plus-aosp

Change-Id: I012bd3b5946dedba3439285caa93739d44ebc60f
20e14948f2f1f2d5f490104f43411732e0e7cb91 06-Jun-2012 Dianne Hackborn <hackbod@google.com> am 82811d45: am 533fce25: Merge "Docs (mostly): enumerate JELLY_BEAN target SDK changes." into jb-dev

* commit '82811d45ed21ccdff77d11495fa2045c7942bd6d':
Docs (mostly): enumerate JELLY_BEAN target SDK changes.
636fd528f7ad51f565a390226d9f469f8c675ccf 06-Jun-2012 Dianne Hackborn <hackbod@google.com> Docs (mostly): enumerate JELLY_BEAN target SDK changes.

Okay this isn't entirely docs. I have un-hidden the new permission
for binding to accessibility services; we were going to go out with
it hidden since it didn't go into factory ROM, but now that we are
doing other things we might as well expose it.

Also changed a log from E to W, since it is not an error.

Change-Id: I9226c95e3b63e12218fe41dc3f4290d9824a9e5c
uild.java
9c0d9cf25ffdf4f6545e489b22ba621bf0b7ba29 01-Jun-2012 Eino-Ville Talvala <etalvala@google.com> Add camera as an ATRACE tag

Change-Id: I7b4fc51f8b0eb97190817f8cbc9f743b0d112922
race.java
0100625bb316ecbd99873b72756ffba8613c3456 24-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)" into jb-dev
13fe2a5330a5df662d7b1b136e7b08fe34c94a42 19-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)

- use an ID instead of a String for StorageVolume description
- use this ID for getting the correct localized version of the description string

Change-Id: I30f3080fce2c889be38bfdf9f5121dffcf8a99e8
torage/StorageVolume.java
d525baa3a84928e16973fcf7f3d464adac513c1d 23-May-2012 Jeff Sharkey <jsharkey@android.com> Add media directory, hidden for now.

Bug: 6539384
Change-Id: I8f3f7b92d27f15e82a43bb2fec02f2d9ed0280e1
nvironment.java
13b907353f18215b52b5ceda24bbf520d91d72a1 21-May-2012 Romain Guy <romainguy@google.com> Remove unused, obsolete debug code

All these features have either been abandonned and left un-maintained
for years or can be replaced by systrace.

Change-Id: I42e4579a8078744047e5fe08a7a15254970b09bc
ooper.java
2c1b8c744daf1dfb3cc545effaf9a43e342a3d38 21-May-2012 Romain Guy <romainguy@google.com> Update AsyncTask documentation

Change-Id: I678506309f027bb12d0c3f42436a60611aca5d8c
syncTask.java
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
torage/IMountService.java
f558780c20b25b85e2e8f3f03ab76c460fb8bf1d 17-May-2012 Jeff Brown <jeffbrown@google.com> Add a label for the new video trace tag.

Change-Id: Ie296b4b5ca73987cdea7766f8698fc43704b2e81
race.java
58770232216cd735afdfd3dd53151070e06de5ce 12-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Move power HAL interactions to PowerManagerService." into jb-dev
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
ower.java
owerManager.java
d83fdd03a1daaf577d80c8abda86c7c01bf6d3bb 12-May-2012 Jamie Gennis <jgennis@google.com> Merge "Trace: add a tracing tag for video" into jb-dev
24dae6c611455ec38675554033e4d18810d77d6c 11-May-2012 Jamie Gennis <jgennis@google.com> Trace: add a tracing tag for video

Change-Id: If4c3c76b049a475ca99eb258dc3d432435e77dc0
race.java
fa61f0b2e25382d3a8ea35024dd227606151e87a 10-May-2012 Dianne Hackborn <hackbod@google.com> JellyBean is now 4.1.

Change-Id: Ie37a7c4356d593010686d5dc7d6e715d30099e1e
uild.java
59325eb31f25704bb88c348160bb69e7c1aa3b48 10-May-2012 Dianne Hackborn <hackbod@google.com> Add new API to find total RAM.

Change-Id: Iad2dff3c44f471515f093e7f0d0d959528881ab9
rocess.java
a53de0629f3b94472c0f160f5bbe1090b020feab 09-May-2012 Dianne Hackborn <hackbod@google.com> Add callback hack to find out when to load system properties.

Use this to reload the trace and layout bounds properties.

This is ONLY for debugging.

Change-Id: I1c4bdb52c823520c352c5bac45fa9ee31160793c
Binder.java
erviceManagerNative.java
ystemProperties.java
race.java
feecf9d7869c87dfe11d594640d0c7ad2045d1fb 09-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Support for changing traces from development settings." into jb-dev
83e6eb11d7ec24e7c363beccab0806989ad89ec5 08-May-2012 Dianne Hackborn <hackbod@google.com> Support for changing traces from development settings.

Publish information needed to build UI, fix SystemProperties.getLong()
to be able to read this property, fix some issues in
MultiCheckPreference.

Change-Id: I10c8ff84a167fdb42f6c93500201b78b844cfb8b
race.java
947f1c8db00bd3805838ff49a5f4d220df507b47 08-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Move CancellationSignal to android.os package." into jb-dev
a7771df3696954f0e279407e8894a916a7cb26cc 08-May-2012 Jeff Brown <jeffbrown@google.com> Move CancellationSignal to android.os package.

Bug: 6427830
Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
ancellationSignal.java
CancellationSignal.aidl
perationCanceledException.java
ebd6016b8c6faf70b44283c59461023cda1ca6b0 08-May-2012 Glenn Kasten <gkasten@google.com> Merge "Add audio tag to systrace" into jb-dev
ed853fc4e0ba8ce0692d65064e12cf129b5d1f3e 07-May-2012 Glenn Kasten <gkasten@google.com> Add audio tag to systrace

Change-Id: I3c5af7c5d166ff24ef57918a4dbda6327b03cc1f
race.java
a2ad65692481510496e367b593facf778f49249b 07-May-2012 Romain Guy <romainguy@google.com> Increase the Message pool size

Change-Id: If609c9ffbea800ff6409b0096a82f0b899f29343
essage.java
d0c66f6a8f15bb95648b4306d2583575d0bb9935 06-May-2012 Pin Ting <pinting@google.com> Merge "Fix javadoc." into jb-dev
c4be1b7e963413c110d8a6ee9fdd4fd7443fb2e0 04-May-2012 Andy Stadler <stadler@google.com> Merge "Add System Tracing capability to Sync Manager" into jb-dev
09b45a3ad96379b4181d32f8391f63e9c57dc316 04-May-2012 Andy Stadler <stadler@google.com> Add System Tracing capability to Sync Manager

This tracing code is enabled via "systrace.py --set-tags sync"

Change-Id: Ia8bc01adbba345a568405b0ac8ade96e56b40cc1
race.java
e8914c36276710de50b347c1e6aecfa45d6a56cd 02-May-2012 Jeff Sharkey <jsharkey@android.com> Begin collecting xtables iface counters.

Add method to parse new iface_stat_fmt proc stats, or return null
when kernel support is unavailable. Add test and remove older, unused
parsing code. Create new "xt" recorder to persist the new xtables
counters when available.

Add SSID support to NetworkIdentity to fix policy tests.

Bug: 6422414
Change-Id: I77f70e9acb79a559ab626f3af5c4f3599801ed43
NetworkManagementService.aidl
32c8113510b2774f865e8ac763976b90d9db2706 01-May-2012 Jeff Brown <jeffbrown@google.com> Fix Javadoc.

Bug: 6418632
Change-Id: Ib17218c413cbdf26bab19ccd873de33e67dd3397
andler.java
8e6159b821c0782776c030ab588c3e0d1d0143f6 27-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Add traces for window manager and activity manager." into jb-dev
1ded0b1f6af65c2f95f8327f7f3df4cee1bf2346 26-Apr-2012 Dianne Hackborn <hackbod@google.com> Add traces for window manager and activity manager.

Change-Id: I525d762db328e4c597da27b6b56d9a808e199756
race.java
14a9310efd936149c82ecfcc37c7c8308968f67c 25-Apr-2012 Pin Ting <pinting@google.com> Fix javadoc.

Change-Id: Ibbfee452cae76a379dcd360412de962e90f29da5
onditionVariable.java
andlerThread.java
6dceb88f1c7c42c6ab43834af2c993d599895d82 12-Apr-2012 Kenny Root <kroot@google.com> Allow forward locked apps to be in ASECs

We couldn't put forward-locked apps in ASEC containers before since we
didn't have any permissioned filesystems. This adds the ability for
forward-locked applications to be in ASEC containers.

This means that forward locked applications will be able to be on the SD
card now.

This change also removes the old type of forward-locking that placed
parts of apps in /data/app-private. Now all forward-locked applications
will be in ASEC containers.

Change-Id: I17ae0b0d65a4a965ef33c0ac2c47e990e55707ad
torage/IMountService.java
bb9d6e6d8f3062302f229b8e2d133eae312a148b 25-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Relax global restrict for system services."
5294a2fc2f401cd248a4bc3f0f9ee1e2854f4e9a 25-Apr-2012 Jeff Sharkey <jsharkey@android.com> Relax global restrict for system services.

Since we control system services, we can ensure they are using little
data when data usage is globally restricted. Continue restricting
AID_MEDIA and AID_DRM, since they respond to app requests.

Bug: 6377903, 5772564
Change-Id: I196bf334f903397ea6a67e6802240ee792e47b54
rocess.java
07b0465095bd9ab3412caefa4fcacbdc3825c64b 24-Apr-2012 Glenn Kasten <gkasten@google.com> Scheduling policy service

Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
SchedulingPolicyService.aidl
rocess.java
chedulingPolicyService.java
ba6be8a62dcdb3ffd210cd36b9af4e3a658eac47 24-Apr-2012 Romain Guy <romainguy@google.com> Prevent WebView from crashing when detached from the window
Bug #6365056

WebView enqueues a functor in the hardware renderer to handle
animations and this functor is called at a later time by the
hardware renderer. However, the functor was not removed from
the queue when WebView was removed from the window. This could
cause the hardware renderer to attempt to execute an invalid
functor and lead to a crash.

Change-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508
andler.java
essageQueue.java
f1b56449f58963e4f0473d5e26961f68c31759f4 16-Mar-2012 Glenn Kasten <gkasten@google.com> Scheduling group cleanup

The C++ API for scheduling groups is going away, so use the C API.

Renumber THREAD_GROUP_* constants to have the same values as SP_*.
They are @hide so this should be OK.

The old THREAD_GROUP_FG_BOOST constant is removed, and replaced by a
(private) THREAD_GROUP_FOREGROUND constant that is just a placeholder
to correspond to SP_FOREGROUND. It is not usable at this level.

Improved performance of android_os_Process_setProcessGroup:
avoid unnecessary syscall to getpriority for each tid.

Fixed error handling in android_os_Process_setThreadGroup.
It raises an exception if set_sched_policy() returns an error.

Add comments and fix typos in existing comments.

Change-Id: Ib922e92c945985c695ef0addbd2b83b8e82865f8
rocess.java
4b12171c64176aa8967b7a91c293ab0403b26e46 18-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Update Environment fallback defaults."
a51a9564fd53b661446cd63eea23208656acc678 18-Apr-2012 Craig Mautner <cmautner@google.com> Add call-stack reporting methods into Debug

Added two public methods to Debug. These methods return a String
indicating the caller (getCaller()) or callers (getCallers(int depth))
of the calling method. The String indicates the class, method and line
number of the caller(s). Similar to using Throwable.fillInStackTrace()
but much more concise.

Change-Id: I53d0085aa50e4501d28e8eb3ad5b91ef700ac218
ebug.java
e704a15bbf0d8f2595215e13175c1f6cdcc8f5e5 18-Apr-2012 Jeff Sharkey <jsharkey@android.com> Update Environment fallback defaults.

Change-Id: Ia385b03023e38c01546e57635ccf9b29d017220a
nvironment.java
192a65e9f6ebdc452520e19f95c68c270b3f96da 17-Apr-2012 Chris Craik <ccraik@google.com> Add webview tracing bit

Change-Id: I7e292cf780fa2e59f183debb0e7e2bc61f27543d
race.java
a47425a13c19f95057df78b8bb65bb25657e8753 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Add support for input devices that have vibrators.

Added a getVibrator() method to InputDevice which returns a Vibrator
associated with that input device. Its uses the same API as the
system vibrator which makes it easy for applications to be modified
to use one or the other.

Bug: 6334179
Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
ullVibrator.java
c2346134bb519a54d50655cbef940fc3fdec60a9 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Extract Vibrator implementation from interface.

Moved the core logic of Vibrator into SystemVibrator, potentially
allowing for the creation of other Vibrator subclasses.

Fixed several places where we were creating new Vibrator
instances unnecessarily instead of getting it from the Context.

It is safe to make Vibrator abstract because its constructor
was hidden from the SDK so it was not possible to subclass it.

Bug: 6334179
Change-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18
ystemVibrator.java
ibrator.java
8f3b8e32993d190a26c70c839a63d8ce4c3b16d9 28-Mar-2012 Romain Guy <romainguy@google.com> Allow fine-grained control over functors execution

Adds non-drawing execution mode

Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
essage.java
83d9eda9c2c411e3480c52f01e192bf3c86be8e9 13-Jan-2012 Stephen Smalley <sds@tycho.nsa.gov> Pass additional inputs when spawning apps via the Zygote and add SELinux permission checks.

When spawning an app process, the ActivityManagerService has additional information
about the app package that may be useful in setting a SELinux security context on the
process. Extend the Process.start() interface to allow passing such information
to the Zygote spawner. We originally considered using the existing zygoteArgs
argument, but found that those arguments are appended after the class name and
left uninterpreted by ZygoteConnection, merely passed along to the class or wrapper.
Thus we introduce a new seInfo argument for this purpose.

Modify the ZygoteConnection to interpret the new option and convey it to
forkAndSpecialize, as well as passing the nice name as a further input.
Also modify the ZygoteConnection to apply SELinux permission checks on
privileged operations.

Change-Id: I66045ffd33ca9898b1d026882bcc1c5baf3adc17
rocess.java
c07fca3831baf4d812dd724f506b4ed23dcc39e0 13-Jan-2012 Stephen Smalley <sds@tycho.nsa.gov> Add JNI bindings for some of the libselinux interfaces.

Change-Id: Ifcc68cb06f9f56a04f3bc64dd9906a9436fabc88
ELinux.java
0c44525a4888de321c9497204d59c8515f828499 24-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Copy EXTRA_STREAM into ClipData and grant."
678d04f1b6d189b2d867d518065f90dce7292863 23-Mar-2012 Jeff Sharkey <jsharkey@android.com> Copy EXTRA_STREAM into ClipData and grant.

When sending SEND or SEND_MULTIPLE intents, copy any EXTRA_STREAM
Uris to ClipData and set GRANT_READ_URI_PERMISSION flag.

Bug: 6216357
Change-Id: I3c9b0d1d4b7e0c4655b47c4192150b0c3641e0e8
undle.java
ad812a23df775062f0185076557e7f3fdfa57943 22-Mar-2012 Amith Yamasani <yamasani@google.com> Merge "Package restrictions per user"
8a8b581e669f6187b397f856a567a76ed8aba2c2 22-Mar-2012 Jeff Sharkey <jsharkey@android.com> Move network policy to per-appId (instead of UID).

To support multi-user, store network policy per-appId and expand to
apply rules to all UserInfo on device.

Bug: 6140462
Change-Id: Ic0866b4d41c8c60cc1c0a597f0de927b92b65b1e
serId.java
483f3b06ea84440a082e21b68ec2c2e54046f5a6 14-Mar-2012 Amith Yamasani <yamasani@google.com> Package restrictions per user

Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
serId.java
ab750c5e29afa8543a067bf05f502b1fa6748216 20-Mar-2012 Kenny Root <kroot@google.com> Merge "Add VPN UID to list in Process"
26993b37d525fd64efebd51daec1b4abfebd8a74 19-Mar-2012 Kenny Root <kroot@google.com> Add VPN UID to list in Process

The VPN user ID is defined in android_filesystem_config.h as 1016. Add
it to android.os.Process so it can be referred to in Java code.

Change-Id: If3da3765747afda4e5e0761e289c45eebc7cddd5
rocess.java
3761f33387f980d7a6c6e06555a5a932ba7247a2 16-Mar-2012 Jeff Sharkey <jsharkey@android.com> Move StrictMode timers to postAtFrontOfQueue().

StrictMode posts a message to estimate how long the main thread was
blocked during a violation. Currently, any pending messages are
counted against the violation. To avoid this, switch to using
postAtFrontOfQueue().

Bug: 6119289
Change-Id: I94530632ca678b78b75a698cf9193641b102be9a
trictMode.java
a8c67eb904b7b78856ef58ef6a4ec10e6dccccb2 12-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Add Java wrappers for new atrace functionality."
481c1570dc5cdf58265b53f657801709dd05d1df 09-Mar-2012 Jeff Brown <jeffbrown@google.com> Add Java wrappers for new atrace functionality.

Instrument a few parts of the input dispatcher and the
view hierarchy.

Change-Id: I49285c9fb3502253baa1ffed60f521b8c24fccaf
race.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
arcel.java
arcelUuid.java
047238ced42eea812de9d39a9f32e94d002bfa5c 08-Mar-2012 Jeff Sharkey <jsharkey@android.com> Switch Parcel to static JNI calls, pass pointer.

Instead of using parcelForJavaObject(), pass down the mNativeObj
pointer explicitly. Benchmarks show that writeInt() is roughly 3x
faster with this approach.

Change-Id: I24ca235c334c44be716070aa8066ec8a429eadb7
arcel.java
061ccee7f384925f11b51a68f8d48f2f27baba87 09-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Deprecate some FileUtils, pointing to Os instead."
929b5899a348d2d43f67902f7a807d6660226a64 08-Mar-2012 Jeff Sharkey <jsharkey@android.com> Deprecate some FileUtils, pointing to Os instead.

Change-Id: I5d306784ea924ffd8c32c4768f975190445932a4
ileUtils.java
e61cad321d2888f2b6b7e0322158211e3b3e0c46 08-Mar-2012 Dirk Dougherty <ddougherty@google.com> resolved conflicts for merge of 532679a5 to master

Change-Id: Id60d047c0e1f288acff97526c016cca632873b6b
4d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219 28-Jan-2012 Dirk Dougherty <ddougherty@google.com> Doc change: String changes for Android Market

Change-Id: I823812a4fd24021bec906ad856479c92a8d2a759
trictMode.java
6569625beef705ec489662b80d372c4423f9c7f7 06-Mar-2012 Dianne Hackborn <hackbod@google.com> Fix issues #6103378 and #5959515.

Change-Id: I762d86dd7119c9ac02f4b8803c4a250c6b7637c7
6103378: APR: IOOBE at android.content.pm.PackageParser.generatePackageInfo(
PackageParser.java:355)
5959515: PackageManager doesn't validate className in setComponentEnabledSetting
uild.java
09c8f48c105c4ed299617aaa892c7f0cd891b144 05-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Report leaked Context registrations to StrictMode."
eb00769e8983a02397db26a5413147a975b47c1f 03-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Allow disk I/O while performing dump()."
e861b423790e5bf2d5a55b096065c6ad0541d5bb 02-Mar-2012 Jeff Sharkey <jsharkey@android.com> Allow disk I/O while performing dump().

Add Closeable to ParcelFileDescriptor, and always close any incoming
PFDs when dumping.

Bug: 6106309
Change-Id: I25b465692d5e1da0a5980a307cb48a058bc2bca7
arcelFileDescriptor.java
d7026f1612a7c1e8cc9b484038fa99b7fc29cfd7 02-Mar-2012 Jeff Sharkey <jsharkey@android.com> Report leaked Context registrations to StrictMode.

When tearing down any leaked BroadcastReceiver or ServiceConnection
Context registrations, report through StrictMode.

Bug: 6084353
Change-Id: I5e78039299e2c9c1440cd1fd09317da78ffee82a
trictMode.java
b1ec5ef460ac62fa8d3e621794787336e513a8ef 02-Mar-2012 Jeff Brown <jeffbrown@google.com> Shouldn't catch Throwable in AsyncTask.

Throwable includes classes of Error that really should be fatal.

Bug: 5945222
Change-Id: I602f958396048451f404dd2306cdf5e57172acf0
syncTask.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
UpdateLock.aidl
okenWatcher.java
pdateLock.java
94d0024557f415b8463f085c9784a3e1d02b58c6 12-Jan-2012 Todd Poynor <toddpoynor@google.com> Power HAL PowerManagerService hookup

Use PowerHAL to set system awake/suspend state.

Change-Id: If58a6f548564ea141b68f304455997d9ff04eace
Signed-off-by: Todd Poynor <toddpoynor@google.com>
ower.java
aa917f852241c07a6cea7022ff6e42df33975869 17-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Improve MessageQueue sync barrier implementation."
0f85ce3837633a03460a61405087a5d28a4bf955 16-Feb-2012 Jeff Brown <jeffbrown@google.com> 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
andler.java
ooper.java
essageQueue.java
37237839e87988208296a57d70767ebbd9c6880b 12-Jan-2012 John Grossman <johngro@google.com> 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>
ommonClock.java
ommonTimeConfig.java
ommonTimeUtils.java
e799cb78b4be61d3882e71c6812fa62c9a83fd5d 14-Feb-2012 Jeff Brown <jeffbrown@google.com> 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
essage.java
essageQueue.java
f0451db4224e2b6360efa39cd65c88cd391f14e0 10-Feb-2012 Amith Yamasani <yamasani@google.com> Merge "Multi-user - wallpaper service"
37ce3a8af6faab675319d0803b288ab1dddc76be 06-Feb-2012 Amith Yamasani <yamasani@google.com> 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
serId.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>
torage/StorageManager.java
21fbd1f7da53dc044737803dccddf8099f1fc1e9 10-Feb-2012 Dianne Hackborn <hackbod@google.com> Some cruft removal.

Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
rocess.java
a573f6a1d9b12393fbdfd2c0850499973849854b 10-Feb-2012 Dianne Hackborn <hackbod@google.com> 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
ServiceManager.java
erviceManager.java
erviceManagerNative.java
serId.java
a0c283eac33dd2da72235751bbfa4f2d9898d5ea 09-Feb-2012 Dianne Hackborn <hackbod@google.com> 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
rocess.java
742a67127366c376fdf188ff99ba30b27d3bf90c 04-May-2011 Amith Yamasani <yamasani@google.com> 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
inder.java
serId.java
5e9120d4adfb07aeeadb0e0de1de2eb9ebbd80e0 30-Jan-2012 Romain Guy <romainguy@google.com> Always initialize AsyncTask on the main thread.

Change-Id: I039e5d6cb7157a0c8873e0d29161daf1cbda5577
syncTask.java
81e9276a479fd3a5ccc3129505c0fb018941934b 10-Oct-2011 Dianne Hackborn <hackbod@google.com> Added JELLY_BEAN version name; update some targetSdkVersion docs.

Change-Id: Ia38ff5b9ad2b63c2cf667260881222d9ff168052
uild.java
d9ea468d6a9cb6018ce33d3dcf9db72f02773af1 21-Jan-2012 Dianne Hackborn <hackbod@google.com> New brightness setting to adjust auto-brightness mode.

Change-Id: Icfec22be99d8c79e9ff5720b80fb9dacbba36134
PowerManager.aidl
a7f656206550dea94e51dd8c9bb2dd8734bcdf92 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Add android.os.Process.setThreadScheduler"
7f97e65add29b3887755e998804b013168f773b1 15-Dec-2011 Jeff Sharkey <jsharkey@android.com> 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
inder.java
84a0060ea1379eec2f6f2a9e48fa7e1ada3a4fa9 08-Dec-2011 Joe Malin <jmalin@google.com> 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
aa2719df72225402737009b1cc2e3cfea8e74bc7 08-Dec-2011 Joe Malin <jmalin@google.com> am 3937e055: Merge "DOC CHANGE: Add text for android.os.storage" into ics-mr0

* commit '3937e055708a8618f184feab204fed4bb41f3f6e':
DOC CHANGE: Add text for android.os.storage
13235db8f780a3cb322545687041b066dd74e736 06-Dec-2011 Joe Malin <jmalin@google.com> DOC CHANGE: Add text for android.os.storage

Change-Id: Ia5785cff3860907af4c53cbe769126496ee338c3
torage/package.html
138d870fb7b83bc2af54e87546abb883476298ff 07-Dec-2011 Dianne Hackborn <hackbod@google.com> am 1f1fa7ed: am fb90df8c: Merge "Truthiness is good." into ics-mr1

* commit '1f1fa7edd608137863b863da44ee26efb5a93e23':
Truthiness is good.
478237db07b1fc1f19d20a61adf2dc08e713e881 06-Dec-2011 Dianne Hackborn <hackbod@google.com> Truthiness is good.

Change-Id: Iedd4d4027576001fc5e829bb0a1023dd2aefce99
uild.java
fe0d3523a52d7f05d54cbf917670d808e0765bb2 05-Dec-2011 Romain Guy <romainguy@google.com> Merge "Make sure onPostExecute() is never called after cancel() Bug #5651553"
657f51371cc631a82a8d30cd4a796c48077d474b 05-Dec-2011 Romain Guy <romainguy@google.com> Make sure onPostExecute() is never called after cancel()
Bug #5651553

As dfined by the documentation.

Change-Id: I627a49ee000d6990b61fd64dde9b06f72cd5cbae
syncTask.java
a2a56f82a8577625003931664240246c10552867 02-Dec-2011 Dianne Hackborn <hackbod@google.com> am 48e07296: am bfb3dec2: Merge "More social integration." into ics-mr1

* commit '48e07296800c49f8bc9b34cc57372593021f79a1':
More social integration.
a3d487cb13983643d5024e493e4d56c96736f1eb 02-Dec-2011 Dianne Hackborn <hackbod@google.com> More social integration.

Change-Id: I9be09e08bda5db6c05f5beabc380708a11ead43b
Binder.java
082ccca5ff36568b513a317a0dc72c05868cfc9f 22-Nov-2011 Nick Pelly <npelly@google.com> 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
a5cb9f42174a52afbeb7e33dab64282f52f8cedb 21-Nov-2011 Nick Pelly <npelly@google.com> 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
rocess.java
fe2d4abdd917aa98baf56d4b903999c2d8b68a7d 10-Nov-2011 Jeff Brown <jeffbrown@google.com> 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
0bde66a837542e5bd901d8b8e47c5bd7c4c99fe4 07-Nov-2011 Jeff Brown <jeffbrown@google.com> 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
emoteException.java
ransactionTooLargeException.java
08d153fb8e3c92716405d9303cc700095308a8af 05-Nov-2011 Robert Greenwalt <rgreenwalt@google.com> am fd900f05: am 348297ab: Merge "Start using IP tool for advanced routing." into ics-mr0

* commit 'fd900f05fb67046b97701f20626f7fd408fd8990':
Start using IP tool for advanced routing.
fd900f05fb67046b97701f20626f7fd408fd8990 04-Nov-2011 Robert Greenwalt <rgreenwalt@google.com> am 348297ab: Merge "Start using IP tool for advanced routing." into ics-mr0

* commit '348297abc0e03fb87a1d22465020b580d83fdd61':
Start using IP tool for advanced routing.
e2d58e95a09590a63f1c597bb808b925bcab9a69 04-Nov-2011 Doug Zongker <dougz@android.com> close input streams obtained from otacerts zip file

Quells a StrictMode warning from OTA verification.

Change-Id: Ie3e4c345551d1925fcc37c3ae9ce5c45713be93a
ecoverySystem.java
3b28e9a3daede9eac44faeb736ab4c8386ddd089 02-Nov-2011 Robert Greenwalt <rgreenwalt@google.com> Start using IP tool for advanced routing.

bug:5495862
bug:5396842
Change-Id: I5e31b352b14a4dc746cacce4d61cf8d9ad7382a0
NetworkManagementService.aidl
bc6f0ce8be64a74b695fb21dab5f4805b68dce16 03-Nov-2011 Christopher Tate <ctate@google.com> 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
trictMode.java
f35fe23669aeeebd2db2acb6baacae503dba03a8 02-Nov-2011 Dianne Hackborn <hackbod@google.com> 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
uild.java
bce45617083209583d61afbea50994f2cdcda459 30-Oct-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 2d280f75 to ics-mr1

Change-Id: I459e1cb0b60fb94dfb12862fedb9f8d949c226a7
89101cd9d9b5c1a6ff1ed85eba0613ca4c4802e2 28-Oct-2011 Jeff Brown <jeffbrown@google.com> 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
uild.java
cf0ca99a22d65615d78f727cfb8ecf324a9b32c4 20-Oct-2011 Michael Chan <mchan@android.com> 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
ountDownTimer.java
3585a3dfc6824581e8b4b46bfa1207bb18fad0cf 19-Oct-2011 Dianne Hackborn <hackbod@google.com> 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
c24ab866b0d46685f6ddd340b9c84375cf8d6831 19-Oct-2011 Dianne Hackborn <hackbod@google.com> 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
atteryStats.java
b9c1acfb0b4a41ffb5a4d9c38ef298c3a1eb9599 10-Oct-2011 Christopher Tate <ctate@google.com> 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
torage/IMountService.java
32418be49e5b61c2e9281528cb8fb67939e301e8 10-Oct-2011 Christopher Tate <ctate@google.com> 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
torage/IMountService.java
0bbd8d8273c1dde9e0504f67bd8eb159bef2406a 12-Oct-2011 Romain Guy <romainguy@google.com> Revert "Check whether an AsyncTask is created/executed on a looper thread."

This reverts commit 7498ccb6b9a1e61281d998fc81adc9a4a5e87e56.
syncTask.java
5e7f2d0b227df38f6dbc2313ac8b5c9f225c135e 12-Oct-2011 Romain Guy <romainguy@google.com> Revert "Fix the build"

This reverts commit 4db2504adab21e4439c123d2675db555e0143afa.
syncTask.java
f751210b4b040458df789e217f168bccbb95117a 11-Oct-2011 Romain Guy <romainguy@google.com> Merge "Fix the build"
4db2504adab21e4439c123d2675db555e0143afa 11-Oct-2011 Romain Guy <romainguy@google.com> Fix the build

Change-Id: I3071feab62abee7393557ceb920786b476fb0b02
syncTask.java
df61887feb5348f1d30a2e86b13ae64c271c4acc 11-Oct-2011 Romain Guy <romainguy@android.com> Merge "Check whether an AsyncTask is created/executed on a looper thread."
7498ccb6b9a1e61281d998fc81adc9a4a5e87e56 17-Sep-2011 Romain Guy <romainguy@android.com> Check whether an AsyncTask is created/executed on a looper thread.

Change-Id: I181b253c50a6579f35e61cd4b0c500379462e035
syncTask.java
be7c29c9f7e3d7b75d4374c8b5c0ca43c9d09c68 11-Oct-2011 Jeff Brown <jeffbrown@google.com> 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
trictMode.java
d5875d98f06817f78bd974842a8a9c2d41802d20 09-Oct-2011 Jeff Brown <jeffbrown@google.com> Always log StrictMode violations on ENG builds.

The drop-box is too quiet and it masking real problems from
developers. On ENG builds, use both logging and the drop-box
to ensure that problems are noticed promptly.

Change-Id: Id8fb8d392a7e01b532b73cb1a026b0d1f17af742
trictMode.java
01017cdf7452baa13908cba6aa26632114544b33 05-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Some new ICS target SDK changes."
cac15eb21cab68e5b76fe06f9aff273978c92054 04-Oct-2011 Joe Fernandez <joefernandez@google.com> Merge "docs: add developer guide cross-references, Project ACRE"
b54e7a3d9f60ac605f404f9eb3c5e92ca51bbd23 04-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross-references, Project ACRE

Change-Id: I5df1c4e13af67ff4c4a5b22f3cb1247bf0103b09
syncTask.java
c04db7e06737c5b9bae276ac462858d44002672e 04-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix handling of "allow fds" state.

Didn't take into account nesting of bundles. Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
undle.java
arcel.java
9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d 29-Sep-2011 Dianne Hackborn <hackbod@google.com> Add mechanism for Parcel to not allow FDs to be written to it.

This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
undle.java
arcel.java
7960d9f888e31602e17b8856c77a3826bf8c841e 29-Sep-2011 repo sync <isheriff@google.com> Fix IPv6 on wifi

Bug: 5388757
Change-Id: I3c8c776c26dad1daa9801d0455fde749c0206401
NetworkManagementService.aidl
9d0e37e27cc4e71088afb2cda927454bca14b939 22-Sep-2011 Dianne Hackborn <hackbod@google.com> Some new ICS target SDK changes.

Change-Id: I5a500a5faddadbcb98bf181ad413c6d9fd7e663e
uild.java
cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85f 16-Sep-2011 Jeff Sharkey <jsharkey@android.com> Collect and persist tethering stats.

Use new "gettetherstats" netd command to retrieve statistics for
active tethering connections. Keep tethering poll events separate
from UID poll, even though they end up same historical structures.

Bug: 5244846
Change-Id: Ia0c5165f6712c12b51586f86c331a2aad4ad6afb
NetworkManagementService.aidl
67eb4320d2832b43fe3150ba07fd05ea98ea617f 15-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "ICS is API 14."
0784cfb4b75e5ec3f4cc2ff57000c007f93b50b1 14-Sep-2011 Dianne Hackborn <hackbod@google.com> ICS is API 14.

Change-Id: I95f500f94ce206ae6ca6938d17537431d8799237
uild.java
7329361cdce711775542b112663bf71a6e0d5cef 14-Sep-2011 Irfan Sheriff <isheriff@google.com> Add support to change IPv6 privacy extensions

Bug: 3360737
Change-Id: I9136992d05f7abf15bdfd92aad3a3e0c0fe3bee2
NetworkManagementService.aidl
13c7197da8a16f77f6398708a6314c80cb01e0d1 08-Sep-2011 Ben Komalo <benkomalo@google.com> Revert encryption mapping for device wipes.

External storage volumes that were emulated+encrypted needed to have
their encryption mapping removed so that it doesn't try to encrypt the
volume after formatting them.

This just wires through an argument through vold, and assumes that vold
will do the right thing even if there is no encryption mapping set.

Bug: 5017638
Change-Id: I858fae3d12cb415bc34637f520f71220ad9daaad
torage/IMountService.java
444eca232964dbf27d0c4d01447c1493f89186e0 02-Sep-2011 Ben Komalo <benkomalo@google.com> Expose getting encryptstate through IMountService

- this really just calls cryptfs cryptocomplete
- needed so that UI logic can present a factory reset option if
encryption screwed up

Bug: 3384231
Change-Id: I553de87f0d03a65851030c9c5266e85866d30fa6
torage/IMountService.java
62f20ecf492d2b29881bba307c79ff55e68760e6 16-Aug-2011 Dianne Hackborn <hackbod@google.com> Add new am option to profile the launching of an activity.

Change-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b
arcelFileDescriptor.java
6e90a362bc66cc67b1beae27b21d3f0148403b08 15-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5159736 - Make DeviceDefault the default

Have the framework refer to the DeviceDefault themes for ICS apps that
don't explicitly request another theme.

Change-Id: I27dd0bbaa60f71df4f36e47d260f556d923ba075
uild.java
7f9f99ea11051614a7727dfb9f9578b518e76e3c 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
andlerThread.java
ooper.java
7244c977ecbc1f73e4cfd9d824fc2b68aa886139 06-Aug-2011 Irfan Sheriff <isheriff@google.com> Ensure interface down before wpa_supplicant start

Now that the driver is built into the kernel, a runtime crash
followed by a driver unload and reload does not reset the interface.

Ensure interface is down before bringing up supplicant

Bug: 5032635
Change-Id: Ib8f3d47617e587139a8a91a82146ee3a2f329700
NetworkManagementService.aidl
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
NetworkManagementService.aidl
588d8560b3fabcbc0d90c63f386b2fa0d56643de 04-Aug-2011 Kristian Monsen <kristianm@google.com> Fix for bug 5115066 Handler override of toString() hides derived class name

Dynamically getting the class name.

Change-Id: I3140bee67ee2e5a1790e53cf4dfc240d3bb25218
andler.java
b437e090ec03a2bab10bdfcb9484577a7f34e157 06-Aug-2011 Dianne Hackborn <hackbod@google.com> Improved memory use reporting.

Change-Id: I38e53e6228bba92a142bafeedb5af8df4e4e5724
ebug.java
63d27a9233fed934340231f438493746084a681d 04-Aug-2011 Jeff Sharkey <jsharkey@android.com> Network stats with varint, omit parcel fields.

Persist NetworkStatsHistory using variable-length encoding; since
most buckets have small numbers, we can encode them tighter. Initial
test showed 44% space savings. Also persist packet and operation
counters.

Let NetworkStatsHistory consumers request which fields they actually
need to reduce parcel overhead.

Tests for verify varint and history field requests, also verify end-
to-end by persisting history into byte[] and restoring. Expose
bandwidth control enabled state. Extend random generation to create
packet and operation counts. Moved operation counts to long.

Fix bug that miscalculated bytes since last persist, which would
cause partial stats loss when battery pulled.

Bug: 4581977, 5023706, 5023635, 5096903
Change-Id: If61e89f681ffa11fe5711471fd9f7c238d3d37b0
NetworkManagementService.aidl
41ff7ec82422a5b6d00892afdb3232bc0e53d851 26-Jul-2011 Jeff Sharkey <jsharkey@android.com> Revise data limit notifs, watch kernel alerts.

Teach NetworkPolicy limits to "snooze" when requested by user, and
notify with both dialog and notification. Register for network alerts
through NMS to trigger updates immediately instead of waiting for
next stats update.

Enforce that all NetworkPolicy are unique on a template basis, and
move SCREEN_ON/OFF broadcasts to background thread. Launch SystemUI
and Settings directly instead of using actions, and include full
NetworkTemplate in extras.

Tests to verify notification and snooze behavior.

Bug: 5057979, 5023579, 4723336, 5045721
Change-Id: I03724beff94a7c0547cb5220431ba8d4cd44d077
NetworkManagementService.aidl
d8d3276a29aab91855a5a5e88042abbfd40124a3 27-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 4604090: notification sound interrupted."
22d93a0d71d965970f581cd9aa1cbf2efbb5998f 27-Jul-2011 Robert Greenwalt <rgreenwalt@google.com> resolved conflicts for merge of 41394a36 to honeycomb-plus-aosp

Change-Id: If4dc99c558dc45c9a7ff8d3ea5be69578b4ee793
6dbdc40e9a317488fc5f6e14cf9e699bce9a9387 22-Jul-2011 Eric Laurent <elaurent@google.com> Fix issue 4604090: notification sound interrupted.

The problem is that the audio HAL fails to acquire the wake lock when playing the notification.
This is because of a change that removed the mediaserver process form the system group for honeycomb.

The fix consists in requesting the wake lock from PowerManagerService when AudioFlinger mixer
wakes up.

A consequence of this change is that audio HALs or pcm drivers do not have to hold wake locks
anymore as in the past.

Change-Id: I4fb3cc84816c9c408ab7fec75886baf801e1ecb5
PowerManager.aidl
572b7048a6ed6cf6c5f6bc6c9d542dc377d601ff 26-Jul-2011 Robert Greenwalt <rgreenwalt@google.com> Use dns proxy a bit.

Sets the current default interface and sets the dns per interface.
port of changes 23041 and 22098 from opensource.
bug:5060618

Change-Id: I80e7ef88727eeb8ff2b48059f69b270e5a6b5c16
NetworkManagementService.aidl
23eb297c771bd996fe8559178feb1a07be43ad72 23-Jul-2011 Irfan Sheriff <isheriff@google.com> Handle hostapd and tether interface changes

The set config will only update hostapd config file right now and we need to restart after that happens.

Also, softap interface is changed to be the regular interface

Bug: 5069108
Change-Id: Ibe80129b58e5339f06f186870bcd8f37569c6db3
NetworkManagementService.aidl
466ed24810d329add4f9200edf8c1918a3e80716 22-Jul-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5061083: Handler.removeCallbacksAndMessages...

...implementation doesn't match documentation

Fix the documentation.

Change-Id: I995b88e0f510973eb7d815ae895059e325c30e10
andler.java
648bee18a1ccd362445d562729250ff5910f16a0 21-Jul-2011 Romain Guy <romainguy@google.com> Convert looper traces to traceview traces

Change-Id: If9238e8b00744118c1c4d2182727569f94deb638
ooper.java
ystemClock.java
33651201375d3670672964503994c410b8eeed7b 19-Jul-2011 Doug Zongker <dougz@android.com> add rebootWipeCache call to RecoverySystem API

Also remove the never-used encrypted-filesystem-via-recovery stuff
that was stripped out of recovery a while ago.

Change-Id: I3349cba83daa9bc4765bd9b3f96d15000a801824
ecoverySystem.java
0e3328fbdd3845b0e2bec364e951498eaee6b079 17-Jul-2011 Dianne Hackborn <hackbod@google.com> Rework and fix "adb shell dumpsys meminfo"

We now collect more detailed information splitting the maps into
additional useful categories.

Fixed some bugs in account, such as not correctly handling all of
the current dalvik allocations.

The activity manager now prints a final summary of all pss organized
by the apps and the categories.

Change-Id: Iafc5f27c998095812b1483c6803b8e0f0587aeae
ebug.java
f9284695e8c10dad4daf3d2c84f607483bcb56ca 14-Jul-2011 Romain Guy <romainguy@google.com> Add new ViewDebug APIs to profile the event queue.

Change-Id: I225bf288780b0244f459316e2765cfa29cd22c89
andler.java
ooper.java
6793ac943afeb16642f477c43ddfd27e498db37b 13-Jul-2011 Glenn Kasten <gkasten@google.com> Add android.os.Process.setThreadScheduler

And add the associated SCHED_* constants
and remove redundant parameter to signalExceptionForPriorityError
and signalExceptionForGroupError.

Change-Id: I5a4e9652155aef2e5d544185e0d73a0120f89d97
rocess.java
007e62172fea3a3e5848c65cc781a2496d137889 14-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add MEDIA_UID"
8b7d1b4d4a33e9429c5cedaa6317efcaad95da68 14-Jul-2011 Glenn Kasten <gkasten@google.com> Add MEDIA_UID

Change-Id: Iaf03913dce95420e21c79226031b7caaaedf2ce8
rocess.java
4161f9b30329e558868bb2b16c3e83c0b9cd26fd 13-Jul-2011 Kenny Root <kroot@google.com> Add StorageVolume list to MountService dump

Change-Id: If2be6e420d9671032d2e7a66c71a6733e6e48ac8
torage/StorageVolume.java
3f9dd287b99340efaaa257759e71a8f81b2ed113 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Increase activity timeouts when using a wrapper process.

This patch enables the Zygote to tell the ActivityManager when
it has started a process with a wrapper attached so that the
ActivityManager can allow it extra time to start up or process
events.

This is useful when wrapping an app with Valgrind or other tools
which add significant runtime overhead.

Bug: 4584468
Change-Id: I5db6f2f15cd30b0ec40f547d2fadfa216de2926d
rocess.java
501c4671e73a484c1f01d94f4f5fff124c05f197 11-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Eliminate single-process mode. Bug: 5010576"
7a59dd2ce33b46cbc73eef964ddb4272ea1da8d1 11-Jul-2011 Mike Lockwood <lockwood@android.com> MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system

Bug: 4561836

Change-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/StorageVolume.java
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
ooper.java
rocess.java
erviceManager.java
e1dfcb7ab01fb991079ec1f70f75281a0ca9073e 08-Jul-2011 Elliott Hughes <enh@google.com> Pass the targetSdkVersion through to the zygote-forked dalvik.

This will let dalvik implement backwards-compatibile behaviors based on
an app's targetSdkVersion.

Bug: 4772166
Change-Id: I935c5ea9144e8b4e6e21089547287486e2234b7f
rocess.java
d5299ff39aa7532c0213978fc0a95e08c3a77deb 07-Jul-2011 Jean-Baptiste Queru <jbq@google.com> Merge 37dbfcaf

Change-Id: Iae55ecada8dc231c88bb87b32e8bd5e7b6a47bd0
ae07ecf3766c38af1c12822458b98036b28bd4c0 07-Jul-2011 Elliott Hughes <enh@google.com> Add the "debug.jni.logging" property so third-party developers can debug their JNI problems.

This turns on the super-verbose but indispensible logging of all native method
calls and all calls to JNI functions (for third-party code only). In particular,
if you have a local reference bug, you can search for the reference given in
the crash and see exactly where it came from. In every case I've seen so far,
that's pinpointed the bug exactly.

Change-Id: Ifb7ba02ae637bdd53cd8500febdcb9d4d7799bda
rocess.java
37dbfcaf836cf37d1e404cd2cf25f4ed670bc80f 06-Jul-2011 Robert Greenwalt <rgreenwalt@google.com> am 7022db4c: am 2b62c4fb: am 38bb0123: Merge "Added methods to support dns cache per interface"

* commit '7022db4cd2ca3721631595d7379eabb2cc77f6a9':
Added methods to support dns cache per interface
f91040e2df1a52dc41fd62a82afc0b214abc1c8d 01-Jul-2011 Brian Carlstrom <bdc@google.com> Merge "Revert "Add keychain user with special keystore access permissions""
38bb0123b8b9857c3119fd359739daf872f619d6 01-Jul-2011 Robert Greenwalt <rgreenwalt@google.com> Merge "Added methods to support dns cache per interface"
f4b92ec567477fcdea24fdd18116b045dfcf9852 01-Jul-2011 Brian Carlstrom <bdc@google.com> Revert "Add keychain user with special keystore access permissions"

This reverts commit 8c2a1a90a81f04573bfa578eab32f5fd4a30eafb.

Conflicts:

cmds/keystore/keystore.c

Bug:4970237
Change-Id: I626023d695becfada47e5f319b18e0889b766563
rocess.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
NetworkManagementService.aidl
b3f19ca36c8c1301893c621d8f2150e06210722c 30-Jun-2011 Jeff Sharkey <jsharkey@android.com> Enforce background data flag, rules through netd.

Connect up netd penalty box through NMS, and enforce the existing
background data flag by putting all UIDs in penalty box. Allow
platform applications to have policy applied. Only dispatch unique
rules to netd, avoiding any repeats.

Bug: 4598463, 4965677
Change-Id: Ibf9beff998ba7a1ea92f5e2f7eeba7b483d4b918
NetworkManagementService.aidl
2c22882181e867c9ba4e74ee973b87a71db3389f 29-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge "Plumb information from the framework about asec container size."
50fd36d7c38c40b087c8f3e3172478abe0c051d9 16-Jun-2011 Ashish Sharma <ashishsharma@google.com> Push interface quota rules from NetworkPolicyManager to kernel.

Change-Id: Id2b758f561820b44839f69bf5fbd676cae771fe3
NetworkManagementService.aidl
292f8bc9d1b790ab975a87a842c7fabc908b97e0 28-Jun-2011 Dianne Hackborn <hackbod@google.com> Plumb information from the framework about asec container size.

Change-Id: Ie0ec3cb6d463aefa341a8cbea80be790451ba5e3
torage/IMountService.java
da1fa1e42fc7fb07d532f464b45d266801c20e73 27-Jun-2011 Jake Hamby <jhamby@google.com> Merge "Fix race condition in WakeLocks."
2d6833bab353e31ceb4230f3f3563fca2e0d9f6f 25-Jun-2011 Dianne Hackborn <hackbod@google.com> Turn on HW accel by default for apps that target ICS.

Change-Id: I010e11e03b2dfd0d1db8c47f74c25a28586fd79c
uild.java
0a9ee1272b59ad350cea591f931b52290a5e0998 23-Jun-2011 Jeff Sharkey <jsharkey@android.com> Enable bandwidth module from stats service.

During systemReady(), tell netd to enable bandwidth tracking module,
which is used to provide detailed stats and controls.

Change-Id: Iecfd8b17a3b90f5a817d731fbe1c71777681ed6e
NetworkManagementService.aidl
3c2a2f6789ee257e3838ffb0f3f117e08825ad5f 09-Jun-2011 Mike Lockwood <lockwood@android.com> Tethering: Use UsbManager to enable/disable RNDIS

Remove obsolete RNDIS support from NetworkManagementService

This change fixes USB tethering, which broke after the new USB gadget driver
changes went in.

Change-Id: Idd987fb2c39c40e81ebc92e6d8dae9fe77ed4ddc
Signed-off-by: Mike Lockwood <lockwood@android.com>
NetworkManagementService.aidl
f5600618df153d9c51388562ebf3524e3bdc8b7d 16-Jun-2011 Irfan Sheriff <isheriff@google.com> Fix IP address cleanup on network disconnect

We used to bring down the interface on network disconnect
which would in turn clean up all the IP addresses.

The interface bringup/shutdown is now handled by wpa_supplicant.
Add netd interface for clearing all IP addresses

Bug: 4676254
Change-Id: I7e24c0ab2e4a412b8d61e9c33ce028966913aaf6
NetworkManagementService.aidl
ce6f85ec406d3a348ac8b6b21c0daff940a0f27a 16-Jun-2011 Jean-Baptiste Queru <jbq@google.com> Merge f28f1de3 - regen current.txt

Change-Id: I7875932a0634542251f53855b4e8620a089de05f
b5962e73e841455b8e2a4e2d5c0ef0a19d62a803 16-Jun-2011 Jake Hamby <jhamby@google.com> Fix race condition in WakeLocks.

A previous fix to PowerManager.WakeLock introduced a new bug. When
a reference counted wakelock (such as SMSDispatcher) is acquired
multiple times in quick succession with a timeout, the first timeout
would remove the second callback from the handler, decrement the
reference count, but then the wakelock never gets released because
the second callback has been removed.

Bug: 4535237
Change-Id: I4f1240189bf3ed3396c86200c687282597b107d6
owerManager.java
f28f1de391d53b590f5ed963dcb9ae634e3196db 16-Jun-2011 Dianne Hackborn <hackbod@google.com> am 413b53b5: am 70921d61: Merge "We must keep up with the Joneses." into honeycomb-mr2

* commit '413b53b57d62b60e98cfe5b9359551315e7cb3a7':
We must keep up with the Joneses.
413b53b57d62b60e98cfe5b9359551315e7cb3a7 16-Jun-2011 Dianne Hackborn <hackbod@google.com> am 70921d61: Merge "We must keep up with the Joneses." into honeycomb-mr2

* commit '70921d615496c5be8a19cbd1454378bb7d0201f3':
We must keep up with the Joneses.
0d4b9c993d8f1108294f8ccb84eeacd92f051b50 15-Jun-2011 Dianne Hackborn <hackbod@google.com> We must keep up with the Joneses.

Change-Id: Ifa2ab0167c09ba18b24c8b6c618db807e17519f5
Binder.java
65efcc552110751437e587873b7c6f9e2397ac71 15-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge "resolved conflicts for merge of 77fc8b80 to master"
711516d140390aeec9e3eefb8fdb2681c3454980 14-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 77fc8b80 to master

Change-Id: I014f9a886d6f05607d2a5d101ad2052a6841ee8d
ad2171acf423224d925d1b7cefa7184882e100bf 14-Jun-2011 Doug Zongker <dougz@android.com> deprecate RADIO constant, add getRadioVersion method

On many devices the radio version system property is only available
when the radio is on, which is frequently not the case when the static
initializers for the Build class are run (eg, if the system has just
booted). This means RADIO is forever "unknown" on these devices.
Deprecate it and add a method to return the radio version instead.
Apps will still have to deal with getting a null back if the radio
version is currently unavailable.

Change-Id: I63528eae93e1b9d0f7cec5a382724d0391ba1104
uild.java
77fc8b8066709a1d09a159901fd65c49b5e6eaa5 14-Jun-2011 Dianne Hackborn <hackbod@google.com> am 6c0533f9: am c5193c62: Merge "Add new landscape and portrait orientation features." into honeycomb-mr2

* commit '6c0533f994e7991b3bd60cab48362e8e2e6d86f0':
Add new landscape and portrait orientation features.
6c0533f994e7991b3bd60cab48362e8e2e6d86f0 14-Jun-2011 Dianne Hackborn <hackbod@google.com> am c5193c62: Merge "Add new landscape and portrait orientation features." into honeycomb-mr2

* commit 'c5193c6285d7094fb86dcb5cd56f44a3788af7c2':
Add new landscape and portrait orientation features.
e289bff0ec2b1af4ba773e0c8d49d5fd46eb9921 14-Jun-2011 Dianne Hackborn <hackbod@google.com> Add new landscape and portrait orientation features.

Updates aapt to know about these. Also updates aapt badging to:

- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.

Change-Id: I7376042b817391bd070f549cebbc7f03be4635c8
uild.java
f5b61013d2fa145b004bc2bbb0614d94a54387eb 11-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Optimize StrictMode activity instance count check."
b7c82637e2d8acf40a0b1ab371b85a98cba4b665 11-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Always clear the Message when recycled."
7e442837702a6e026c73a01fedb62c222b63cfc9 11-Jun-2011 Jeff Brown <jeffbrown@google.com> Optimize StrictMode activity instance count check.

This change attempts to avoid a periodic and costly 110ms
explicit GC and instance count operation when StrictMode
activity leak checking is enabled.

Change-Id: Ia90289ac3352c01c797ab3cc25456e3db68f220a
trictMode.java
fc9ff4c834c5b3a3c4b024b89375d6c329092791 11-Jun-2011 Jeff Brown <jeffbrown@google.com> Always clear the Message when recycled.

Clear the Message when it is recycled, even if it will not go
back into the Message pool. This makes the behavior of recycle()
more consistent and ensures that the Message does not hold onto
other object after it has been recycled (useful in case there are
stale references to the Message lingering elsewhere).

Change-Id: I26b6a4b629f9c0b6bed70fdc42734919f30e64c4
essage.java
6b592723c9a9fc816a8ab75c935e8cd20ff65a0e 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of f51ded0f to master

Change-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2
f51ded0f8f593d17af82946eb65c05fc04f688b4 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am a8d7ea06: am 220cd77d: Merge "Enforce public resource restriction on bag parents." into honeycomb-mr2

* commit 'a8d7ea067cf22baeee2ff0a33e5a8c5a35936942':
Enforce public resource restriction on bag parents.
a8d7ea067cf22baeee2ff0a33e5a8c5a35936942 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am 220cd77d: Merge "Enforce public resource restriction on bag parents." into honeycomb-mr2

* commit '220cd77de62956eb76c5084e1d1341d69bfd214a':
Enforce public resource restriction on bag parents.
426431adcc220b6adfbe1d9530247f897e60fa36 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Enforce public resource restriction on bag parents.

Need to put some more styles in the SDK to avoid breaking apps.

Also, welcome Android 3.2.

Change-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d
uild.java
65abc4531f1222ffa04350a3afc6d61fcc77b2a3 07-Jun-2011 Mike Lockwood <lockwood@android.com> Merge "StorageVolume: Add allowMassStorage flag"
8e8b280bd19fa6cb69bb19e1d90cf03a47ba2d72 07-Jun-2011 Mike Lockwood <lockwood@android.com> StorageVolume: Add allowMassStorage flag

Change-Id: I9d19e635bb06e50068d7e4e6919322bd5bb2e00f
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/StorageVolume.java
1b9a6a6e58fd73b5d1b6a434d17f0a69806858ec 04-Jun-2011 Wink Saville <wink@google.com> resolved conflict for merge of fc51aaec to master

Change-Id: Iee4d9ecc946dd1bbf114a70ad32db0fe47a027df
fc51aaec82ecedb554d158e4284761c9348d09fd 04-Jun-2011 Wink Saville <wink@google.com> am 6ff5ba00: Merge "Add FileUtils.checksumCrc32" into honeycomb-LTE

* commit '6ff5ba00b07b32f3c82bce2c412e5e8f30c202bc':
Add FileUtils.checksumCrc32
6d25a990afffd5eb385aba3043d5dfad36f1539a 04-Jun-2011 Wink Saville <wink@google.com> Add FileUtils.checksumCrc32

Change-Id: Ic6bffcb66554d7af38cea68648d9431fda8ef10d
ileUtils.java
3c43ced84184f19b8bb72f42894e37c97fdecab2 04-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of d247ee41 to master

Change-Id: I49bd932f5019ce0608e2661d5cb7f24b6122dcba
2515db74fe2e75018f618591fabe23fda8362bf3 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 3a80c504: am 8b9a2b6c: am e6676351: Work around OpenFeint bug.

* commit '3a80c50485809fe72d6de83dacad494c5e84ed24':
Work around OpenFeint bug.
d247ee41d60fc261d2387625995f9ff3da442019 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 758b67b1: am b46ed763: Add new Fragment API for explicitly saving/restoring state.

* commit '758b67b12386a6ea52d520aef455c3150c9bae03':
Add new Fragment API for explicitly saving/restoring state.
758b67b12386a6ea52d520aef455c3150c9bae03 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am b46ed763: Add new Fragment API for explicitly saving/restoring state.

* commit 'b46ed7636be9341b6ce0b158b3d86f34a437e6da':
Add new Fragment API for explicitly saving/restoring state.
b46ed7636be9341b6ce0b158b3d86f34a437e6da 03-Jun-2011 Dianne Hackborn <hackbod@google.com> Add new Fragment API for explicitly saving/restoring state.

Also fix issue #4519821:
Blank screen displayed on tapping "Battery Use" option in the settings

We weren't correctly doing the full Activity resume code when coming
back from delivering a new Intent or result.

And fix a fragment problem where we still weren't correctly restoring
the state of list views. (I think this was from a bad manual-merge
from master.)

Change-Id: If79dc7e998155c39ab8c04781f6c73a82238a9ef
arcel.java
arcelable.java
c6f1f4ac3b3f19222cb72c44e19d5251a3b46831 02-Jun-2011 Gilles Debunne <debunne@google.com> am ca6c3a2b: am 4ce6822b: am 24de44a1: Merge "ExternalStorageFormatter takes an optional StorageVolume target." into honeycomb-mr2

* commit 'ca6c3a2bba4445f492117697cb304a014a185159':
ExternalStorageFormatter takes an optional StorageVolume target.
3a80c50485809fe72d6de83dacad494c5e84ed24 02-Jun-2011 Dianne Hackborn <hackbod@google.com> am 8b9a2b6c: am e6676351: Work around OpenFeint bug.

* commit '8b9a2b6cbd9cf37e9f5aa1bfc7106c67a5e89202':
Work around OpenFeint bug.
8b9a2b6cbd9cf37e9f5aa1bfc7106c67a5e89202 02-Jun-2011 Dianne Hackborn <hackbod@google.com> am e6676351: Work around OpenFeint bug.

* commit 'e66763516a9c27c192adaba417616371a1c3c9bf':
Work around OpenFeint bug.
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
NetStatService.aidl
e66763516a9c27c192adaba417616371a1c3c9bf 02-Jun-2011 Dianne Hackborn <hackbod@google.com> Work around OpenFeint bug.

Change-Id: Ib8320e50bb63fc56dc0118d5c8e9e328dbd3fcb1
uild.java
da8bb74b9d9ffcb095815db800d0816c411f1fba 28-May-2011 Mike Lockwood <lockwood@android.com> Move stringToFile utility from ConnectivityService to FileUtils

Change-Id: I59a2dc649d59677f6b5e7ade252587c7c151ec06
Signed-off-by: Mike Lockwood <lockwood@android.com>
ileUtils.java
ca6c3a2bba4445f492117697cb304a014a185159 27-May-2011 Gilles Debunne <debunne@google.com> am 4ce6822b: am 24de44a1: Merge "ExternalStorageFormatter takes an optional StorageVolume target." into honeycomb-mr2

* commit '4ce6822bc63665ca3e9d9984766f367ce4f4d3a7':
ExternalStorageFormatter takes an optional StorageVolume target.
4ce6822bc63665ca3e9d9984766f367ce4f4d3a7 27-May-2011 Gilles Debunne <debunne@google.com> am 24de44a1: Merge "ExternalStorageFormatter takes an optional StorageVolume target." into honeycomb-mr2

* commit '24de44a1877be3e5d63697f90c98a87a4d88b1fb':
ExternalStorageFormatter takes an optional StorageVolume target.
37051cdd8624c4821bb68169be427061c48ad837 26-May-2011 Gilles Debunne <debunne@google.com> ExternalStorageFormatter takes an optional StorageVolume target.

Change-Id: Ic85689659dbf49a7fcc1b7aaf25e4a94e62848b9
torage/StorageManager.java
torage/StorageVolume.java
d4bdc7b4da5811fccae578a1f3d4b5718762d40f 26-May-2011 Mike Lockwood <lockwood@android.com> Environment: Fix default mount point for external storage

/mnt/sdcard is the real mount point. /sdcard is just a symlink.

Change-Id: If584e5cd31238d5b263de5bd72e179d53875d8c3
Signed-off-by: Mike Lockwood <lockwood@android.com>
nvironment.java
b5b1fb25853eb2e00f981d3b0bb52acd50684c4f 24-May-2011 Jeff Brown <jeffbrown@google.com> Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"
9fd4c6d3aeea46820c7ab637b0bc6556b798bc2b 24-May-2011 Mike Lockwood <lockwood@android.com> am 49b9449b: am d8d84708: am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2

* commit '49b9449b6605c7b4f77f9a0635ba93f7dfa0ea47':
MountService: Add StorageVolume as extra in storage related broadcasts.
ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3 17-May-2011 Jeff Brown <jeffbrown@google.com> Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
rocess.java
442fa21e98835ceb966f196906907eb236d38d65 24-May-2011 Jeff Sharkey <jsharkey@android.com> Merge "APIs to profile network usage for current UID."
49b9449b6605c7b4f77f9a0635ba93f7dfa0ea47 24-May-2011 Mike Lockwood <lockwood@android.com> am d8d84708: am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2

* commit 'd8d8470825a637843d45a3b436e80a3b85f1dd11':
MountService: Add StorageVolume as extra in storage related broadcasts.
d8d8470825a637843d45a3b436e80a3b85f1dd11 24-May-2011 Mike Lockwood <lockwood@android.com> am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2

* commit '988b6648b0138fe1294228e17164b2f1d6a4042d':
MountService: Add StorageVolume as extra in storage related broadcasts.
a5250c93928e256738125b265e10c96c3575597e 23-May-2011 Mike Lockwood <lockwood@android.com> MountService: Add StorageVolume as extra in storage related broadcasts.

Change-Id: I8e1a21ae233ba9812e58b363b59a66b260a01cbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/StorageVolume.java
37cd57772b27bb286aeec915cfaced4fa08508bd 24-May-2011 Dianne Hackborn <hackbod@google.com> Merge "resolved conflicts for merge of 070a19e0 to master"
560e97f8e0cb63a0fa6e88db6badc142a99517d2 23-May-2011 Steve Block <steveblock@google.com> Merge "Log a StrictMode violation when WebView methods are called on the wrong thread"
939461300a0283a9f370a0425d4061d32b36f952 23-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 070a19e0 to master

Change-Id: I855ab02a4e8dd465af67fd23b66c0dace76bd411
08d584cd1cba05284ccd2d0ea128c297624f0c47 17-May-2011 Steve Block <steveblock@google.com> Log a StrictMode violation when WebView methods are called on the wrong thread

Bug: 4373919
Change-Id: I1f526e033ce316e51b3de7fe4ac88119fbc65b4e
trictMode.java
eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3 17-May-2011 Jeff Sharkey <jsharkey@android.com> APIs to profile network usage for current UID.

Added startDataProfiling() and stopDataProfiling() to TrafficStats,
which can be used by apps to measure network usage delta between two
points in time. Currently takes two NetworkStats snapshots and returns
delta, which will eventually include tag-level granularity. Added
tests for NetworkStats delta subtraction.

Added NMS.getNetworkStatsUidDetail() that returns stats for specific
UID. Always gives stats access for the calling UID, otherwise enforces
that caller has permission. Fix readSingleLongFromFile(), since
/proc/ files don't have well-defined lengths.

Change-Id: Ic5b6414d8effbd66846e275b00d4b8a82c74589d
NetworkManagementService.aidl
070a19e035cd28f2a0cc831f2322f2121d80de44 21-May-2011 Dianne Hackborn <hackbod@google.com> am 5c8caba2: am 1b144e62: Merge "Add ParcelFileDescriptor.fromFd() and .adoptFd()." into honeycomb-mr2

* commit '5c8caba2e590792531ffb2c9f4ea924993662abd':
Add ParcelFileDescriptor.fromFd() and .adoptFd().
5c8caba2e590792531ffb2c9f4ea924993662abd 20-May-2011 Dianne Hackborn <hackbod@google.com> am 1b144e62: Merge "Add ParcelFileDescriptor.fromFd() and .adoptFd()." into honeycomb-mr2

* commit '1b144e625fb0d34cd680c44cbcfb2deb8a76d4c6':
Add ParcelFileDescriptor.fromFd() and .adoptFd().
ea2117bdc03316a9292e2344c6fd157c85c13167 20-May-2011 Dianne Hackborn <hackbod@google.com> Add ParcelFileDescriptor.fromFd() and .adoptFd().

Change-Id: I2fe0429188dc80abaa0c8977f2e43a010e0f4da2
arcelFileDescriptor.java
5c3816f2ff3d40136da1e40eec792d8faf0e75dd 19-May-2011 Jean-Baptiste Queru <jbq@google.com> Merge c41aefe1

Change-Id: I70fc4382f832d1a2bded8a5ee7d9b96fac77879b
c41aefe1d4c862a9fbaf717ffb886bbd702c94f2 19-May-2011 Robert Greenwalt <rgreenwalt@google.com> am 59b1a4ed: Switch to use netd to add/remove routes.

* commit '59b1a4ede7032c1b4d897e13dd4ede09b5e14743':
Switch to use netd to add/remove routes.
59b1a4ede7032c1b4d897e13dd4ede09b5e14743 11-May-2011 Robert Greenwalt <rgreenwalt@google.com> Switch to use netd to add/remove routes.

Also adds support for v6 routes and for removing single routes.

Change-Id: I1c4f08c7938371090944d8d6f603e1e0d6d70c01
NetworkManagementService.aidl
fa1e5561cc65b932067919fcd5d39fda7032793e 18-May-2011 Mike Lockwood <lockwood@android.com> am 53b988ba: am 5a79cfd7: am 27ac64ec: Merge "StorageVolume: Add getStorageId() accessor" into honeycomb-mr2

* commit '53b988ba1842f40e595bb85f2ca055c24787e6dc':
StorageVolume: Add getStorageId() accessor
53b988ba1842f40e595bb85f2ca055c24787e6dc 18-May-2011 Mike Lockwood <lockwood@android.com> am 5a79cfd7: am 27ac64ec: Merge "StorageVolume: Add getStorageId() accessor" into honeycomb-mr2

* commit '5a79cfd7518defdce1911cecbc2441bb0a057e54':
StorageVolume: Add getStorageId() accessor
fbfe55512596fd00c1fb51caa851e17dae60fd43 17-May-2011 Mike Lockwood <lockwood@android.com> StorageVolume: Add getStorageId() accessor

This ID is used for MTP as well as per volume querying in the media provider.

Change-Id: Ic4fc986d972bd477730643f7e9450c390c0b3a4b
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/StorageVolume.java
8fa5b03c1ba4253003c807ad753f58af17086b4e 16-May-2011 Mike Lockwood <lockwood@android.com> resolved conflicts for merge of fc4a3d37 to master

Change-Id: I40f603ba9330c3e882f4d58398095f4094725b21
fc4a3d37ef044b35450800235195401c4a54c712 16-May-2011 Mike Lockwood <lockwood@android.com> am b822d246: am 0a93d875: Merge "StorageManager: Clean up and generalize storage configuration resources" into honeycomb-mr2

* commit 'b822d2464dc59056f736b0c49f0ac514c7cbb9d9':
StorageManager: Clean up and generalize storage configuration resources
0a93d875527c52183080b63a0b19d567856952af 16-May-2011 Mike Lockwood <lockwood@android.com> Merge "StorageManager: Clean up and generalize storage configuration resources" into honeycomb-mr2
2f6a3885533a52758c2cd4f81f6123a712be8ae6 10-May-2011 Mike Lockwood <lockwood@android.com> StorageManager: Clean up and generalize storage configuration resources

Replace config_emulateExternalStorage, config_externalStorageRemovable,
config_externalStoragePaths, config_externalStorageDescriptions and
config_mtpReserveSpaceMegabytes resources with an XML resource file
to describe the external storages that are available.

Add android.os.storage.StorageVolume class

StorageManager.getVolumeList() now returns an array of StorageVolume

Change-Id: I06ce1451ebf08b82f0ee825d56d59ebf72eacd3d
Signed-off-by: Mike Lockwood <lockwood@android.com>
nvironment.java
torage/IMountService.java
torage/StorageManager.java
torage/StorageVolume.aidl
torage/StorageVolume.java
056054f7c55614df5fd4a34bfc2f0123d56d3523 16-May-2011 Gilles Debunne <debunne@google.com> Merge "Links in Environment javadoc"
fbdf9df053800afb25453630d11bd48cbc068271 16-May-2011 Dianne Hackborn <hackbod@google.com> am 2a20583a: am 700ab1c7: Merge "DO NOT MERGE. Integrate from master: Improve activity manager debug dumps." into honeycomb-mr2

* commit '2a20583a5f436d66ab73cd6c0fdc73e59a3cecad':
DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.
24df0757f86851569b65dadd0dfa139521748b9c 14-May-2011 Dianne Hackborn <hackbod@google.com> am ed9321ab: am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

* commit 'ed9321ab5d282e40e7c5fa9caf0eb9d05646f2d0':
DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
9a84983a9fd9959671e102045eaf185b83291269 08-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.

Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem. Also lots of general cleanup of the am
dump output.

Change-Id: I99447b87f77a701af52aeca984d93dfe931f065d
inder.java
Binder.java
arcel.java
arcelFileDescriptor.java
f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f 20-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

And clean up some documentation.

Change-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232
owerManager.java
ee1d6302912c85429aaeaa70a007248fda5c19e2 13-May-2011 Gilles Debunne <debunne@google.com> Links in Environment javadoc

Change-Id: Ib3383152ff6114fdaba5245bc8357f78bc9d5fcf
nvironment.java
39cf8c97c3aee897cca7f37d3f7e9e36c3639f2d 13-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of ec85619f to master

Change-Id: Id820ddcb9d19341a1b383b3bef7659a2c0621cfa
ec85619f02715a6b4b8c077257b52f04aa1b1dba 13-May-2011 Dianne Hackborn <hackbod@google.com> am d46849a5: am a8138732: MR2 is going to be API 13.

* commit 'd46849a535ab64fd47fc8e9c557ca5f4da9e977b':
MR2 is going to be API 13.
a8138732a01b92f0a40f72050b74a3bd4cf6d215 13-May-2011 Dianne Hackborn <hackbod@google.com> MR2 is going to be API 13.

Change-Id: I05b65ace073b8731e85b41ac4ae63e2745cb46b5
uild.java
47f8f0fa70343ea0d150e644f4109fb2d1185044 13-May-2011 Chia-chi Yeh <chiachi@android.com> Add a method to create ParcelFileDescriptors from DatagramSockets.

Change-Id: I16dddb2395628657b140b53a1b2fee5f311b049a
arcelFileDescriptor.java
f2a4568afca603d3166fd86335abe095cd087393 05-May-2011 Joe Onorato <joeo@google.com> Merge "Fix race conditions in WakeLocks."
d7350e3a56daa44e2d2c6e5175e6430492cf0dc9 05-May-2011 Joe Onorato <joeo@google.com> Fix race conditions in WakeLocks.

Bug: 3439332
Change-Id: I70c583e6a73960df8faad69675947b87642c6228
owerManager.java
9a13f36cddaad01350bdb5f000167811a1d753c9 27-Apr-2011 Jeff Sharkey <jsharkey@android.com> Return NetworkStats bundle from NM service.

Introduce NetworkStats which is a collection of network statistics,
which should match the structure communicated by kernel module through
netd. Will introduce tags and fg/bg stats later. Kept entirely in a
flat data structure to optimize parcel speed.

Initial pass at returning NetworkStats from NetworkManagementService,
both summary and details. Will eventually pull data from kernel module
over netd connection.

Change-Id: I92d9f61678ec8c22e2ce26775fb035a0cf32413f
NetworkManagementService.aidl
a2a8419db82ae40146bdfd215e3de3be39c7249c 04-May-2011 Mike Lockwood <lockwood@android.com> am e3b498be: DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods

* commit 'e3b498be0ae05367e9b84f4fac2ac5cf57a6b091':
DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods
e3b498be0ae05367e9b84f4fac2ac5cf57a6b091 24-Mar-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods

Change-Id: I8ba7e56797b0106dafaa6388393e5c629f27e6e6
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/IMountService.java
torage/StorageManager.java
d967f4664f40f9a4c5262a44b19df9bbdf457d8a 24-Mar-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods

Change-Id: I43d5c1730b340f1288b58012234b38f801001b71
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/IMountService.java
torage/StorageManager.java
1c6afcbf1f0daf3fb5eb3501656963e3a8a99e3b 04-May-2011 Conley Owens <cco3@android.com> am 2d40bf91: am eac835e5: am 9c4ba258: Merge "Removing dead store; it was likely a relict of debuging code."

* commit '2d40bf91e6ad71505ec84743c5ad0b854ecf5928':
Removing dead store; it was likely a relict of debuging code.
2d40bf91e6ad71505ec84743c5ad0b854ecf5928 04-May-2011 Conley Owens <cco3@android.com> am eac835e5: am 9c4ba258: Merge "Removing dead store; it was likely a relict of debuging code."

* commit 'eac835e52e8378b33a2b34b7edb803290154588d':
Removing dead store; it was likely a relict of debuging code.
ad3b2e3a164661ea032a55cb01aadc2a74bd5917 29-Apr-2011 Jozef BABJAK <jozef.babjak@gmail.com> Removing dead store; it was likely a relict of debuging code.

Change-Id: I685c6df119212f48f90dd40d01a3638a33ce2800
atteryStats.java
9567a66a5e6f49dd8495fb5f6e2efb9f32e84b35 20-Apr-2011 Dianne Hackborn <hackbod@google.com> Deprecate a bunch of APIs.

And clean up some documentation.

Change-Id: I7882183b3daf883b7ac6098d19f88dc7cfbcdf61
owerManager.java
7475c0cea622f126af966c3b5b9741f547e83450 04-Apr-2011 Mattias Falk <mattias.falk@sonyericsson.com> Added methods to support dns cache per interface

Added some methods to NetworkManagementService
as part of the work to implement a dns cache
per interface.

Change-Id: I5c7369075dee6b6a4ff67b27f1df7cc124f54c14
NetworkManagementService.aidl
1fadab5c36445bb9f0997904dbce44f8e234f847 15-Apr-2011 Dianne Hackborn <hackbod@google.com> More battery stats improvements.

We now write to the parcel using deltas. For common situations,
it only takes 4 bytes to write a delta (new command, time delta,
significant state changes, flags indicating additional state that
follows).

Increasing the buffer size to 128K, this give us 32,768 samples
if they all fit in the smallest delta. A device that is doing
something every minute (like acquiring a wake lock or doing a
wifi scan) for our max target battery life of 30 days would
generate 43,200 samples.

Also some turning to the maximum time between samples at which
we decide to completely collapse two samples.

Change-Id: I074a698d27ccf9389f9585abfc983af2f5ba7a54
atteryStats.java
0ffc988a7f47013805d5abeed1c20f159b3bd799 14-Apr-2011 Dianne Hackborn <hackbod@google.com> Rewrite battery history storage.

We now write battery history directly into a buffer, instead of
creating objects. This allows for more efficient storage; later
it can be even better because we can only write deltas.

The old code is still there temporarily for validation.

Change-Id: I9707d4d8ff30855be8ebdc93bc078911040d8e0b
atteryStats.java
4390758f277645de6e81f6482d582473383cc917 12-Apr-2011 Elliott Hughes <enh@google.com> Use an @hide libcore API to get the FileDescriptor from a Socket.

Saves having your own native code...

Change-Id: Ib082a6530bcf743a35031500cee6318bc92d4d35
arcelFileDescriptor.java
a4f39a6edda1df7fa2f1daee2f9a2d9a08fb94e1 12-Apr-2011 Doug Zongker <dougz@android.com> Merge "protect all /cache/recovery/last_* files from deletion"
3d5040f8d474713a1e148b0d64f16bb0435d6388 12-Apr-2011 Doug Zongker <dougz@android.com> protect all /cache/recovery/last_* files from deletion

Preserve any files name /cache/recovery/last_*, not just last_log,
when booting.

Change-Id: Ie36da5b9552e4a7100ecf3774fb1a8aaa22bfdbd
ecoverySystem.java
40c266ef4868876f75d1b7b96f6117d7497c4e41 11-Apr-2011 Jeff Hamilton <jham@android.com> am a83bc160: am 7bb236c3: am 84d34078: Make the NFC UID forward compatible.

* commit 'a83bc160892078c20489897190ee163d5c4d3783':
Make the NFC UID forward compatible.
a83bc160892078c20489897190ee163d5c4d3783 11-Apr-2011 Jeff Hamilton <jham@android.com> am 7bb236c3: am 84d34078: Make the NFC UID forward compatible.

* commit '7bb236c3b5e49f53b3110855276d99e664b29931':
Make the NFC UID forward compatible.
8c2a1a90a81f04573bfa578eab32f5fd4a30eafb 08-Apr-2011 Brian Carlstrom <bdc@google.com> Add keychain user with special keystore access permissions

Change-Id: I02fe5171add62c5cd9f57b01bc137f3bc1cb3a69
rocess.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
inder.java
ebug.java
ooper.java
essageQueue.java
e17aeb31030cfeed339a39a107912ad5e9178390 08-Apr-2011 Dianne Hackborn <hackbod@google.com> Improve activity manager debug dumps.

Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem. Also lots of general cleanup of the am
dump output.

Change-Id: Id0dbccffb217315aeb85c964e379833e6aa3f5af
inder.java
Binder.java
arcel.java
arcelFileDescriptor.java
3fc982f41fda1f254bfbc35490d81cd82a0ed90a 31-Mar-2011 Dianne Hackborn <hackbod@google.com> Add new resource configurations for screen width/height in "dp".

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I22f8afa136b4f274423978c570fa7c9855040496
uild.java
cace13d72a71cd8802b5804c47f5b5a9a7c01a74 05-Apr-2011 Mike Lockwood <lockwood@android.com> Merge "StorageManager: Add getVolumeList() and getVolumeState() methods"
c5a229665dbea7572f991180388c8bbe992a3438 05-Apr-2011 Jason parks <jparks@google.com> am 5ee250aa: am 1d733625: am cca2f2f9: Merge "Send out a broadcast that the system is being factory reset." into gingerbread

* commit '5ee250aa744720c90b264966f9721cfb9d256e96':
Send out a broadcast that the system is being factory reset.
5ee250aa744720c90b264966f9721cfb9d256e96 05-Apr-2011 Jason parks <jparks@google.com> am 1d733625: am cca2f2f9: Merge "Send out a broadcast that the system is being factory reset." into gingerbread

* commit '1d73362597c49f4692a580460bc8697a8f1d0efa':
Send out a broadcast that the system is being factory reset.
8fa5f804e21233c5f1993212fd5fb7c200eec905 24-Mar-2011 Mike Lockwood <lockwood@android.com> StorageManager: Add getVolumeList() and getVolumeState() methods

Change-Id: Icf3301827dd27e8430bd44eaafde517a31ef035a
Signed-off-by: Mike Lockwood <lockwood@android.com>
torage/IMountService.java
torage/StorageManager.java
7bb236c3b5e49f53b3110855276d99e664b29931 04-Apr-2011 Jeff Hamilton <jham@android.com> am 84d34078: Make the NFC UID forward compatible.

* commit '84d340781b1e148ead9fb4790755737c9dcc1cde':
Make the NFC UID forward compatible.
1d73362597c49f4692a580460bc8697a8f1d0efa 04-Apr-2011 Jason parks <jparks@google.com> am cca2f2f9: Merge "Send out a broadcast that the system is being factory reset." into gingerbread

* commit 'cca2f2f987ab772a4bae3176df7259f59d6502ce':
Send out a broadcast that the system is being factory reset.
84d340781b1e148ead9fb4790755737c9dcc1cde 01-Apr-2011 Jeff Hamilton <jham@android.com> Make the NFC UID forward compatible.

Change-Id: I67316ee7906c29ba11ca7c8eb36ca1b736fe59b1
rocess.java
f9fb0abbd678102beb546bd676f0b37aa22d49f5 31-Mar-2011 Jeff Hamilton <jham@android.com> am 0c691f0e: am ad91eee2: am 9c1ef098: Update the value for the NFC shared UID.

* commit '0c691f0eb3bc844e778f9a61e777076658879dfd':
Update the value for the NFC shared UID.
cca2f2f987ab772a4bae3176df7259f59d6502ce 30-Mar-2011 Jason parks <jparks@google.com> Merge "Send out a broadcast that the system is being factory reset." into gingerbread
0c691f0eb3bc844e778f9a61e777076658879dfd 30-Mar-2011 Jeff Hamilton <jham@android.com> am ad91eee2: am 9c1ef098: Update the value for the NFC shared UID.

* commit 'ad91eee2774e18204a14d473242efe5640b91152':
Update the value for the NFC shared UID.
ad91eee2774e18204a14d473242efe5640b91152 25-Mar-2011 Jeff Hamilton <jham@android.com> am 9c1ef098: Update the value for the NFC shared UID.

* commit '9c1ef098837bd73044cb970545344dd03f66daa0':
Update the value for the NFC shared UID.
9c1ef098837bd73044cb970545344dd03f66daa0 25-Mar-2011 Jeff Hamilton <jham@android.com> Update the value for the NFC shared UID.

Change-Id: Id25e1c9f0c074d17440838a9da7bf59619726832
rocess.java
112d339673c379b71a989bd33b73648aafe58ce1 25-Mar-2011 Jesse Wilson <jessewilson@google.com> Fix MemoryFile's output stream to advance.

Previously it was not useful.

Change-Id: I0bcc06b65bab33a38a0b0148c020509076a51b1c
http://code.google.com/p/android/issues/detail?id=11415
emoryFile.java
315f19be8ef26fee77db2455f8c2997680755f6d 18-Mar-2011 Dianne Hackborn <hackbod@google.com> am daa71254: am efb56934: am 1d50ad79: Merge "Whoops, forgot the HONEYCOMB_MR1 constant. :(" into honeycomb-mr1

* commit 'daa71254f3e3261ecc0e143955c89ced70bbf008':
Whoops, forgot the HONEYCOMB_MR1 constant. :(
daa71254f3e3261ecc0e143955c89ced70bbf008 18-Mar-2011 Dianne Hackborn <hackbod@google.com> am efb56934: am 1d50ad79: Merge "Whoops, forgot the HONEYCOMB_MR1 constant. :(" into honeycomb-mr1

* commit 'efb56934efdc0aae38ce7264f2576326293846b6':
Whoops, forgot the HONEYCOMB_MR1 constant. :(
d630f105e8bc0021541aacb4dc6498a49048ecea 18-Mar-2011 Joe Onorato <joeo@google.com> AsyncTask now uses the poll executor for apps up through HC MR1 and the serialized one after that.

Change-Id: I47d135ace5f8e78e4fa44ac9d1bf7abeeb9d3ba0
syncTask.java
edf1fc6ce642c8d0f675795635d223b26d9f825c 18-Mar-2011 Dianne Hackborn <hackbod@google.com> Whoops, forgot the HONEYCOMB_MR1 constant. :(

It shouldn't be a problem to put this in -- it is a static final
so it doesn't actually need to be in the on-device system image.

This is important for the SDK.

Change-Id: Iaa086247d0d65fe708c40fbab506aa60cd3e1396
uild.java
63fce8c56d72c28fcf9c3edac9263dd7c49cb132 16-Mar-2011 Kenny Root <kroot@google.com> Merge "Update WakeLock-related docs to mention permissions"
d710fb500c121b3f9563ccfbe488f7c9d3ec4985 16-Mar-2011 Kenny Root <kroot@google.com> Update WakeLock-related docs to mention permissions

android.permission.WAKE_LOCK permission is required to use WakeLock or
WifiLock, but nowhere is it mentioned that you must declare that
permission to use it.

Change-Id: Ib5f5294d37e39169fe5678743f380d95c4e5a842
owerManager.java
4ca74dc4c2e0c68803e777cf47ed8e01b8e8444e 14-Mar-2011 Jason parks <jparks@google.com> Send out a broadcast that the system is being
factory reset.

Change-Id: I339b7ce58cb3f48316103be49b582d4f7e9b63bf
ecoverySystem.java
9b7c1274ddba8db2842431649d46c4cef510131f 15-Mar-2011 Dianne Hackborn <hackbod@google.com> am e2e8da7c: am 7c2e76f0: Merge "Improve error reporting for issue #3183612" into gingerbread

* commit 'e2e8da7c734b71c4b6b81e51e16ce3f4061f0f07':
Improve error reporting for issue #3183612
e2e8da7c734b71c4b6b81e51e16ce3f4061f0f07 15-Mar-2011 Dianne Hackborn <hackbod@google.com> am 7c2e76f0: Merge "Improve error reporting for issue #3183612" into gingerbread

* commit '7c2e76f0a4daa7e4316e7a85d41d3c391319d955':
Improve error reporting for issue #3183612
1ab43775d8134d652a7d27f2d79c569653e47f1a 15-Mar-2011 Dianne Hackborn <hackbod@google.com> Improve error reporting for issue #3183612

java.lang.SecurityException: Neither user 1209 nor current process
has android.permission.WAKE_LOCK.

Change-Id: I465972ab91b007e04b2ac62550f78583956a4048
ooper.java
50c294f21b3348010c3f91c5a998d54e1e45d2e4 08-Mar-2011 Andy Stadler <stadler@google.com> Clarify rules about encryption of emulated storage.

Bug: 3351426
Change-Id: I3a8fcd369862f3eab1781699108e29fe7ab474a0
nvironment.java
e3a7f628c6d9fef42be24999b3137ebe5c6f3525 04-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix Fragment.onInflate() to actually work correctly.

Like, um, it needs to be given the Activity since this is called before
the activity is attached.

And it was called after the entire fragment and its *view* was created
when being restored from saved state.

And the documentation was whacked.

Also fix the IME selector to dismiss when you tap outside of it.

Change-Id: Icbcafe7558965a570bdef9cda3441b1f0f7a317c
undle.java
d984ba13202b16577c50aaeab045902f11b84bda 03-Mar-2011 Simon Wilson <simonwilson@google.com> am df58a1bb: am 3d79f1ce: am edc68a00: Merge "Attempt to reduce problems from issue #3183612" into gingerbread

* commit 'df58a1bbf8d7f6608848eae4d5d48dcff137dc8c':
Attempt to reduce problems from issue #3183612
df58a1bbf8d7f6608848eae4d5d48dcff137dc8c 03-Mar-2011 Simon Wilson <simonwilson@google.com> am 3d79f1ce: am edc68a00: Merge "Attempt to reduce problems from issue #3183612" into gingerbread

* commit '3d79f1ce84ee60dbb26468b9e5f75f4ccb5ed8aa':
Attempt to reduce problems from issue #3183612
3d79f1ce84ee60dbb26468b9e5f75f4ccb5ed8aa 03-Mar-2011 Simon Wilson <simonwilson@google.com> am edc68a00: Merge "Attempt to reduce problems from issue #3183612" into gingerbread

* commit 'edc68a001cd94d2011029004cb27231432a18575':
Attempt to reduce problems from issue #3183612
edc68a001cd94d2011029004cb27231432a18575 03-Mar-2011 Simon Wilson <simonwilson@google.com> Merge "Attempt to reduce problems from issue #3183612" into gingerbread
bd8b6f25bb48daea4aeb0c7463661c8e69baece0 01-Mar-2011 Christopher Tate <ctate@google.com> Fix binder proxy death notice tracking

There was an issue with stale recipient tracking when BinderProxy weak
references had been purged and a new proxy object allocated for a
still-live underlying IBinder. The death recipient bookkeeping has
now been reworked so that it's fundmentally tied to the BinderProxy
instances, not maintained as global state, to prevent this sort of
confusion entirely.

Bug 3499939

Change-Id: I75c5216b6d53b90868ac969e32c9725201e51be3
inder.java
c9119f5034d36f548bbddd8f60291e24ab4e270b 01-Mar-2011 Dianne Hackborn <hackbod@google.com> Add ParcelFileDescriptor APIs to get raw fd.

Change-Id: I66ba72ffffd27237e60c9411453eef950ae62705
arcel.java
arcelFileDescriptor.java
a28b83ee04ca25100781f37a50665d6e1b05e3a2 28-Feb-2011 Elliott Hughes <enh@google.com> Fix Parcel.writeNative to not ignore 'offset'.

Also switch to using libcore's array bounds checking. (This variant had no
detail message and was missing the length check.)

Bug: http://code.google.com/p/android/issues/detail?id=15075
Change-Id: Icfc045bd59403b59f02d95c8514abf881d3996e5
arcel.java
22577b8d3a39c1373594ba3e4427212eee4cd6d4 24-Feb-2011 Jason Chen <jasonchen@google.com> am 5ff79c3b: Merge "DO NOT MERGE Cherry-pick of Ie4026a7c back to GB" into gingerbread

* commit '5ff79c3b06d7087153617dc973491fc890700af5':
DO NOT MERGE Cherry-pick of Ie4026a7c back to GB
9248e95a2f03afe4cded90f0209ab825f253dd37 06-Jan-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE Cherry-pick of Ie4026a7c back to GB

Original change description follows:
-----------------------------------

Implement issue #3326435: Battery stats improvements

Keep track of discharge while screen is on vs. off.

Checkin looks like:

5,0,u,dc,1,1,1,0

The last four numbers are, from left:

- Maximum battery drain over time period.
- Minimum battery drain over time period.
- Battery drain while screen was on.
- Battery drain while screen was off.

Change-Id: Ie3cfe52df29b3f28ba8dc3350abe6cc967c76324
atteryStats.java
5284090631e638b916d9a453212e9dc802656a67 18-Feb-2011 Wink Saville <wink@google.com> Changes for ril.h version 6.

Change-Id: Iacd9d362c4836546ac277cf3571227d426a721aa
atteryStats.java
e5dea7537cadbf79614730f96d9e92cc2b12ad5a 09-Feb-2011 Dianne Hackborn <hackbod@google.com> Attempt to reduce problems from issue #3183612

java.lang.SecurityException: Neither user 1209 nor current...
...process has android.permission.WAKE_LOCK.

It looks like, somehow, the calling uid/pid of the SyncHandler
thread is getting corrupted. This change has Looper check for
these values changing from their original defaults and, if there
is a problem, resetting them and logging a WTF. Hopefully this
will avoid crashing the process, while also giving us more
helpful error reports about what is going on.

Change-Id: Iff06d575951fb8c06e2a3c31141f2907a715eb81
ooper.java
d2ed82fb9423afe744780f66c667bb98261d3a6a 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> am 66700397: Merge 3100207b from gingerbread-plus-aosp

* commit '66700397496fc6f6d26f9f0b56ead8ef610b9654':
Tweak to make merges easier
66700397496fc6f6d26f9f0b56ead8ef610b9654 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Merge 3100207b from gingerbread-plus-aosp

Change-Id: Ib2eaede8b9e400e1d273f981c08a6ef82f3dd588
3100207be5cb0ef93a5271f24b6f03a2e75291ad 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> am 1358b6a4: Tweak to make merges easier

* commit '1358b6a4fb68e81058aa938e46b125350bdf0fff':
Tweak to make merges easier
1358b6a4fb68e81058aa938e46b125350bdf0fff 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Tweak to make merges easier

Bug: 3364311

Change-Id: Idec05206615de524a3b61d8579d9f2b462b541cd
torage/IObbActionListener.java
450536b6a6139393c61aefc0ad57544eda5bfe8b 29-Jan-2011 Jason parks <jparks@google.com> am d4796c82: am a2e765ef: Merge "Update the encryption password when the device password is changed." into honeycomb

* commit 'd4796c823b92866d5895acf610e5571e9b5724d9':
Update the encryption password when the device password is changed.
d4796c823b92866d5895acf610e5571e9b5724d9 29-Jan-2011 Jason parks <jparks@google.com> am a2e765ef: Merge "Update the encryption password when the device password is changed." into honeycomb

* commit 'a2e765ef1ad2cb907a4ae0a93bb15e4764ebb59a':
Update the encryption password when the device password is changed.
f7b3cd4efd40b7631f36ea014407a850f7dc637e 27-Jan-2011 Jason parks <jparks@google.com> Update the encryption password when the device password is changed.

* Added changeEncryptionPassword() to the MountService.
* Update LockPatternUtils to call changeEncryptionPassword()
when the password is changed.

Note we only require the new password to change the
encryption password.

Bug: 3382129
Change-Id: I26a7e919e325e75e22fa4290da0a8b1b57b55a80
torage/IMountService.java
bd549fe0bb00a906579be5bd8666578f4a5e39f9 26-Jan-2011 Kenny Root <kroot@google.com> am 7dbf0696: resolved conflicts for merge of 2c1d0967 to honeycomb-plus-aosp

* commit '7dbf0696ef37097f2bcec058f876f7f4ba63d357':
Make ObbActionListener a on-way call
7dbf0696ef37097f2bcec058f876f7f4ba63d357 26-Jan-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 2c1d0967 to honeycomb-plus-aosp

Change-Id: Ie9b0166b0260ee7eea7bdd275e64f2714024bf1c
2c1d0967ba23f7e806e338bc74148bed93823706 26-Jan-2011 Kenny Root <kroot@google.com> Merge "Make ObbActionListener a on-way call" into honeycomb
29a208e12c9c29d9923c0b1b93e61cbc128f281c 26-Jan-2011 Kenny Root <kroot@google.com> am ff271a22: am 2ec4af59: am 138757db: Merge "Make OBB results a one-way call" into gingerbread

* commit 'ff271a2288f375fc7a5854ac0d1f7c969d91996d':
Make OBB results a one-way call
ff271a2288f375fc7a5854ac0d1f7c969d91996d 26-Jan-2011 Kenny Root <kroot@google.com> am 2ec4af59: am 138757db: Merge "Make OBB results a one-way call" into gingerbread

* commit '2ec4af59209ab3a7088a001bbbcb10ef0b846564':
Make OBB results a one-way call
2ec4af59209ab3a7088a001bbbcb10ef0b846564 26-Jan-2011 Kenny Root <kroot@google.com> am 138757db: Merge "Make OBB results a one-way call" into gingerbread

* commit '138757db4f19cb626ef5c1d371d4fca004304a08':
Make OBB results a one-way call
079374966194f3edc70cfc8596223f755e46a2d0 26-Jan-2011 Dianne Hackborn <hackbod@google.com> am b8fc8c26: am 4fbca2b6: Merge "Change AsyncTask.execute() back to using a thread pool..." into honeycomb

* commit 'b8fc8c26cba829225469a65bf8e35b06de54588e':
Change AsyncTask.execute() back to using a thread pool...
b8fc8c26cba829225469a65bf8e35b06de54588e 26-Jan-2011 Dianne Hackborn <hackbod@google.com> am 4fbca2b6: Merge "Change AsyncTask.execute() back to using a thread pool..." into honeycomb

* commit '4fbca2b6138c52405fd7fb241bbf3c21fddd04bb':
Change AsyncTask.execute() back to using a thread pool...
96438cd658f91fed9d8fc651c4eb1e55dc6dbf80 26-Jan-2011 Dianne Hackborn <hackbod@google.com> Change AsyncTask.execute() back to using a thread pool...

...for now.

Change-Id: I1fe64f3e3a575f85add11dfe4d405f0c3a4a49de
syncTask.java
b7db2726e91f1d9480359d0f83b9cb7769906b34 26-Jan-2011 Kenny Root <kroot@google.com> Make OBB results a one-way call

OBB result back to an application needs to be a one-way binder call.

Bug: 3353699
Change-Id: I0e625914d18a001c2fa9d764ea6463f34cf96743
torage/IObbActionListener.java
821a4aca2b7e7ca3e52088e16bc9c0c418d92785 26-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 47864180: am 6af61b84: am a206efcf: Merge "android.os.Message: respect sPoolSize"

* commit '47864180918702768d26f48ec3213c935cea0c4b':
android.os.Message: respect sPoolSize
47864180918702768d26f48ec3213c935cea0c4b 26-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 6af61b84: am a206efcf: Merge "android.os.Message: respect sPoolSize"

* commit '6af61b843511bc5b669d30b980c4a9e2682da47c':
android.os.Message: respect sPoolSize
6af61b843511bc5b669d30b980c4a9e2682da47c 26-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am a206efcf: Merge "android.os.Message: respect sPoolSize"

* commit 'a206efcf8d2e56cbd0d1de125b29b45fc6cc8431':
android.os.Message: respect sPoolSize
2405c278ef51ac527bca6d76a0b9d4804f9aab17 25-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> android.os.Message: respect sPoolSize

Also rename some static members from mFoo to sFoo.

Bug: http://code.google.com/p/android/issues/detail?id=13866
Change-Id: I5c5075eb6f529d1534c7aa72b6881873cd08676a
essage.java
a16e38f156fb996c83d5dc2db0b275bc9927006b 25-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Prefer the overload of getDigestAlgorithm spelled correctly."
66e40c36b3145f4d2f3ddd547bd66f27b12f6324 25-Jan-2011 Jesse Wilson <jessewilson@google.com> Prefer the overload of getDigestAlgorithm spelled correctly.

Change-Id: Iaf1c031b982890c2ef21607bdf80acd652646e19
ecoverySystem.java
9d97b63d0e0c7c9deb2d140c1dd579b51f52c1af 23-Jan-2011 Dianne Hackborn <hackbod@google.com> Honeycomb is now officially API 11.

Change-Id: I5b11801468bf6ee2482f1ef201ece70ed9303bd8
uild.java
19fdccfdf85148c0dde68b6ac8bb075b192193e4 21-Jan-2011 Dianne Hackborn <hackbod@google.com> am 11576102: Fix issue #3373438: Update GBMR versions

* commit '11576102a9794ef964a08bc372dc09803f58997a':
Fix issue #3373438: Update GBMR versions
c0bb0bb5e3425b77b6e7820ebe25fe72bdd07782 21-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> StrictMode: set sIsIdlerRegistered to false, and don't register if no penalties

Change-Id: I1b2531b66d09c850519af17918aed8be9853ef3b
trictMode.java
5f8b5c191cae77f536ee64f0b625e4a7f8596787 21-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Fixes for StrictMode instance count checking.

Misc stuff found after looking at the first day of data, Jesse's
review, and comments from Dianne about tracking Activity counts
better.

Change-Id: Ifee1ef8f59f41061d4aac8c02765627dbf3cd8e4
trictMode.java
11576102a9794ef964a08bc372dc09803f58997a 20-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3373438: Update GBMR versions

Change-Id: Ic4b4f1b0534fd2fbd6322eae01a4cb9d5a67cc6f
uild.java
9240f16d771549b62b5f10efe9f784d87a0afaa4 19-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Merge "StrictMode: class instance limits (track object "leaks")" into honeycomb
bfbe5771106a07f9c8e8685e402b1003db40526f 19-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> StrictMode: class instance limits (track object "leaks")

Change-Id: I2db5a19060c2013078feb88a91caf655469b2f98
trictMode.java
54973710d769e4722dc21778f8fcb7b08d2872dd 19-Jan-2011 Mike Lockwood <lockwood@android.com> Merge "Environment.isExternalStorageRemovable() is false if external storage is emulated" into honeycomb
70ee3ca616a296650a1de7864c9f5c0f41fa8fa1 19-Jan-2011 Mike Lockwood <lockwood@android.com> Environment.isExternalStorageRemovable() is false if external storage is emulated

Change-Id: Ib1afe83e4295d8304b65e822edd0dfa1591a5be7
Signed-off-by: Mike Lockwood <lockwood@android.com>
nvironment.java
6c2c5fc9930d14d502a22326dee9bf4475dbd649 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Just a little 'ol activity manager permission change.

We no longer enforce permissions for applications that are accessing
their own components. This allows an application to require a permission
on one of its components that it does not itself have. This is useful
for example with the new advanced widgets, which require a system-only
permission on the implementing service to ensure the app's data stays
private but it is nice to allow the application to still touch its own
widget service.

Change-Id: I5d61930a083816919545870039ad191314ed48c6
uild.java
241fc72b455158849c623c0819c9d71a2e6e7ae4 18-Jan-2011 Kenny Root <kroot@google.com> Merge "Don't cache return of getService in Environment" into honeycomb
b2278dc1853241b4868c89ba3dab6b86b1c7ec53 18-Jan-2011 Kenny Root <kroot@google.com> Don't cache return of getService in Environment

There is already a cache of all non-null return values for calls to
getService(), so don't bother caching it in Environment. This caused
some problems when Environment was called too early in the boot process
and getService() returned null.

Change-Id: I66739d01dab7e422f660d26b370ecce110dcc808
nvironment.java
758035757f11a085a12b54daa9467f1d6bb251ef 13-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> StrictMode class instance limit interface.

Change-Id: Ic5eea539586e5d4965d83364bf9f623d1d89f2b1
trictMode.java
f09d63a52c84386a7b3539eab5b43f020f194c77 17-Jan-2011 Kenny Root <kroot@google.com> Re-@hide some of the other StorageManager API

Some StorageManager API was accidentally unhidden during a bad merge.
Re-@hide the API to fix it.

Bug: 3362407
Change-Id: I5ad6925d3b6c18c33230127b1318c150d028a010
torage/StorageEventListener.java
torage/StorageResultCode.java
ec7c9ff0bb1c98cb8bec3ec7bdacbae3a434fa53 17-Jan-2011 Kenny Root <kroot@google.com> Hide USB mass storage APIs in StorageManager

They appear to have been unhidden in a bad merge from gingerbread.

Change-Id: Ice0fc865425d5d885af3c2e90a7ffeaa1d623b80
torage/StorageManager.java
805fd7ee0e5dc2939e85c84f78d9890a51982bc0 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Add API to get path to OBBs.

Also hide the bitmap thumbnail stuff, we can't support it in its
current form.

And fix some bugs with propagating paths to native code. Yikes!

Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
nvironment.java
9bb85ab3af3f8e4efa9c8c22f907680cd0108bcb 16-Jan-2011 Joe Onorato <joeo@google.com> fix the build... sorry... bad docs...

Change-Id: I4b543f306d58ec95693c8e3515dffcb7dd55dc29
syncTask.java
1ddf75a3df38c3e9b56ed626da52662dd0694279 16-Jan-2011 Joe Onorato <joeo@google.com> Merge "Change the default of how AsyncTask enqueues." into honeycomb
81de61bfddceba0eb77b3aacea317594b0f1de49 16-Jan-2011 Joe Onorato <joeo@google.com> Change the default of how AsyncTask enqueues.

The default is now to serialize everything onto the thread pool. If you would
like to have finer grained control over how AsyncTasks are executed, you can
call the new executeOnExecutor method, which takes a custom Executor. The
pool used by the default is handily now accessible as THREAD_POOL_EXECUTOR.

This change is because it is too tempting to convert single threaded Jankyâ„¢
code to use AsyncTask in a way that is unsafe and ends up calling the
AsyncTasks in parallel.

Also, this adds a static execute(Runnable) method to AsyncTask that posts
onto the serialized queue, so that if you don't have any parameters or
return values, you can just use Runnable instead of AsyncTask.

Change-Id: I91bdfb00193542bfc2e101bcad56e3430421884a
syncTask.java
3b81bc18bb661c02ad8074c39dab16644c1e65d0 15-Jan-2011 Dianne Hackborn <hackbod@google.com> Add manifest API to request a large heap.

You can now do android:largeHeap="true" on an application.

Doesn't yet do anything, waiting for Dalvik API.

Also tweak package parsing so that the SDK API level is set in the
configuration, allowing manifest resource value selection based on
that.

Change-Id: I6e035f9702a97b055416743b88f83a22ba4a9584
uild.java
373c1c975dce2e460d40a7c1cd71e35ce4b4a375 14-Jan-2011 Kenny Root <kroot@google.com> Make ObbActionListener a on-way call

Bug: 3353699
Change-Id: If1bba2e9c2ed3d807657b6b4a6b54b7805bec02b
torage/IObbActionListener.java
4a82b620443269e0954ebb0743d8b42f0e76bc3e 14-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Remove accidental StrictMode logging left in.

Change-Id: I7580816c6efc32889f49987152ff1d4c40d47140
trictMode.java
a3cdaa5337fa573c4c61770195d6232c2e587090 13-Jan-2011 Jason parks <jparks@google.com> Revert "Remove the APIs for the old encryption scheme."

This reverts commit 1125d780a8b61703b8eb28c5c77dac5f3f0022dd.
nvironment.java
21f62b9e461416ae61c8471f7199f104f8fe33de 13-Jan-2011 Jason parks <jparks@google.com> Merge "Add a method enable encryption." into honeycomb
ca6777b23bbe9283380efb2ba7e6d0a79d8669db 13-Jan-2011 Jason parks <jparks@google.com> Merge "Remove the APIs for the old encryption scheme." into honeycomb
7e942848ace2e1f81345d4397679d65a048fe828 13-Jan-2011 Carl Shapiro <cshapiro@google.com> Note the release in which functionality was deprecated.

Change-Id: Ia0f361986e4232869f7d4123f75081100241638e
ebug.java
1107383e029e30bb18c77ca887db2af067a79154 13-Jan-2011 Carl Shapiro <cshapiro@google.com> Deprecate the allocation limit interfaces.

Allocation limits relied on conditionally compiled code in the virtual
machine that was disabled in released versions of Android. As such,
these setter methods were glorified no-ops. Now that the feature has
been removed from the allocator this interface is thoroughly obsolete.

Change-Id: Id7f9de37ecfece4b909e35f110e118e131457133
ebug.java
56aa5321fe6f00fa3662e6f46a4b2559aa34f63e 07-Jan-2011 Jason parks <jparks@google.com> Add a method enable encryption.

This is for testing and needs to be cleaned up.

Change-Id: I29958f2a95c7773744e61bbd23a302b752614f87
torage/IMountService.java
1125d780a8b61703b8eb28c5c77dac5f3f0022dd 12-Jan-2011 Jason parks <jparks@google.com> Remove the APIs for the old encryption scheme.

Change-Id: I55116a5b29b10dfd50015805ec019b485257f68b
nvironment.java
540f86aa42877ac73f6f2f24dac49382432aa078 12-Jan-2011 Dianne Hackborn <hackbod@google.com> Get rid of old ParcelFileDescriptor API.

Also some new debugging code in AsyncTaskLoader.

Change-Id: Ib13386b7862821cf0ee31b003bedef78f46240f1
arcelFileDescriptor.java
3459e27e5d2f92d2d5487c189c9386c031e79fc1 11-Jan-2011 Mike Lockwood <lockwood@android.com> un@hide android.os.Environment.isExternalStorageEmulated()

Change-Id: I35e7dc59763595523cb5af569e237bcff5cf1b49
Signed-off-by: Mike Lockwood <lockwood@android.com>
nvironment.java
5ba812b9e9c886425a5736c2ae6fbe0fc94afd8b 10-Jan-2011 Romain Guy <romainguy@google.com> Make sure onCancelled() is called if cancel() is called early.

In some situations, when cancel() was called before the task had a
chance to start its execution, onCancelled() would not be invoked.

Change-Id: I6c1f4cd28a209fb8cc779bb212f500565dfceaae
syncTask.java
e95003e4a15eea2d5f93950fc46f99ff2b9c973a 09-Jan-2011 Romain Guy <romainguy@google.com> Tighten up AsyncTask's semantics and behavior.
Bug #3109366
Bug #3109382

The new behavior of AsyncTask is the following:
- Unchanged if you don't call cancel()
- If you call cancel():
- Either onCancelled() *OR* onPostExecute() is invoked
- onCancelled() is invoked only after doInBackground() finishes

Change-Id: If53faec5890d2fa7098aea76973186a0b1026b39
syncTask.java
c1b40e361c6cd3bdc53499f17ac09f45e6873059 06-Jan-2011 Dianne Hackborn <hackbod@google.com> Implement issue #3326435: Battery stats improvements

Keep track of discharge while screen is on vs. off.

Checkin looks like:

5,0,u,dc,1,1,1,0

The last four numbers are, from left:

- Maximum battery drain over time period.
- Minimum battery drain over time period.
- Battery drain while screen was on.
- Battery drain while screen was off.

Change-Id: Ie4026a7cc8aabb2a6d47d03d2e278aa51c2d5ddf
atteryStats.java
ac1325bcd394bdc8903b26e8593cc06753d79f29 05-Jan-2011 Jason parks <jparks@google.com> Merge "Add decryption support to MountService."
5af0b916f850486cff4797355bf9e7dc3352fe00 29-Nov-2010 Jason parks <jparks@google.com> Add decryption support to MountService.

* Implement the decryptStorage() method on the Mount Service.
This method makes the calls into vold to decrypt the encrypted
volumes and mount them.

Change-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7
torage/IMountService.java
b596198d8d588a113e7e1b204ab09f46a02822c6 23-Dec-2010 Carl Shapiro <cshapiro@google.com> Remove functionality related to external allocation tracking.

The android.os.Debug class exposed two interfaces related to external
allocation. The first interface provided a counter of global external
allocation events. This change makes the global counter getters
constantly return 0 and stubs out the counter setters. The second
interface attempted to provide a counter of per-thread external
allocation events. That interface was never implemented. This change
makes the per-thread counter getters constantly return -1 and stubs
out the setters.

Change-Id: I240fe9bf05297a83607a4350d40d20581e2a9e2f
ebug.java
a2ea747faaf5fcd437afbaaf4085cfc29e7c16b8 20-Dec-2010 Dianne Hackborn <hackbod@google.com> More cleanup of Loader APIs.

- Remove old method names.
- Introduce onXxx() hooks to Loader.
- Improve debugging.

Change-Id: I3fba072a05c7023aa7d2c3eb4e126feb514ab6d8
syncTask.java
arcelFileDescriptor.java
334031cd07c3bd09d23fce0ebaf946fc6ecfee26 10-Nov-2010 Glenn Kasten <gkasten@google.com> Fix documentation errors

Fix typos.
Fix javadoc error.
Fix wrong instructions about new returning null.

Change-Id: I76bca22e386839007fc99667b07649a4ced4180f
Binder.java
dcaa10cd361a543cfa93bbb5c53444f437bd07a4 16-Dec-2010 Mike Lockwood <lockwood@android.com> Add Process.MEDIA_RW_GID constant

Change-Id: I2358e5ef1e55ee4b1b9725451ce06cfbf3ed54a4
Signed-off-by: Mike Lockwood <lockwood@android.com>
rocess.java
4e920f70f38d52d3a74c6a3133388a2e2cb6c175 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Add MODE_MULTI_PROCESS flag to Context.getSharedPreferences()

Also, changes to make this testable with CTS:

-- special PENALTY_DEATH StrictMode fast path that doesn't use
the Looper idling to "time" the violation. Only used when
death is the only violation,

-- make PENALTY_DEATH throw a RuntimeException instead of
killing its process with a signal. this means we can catch
it in CTS tests, but it's also more consistent with
PENALTY_NETWORK_DEATH in Honeycomb.

-- make FileUtils.getFileStatus() invoke StrictMode, which isn't
(yet?) aware of I/O in native code. so help it out.

CTS test for MODE_MULTI_PROCESS is in I6154edab

Change-Id: Icf93f9dfb0ece06b16781e4803dd2c17df3cf1b3
ileUtils.java
trictMode.java
d10bfe185c336d813845c9beb1f4041c5daa1669 14-Dec-2010 Jeff Brown <jeffbrown@google.com> Improve documentation on Vibrator.vibrate.

Bug: 3135537
Change-Id: I961e32990d754dc6b5f86ffea8515685f8ade40f
ibrator.java
996f41da3ca69844ffeee9f8e9ae7423bf440788 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> am 2d5b11ab: am 0927c902: Merge "Fix StrictMode javadoc copy/paste error." into gingerbread

* commit '2d5b11aba0fec21e1ce3f358eb0d280b62704899':
Fix StrictMode javadoc copy/paste error.
2d5b11aba0fec21e1ce3f358eb0d280b62704899 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> am 0927c902: Merge "Fix StrictMode javadoc copy/paste error." into gingerbread

* commit '0927c9026537166cec36b2f9bb8a764ef8a7c606':
Fix StrictMode javadoc copy/paste error.
0927c9026537166cec36b2f9bb8a764ef8a7c606 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Fix StrictMode javadoc copy/paste error." into gingerbread
ccc714131359eb1022d8c6702b7d82ab9e93f27c 13-Dec-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 78e9f4cb to master

Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
78e9f4cbaece783b7b87ce3fb0a157dae766012a 13-Dec-2010 Dianne Hackborn <hackbod@google.com> am e4a59519: Fix issue #3154576: battery stats checkin should include UID -> packages+ map

* commit 'e4a5951925f16f18dae91ed65567e96528f17fee':
Fix issue #3154576: battery stats checkin should include UID -> packages+ map
e4a5951925f16f18dae91ed65567e96528f17fee 07-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3154576: battery stats checkin should include UID -> packages+ map

Includes some other small fixes to battery collection and a few
other things.

Output of package info looks like this:

5,0,i,uid,1000,com.android.settings
5,0,i,uid,1000,com.android.providers.subscribedfeeds
5,0,i,uid,1000,com.android.providers.settings
5,0,i,uid,1000,com.android.server.vpn
5,0,i,uid,1000,android
5,0,i,uid,1000,com.android.systemui
5,0,i,uid,1000,com.google.android.backup
5,0,i,uid,1001,com.android.phone
5,0,i,uid,1001,com.android.providers.telephony
5,0,i,uid,1022,com.android.nfc
5,0,i,uid,10021,com.google.android.location
5,0,i,uid,10021,com.google.android.syncadapters.calendar
5,0,i,uid,10021,com.google.android.gsf
5,0,i,uid,10021,com.google.android.syncadapters.contacts
5,0,i,uid,10026,com.android.providers.downloads.ui
5,0,i,uid,10026,com.android.providers.media
5,0,i,uid,10026,com.android.providers.drm
5,0,i,uid,10026,com.android.providers.downloads
5,0,i,uid,10032,com.android.launcher
5,0,i,uid,10039,com.google.android.gm
5,0,i,uid,10041,com.google.android.gallery3d
5,0,i,uid,10049,com.android.providers.calendar

Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
atteryStats.java
320274c5f17057a3a823fed50b7027cbd46fc025 13-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Fix StrictMode javadoc copy/paste error.

Change-Id: Idd49111f0a1af6f331cffa0972191b2d4e25a385
trictMode.java
595ca7062e81125723af5b2fdec2ba7277a00a11 13-Dec-2010 Mike Lockwood <lockwood@android.com> Merge "PowerManager: remove unused import"
36e52dce7f63881dd8061b6d4a6bed7c0721911e 13-Dec-2010 Mike Lockwood <lockwood@android.com> PowerManager: remove unused import

Change-Id: I0cfd48bd7ec0af3be7721994ab31d6f00634a4e0
Signed-off-by: Mike Lockwood <lockwood@android.com>
owerManager.java
dd60ee728d9e44a8c85ed6a99bcfa44beb0afa23 13-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am 6d13b146: am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master

* commit '6d13b146e0444f40f45b9fe5812093c5e611b68e':
Added dropbox broadcast notification
e78a000955c283509ee8a21b8b7e448060ac8dd8 13-Dec-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 4b94c451 to stage-korg-master

Change-Id: I07b974f96ca598677e58623050e4668822e68f23
e36f9bf123c7cd07ce1007a16de564b2840ea1fe 10-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode "custom" trigger support.

For people who want to annotate their own functions as slow, outside
of just the built-in disk & network stuff.

Change-Id: Ia90e150d1cf7a23a658c091285c1c8bb2d7d9732
trictMode.java
b247536aa3d458750edbc6b45b2348a994d83426 07-Dec-2010 Hakan Still <hakan.still@sonyericsson.com> Added dropbox broadcast notification

To monitor the dropbox an application have to either poll the dropbox
and keep track of all entries or observ the /data/system/dropbox
directory. The later requires that the application runs as system-user.
This commit adds that a broadcast intent is sent when something is written
to the dropbox and an application can just listen on this intent and
then reads the entry with help of the DropboxManager class.
The application have to hold the permission android.permission.READ_LOGS
to get the intent.

Change-Id: I1f77f206a243df69f4ed5306078c47f7bf6181ec
ropBoxManager.java
0aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2 08-Dec-2010 Dianne Hackborn <hackbod@google.com> Rework activity lifecycle so onSaveInstanceState() is after onPause().

The goal is to fix a bunch of fragment-related bugs caused by various
things trying to do fragment transactions after onPause()... which
currently throws an exception, since this is after the activity's state
has been saved so the new fragment state can be lost.

The basic change is relatively simple -- we now consider processes
hosting paused or stopping activities to be unkillable, and the client
code now does the onSaveInstanceState() as part of stopping the
activity.

For compatibility, if an app's targetSdkVersion is < HONEYCOMB, the
client side will still call onSaveInstanceState() prior to onPause()
and just hold on to that state until it needs to report it in once
being stopped.

Also included here is a change to generate thumbnails by taking
screenshots. The code for generating thumbnails by re-rendering
the view hierarchy is thus removed.

Change-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a
uild.java
b96f58911e412fdb0ebdd2bda7dbe89a0829b5db 03-Dec-2010 Dan Bornstein <danfuzz@android.com> Propagate the concept of "packed opcode" values.

Dalvik now exposes a distinction between "packed" and regular opcode
values. The packed values are more densely defined in the range 0-0x1ff,
whereas the regular values are sparsely defined across the range 0-0xffff.

The only current use for packed values at this level is in opcode
usage reporting, but their use may expand over time.

Change-Id: Ie783b90cb2dcb9df8f3eb19a7c708a53906fdbe4
ebug.java
1d99b06ccf48891fbb47947d31f6fbb29c815713 30-Nov-2010 Dan Bornstein <danfuzz@android.com> Get rid of vm-internal constants.

This change makes Debug use less vm-implementation-specific code to
ask which opcodes represent method invocations.
ebug.java
9f3155418d0a504e45bc8c0ce47e11c8689ab36c 20-Nov-2010 Dan Bornstein <danfuzz@android.com> Dalvik opcode-related fixes.

This makes Debug not hard code the number of opcodes and includes an
api-update of other opcode-related changes done in dalvik.system.

Change-Id: I70d22e1c710f224d75a22e319916724aea53f78d
ebug.java
f3c532632bdb2b3805cf9cbc1d2e7e639d41942b 01-Dec-2010 Brian Carlstrom <bdc@google.com> Merge "Tracking merge of dalvik-dev to master"
7495cfadd2d4680b60575fd962b075c0703b9cc8 01-Dec-2010 Brian Carlstrom <bdc@google.com> Tracking merge of dalvik-dev to master

Change-Id: I2f847003761d1300aca65c9471ed168bad82ffe0
ebug.java
bea168c09d173fb99cfc91c562c4a497a5e7d2d2 30-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: more accurate timings

Don't wait for animations to finish before clicking stopwatch. (see
comments in the patch for details)

Change-Id: I73f87b2b787d6db19deb0171a2457ff5fc875d3d
trictMode.java
f54545927f365d6e55cbf66ff9f7ffe91aada774 25-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Don't flash StrictMode from the system server.

These are false positives from a developer's point of view.

Change-Id: Ic8baf81c0e2cf559a38c1fe6adfa6e739dd3eaed
trictMode.java
c1a968a8ed45181312f7d4bcdbba0cc8ddc201ba 24-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Option to enable StrictMode flashing on userdebug builds.

Change-Id: Ifc8e733ea0e0f6bda234a18ad84bcd230879e802
trictMode.java
ystemProperties.java
1065685400335ef8c1220f34b4e896e7da603789 24-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Fix potential weird StrictMode NPE.

Seen once in an eng build. Could in theory happen if there was a
violation in the system server before the activity manager was
registered.

Change-Id: I785f06848af0e2af4657be3a8edbbd658eeb3cf2
trictMode.java
ab0a3c05fc6e1b9deff990f4d8c77a7b702eb772 24-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Misc Looper cleanups; add android.util.PrefixPrinter"
1b29825cca9edda7ae4b3a3f27420c42fd13eef8 24-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Misc Looper cleanups; add android.util.PrefixPrinter

Change-Id: I0b9adce46cb785b4dd4e6296e1f97c8bcf0dbfbf
ooper.java
2970c499388b4dcd1232cd622a9b80b395eeb2b4 09-Nov-2010 Chet Haase <chet@google.com> various fixes for animations and javadocs

Issues around threading of animations and AnimatorSet bugs are
fixed in this change. Unrelated fixes to javadocs in other
framework classes are also part of the change.

Change-Id: I35f7e03ffdec9143bc2eb155e8f9384798ad35b3
ebug.java
f3d86be6d7d2999cd6bae236817688490df7da71 23-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode fingerprinting / hashCode improvements.

Change-Id: I08ff939327f7c11a562851847ae91c67b1db4f87
trictMode.java
cdcb73ef781b8f7d37d9f758409a0c7671517b37 23-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Cache WindowManager in StrictMode; add android.util.Singleton

Change-Id: I15a85461424de930710d4901658440b5d305cabb
trictMode.java
6804433b0af50f33a338307ae8ddb50bc49e886b 23-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode visual notification support.

Change-Id: I64a5adb683060d9649f1132414547bb3c346a2a8
trictMode.java
bee248769d51adb335b71b329b3d7813c5c71851 20-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: dropbox VM-wide violations (e.g. CloseGuard) async

To be clear, the dropbox violations were already async in the
ActivityManager, but the Binder call was often 30 ms anyway.

This optimization was already done for per-thread violations earlier,
but was never done for VM-wide violations because they weren't common,
until CloseGuard came about. Now that CloseGuard fires a lot, apply
the same optimization to VM-wide violations.

This CL also addresses a concern of Dianne's earlier of too many
threads being outstanding. So now there's a paranoia check with an
upper bound on how many outstanding ActivityManager calls are
in-flight.

Change-Id: I95e0816105ab862f0f241052b149c9a46a70ce9c
trictMode.java
82829ef3b7c72bee36d8c17b36ac565f1856a310 19-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: use Log.isLoggable

Change-Id: Ic28450066a43a168cfe3026d6d4b06b752f8423c
trictMode.java
d188ededa6f61dbe5a700e81db22c02478ce60cc 18-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: shut up VM penalty logging on debug builds.

Thread penalties were just dropboxing, but VM penalties were both
dropboxing *and* logging, and most annoyingly.

Change-Id: Ifc64b642dd0e2b17f0234ce3724650489883f62b
trictMode.java
5376c65824db6d571fbfe4ee61ced0b384b20605 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 74923d3a: am d34c1495: Merge "Prevent system crash when OOM in Binder thread."

* commit '74923d3ae4bf7043a62a02c4df988ef3255737ce':
Prevent system crash when OOM in Binder thread.
74923d3ae4bf7043a62a02c4df988ef3255737ce 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am d34c1495: Merge "Prevent system crash when OOM in Binder thread."

* commit 'd34c1495020e5d72dd18959fb906375dc0874c04':
Prevent system crash when OOM in Binder thread.
d34c1495020e5d72dd18959fb906375dc0874c04 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Prevent system crash when OOM in Binder thread."
1cc13b6d1cc7203ad126b0708f0bf697e111264f 17-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Annotate ListView with StrictMode.Span

Change-Id: Ibee1bfa73c85dac2e8103eb5900f0609cbb30ee7
trictMode.java
1181cbbfd7c913c51d9836272ad30cfe851c4699 16-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Fast no-op path for StrictMode.Span on user builds.

Change-Id: I3eb75288d670a8ac1e10547715d8c1a855a5fdc9
trictMode.java
f342ac918234b5db4f7ed54e5b20d2277a3c2df7 16-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> am 8443dd16: am 383e95e2: Merge "DropBox: Read until the end of stream has been reached"

* commit '8443dd16c2dfd5f56e33fbe76129f56e6a83b23e':
DropBox: Read until the end of stream has been reached
8443dd16c2dfd5f56e33fbe76129f56e6a83b23e 16-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> am 383e95e2: Merge "DropBox: Read until the end of stream has been reached"

* commit '383e95e245ceb87a2a6ad6422404ce641f0e08eb':
DropBox: Read until the end of stream has been reached
e9f18815218b2ff1f01ea16f2eb0dd17504a9cf3 16-Nov-2010 Christian Lindeberg <christian.lindeberg@sonyericsson.com> DropBox: Read until the end of stream has been reached

Read the requested length or until the end of the input stream
has actually been reached.

Change-Id: I01bc0b81eca0225209bdd288dde6a778a19d1e2c
ropBoxManager.java
7c2ae6570321575ad74a25bdc72bea1ec6558660 14-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> Fix CloseGuard/StrictMode integration.

Change-Id: Ib89843c48b92138d3981f0f719eae28bf44e2ed4
trictMode.java
e7520d89fe2c5dc9dd833ecd9769c981df855b61 11-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode.Span support

Support for annotating critical regions (e.g. animations) with
a tag to be uploaded.

Change-Id: I412fc78f40dc05c9a3c9f62a4b0463201dbdb767
trictMode.java
1a542c7b8ed0be049869a12d1e01e2604d052ac2 08-Nov-2010 Joe Onorato <joeo@google.com> The CHEEK_TOUCH stuff never worked. Remove it.

Bug: 3104906
Change-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a
ocalPowerManager.java
4b9b7c38e8f52259f9d2f960072d35e8a1ab2129 08-Nov-2010 Brian Carlstrom <bdc@google.com> Add custom CloseGuard.Reporter for StrictMode

StrictMode now replaces the default CloseGuard.Reporter with one that
calls onVmPolicyViolation, which is a renamed version of
onSqliteObjectLeaked.

Change-Id: Iea980662e2ee91939960c83b8768a8172379617a
trictMode.java
19f22745aa0fa2344850bac3234460add9d94c4e 05-Nov-2010 Mattias Petersson <mattias.petersson@sonyericsson.com> Prevent system crash when OOM in Binder thread.

When handling large images during an update of a widget,
we can run out of memory in the Binder thread. This will
cause an OutOfMemoryError to be thrown. When an Error is
thrown in the Binder thread, the entire system will crash.
This was fixed by catching this OutOfMemoryError and instead
throw a RuntimeException to keep the system alive.

Change-Id: If27199676c6f8aef23fb249be1197ca5dfe0fe99
inder.java
a4f03f98f16dca51ac5630b4f41bec08a7da1091 04-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Integrate StrictMode with CloseGuard"
fd9ddd1a40efc801dc7512950cb9336967b6f775 04-Nov-2010 Brian Carlstrom <bdc@google.com> Integrate StrictMode with CloseGuard

In additional to adding the StringMode API for controling CloseGuard,
this checkin fixes several CloseGuard issues found booting a device.

Bug: 3041575
Change-Id: I4dffd184f49438d6d477ed81a1c2a2a5b56cc76b
arcelFileDescriptor.java
trictMode.java
ea9020e0854427d47e566a1394df6749f3265410 04-Nov-2010 Dianne Hackborn <hackbod@google.com> Add API to find out if there is a vibrator.

Change-Id: If29f6ee19448222433cad9fad325d0095a8e5737
VibratorService.aidl
ibrator.java
962a990a45a2a9f9c3002064e71f9c2fed86acf1 02-Nov-2010 Robert Greenwalt <rgreenwalt@google.com> Add some network/phone type constants.

Support for LTE (and SIP-based voice) and the stepping-stone eHPRD.

bug:3125398
Change-Id: Ied3d96fa09d9c758a82a2fd1817f55db711d1a4f
atteryStats.java
bfb191998eba2ebc710ff9eb59480b10909ba4c9 30-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: annotate violations with the Broadcast Intent's action, if any.

Change-Id: If36ab776bb95054a109b5475c6be041c75c7e0af
trictMode.java
b6e18412af35bf724298796eed65ef1fbbe1925e 28-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Make network usage on the main thread fatal (Honeycomb+)

For apps targetting Honeycomb SDK or above, make network usage on the
main thread (aka event thread, Looper thread, UI thread) be fatal.

If an app is targetting a previous SDK version, they're grandfathered
into the older (lack of) rules.

Bug: 786847
Change-Id: Ia4ae77b8369567ee526c96b930d523bc722b0bc9
etworkOnMainThreadException.java
trictMode.java
71678ddcc45d9cd4557f3bed8bba5382bf36b68b 28-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: optimize common case (just dropboxing)

The way StrictMode is used during development, just dropboxing
violations, could be a little more optimal, taking the
ActivityManagerService call off the main thread. But we can only do
this safely in the case where that's the only penalty.

Data suggests this call, despite being async, still takes around 30
milliseconds. This isn't a major win, and arguably it might be a
_better_ idea to slow down people's event loops more and further jank
up their animations on violations, but I thought any less overhead
from StrictMode, the better.

Change-Id: Iad9cce1cb4a084fa64abc4b5e1b4f3bff6a08c94
trictMode.java
5164246d7e47b9c995ca1e1587f3056eb777f60b 28-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix setting of class loader.

Also add Bundle API to retrieve its class loader because... well,
why not.

Change-Id: Ie939f6a2ae13974e5a05eb5bd3b28f350d8a8565
undle.java
4ca7f1e2811dc889e526de6c3d30bac8501c23d2 28-Oct-2010 Joe Onorato <joeo@google.com> Implement reminder power dialog and invalid charger dialog.

Bug: 2510318
Bug: 2974431
Change-Id: I92eb419eeffb657e5572a35a490735a96b303d6b
atteryManager.java
599ca29986235e07f532c7b112507f6c39b5dba9 22-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Expose (internally only) the number of animations currently running.

This will be used for StrictMode to annotate violations with
whether or not they janked up an animation.

Change-Id: I5bc691f49b74c45279cd2ae044d2a81dcf1204a9
trictMode.java
e6634981f12e1d218eaf61c6488af3d8c9f0d202 22-Oct-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 9c7489f8 to master

Change-Id: I1d8fd1146925f48ad690c89230d24dc8694703f4
9c7489f8bdcd08990c44250cbad64399badc72be 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am 38993d8d: Merge "Fix issue #3122240: Expose xlarge in GB." into gingerbread
5383f502e4479d117c89666fb2ee1ca53f3d27cf 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3122240: Expose xlarge in GB.

Plus some other small API cleanup.

Change-Id: I1a3c60f510f99224cccac9cc3f838f04141064f8
uild.java
de8635e4c4c9f674b52cb6041380c3ef2812630c 22-Oct-2010 Jeff Hamilton <jham@android.com> am 389a440a: Backport ParcelFileDescriptor.createPipe() from master.

Merge commit '389a440ad13f7b16e8f7c7f1670bdd55f1e2112a' into gingerbread-plus-aosp

* commit '389a440ad13f7b16e8f7c7f1670bdd55f1e2112a':
Backport ParcelFileDescriptor.createPipe() from master.
389a440ad13f7b16e8f7c7f1670bdd55f1e2112a 21-Oct-2010 Jeff Hamilton <jham@android.com> Backport ParcelFileDescriptor.createPipe() from master.

This allows content providers to expose arbitraty data
through the ContentResolver open* APIs.

Change-Id: I408a0b7cee9cdba5654a962098386c012d6b3549
arcelFileDescriptor.java
6be063d8a998f1c529f69e4c1649bcdaf514562c 19-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 5a67749a: am 987e8d7f: Merge "Fix Vibrator permission CTS test broken earlier." into gingerbread

Merge commit '5a67749a35bcbb70bfcc5f4c18da6a196bda33c1'

* commit '5a67749a35bcbb70bfcc5f4c18da6a196bda33c1':
Fix Vibrator permission CTS test broken earlier.
5a67749a35bcbb70bfcc5f4c18da6a196bda33c1 19-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 987e8d7f: Merge "Fix Vibrator permission CTS test broken earlier." into gingerbread

Merge commit '987e8d7f9748018d3fee5778645b267a9ee06ff6' into gingerbread-plus-aosp

* commit '987e8d7f9748018d3fee5778645b267a9ee06ff6':
Fix Vibrator permission CTS test broken earlier.
26e9cf38b229b738b4e56c3e08be82a9c0f11e64 19-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Fix Vibrator permission CTS test broken earlier.

Bug: 3106964
Change-Id: I76138780ac64f761fe09ef8ba74382c7ee05d794
ibrator.java
49889d4ffc7233979d53896421d50cf6cacc1f7c 19-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am c9cff071: am b4157a43: Merge "StrictMode: fix docs to actually compile and add a utility method." into gingerbread

Merge commit 'c9cff071af175e559339c54876136612ac5eda3b'

* commit 'c9cff071af175e559339c54876136612ac5eda3b':
StrictMode: fix docs to actually compile and add a utility method.
4fa1a221b466d6da6c68150b38cd17b085ab5e26 18-Oct-2010 Dianne Hackborn <hackbod@google.com> Remove public resource padding.

Change-Id: Id4f28ecfb7a87267c256571ed5f98652730b44fc
uild.java
69a19fdbff6aff8875d87e27c9b1047d0a3f44c1 19-Oct-2010 Dianne Hackborn <hackbod@google.com> am 3d2818d3: Remove public resource padding.

Merge commit '3d2818d34feab5a62dfb33452f99f2d3ca667cc8' into gingerbread-plus-aosp

* commit '3d2818d34feab5a62dfb33452f99f2d3ca667cc8':
Remove public resource padding.
3d2818d34feab5a62dfb33452f99f2d3ca667cc8 18-Oct-2010 Dianne Hackborn <hackbod@google.com> Remove public resource padding.

Change-Id: I8a530a23284a1f2515b1340a1c5e5ed3a0b90780
uild.java
c9cff071af175e559339c54876136612ac5eda3b 19-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am b4157a43: Merge "StrictMode: fix docs to actually compile and add a utility method." into gingerbread

Merge commit 'b4157a432cf791906d5b2f6d187f1767357a51bb' into gingerbread-plus-aosp

* commit 'b4157a432cf791906d5b2f6d187f1767357a51bb':
StrictMode: fix docs to actually compile and add a utility method.
62a1eb58bfafe8744d7a65f651e11b88fdb0938d 18-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: fix docs to actually compile and add a utility method.

Yes, this is a last minute public API change, but I'm already getting
a lot of inquiries about how to use StrictMode on a GB device but
targetting Eclair or Froyo. I'd like a simple answer involving
reflection, but the current API is too painful to use via reflection.

I imagine this will be a common request, and it's much easier for us
to write a little blog post about trying it out if there's an easy way
to use it with reflection.

Change-Id: I1f21aaac7e61e5e90d1e4facc0c787d8daf089b1
trictMode.java
875ecaa511ce36c8044ccdf48ee2a3e69dd633fe 18-Oct-2010 Dianne Hackborn <hackbod@google.com> am 13e46665: am 736f5ec4: Merge "Work on issue #3101415: Crespo apps seem to have their UID changed over time." into gingerbread

Merge commit '13e46665ff69c1a37880762d7d611aacdf02dac7'

* commit '13e46665ff69c1a37880762d7d611aacdf02dac7':
Work on issue #3101415: Crespo apps seem to have their UID changed over time.
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>
rocess.java
da3fe88b2dbc1f731760162d1d9420afca9c19e6 16-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 33476b2d: am feebaf35: Merge "Don\'t crash on null Vibrator during reboot." into gingerbread

Merge commit '33476b2db82b5a7f025eb9625fa56f94290e97f4'

* commit '33476b2db82b5a7f025eb9625fa56f94290e97f4':
Don't crash on null Vibrator during reboot.
13e46665ff69c1a37880762d7d611aacdf02dac7 16-Oct-2010 Dianne Hackborn <hackbod@google.com> am 736f5ec4: Merge "Work on issue #3101415: Crespo apps seem to have their UID changed over time." into gingerbread

Merge commit '736f5ec476526f3431d81dec5fb695bdee27e21a' into gingerbread-plus-aosp

* commit '736f5ec476526f3431d81dec5fb695bdee27e21a':
Work on issue #3101415: Crespo apps seem to have their UID changed over time.
36e7790b6b3c2c36c67fbe5dc2e2313cdd537349 16-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Merge a851d8d0 from gingerbread

Change-Id: Iea0e3fa1662d6326ab337821fe52a65a9dfd989a
8bdf5935c0db4a66ab33a10b43398d2523cfa15d 15-Oct-2010 Dianne Hackborn <hackbod@google.com> Work on issue #3101415: Crespo apps seem to have their UID changed over time.

fsync!

Change-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c
ileUtils.java
a851d8d0cfec45e33ee884114548a4f2890d1f06 15-Oct-2010 Nick Pelly <npelly@google.com> Merge "NFC: Move NFC service implementation out of system_server." into gingerbread
33476b2db82b5a7f025eb9625fa56f94290e97f4 15-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am feebaf35: Merge "Don\'t crash on null Vibrator during reboot." into gingerbread

Merge commit 'feebaf35c0edaed87edc6eb33a33ad9df1a209d6' into gingerbread-plus-aosp

* commit 'feebaf35c0edaed87edc6eb33a33ad9df1a209d6':
Don't crash on null Vibrator during reboot.
733e79c24042145d12a18cac59e8edb08965fab0 15-Oct-2010 Kenny Root <kroot@google.com> am 2f98a585: am 49ec3dff: Merge "OBB: Change documentation to reflect reality" into gingerbread

Merge commit '2f98a585cda066689b1b525322c51fcacbc3770b'

* commit '2f98a585cda066689b1b525322c51fcacbc3770b':
OBB: Change documentation to reflect reality
bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48 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: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
rocess.java
e331644cb570e74a8739cb21ffcc5875663ffa58 15-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Don't crash on null Vibrator during reboot.

Bug: 3099305
Change-Id: I9af126f7a719f36ae544f517a2fccd0d33339389
ibrator.java
bbf68c6ad2cc3dd338f93779d60c5821e730a263 14-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 4711d21a: am 9facd2d0: Merge "StrictMode: link to designing for responsiveness ANR docs" into gingerbread

Merge commit '4711d21a55d9ff6f234d3b06ff2d07dca19238fc'

* commit '4711d21a55d9ff6f234d3b06ff2d07dca19238fc':
StrictMode: link to designing for responsiveness ANR docs
0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639 14-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 8bb7a1df to master

Change-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9
2f98a585cda066689b1b525322c51fcacbc3770b 13-Oct-2010 Kenny Root <kroot@google.com> am 49ec3dff: Merge "OBB: Change documentation to reflect reality" into gingerbread

Merge commit '49ec3dff4350209e109fc11dafe4294acea36146' into gingerbread-plus-aosp

* commit '49ec3dff4350209e109fc11dafe4294acea36146':
OBB: Change documentation to reflect reality
19dcd2aeba184f81b140b4fbc692bdd80a51299e 13-Oct-2010 Kenny Root <kroot@google.com> OBB: Change documentation to reflect reality

We can't reliably detect when the key for an OBB is incorrect, so just
remove the mention in the documentation. It still returns an error, but
just not the most specific error.

Bug: 3091064
Change-Id: I70e506822f2178a0ac5e4617fe545b23ce0026f4
torage/OnObbStateChangeListener.java
e28c8f286d9bd4c7b558d6ffb8bd2fb1226ada2e 12-Oct-2010 Kenny Root <kroot@google.com> Merge "Add API to check for emulated external storage"
98f06865530c825aadd4ebf4c043403e3d9095f8 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 3a4b7dfd: am 5804b4fd: Merge "StrictMode: check max-offenses-per-loop earlier, before allocations" into gingerbread

Merge commit '3a4b7dfddab67c531dca23c6691063a829376d4f'

* commit '3a4b7dfddab67c531dca23c6691063a829376d4f':
StrictMode: check max-offenses-per-loop earlier, before allocations
e1ff214e32ed5c546a7603b07b054908c4d93312 12-Oct-2010 Kenny Root <kroot@google.com> Add API to check for emulated external storage

When the storage is emulated, we don't want to install ASEC containers
to it. This adds the API to check when the external storage is emulated
and uses it to check whether or not to install packages to the external
storage in an ASEC container.

Bug: 3024387
Change-Id: Ia0318aca9e4938a4897deaada5603a4c7c1d0f48
nvironment.java
torage/IMountService.java
4711d21a55d9ff6f234d3b06ff2d07dca19238fc 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 9facd2d0: Merge "StrictMode: link to designing for responsiveness ANR docs" into gingerbread

Merge commit '9facd2d0847691ae46108713d6a7dc9f51a62135' into gingerbread-plus-aosp

* commit '9facd2d0847691ae46108713d6a7dc9f51a62135':
StrictMode: link to designing for responsiveness ANR docs
9facd2d0847691ae46108713d6a7dc9f51a62135 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "StrictMode: link to designing for responsiveness ANR docs" into gingerbread
02241ab2929c34aa48acdf4befcc9cacd86c1a6f 12-Oct-2010 Jean-Baptiste Queru <jbq@google.com> am 89fbcd72: resolved conflicts for merge of c2894474 to gingerbread-plus-aosp

Merge commit '89fbcd72fbe6ef26ea2703f8e338fd198c958ecc'

* commit '89fbcd72fbe6ef26ea2703f8e338fd198c958ecc':
Support showing "Cold" battery health.
8bb7a1dfbb43dda49fb3c4f86181bcd7f969a832 12-Oct-2010 Kenny Root <kroot@google.com> am b4de3dca: Merge "OBB: rearrange to be entirely asynchronous" into gingerbread

Merge commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45' into gingerbread-plus-aosp

* commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45':
OBB: rearrange to be entirely asynchronous
af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c 08-Oct-2010 Kenny Root <kroot@google.com> OBB: rearrange to be entirely asynchronous

Rearrange structure of MountService handling of OBBs to be entirely
asynchronous so we don't rely on locking as much. We still need the
locking to support dumpsys which has been improved to output all the
data structures for OBBs.

Added more tests to cover more of the error return codes.

Oh and fix a logic inversion bug.

Change-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9
torage/IMountService.java
torage/IObbActionListener.java
torage/OnObbStateChangeListener.java
torage/StorageManager.java
9fc2fc5757a3d28d098bd2b0ad0f869a3cf3fa14 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: link to designing for responsiveness ANR docs

Change-Id: If65849aaa8317e7e40b2837b640a5cdb95fe7b0e
trictMode.java
3a4b7dfddab67c531dca23c6691063a829376d4f 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 5804b4fd: Merge "StrictMode: check max-offenses-per-loop earlier, before allocations" into gingerbread

Merge commit '5804b4fd47bbeda55d12bd7dd6ae3bde72fb40a0' into gingerbread-plus-aosp

* commit '5804b4fd47bbeda55d12bd7dd6ae3bde72fb40a0':
StrictMode: check max-offenses-per-loop earlier, before allocations
191cdf023c3c1ab441087a77f7881c7bb376613a 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: check max-offenses-per-loop earlier, before allocations

Previously a tight loop of StrictMode violations would still allocate
Exception objects and populate their stack frames, just to orphan them
later when checking the max-10-violations-per-loop constraint.

With this patch, we do that check _before_ allocating any memory.

Change-Id: Iae96aba33f8fcc6a8ec5838a231aecc08e95122d
trictMode.java
50d3fa72d88aa4dcba4286b77439c60ab5dc7fa9 11-Oct-2010 Dianne Hackborn <hackbod@google.com> am d5423321: am 9934fa77: Merge "Fix issue #3074745: Crash in system process" into gingerbread

Merge commit 'd5423321b920be10c00fbcbc5a702f15e00693a5'

* commit 'd5423321b920be10c00fbcbc5a702f15e00693a5':
Fix issue #3074745: Crash in system process
8775eae9416b730bfd9125dbf740154af04abc23 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am b323559b: am a2a1ca42: Merge "DropBoxManager.Entry implements Closeable" into gingerbread

Merge commit 'b323559b13d8c8ced586f919c5ce083c1f5b74bc'

* commit 'b323559b13d8c8ced586f919c5ce083c1f5b74bc':
DropBoxManager.Entry implements Closeable
89fbcd72fbe6ef26ea2703f8e338fd198c958ecc 11-Oct-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of c2894474 to gingerbread-plus-aosp

Change-Id: Ie00785e37809b677d6e8ab44c47e1f26037793d2
9239612870d08fbf79b3c53f11bd5d7cb4beb875 20-Sep-2010 Imre Sunyi <imre.sunyi@sonyericsson.com> Support showing "Cold" battery health.

The Linux kernel supports reporting "cold" battery health to sysfs.
Android framework has not implemented this and it defaults to "unknown"
This adds handling the cold battery health.

Change-Id: Idcc156aae6aabce73391081143f79d052edf332e
atteryManager.java
d5da367024c36b317b101fc066a7a4cf992c7d58 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am 22cb4ef8: am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread

Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5'

* commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5':
Switch Looper back to using poll() instead of epoll().
71ce18b0b71a40e867d0b18ce78ff81e132f8a78 10-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am b8d40d26: am 30f5c8fe: More DropBoxManager javadoc love.

Merge commit 'b8d40d263bc18d1defc1e6980e8f922df8f8f321'

* commit 'b8d40d263bc18d1defc1e6980e8f922df8f8f321':
More DropBoxManager javadoc love.
ceda3a972c8883a81e0c3bed9868a2e46b745aba 10-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 992a9e50: am fd124570: Merge "DropBox.Entry javadoc syntax fix" into gingerbread

Merge commit '992a9e507fb1f8da7358b4d805c034d934eb1810'

* commit '992a9e507fb1f8da7358b4d805c034d934eb1810':
DropBox.Entry javadoc syntax fix
d5423321b920be10c00fbcbc5a702f15e00693a5 08-Oct-2010 Dianne Hackborn <hackbod@google.com> am 9934fa77: Merge "Fix issue #3074745: Crash in system process" into gingerbread

Merge commit '9934fa77efab362729d0d3cb8aa0bdcd31d63ead' into gingerbread-plus-aosp

* commit '9934fa77efab362729d0d3cb8aa0bdcd31d63ead':
Fix issue #3074745: Crash in system process
9934fa77efab362729d0d3cb8aa0bdcd31d63ead 08-Oct-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3074745: Crash in system process" into gingerbread
b323559b13d8c8ced586f919c5ce083c1f5b74bc 08-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am a2a1ca42: Merge "DropBoxManager.Entry implements Closeable" into gingerbread

Merge commit 'a2a1ca42bc07af77a8a10b714517d006cb66c36a' into gingerbread-plus-aosp

* commit 'a2a1ca42bc07af77a8a10b714517d006cb66c36a':
DropBoxManager.Entry implements Closeable
f47d8f272c13f0fd264d5a71bcff1c18da10d854 08-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3074745: Crash in system process

Also some tweaks to battery history collection to hopefully
improve the data we have.

Change-Id: I178a54a8c2d15cf38dcceaeef939406f50059aa4
atteryStats.java
cc792c4149b7e768fd894c9b268d815a90a60bd0 08-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> DropBoxManager.Entry implements Closeable

Change-Id: I61716c06b92fa1b9b5b271b5805550bdb2d51b46
ropBoxManager.java
22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5 08-Oct-2010 Jeff Brown <jeffbrown@google.com> am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread

Merge commit 'd577cfd73a223279f9a5af698f55edd38a3fe4db' into gingerbread-plus-aosp

* commit 'd577cfd73a223279f9a5af698f55edd38a3fe4db':
Switch Looper back to using poll() instead of epoll().
b8d40d263bc18d1defc1e6980e8f922df8f8f321 07-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 30f5c8fe: More DropBoxManager javadoc love.

Merge commit '30f5c8fede241e7560f4a33e48af3a4627fd5efc' into gingerbread-plus-aosp

* commit '30f5c8fede241e7560f4a33e48af3a4627fd5efc':
More DropBoxManager javadoc love.
992a9e507fb1f8da7358b4d805c034d934eb1810 07-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am fd124570: Merge "DropBox.Entry javadoc syntax fix" into gingerbread

Merge commit 'fd124570ce647b3adc5dc30ce782d6e017dab4a2' into gingerbread-plus-aosp

* commit 'fd124570ce647b3adc5dc30ce782d6e017dab4a2':
DropBox.Entry javadoc syntax fix
d577cfd73a223279f9a5af698f55edd38a3fe4db 07-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread
415d8c38199e258dfce92cdb0c69e056b3b51ef8 06-Oct-2010 Jeff Brown <jeffbrown@google.com> Switch Looper back to using poll() instead of epoll().

Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.

Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked
somehow.

Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
essageQueue.java
7d56e3d3cb5070a20e3c64671132b96dbf9961c5 07-Oct-2010 Joe Onorato <joeo@google.com> Merge "Add extra to ACTION_BATTERY_CHANGED to indicate an invalid charger is attached."
30f5c8fede241e7560f4a33e48af3a4627fd5efc 07-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> More DropBoxManager javadoc love.

Change-Id: I9b14f6905533e0af66bd64fc76352ed8fc365058
ropBoxManager.java
95173b14d65cd04ec88d4384b41a80319e432d0b 07-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> DropBox.Entry javadoc syntax fix

Change-Id: I32d055b39ca89ec9f6a7bf189263844424533b60
ropBoxManager.java
c21550a8d1dfc9e5359fe994cb48049a0bd4c82c 06-Oct-2010 Brian Carlstrom <bdc@google.com> Adding android.os.Debug.countInstancesOfClass

- Debug.countInstancesOfClass is just a wrapper on
dalvik.system.VMDebug.countInstancesOfClass to avoid code from
depending on the dalvik classes directly

- Existing usages of VMDebug.countInstancesOfClass in ActivityThread
and ViewDebug are converted to the new Debug.countInstancesOfClass

- Existing use of OpenSSLSocketImpl.instanceCount, which is being
removed, is converted to Debug.countInstancesOfClass(OpenSSLSocketImpl.class)

Bug: 3015791
Change-Id: Iefa781292d5b82a63bad7254c913a09deb3b7888
ebug.java
58520b24d40bb2587f394a52535dab4f2736bab1 04-Oct-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 10d5b096 to master

Change-Id: Id5c6ba651f72b48f0d70ee2ca64a6c9adf5e74f7
10d5b0966d1b6ab0e3b63c71d5325403e75b647e 04-Oct-2010 Dianne Hackborn <hackbod@google.com> am 407f625a: Add new API to find out whether external storage is removable.

Merge commit '407f625a9b8e356e765a5ec587c443af1f3aadb5' into gingerbread-plus-aosp

* commit '407f625a9b8e356e765a5ec587c443af1f3aadb5':
Add new API to find out whether external storage is removable.
407f625a9b8e356e765a5ec587c443af1f3aadb5 04-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new API to find out whether external storage is removable.

This is implemented based on whether we are using the "nosdcard"
product. Needed to tweak aapt to allow use of the product attribute
with other resource definition tags besides strings.

Change-Id: I49922d23b52a34183a8e2f4d2515adaf1fc9149a
nvironment.java
30d4d57e8ed421a7d910c86c96c5648c899c2c9b 03-Oct-2010 Wink Saville <wink@google.com> Add SystemService.restart.

This allows easy access to the new SystemProperties ctl.restart
control command.

Change-Id: I3e82710873adff54ef8a0cb53ca13d4dcab2408d
ystemService.java
e0ad63bf1e038dd84ec2502243236f86104f990d 01-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 6718b365 to master

Change-Id: I32762a4a3b00856f6765d50667b667264a385fc6
6718b365bcce5bd9e67867bd165d771c2226582d 01-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 32e60c79: Update StrictMode\'s public API.

Merge commit '32e60c7942eeba920ec5c27b372ec0899fd75a20' into gingerbread-plus-aosp

* commit '32e60c7942eeba920ec5c27b372ec0899fd75a20':
Update StrictMode's public API.
32e60c7942eeba920ec5c27b372ec0899fd75a20 01-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Update StrictMode's public API.

This makes it more future-proof and maintainable, not exposing the
internal bitpacking state.

The implementation is unchanged (the policy is still just an int we pass
around).

Also starts to introduce VmPolicy, for things which are process-wide,
not per-thread. As an initial user, make SQLite's Cursor finalization
leak warnings use StrictMode.

Change-Id: Idedfba4e965716f5089a52036421460b1f383725
trictMode.java
9e95468bbb4b4cb48d817cee2960681aa876b12a 01-Oct-2010 Kenny Root <kroot@google.com> am 6ce5f60c: am 38cf8867: Remove OBBs from state list when volume unmounted

Merge commit '6ce5f60c791401ed0faf5d36baf4fc6612358676'

* commit '6ce5f60c791401ed0faf5d36baf4fc6612358676':
Remove OBBs from state list when volume unmounted
6ce5f60c791401ed0faf5d36baf4fc6612358676 01-Oct-2010 Kenny Root <kroot@google.com> am 38cf8867: Remove OBBs from state list when volume unmounted

Merge commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94' into gingerbread-plus-aosp

* commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94':
Remove OBBs from state list when volume unmounted
38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94 26-Sep-2010 Kenny Root <kroot@google.com> Remove OBBs from state list when volume unmounted

Don't keep tracking OBBs when the volume they're located on goes away.
Remove them from our state tracking maps and then send a notification to
any listener that is still around.

Add a dump handler to MountService so the state of the mount lists
can be inspected.

Change the API to just make a callback directly to the change listener
when mount is called when it's already mounted or unmount called when
it's already unmounted.

Change-Id: Idb4afbb943ca5ca775825f908bff334e3ce1cfcc
torage/StorageManager.java
ca2e0293f23e40389af9525d82d268aa4d0aff31 30-Sep-2010 Doug Zongker <dougz@android.com> am ab9f5082: am 981dec69: Merge "don\'t delete /cache/recovery/last_log on boot" into gingerbread

Merge commit 'ab9f508292f9a1eb54bf97bdd1566bdf8dd43fb3'

* commit 'ab9f508292f9a1eb54bf97bdd1566bdf8dd43fb3':
don't delete /cache/recovery/last_log on boot
ab9f508292f9a1eb54bf97bdd1566bdf8dd43fb3 29-Sep-2010 Doug Zongker <dougz@android.com> am 981dec69: Merge "don\'t delete /cache/recovery/last_log on boot" into gingerbread

Merge commit '981dec695f83eb51935fcf480ecbd76ae3f7d6c4' into gingerbread-plus-aosp

* commit '981dec695f83eb51935fcf480ecbd76ae3f7d6c4':
don't delete /cache/recovery/last_log on boot
981dec695f83eb51935fcf480ecbd76ae3f7d6c4 29-Sep-2010 Doug Zongker <dougz@android.com> Merge "don't delete /cache/recovery/last_log on boot" into gingerbread
d059055fb3c1c979933a608bb85779f23fc11f70 29-Sep-2010 Doug Zongker <dougz@android.com> don't delete /cache/recovery/last_log on boot

Change-Id: I7739d7a61f4f0d0c2bc6324580404f61d435d716
ecoverySystem.java
bff405f91001237ec94ec64f86fa2370c4509559 29-Sep-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of d8e8186c to master

Change-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5
d8e8186c887fe47977721315f439465771a96374 29-Sep-2010 Kenny Root <kroot@google.com> am 05105f7a: Update OBB API to include callbacks

Merge commit '05105f7abe02b2dff91d6260b3628c8b97816bab' into gingerbread-plus-aosp

* commit '05105f7abe02b2dff91d6260b3628c8b97816bab':
Update OBB API to include callbacks
05105f7abe02b2dff91d6260b3628c8b97816bab 23-Sep-2010 Kenny Root <kroot@google.com> Update OBB API to include callbacks

Add a callback for users of the StorageManager API to be able to receive
notifications when the requested operation completes for mountObb and
unmountObb.

Add NDK API to get to ObbInfo like the Java API has.

Also update the docs for the API and remove the "STOPSHIP" comments.

Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
torage/OnObbStateChangeListener.java
torage/StorageManager.java
58fd98accbff409601587b3357f2b3acf370f606 24-Sep-2010 Mike Lockwood <lockwood@android.com> Add constant for SDCARD_RW group ID.

Change-Id: I3b009cd06d3c1bc308ba82694db7383134709f75
Signed-off-by: Mike Lockwood <lockwood@android.com>
rocess.java
846df9f5171c4ef32f038cca651b6b9c0b6c3083 24-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 8952a448 to master

Change-Id: I9c752a5d10ae8d8e5ead1243b6abd4795204fc0b
8952a4488e81205e3013b6b456dec503e05eebd0 24-Sep-2010 Dianne Hackborn <hackbod@google.com> am 287952c3: Fix issue #3022508: Crash during media scan

Merge commit '287952c35e148811c106bc0f5036eabf20f71562' into gingerbread-plus-aosp

* commit '287952c35e148811c106bc0f5036eabf20f71562':
Fix issue #3022508: Crash during media scan
287952c35e148811c106bc0f5036eabf20f71562 23-Sep-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3022508: Crash during media scan

Don't kill processes for excessive wake lock use, even if they
are in the background, as long as they have running services.

Also fix some problems with this, such as not noting the kill
in battery stats.

And add killing of processes for cpu usage as well, along with
some optimizations to computing CPU usage.

And fix BatteryWaster to be better behaving for testing these
cases.

Add new "monitor" command to am to watch as the activity manager
does stuff (so we can catch things at the point of ANR).

Finally some miscellaneous debug output for the stuff here, as
well as in progress debugging of an ANR.

Change-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1
atteryStats.java
5eb22e2ce1cb46d18ce0c8e68e10a7f64bed01ea 23-Sep-2010 Joe Onorato <joeo@android.com> am 19c4b29d: am 8310b42f: Add javadoc saying that wake locks are ref counted by default.

Merge commit '19c4b29d46aece70dbe532ba9078c904fbc62502'

* commit '19c4b29d46aece70dbe532ba9078c904fbc62502':
Add javadoc saying that wake locks are ref counted by default.
19c4b29d46aece70dbe532ba9078c904fbc62502 23-Sep-2010 Joe Onorato <joeo@android.com> am 8310b42f: Add javadoc saying that wake locks are ref counted by default.

Merge commit '8310b42fbc086b0f05fc8ef45ac34c7e099c485e' into gingerbread-plus-aosp

* commit '8310b42fbc086b0f05fc8ef45ac34c7e099c485e':
Add javadoc saying that wake locks are ref counted by default.
8310b42fbc086b0f05fc8ef45ac34c7e099c485e 23-Sep-2010 Joe Onorato <joeo@android.com> Add javadoc saying that wake locks are ref counted by default.

Bug: 3012561
Change-Id: I441a42fdb12ba6d87d6f5a49463d6ddcc300acb7
owerManager.java
7c860bca0617904f31ad39cbe8eed2f3535051a7 23-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am 9317801a: am c87a8adc: Merge "Flesh out StrictMode docs." into gingerbread

Merge commit '9317801a3c9be6d1a1dbde558ca7d2106982e96f'

* commit '9317801a3c9be6d1a1dbde558ca7d2106982e96f':
Flesh out StrictMode docs.
9317801a3c9be6d1a1dbde558ca7d2106982e96f 23-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am c87a8adc: Merge "Flesh out StrictMode docs." into gingerbread

Merge commit 'c87a8adc0e143e0c7efc62a1094ee6ac666e46d9' into gingerbread-plus-aosp

* commit 'c87a8adc0e143e0c7efc62a1094ee6ac666e46d9':
Flesh out StrictMode docs.
15ba4061116e088d62a7e05a0037f294f31dff06 22-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Flesh out StrictMode docs.

Bug: 3001474
Change-Id: If64209a312d45f7d96d8317d1e63e6c773a01441
trictMode.java
85c3fe443f7bd06ae0aae6074f4cf2960892cdc0 22-Sep-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of aa522ac8 to master

Change-Id: Ib17ff201e770abc6b9edb58e01f3bb483dc8fa56
aa522ac8ba18475f9a05b04918cd9d1a5cd2f77e 22-Sep-2010 Jeff Brown <jeffbrown@google.com> am ed739327: Simplify and optimize MessageQueue loop.

Merge commit 'ed7393274af2f268fcdede5f1a3d72c9af842b8e' into gingerbread-plus-aosp

* commit 'ed7393274af2f268fcdede5f1a3d72c9af842b8e':
Simplify and optimize MessageQueue loop.
ed7393274af2f268fcdede5f1a3d72c9af842b8e 22-Sep-2010 Jeff Brown <jeffbrown@google.com> Simplify and optimize MessageQueue loop.

Avoids allocating new idle handler arrays on each iteration since
we only need one to copy into.
Coalesced the synchronized blocks.
Hoisted the call to Binder.flushPendingCommands() outside of the
synchronized block.

Change-Id: Iabb6b633627954564bdd5d09e696663223407f47
essageQueue.java
c2f8a45876efb5ffe601bba28d6694d349736dbb 20-Sep-2010 Doug Zongker <dougz@android.com> recovery just takes a filename as an argument now

(Cherrypicked from gingerbread.)

Change-Id: I0deb8494465e1036280ac92730e537fd3f38a9fb
ecoverySystem.java
bd1578fb682ea9dbbab10f88165a9edf72e8b063 21-Sep-2010 Doug Zongker <dougz@android.com> am eb4d5b25: Merge "recovery just takes a filename as an argument now (do not merge)" into gingerbread

Merge commit 'eb4d5b253733a699c16f0a50a8e8642ec49ed9ae' into gingerbread-plus-aosp

* commit 'eb4d5b253733a699c16f0a50a8e8642ec49ed9ae':
recovery just takes a filename as an argument now (do not merge)
4baf641e7d96375eba3f9a3aff5400b9e3d28cd6 20-Sep-2010 Doug Zongker <dougz@android.com> recovery just takes a filename as an argument now (do not merge)

Change-Id: I900cb3e7392c38b40f8c08ae5282cd5c05a4a009
ecoverySystem.java
48a781a0a5f83da7c81cf0e7230151a751740a09 21-Sep-2010 Dianne Hackborn <hackbod@google.com> am 4b187e80: am 8e1b84e7: Merge "Some battery improvements:" into gingerbread

Merge commit '4b187e804fdfdbc825e17646e82e0218e316a339'

* commit '4b187e804fdfdbc825e17646e82e0218e316a339':
Some battery improvements:
4b187e804fdfdbc825e17646e82e0218e316a339 21-Sep-2010 Dianne Hackborn <hackbod@google.com> am 8e1b84e7: Merge "Some battery improvements:" into gingerbread

Merge commit '8e1b84e7654ddeeb77a03f5eca10c6669b1cb42b' into gingerbread-plus-aosp

* commit '8e1b84e7654ddeeb77a03f5eca10c6669b1cb42b':
Some battery improvements:
ce2ef766cad1bb186ea522f76c4ac6a8bb3dfa87 20-Sep-2010 Dianne Hackborn <hackbod@google.com> Some battery improvements:

- New API for iterating over history that will allow a better implementation
in the future.
- Now do writes asynchronously.

Also improve the documentation for Activity.onRetainNonInstanceState().

Change-Id: Idf67f2796a8868eb62f288bcbb2bad29876c8554
atteryStats.java
03f3cb083d708d4d3226b80ed42c9d2876a56edc 18-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 1f377298 to master

Change-Id: I0d92abae3a86792b47777f795143acc0489adfe4
1f377298e2aaf6a1736295c0413d468eb1db5091 18-Sep-2010 Dianne Hackborn <hackbod@google.com> am 58e0eefe: Improve power tracking of WIFI use.

Merge commit '58e0eefeb5e2e270e2b04369bbf29fc22abda8d5' into gingerbread-plus-aosp

* commit '58e0eefeb5e2e270e2b04369bbf29fc22abda8d5':
Improve power tracking of WIFI use.
58e0eefeb5e2e270e2b04369bbf29fc22abda8d5 16-Sep-2010 Dianne Hackborn <hackbod@google.com> Improve power tracking of WIFI use.

We now distribute "wifi started" time across all apps that are
holding WIFI locks that cause it to be started. But only when
WIFI would not normally be running. Also have a mechanism to
distribute other WIFI work that has happened across those processes
based on their use.

Also fixed a bug where we were not retaining the CPU speed step
stats across boots...!

Change-Id: I00e3153b98429166273750512cc37e7975211ab9
atteryStats.java
a6555fd4b17dca151fc21923dfa84894828edaa7 15-Sep-2010 Dianne Hackborn <hackbod@google.com> am 264e7277: am 934516e1: Merge "Fix issue #2999795: Runtime restart on Crespo" into gingerbread

Merge commit '264e727775728d0478fcb95855e8ea3801f34c8f'

* commit '264e727775728d0478fcb95855e8ea3801f34c8f':
Fix issue #2999795: Runtime restart on Crespo
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.
9ec0c471c1159fdffc63a65c2fae644ee5c01959 15-Sep-2010 Romain Guy <romainguy@google.com> am 282315e1: am 52e19d59: Merge "Change the keep alive time for excess idle threads." into gingerbread

Merge commit '282315e154b63a2eec84609600c81ad9e1c72994'

* commit '282315e154b63a2eec84609600c81ad9e1c72994':
Change the keep alive time for excess idle threads.
264e727775728d0478fcb95855e8ea3801f34c8f 14-Sep-2010 Dianne Hackborn <hackbod@google.com> am 934516e1: Merge "Fix issue #2999795: Runtime restart on Crespo" into gingerbread

Merge commit '934516e10150874fd1db5ab9e0be3ae793441fd8' into gingerbread-plus-aosp

* commit '934516e10150874fd1db5ab9e0be3ae793441fd8':
Fix issue #2999795: Runtime restart on Crespo
934516e10150874fd1db5ab9e0be3ae793441fd8 14-Sep-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #2999795: Runtime restart on Crespo" into gingerbread
83770289f8eca5aa4c62647a6c4d9a5bd4c80a45 14-Sep-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2999795: Runtime restart on Crespo

Change-Id: I7138b031298a234f3f35aec4a003d25cf86a57ff
orkSource.java
f26ac1f8ed27d9e88bbde8978557c34788c7509c 14-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am 96d6c345: Merge "Unify some duplicate StrictMode-enabling code." into gingerbread

Merge commit '96d6c3454c3550486a2efa25ca0c83732b5e2eaf' into gingerbread-plus-aosp

* commit '96d6c3454c3550486a2efa25ca0c83732b5e2eaf':
Unify some duplicate StrictMode-enabling code.
96d6c3454c3550486a2efa25ca0c83732b5e2eaf 14-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Unify some duplicate StrictMode-enabling code." into gingerbread
282315e154b63a2eec84609600c81ad9e1c72994 14-Sep-2010 Romain Guy <romainguy@google.com> am 52e19d59: Merge "Change the keep alive time for excess idle threads." into gingerbread

Merge commit '52e19d5917b8f057131c1dc8b3eb772febd791d9' into gingerbread-plus-aosp

* commit '52e19d5917b8f057131c1dc8b3eb772febd791d9':
Change the keep alive time for excess idle threads.
52e19d5917b8f057131c1dc8b3eb772febd791d9 14-Sep-2010 Romain Guy <romainguy@google.com> Merge "Change the keep alive time for excess idle threads." into gingerbread
6b424f4770e1c4fe3e4c2a44d08447b0e9203dd4 14-Sep-2010 Romain Guy <romainguy@google.com> Change the keep alive time for excess idle threads.

Change-Id: Ie076544df5ee8df185f0824333fdc62203a565c2
syncTask.java
50d66f9fcdac84b2af65a82be56728f54b1a7ef0 14-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Unify some duplicate StrictMode-enabling code.

Change-Id: Ifb92f35d9e245dbdb5e201597d8be702bce9e8b8
trictMode.java
e746f03c6c8b8d0897d322ab524d545ace200fcd 14-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 53686433 to master

Change-Id: I27004dc464f5771d3205ae5757c6eccc5b16854d
53686433a9790bcfe7211a661b26783ee12bb436 13-Sep-2010 Dianne Hackborn <hackbod@google.com> am 7e9f4eb2: Track client requests through location manager.

Merge commit '7e9f4eb2608148436cef36c9969bf8a599b39e72' into gingerbread-plus-aosp

* commit '7e9f4eb2608148436cef36c9969bf8a599b39e72':
Track client requests through location manager.
7e9f4eb2608148436cef36c9969bf8a599b39e72 11-Sep-2010 Dianne Hackborn <hackbod@google.com> Track client requests through location manager.

This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like... say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).

To solve this, we introduce a new class WorkSource representing
the source of some work. Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.

For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.

This should also be used elsewhere, such as in the GPS provider,
but this is a good start.

Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
atteryStats.java
PowerManager.aidl
owerManager.java
orkSource.aidl
orkSource.java
ed35d0ee857353f42e58342023647d0b10ab9fd3 13-Sep-2010 Chris Palmer <palmer@google.com> Merge "Correct the PackageManager.checkSignatures documentation."
b3787d57fffbb898f4767f7a94031cafe974a0b0 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am 0f0541e4: am b88102f5: Input dispatcher ANR handling enhancements.

Merge commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6'

* commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6':
Input dispatcher ANR handling enhancements.
0f0541e40cfef51eb5c3769e53c1aa853b53aaf6 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am b88102f5: Input dispatcher ANR handling enhancements.

Merge commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1' into gingerbread-plus-aosp

* commit 'b88102f5b7e51552a3576cf197b4c8cf96f193d1':
Input dispatcher ANR handling enhancements.
b88102f5b7e51552a3576cf197b4c8cf96f193d1 08-Sep-2010 Jeff Brown <jeffbrown@google.com> Input dispatcher ANR handling enhancements.

This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in. Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.

Added a .5 second deadline for processing app switch keys. This behavior
predates Gingerbread but had not previously been ported.

Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.

Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR. This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.

Added more comments to describe the tricky parts of PollLoop.

Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
essageQueue.java
42855149750fb848b0d743cf0e5f204a05be2f07 10-Sep-2010 Chris Palmer <palmer@google.com> Correct the PackageManager.checkSignatures documentation.

Make the documentation match the current behavior since change ID
Ibdeff170bd386d723f774136b18e0ad59d9cdabb.

Change-Id: I9d24800ba98f14cb278f029cdf37a086394d1747
andler.java
c6ded1ba463f78bbb3bf21dc8362d599c7722e65 10-Sep-2010 Dianne Hackborn <hackbod@google.com> am 195dc210: am a4ce31f5: Merge "Small fixes to battery stats." into gingerbread

Merge commit '195dc210cb59ba3f660e31a95334fc3fa4d3ad2c'

* commit '195dc210cb59ba3f660e31a95334fc3fa4d3ad2c':
Small fixes to battery stats.
195dc210cb59ba3f660e31a95334fc3fa4d3ad2c 10-Sep-2010 Dianne Hackborn <hackbod@google.com> am a4ce31f5: Merge "Small fixes to battery stats." into gingerbread

Merge commit 'a4ce31f5e080eae6c97e6f37040db0c7f0fc78f2' into gingerbread-plus-aosp

* commit 'a4ce31f5e080eae6c97e6f37040db0c7f0fc78f2':
Small fixes to battery stats.
b8071d790a32dc715c0fd6d4e7e1bbea6c8f7a02 10-Sep-2010 Dianne Hackborn <hackbod@google.com> Small fixes to battery stats.

Change-Id: Ibbf7c548a8e787a046de3659094cea64908e3deb
atteryStats.java
467e8e13327bd9ad2dbabfa0a9b31f860202c7b1 08-Sep-2010 Dianne Hackborn <hackbod@google.com> am 5fdacb8a: am ee455f5a: Merge "People holding partial wake locks now get blamed for CPU usage." into gingerbread

Merge commit '5fdacb8a2818136218afdea4308ad1b10049a201'

* commit '5fdacb8a2818136218afdea4308ad1b10049a201':
People holding partial wake locks now get blamed for CPU usage.
5fdacb8a2818136218afdea4308ad1b10049a201 08-Sep-2010 Dianne Hackborn <hackbod@google.com> am ee455f5a: Merge "People holding partial wake locks now get blamed for CPU usage." into gingerbread

Merge commit 'ee455f5a9572bc0d23c3328f6c22da91dc109a50' into gingerbread-plus-aosp

* commit 'ee455f5a9572bc0d23c3328f6c22da91dc109a50':
People holding partial wake locks now get blamed for CPU usage.
0d903a84d04d241a648ec429e3a0e82c712677fd 08-Sep-2010 Dianne Hackborn <hackbod@google.com> People holding partial wake locks now get blamed for CPU usage.

For the duration of the wake lock, 50% of all CPU usage is now
accounted against the app(s) holding partial wake locks, evenly
distributed between them. This is only while the device is on
battery and screen off.

Change-Id: I3e5c978b792b6ef17bf8540705bfe8343dadd464
atteryStats.java
aa60a02f7934ac23cb88f16ed2d726157bc9f31c 31-Aug-2010 Makoto Onuki <omakoto@google.com> Added "Memory observability" to javadoc.

Change-Id: I4fba91922f033af408903cc4b455daa291e3f6ac
syncTask.java
d0438da05cbbd0b267421ad9a5c84345c39803b3 08-Sep-2010 Dianne Hackborn <hackbod@google.com> am 75f0024c: am 6e86915e: Merge "Fixes to battery stats debug output." into gingerbread

Merge commit '75f0024cf40eadb2cdaa6ae53409c515b68f21c1'

* commit '75f0024cf40eadb2cdaa6ae53409c515b68f21c1':
Fixes to battery stats debug output.
75f0024cf40eadb2cdaa6ae53409c515b68f21c1 07-Sep-2010 Dianne Hackborn <hackbod@google.com> am 6e86915e: Merge "Fixes to battery stats debug output." into gingerbread

Merge commit '6e86915e8f5dfffa60ae5d1a4ca9aa74912fd026' into gingerbread-plus-aosp

* commit '6e86915e8f5dfffa60ae5d1a4ca9aa74912fd026':
Fixes to battery stats debug output.
b5e3165129a5871cf679a67d9e9323ffad3d4902 07-Sep-2010 Dianne Hackborn <hackbod@google.com> Fixes to battery stats debug output.

Change-Id: I32e7cad9633b8c517a74573069e426d9f835a83d
atteryStats.java
deff9c85ec5c9884d731817e43058589d6fd4631 04-Sep-2010 Mike Lockwood <lockwood@android.com> Add extra to ACTION_BATTERY_CHANGED to indicate an invalid charger is attached.

Change-Id: I24a24a49d2e3ddee8fbce590ef75ea323b3be97b
Signed-off-by: Mike Lockwood <lockwood@android.com>
atteryManager.java
7f7ce40f90cf00dc046fb9520d77d29e96b474d6 28-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 28130bae to master

Change-Id: I13df8dc12092c3d2536e12216df9130d5914380a
28130baefb4fa6d1e0ff9c92337295ba74461cf7 27-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 6b50986a to gingerbread-plus-aosp

Change-Id: I7c5ec7ae717e75ad242e2c1ad4537052e4eea718
333b8cba996c8ebb8ca55ebfc5cc536bdd64af94 26-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> SharedPreferences$Editor.startCommit()

Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.

This commit adds the implementation. The previous commit added the
interface and docs:

previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
git commit: edf32d01316bd3432c023f17747461b08ae36375

In addition, this change:

-- adds a generic "runPendingWorkFinishers" mechanism to
ActivityThread to wait on async operations that are still
in flight and use it for this.

-- ties runPendingWorkFinishers into Activity.onPause,
BroadcastReceiver, and Service.

-- makes sSharedPreferences keyed on name, not File, to avoid
unnnecessary allocations

-- documents and guarantees what thread
OnSharedPreferenceChangeListener callbacks run on

-- makes a few things in frameworks/base use startCommit(), notably
Preference.java (which was ignoring the return value anyway)

Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
andler.java
7f9106fb1f167607ce64a6013c24251971ab8bf8 25-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am 6cf1a8bf: am b1bbe99a: Merge "Some StrictMode API changes." into gingerbread

Merge commit '6cf1a8bfb04aead9cee5f59df4529a79c0a92dca'

* commit '6cf1a8bfb04aead9cee5f59df4529a79c0a92dca':
Some StrictMode API changes.
c28227d443dc63823c19864376150f934a3f9690 24-Aug-2010 Wink Saville <wink@google.com> Merge "Allow reliable detection of a message that is in use."
6cf1a8bfb04aead9cee5f59df4529a79c0a92dca 24-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am b1bbe99a: Merge "Some StrictMode API changes." into gingerbread

Merge commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7' into gingerbread-plus-aosp

* commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7':
Some StrictMode API changes.
97461bd25c3821f3fb6af9705f0612259c6b4492 24-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> Some StrictMode API changes.

* rename setThreadBlockingPolicy to setThreadPolicy (opens the way to
using StrictMode for non-blocking-related things in the future?)

* add allowThreadDiskWrites() and allowThreadDiskReads() to modify the
current policy mask and return the old one. this will allow turning
off part of StrictMode during certain regions of code. (for
instance, writing to disk in Activity onPause...)

Change-Id: Ia1878153713f79299971fdab567fa15b3cb9d56c
trictMode.java
a334e7c72408c4e2805f2427a35d841a60adefc4 24-Aug-2010 Wink Saville <wink@google.com> Allow reliable detection of a message that is in use.

Because the standard Looper.loop code calls Message#recycle it is
imperative that Handler#handleMessage code not attempt to resue
a message it receives. If allowed to do so it will cause bugs that
could be difficult to diagnois.

This change adds Message#flags and uses one bit to reliably detect
a message is in use and throws an error in MessageQueue#enqueueMessage.
This allows early detection of this bug.

Note: This is not new functionality, but the current implementation does
not detect messages that are in use because it uses Message#when != 0
as the detection mechanism. The problem is that a Message#when value of 0
is valid value used to place a message at the front of the queue and is
thus unreliable.

Another option is to change the setting of Message#when in Message#enqueueMessage
so that it is never 0, although that does change subtly a publicly accessible
field.

Yet another option would be to use other fields but all candidates have
similar problems as when in that they are publicly accessible or even
settable such as Message#target.

Change-Id: I040d6e546376f7b1ed1e4daa0d5644cce8bf333a
essage.java
essageQueue.java
53e75ea847df20b29124966a4232dc0109c37e27 24-Aug-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 485de781 to master

Change-Id: I483cb81596f09b024b1aea7fc55960183f38b24f
37a1e2370f763cb2e4411f81e44857fa55051df6 24-Aug-2010 Dianne Hackborn <hackbod@google.com> am a3ece8bd: am 32519259: Merge "Fix a few small battery stats problems:" into gingerbread

Merge commit 'a3ece8bde37acd81b08c4e3c1cb0e6d006ade3e0'

* commit 'a3ece8bde37acd81b08c4e3c1cb0e6d006ade3e0':
Fix a few small battery stats problems:
3e6d50cc484f2eee0cff63789cc7796718eb6b68 24-Aug-2010 Dianne Hackborn <hackbod@google.com> Make Theme.Holo the default theme for new apps.

Also change Holo to have an action bar, instead of a title bar.

Change-Id: I45c2f06938509ae02cde99d1c06c228f86e8e3e8
uild.java
ddb2bfeb6e5a383306159672fe81333bf8520776 24-Aug-2010 Jaikumar Ganesh <jaikumar@google.com> Revert "Allow reliable detection of a message that is in use."

This reverts commit 6083d81ce4d67ec632962270fda64ebb9db0d5b1.
Reverting this because it causes runtime to reboot in a loop
if connected to a Bluetooth Headset.

copyFrom() needs to check for the introduced bit too.
essage.java
essageQueue.java
8da31dc8bf90bb2fa8f4c51895b1cedebdf9a7e5 24-Aug-2010 Wink Saville <wink@google.com> Merge "Allow reliable detection of a message that is in use."
6083d81ce4d67ec632962270fda64ebb9db0d5b1 22-Aug-2010 Wink Saville <wink@google.com> Allow reliable detection of a message that is in use.

Because the standard Looper.loop code calls Message#recycle it is
imperative that Handler#handleMessage code not attempt to resue
a message it receives. If allowed to do so it will cause bugs that
could be difficult to diagnois.

This change adds Message#flags and uses one bit to reliably detect
a message is in use and throws an error in MessageQueue#enqueueMessage.
This allows early detection of this bug.

Note: This is not new functionality, but the current implementation does
not detect messages that are in use because it uses Message#when != 0
as the detection mechanism. The problem is that a Message#when value of 0
is valid value used to place a message at the front of the queue and is
thus unreliable.

Another option is to change the setting of Message#when in Message#enqueueMessage
so that it is never 0, although that does change subtly a publicly accessible
field.

Yet another option would be to use other fields but all candidates have
similar problems as when in that they are publicly accessible or even
settable such as Message#target.

Change-Id: I2df600537700a3fe206678f38bcae7329751c4e5
essage.java
essageQueue.java
e49564e0f710ba4a1405cfdfde068cb776ee474e 21-Aug-2010 Kenny Root <kroot@google.com> am 821afa9a: am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread

Merge commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973'

* commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973':
Add OBB flags to support overlays
485de781f6bd30dfb7aa1e55c4f1efb3d3b11eba 21-Aug-2010 Kenny Root <kroot@google.com> am 06c81f29: Merge changes I8a257579,I82d16312 into gingerbread

Merge commit '06c81f29a61ad3568a77f111b6be93e1f437f5bd' into gingerbread-plus-aosp

* commit '06c81f29a61ad3568a77f111b6be93e1f437f5bd':
Add AStorageManager API to NDK
Reorganize MountService IPC
06c81f29a61ad3568a77f111b6be93e1f437f5bd 21-Aug-2010 Kenny Root <kroot@google.com> Merge changes I8a257579,I82d16312 into gingerbread

* changes:
Add AStorageManager API to NDK
Reorganize MountService IPC
a3ece8bde37acd81b08c4e3c1cb0e6d006ade3e0 20-Aug-2010 Dianne Hackborn <hackbod@google.com> am 32519259: Merge "Fix a few small battery stats problems:" into gingerbread

Merge commit '325192593b057f4360e1abddf490b4fae7d60b12' into gingerbread-plus-aosp

* commit '325192593b057f4360e1abddf490b4fae7d60b12':
Fix a few small battery stats problems:
99d0452ddc0a0435030a462bda9f4d57b58bad9a 20-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix a few small battery stats problems:

- Actually aggregate discharge amounts.
- Actually print the unplugged battery info when currently plugged in.

Change-Id: I22dd6feb73ac1364eb169d3239ce403b0755bb6c
atteryStats.java
be857d42849eaaa554d4772dbba7755f8a0f3547 19-Aug-2010 Kenny Root <kroot@google.com> Reorganize MountService IPC

Remove auto-generated AIDL files and replace them with manually edited
.java and .cpp/.h files so that binder calls can be made from either
Java or C++.

Update the makefiles to not attempt to generate the AIDL files and also
remove the old auto-generated .java files.

Put all the storage-related C++ things in libstorage so that we don't
pollute other libraries.

Change-Id: I82d1631295452709f12ff1270f36c3100e652806
torage/IMountService.aidl
torage/IMountService.java
torage/IMountServiceListener.aidl
torage/IMountServiceListener.java
torage/IMountShutdownObserver.aidl
torage/IMountShutdownObserver.java
torage/IObbActionListener.aidl
torage/IObbActionListener.java
821afa9aec8d3a4ffd2e72ce797d8097eaf13973 19-Aug-2010 Kenny Root <kroot@google.com> am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread

Merge commit '54d41379357d1d800d0a7bd7c5dc56111710482a' into gingerbread-plus-aosp

* commit '54d41379357d1d800d0a7bd7c5dc56111710482a':
Add OBB flags to support overlays
02ca31fbae9f35dd30f79de6927fae11b549391a 12-Aug-2010 Kenny Root <kroot@google.com> Add OBB flags to support overlays

* Add flags field in OBB footer to support overlays.

* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
later be supported in the "flags" field of the OBB footer).

* Add notes to document OBB classes before shipping.

Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
torage/StorageManager.java
a006b47298539d89dc7a06b54c070cb3e986352a 14-Apr-2010 Bjorn Bringert <bringert@android.com> New API and implementation of DB and memory-backed FDs

This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
emoryFile.java
arcelFileDescriptor.java
4961e4793f958ee75b2e0bb72c0dc4115e6f5a2f 17-Aug-2010 Doug Zongker <dougz@android.com> am bb33d6fd: am 997dc32b: Merge "add an api for getting a device serial number" into gingerbread

Merge commit 'bb33d6fd987727c24372d7b7109ec5d1db82efe2'

* commit 'bb33d6fd987727c24372d7b7109ec5d1db82efe2':
add an api for getting a device serial number
a10382b67dc14ffe43cd6da56a5cffebfa470870 17-Aug-2010 Dianne Hackborn <hackbod@google.com> am 2e47052f: am 567722ee: Merge "Fix problems with determining when to kill apps for wake usage." into gingerbread

Merge commit '2e47052fc4ad3439adc2322fd953fd58a85d457c'

* commit '2e47052fc4ad3439adc2322fd953fd58a85d457c':
Fix problems with determining when to kill apps for wake usage.
0a56fdc1400db3d31bff3a18bde7e509111d9b90 17-Aug-2010 Dianne Hackborn <hackbod@google.com> am 66b0343e: am a8d9291d: Merge "Various battery info things:" into gingerbread

Merge commit '66b0343e9e32203cdd39b854852cf575ca2fcd6b'

* commit '66b0343e9e32203cdd39b854852cf575ca2fcd6b':
Various battery info things:
bb33d6fd987727c24372d7b7109ec5d1db82efe2 16-Aug-2010 Doug Zongker <dougz@android.com> am 997dc32b: Merge "add an api for getting a device serial number" into gingerbread

Merge commit '997dc32b6bef1c9cc8ac6d4d598698507b2c4934' into gingerbread-plus-aosp

* commit '997dc32b6bef1c9cc8ac6d4d598698507b2c4934':
add an api for getting a device serial number
997dc32b6bef1c9cc8ac6d4d598698507b2c4934 16-Aug-2010 Doug Zongker <dougz@android.com> Merge "add an api for getting a device serial number" into gingerbread
7d2e3df60d33a73f5ef62ea462a9c6da5e3efc9a 12-Aug-2010 Doug Zongker <dougz@android.com> add an api for getting a device serial number

Add a constant to android.os.Build that returns a device-specific
alphanumeric serial number. It's optional -- it may be blank --
though CTS will require it to be present for non-telephony devices.

Change-Id: I338ae5f43ba679a5e98f2f437dc4efdaef0c835d
uild.java
2e47052fc4ad3439adc2322fd953fd58a85d457c 16-Aug-2010 Dianne Hackborn <hackbod@google.com> am 567722ee: Merge "Fix problems with determining when to kill apps for wake usage." into gingerbread

Merge commit '567722eee190f7cf88dc7ea95167db76d5514842' into gingerbread-plus-aosp

* commit '567722eee190f7cf88dc7ea95167db76d5514842':
Fix problems with determining when to kill apps for wake usage.
1ebccf531d1049853b3b0630035434619682c016 15-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix problems with determining when to kill apps for wake usage.

Also improve debug printing of various times.

Change-Id: Ifcc288fd1bcbf44c069875ba97925b9e7ffe9a48
atteryStats.java
ooper.java
essage.java
66b0343e9e32203cdd39b854852cf575ca2fcd6b 14-Aug-2010 Dianne Hackborn <hackbod@google.com> am a8d9291d: Merge "Various battery info things:" into gingerbread

Merge commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177' into gingerbread-plus-aosp

* commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177':
Various battery info things:
9adb9c3b10991ef315c270993f4155709c8a232d 13-Aug-2010 Dianne Hackborn <hackbod@google.com> Various battery info things:

- Now track wake locks in battery history.
- Now track sensors in battery history.
- Some filtering of sensory data.
- Fixes to some data that wasn't cleared when resetting battery stats.
- Print amount discharged since last charge.

And the big part -- keep track of wake locks held per process,
and kill processes that hold wake locks too much while they are in
the background. This includes information in the battery stats
about the process being killed, which will be available to the
developer if the app is reported.

Change-Id: I97202e94d00aafe0526ba2db74a03212e7539c54
atteryStats.java
b219a83ff6278eeef981e6908abf871876a68699 12-Aug-2010 Jeff Brown <jeffbrown@google.com> am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread

Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
Add support for the PointerLocation overlay.
f66f8a58cc4412bd258e1d5b11cac17a617bdc58 12-Aug-2010 Jeff Brown <jeffbrown@google.com> am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread

Merge commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066' into gingerbread-plus-aosp

* commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066':
Add support for the PointerLocation overlay.
95af0c14a64ef264d2b362ded4ca2b5a169d1066 12-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Add support for the PointerLocation overlay." into gingerbread
a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Add support for the PointerLocation overlay.

This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications. The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
ooper.java
bf0cb26a1c6305f2a7795c2498591b6189cc5b79 11-Aug-2010 Kenny Root <kroot@google.com> am f5ee5358: am ac9717ab: Merge "Move OBB file reading to DefaultContainerService" into gingerbread

Merge commit 'f5ee5358c187107b2e5a1e1fbcb5a648d793c798'

* commit 'f5ee5358c187107b2e5a1e1fbcb5a648d793c798':
Move OBB file reading to DefaultContainerService
f5ee5358c187107b2e5a1e1fbcb5a648d793c798 11-Aug-2010 Kenny Root <kroot@google.com> am ac9717ab: Merge "Move OBB file reading to DefaultContainerService" into gingerbread

Merge commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e' into gingerbread-plus-aosp

* commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e':
Move OBB file reading to DefaultContainerService
a02b8b05dd1e8b8cf169e1f89542ef835b11fc13 06-Aug-2010 Kenny Root <kroot@google.com> Move OBB file reading to DefaultContainerService

The system_server shouldn't touch files on the SD card. This change
moves the things that touch the SD card out to the
DefaultContainerService so that it will get killed if the SD card goes
away instead of the system_server.

Change-Id: I0aefa085be4b194768527195532ee6dddc801cfc
torage/IMountService.aidl
torage/IObbActionListener.aidl
torage/StorageManager.java
23fdaf6fb62a9b5154b2508916a21c678462c5d0 06-Aug-2010 Dianne Hackborn <hackbod@google.com> Add new ContentProvider for doing conversions to data streams.

This introduces basic infrastructure that should allow content
providers holding complex data to perform on-demand conversion
of their data to streams of various types. It is achieved through
two new content provider APIs, one to interrogate the possible
stream MIME types the provider can return, and the other to
request a stream of data in a particular MIME type.

Because implementations of this will often need to do on-demand
data conversion, there is also a utility intoduced in ContentProvider
for subclasses to easily run a function to write data into a
pipe that is read by the client.

This feature is mostly intended for cut and paste and drag and
drop, as the complex data interchange allowing the source and
destination to negotiate data types and copy (possible large)
data between them. However because it is fundamental facility
of ContentProvider, it can be used in other places, such as for
more advanced GET_CONTENT data exchanges.

An example implementation of this would be in ContactsProvider,
which can now provider a data stream when a client opens certain
pieces of it data, to return data as flat text, a vcard, or other
format.

Change-Id: I58627ea4ed359aa7cf2c66274adb18306c209cb2
syncTask.java
arcelFileDescriptor.java
90960e87ecae696f73ae18e46c2f003fc3f592cc 06-Aug-2010 Mike Lockwood <lockwood@android.com> Set umask of system server to 0077

This matches the previous behavior of java.io.File file and directory creation.

BUG: 2898660

Change-Id: Ie8978a3fc44abfd22f8046e66742e715354220a8
Signed-off-by: Mike Lockwood <lockwood@android.com>
ileUtils.java
b1ad5977bc8178b6d350ebe9099daded4c1ef603 03-Aug-2010 Dianne Hackborn <hackbod@google.com> New two-pane mode for PreferenceActivity.

This introduces a whole new way to use PreferenceActivity, as
a container for PreferenceFragments that the user can switch
between from a list of headers.

Change-Id: I1c79b7c78b86790dc460a1414a999aba5de80628
uild.java
86dde2d64c7eadc06a17aeb486c669ce4b53d13c 31-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am e2d33bbc: am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread

Merge commit 'e2d33bbc496192d49c1e48baad446d8d0720d301'

* commit 'e2d33bbc496192d49c1e48baad446d8d0720d301':
StrictMode: time violations in Binder calls
e2d33bbc496192d49c1e48baad446d8d0720d301 31-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread

Merge commit 'd2165cfce7911dac66d1195ed9123e79b086d22b' into gingerbread-plus-aosp

* commit 'd2165cfce7911dac66d1195ed9123e79b086d22b':
StrictMode: time violations in Binder calls
cb9ceb1029036363a81952d8ed5dfcbc83e6ff72 29-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: time violations in Binder calls

Change-Id: I5796993dce98be722cf679b78acaf0c9de0ba461
trictMode.java
84fabc0ce3d7c3da73903380d0d6141d60fa4448 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 245cb784: am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread

Merge commit '245cb7846c82f7c0840e13f0b994d356846b1678'

* commit '245cb7846c82f7c0840e13f0b994d356846b1678':
Replace several IPCThreadState::get() lookups with one.
245cb7846c82f7c0840e13f0b994d356846b1678 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread

Merge commit '84c924a6c53cb63ca018013c9fda0077413d0005' into gingerbread-plus-aosp

* commit '84c924a6c53cb63ca018013c9fda0077413d0005':
Replace several IPCThreadState::get() lookups with one.
84c924a6c53cb63ca018013c9fda0077413d0005 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
7bcad8a315f12bd6251a998781efac7b11c2ca84 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Replace several IPCThreadState::get() lookups with one.

Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
trictMode.java
d596d5115c0f568472daec4f094807bcd39d1f0f 27-Jul-2010 Joe Onorato <joeo@android.com> am 070433ed: am 76d9bf52: am 8c65ee2d: Merge "Add a method to let a properly permissioned app directly manipulate the user activity timeout. We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner a

Merge commit '070433edee72de5fd9b93ddf055f74277f0deff4'

* commit '070433edee72de5fd9b93ddf055f74277f0deff4':
Add a method to let a properly permissioned app directly
070433edee72de5fd9b93ddf055f74277f0deff4 27-Jul-2010 Joe Onorato <joeo@android.com> am 76d9bf52: am 8c65ee2d: Merge "Add a method to let a properly permissioned app directly manipulate the user activity timeout. We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone

Merge commit '76d9bf52f31b8f31f64348b736422861c90ab463' into gingerbread-plus-aosp

* commit '76d9bf52f31b8f31f64348b736422861c90ab463':
Add a method to let a properly permissioned app directly
76d9bf52f31b8f31f64348b736422861c90ab463 27-Jul-2010 Joe Onorato <joeo@android.com> am 8c65ee2d: Merge "Add a method to let a properly permissioned app directly manipulate the user activity timeout. We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone call ends." i

Merge commit '8c65ee2d509db7dcb50ce4530d52eb5bdca3f917' into gingerbread

* commit '8c65ee2d509db7dcb50ce4530d52eb5bdca3f917':
Add a method to let a properly permissioned app directly
19bc67e8064f08235843f654d732ad45d2088a08 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am b5daea8a: am eacf0ecd: Merge "Fix StrictMode for Binder.dump()" into gingerbread

Merge commit 'b5daea8a9f98a7c04377e3f5ad6742add1b925d5'

* commit 'b5daea8a9f98a7c04377e3f5ad6742add1b925d5':
Fix StrictMode for Binder.dump()
b5daea8a9f98a7c04377e3f5ad6742add1b925d5 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am eacf0ecd: Merge "Fix StrictMode for Binder.dump()" into gingerbread

Merge commit 'eacf0ecd00f77718ac4570077d729e33b6c320f4' into gingerbread-plus-aosp

* commit 'eacf0ecd00f77718ac4570077d729e33b6c320f4':
Fix StrictMode for Binder.dump()
eb75888e6479317151c2ed44d47bd28ef567a4c7 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Fix StrictMode for Binder.dump()

Change-Id: I378f5e3d6512d06b46248b9bb6d9c727e3f6bf1d
inder.java
48b9cbb046d7fc546e5e4c08f772ddb8ef528ed3 26-Jul-2010 Dianne Hackborn <hackbod@google.com> am 443d884e: am 3bee5af8: Battery stats: start removing last stats, keep total discharge.

Merge commit '443d884e16fad2e01a97aa788d4b30de53c94048'

* commit '443d884e16fad2e01a97aa788d4b30de53c94048':
Battery stats: start removing last stats, keep total discharge.
443d884e16fad2e01a97aa788d4b30de53c94048 26-Jul-2010 Dianne Hackborn <hackbod@google.com> am 3bee5af8: Battery stats: start removing last stats, keep total discharge.

Merge commit '3bee5af8162c177f8c8f4199489a401058ab26a9' into gingerbread-plus-aosp

* commit '3bee5af8162c177f8c8f4199489a401058ab26a9':
Battery stats: start removing last stats, keep total discharge.
3bee5af8162c177f8c8f4199489a401058ab26a9 23-Jul-2010 Dianne Hackborn <hackbod@google.com> Battery stats: start removing last stats, keep total discharge.

Change-Id: I59c4bcbb9893adb237017add76b83c22153f94ef
atteryStats.java
7999bff154e96efb0bc9d2b89ec277f0f9ca0d2f 24-Jul-2010 Joe Onorato <joeo@android.com> Add a method to let a properly permissioned app directly
manipulate the user activity timeout. We should come up
with a better API for this, but this is for a last minute
power manager hack to turn off the screen sooner after a
phone call ends.

Change-Id: I76422f952e3e894c90b3311e7d889899c79cbbaa
PowerManager.aidl
3300b6f41e18b26a462824effa6be65a4b158346 22-Jul-2010 Dan Egnor <egnor@google.com> am 7da38863: am 3685db7f: am e8605af5: Merge "Avoid leaking file descriptors when returning drop box events." into froyo

Merge commit '7da38863d4382746090bf50413b1774ab04f6bc1'

* commit '7da38863d4382746090bf50413b1774ab04f6bc1':
Avoid leaking file descriptors when returning drop box events.
7da38863d4382746090bf50413b1774ab04f6bc1 21-Jul-2010 Dan Egnor <egnor@google.com> am 3685db7f: am e8605af5: Merge "Avoid leaking file descriptors when returning drop box events." into froyo

Merge commit '3685db7f5dd8a830a4e096404d4924e12697fb78' into gingerbread-plus-aosp

* commit '3685db7f5dd8a830a4e096404d4924e12697fb78':
Avoid leaking file descriptors when returning drop box events.
3685db7f5dd8a830a4e096404d4924e12697fb78 21-Jul-2010 Dan Egnor <egnor@google.com> am e8605af5: Merge "Avoid leaking file descriptors when returning drop box events." into froyo

Merge commit 'e8605af513e846f6cd223c9e92461189727d8c9b' into gingerbread

* commit 'e8605af513e846f6cd223c9e92461189727d8c9b':
Avoid leaking file descriptors when returning drop box events.
6e6d60d4c85ce440d9ef5e5f36e708ed0ced65c6 21-Jul-2010 Dan Egnor <egnor@google.com> Avoid leaking file descriptors when returning drop box events.

We can't use Parcel.writeValue() to write the ParcelFileDescriptor, otherwise
it leaks when returning the value to the caller (the flag gets lost). Change
the way DropBoxManager.Entry gets serialized so that it uses a bit of its own
flags value to track whether the data is a byte[] or a ParcelFileDescriptor.

Modify the dropbox unit test to add extensive checking of Entry serialization
and deserialization under various circumstances, and to include a regression
test to ensure that FD leaking doesn't happen.

Bug: 2847738
Change-Id: I4ccd17dd03ffab234340cd359e6f3510fdf81193
ropBoxManager.java
ed38cf9089f24d28aa6e80f28c38617a6d8e9940 21-Jul-2010 Jason Parks <jparks@google.com> am bc4fcec7: am 29e25bd3: Merge "Only print out wake locks in the if the wakelock was held." into gingerbread

Merge commit 'bc4fcec70f841156f5e7fd16224e88cb3d551ca7'

* commit 'bc4fcec70f841156f5e7fd16224e88cb3d551ca7':
Only print out wake locks in the if the wakelock was held.
43b237bd95f62204c4867a31857d723fa01910ba 21-Jul-2010 Dan Egnor <egnor@google.com> am c78f9a0e: am 3c1363be: am 2f0dc6d9: Merge "COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue()." into froyo

Merge commit 'c78f9a0e1ba931988144a52c54bc05a7e1521f67'

* commit 'c78f9a0e1ba931988144a52c54bc05a7e1521f67':
COMMENT ONLY change to add some warnings about ParcelFileDescriptor
bc4fcec70f841156f5e7fd16224e88cb3d551ca7 20-Jul-2010 Jason Parks <jparks@google.com> am 29e25bd3: Merge "Only print out wake locks in the if the wakelock was held." into gingerbread

Merge commit '29e25bd3418b04e395119bf99abe92898830a796' into gingerbread-plus-aosp

* commit '29e25bd3418b04e395119bf99abe92898830a796':
Only print out wake locks in the if the wakelock was held.
c78f9a0e1ba931988144a52c54bc05a7e1521f67 20-Jul-2010 Dan Egnor <egnor@google.com> am 3c1363be: am 2f0dc6d9: Merge "COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue()." into froyo

Merge commit '3c1363beec9c142c062d8704b8bef4230b42eae5' into gingerbread-plus-aosp

* commit '3c1363beec9c142c062d8704b8bef4230b42eae5':
COMMENT ONLY change to add some warnings about ParcelFileDescriptor
29e25bd3418b04e395119bf99abe92898830a796 20-Jul-2010 Jason Parks <jparks@google.com> Merge "Only print out wake locks in the if the wakelock was held." into gingerbread
3c1363beec9c142c062d8704b8bef4230b42eae5 20-Jul-2010 Dan Egnor <egnor@google.com> am 2f0dc6d9: Merge "COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue()." into froyo

Merge commit '2f0dc6d9f50ceece294e9db393583e655d3bf781' into gingerbread

* commit '2f0dc6d9f50ceece294e9db393583e655d3bf781':
COMMENT ONLY change to add some warnings about ParcelFileDescriptor
99a518ffabacb10171621d0293bf982b85505e66 20-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of ca48433a to master

Change-Id: I0dd2dee65ff72b7eae20019c6232b66388fe7990
94b916da2ce7b5fb8d87e884fad7132ef3091720 20-Jul-2010 Jason Parks <jparks@google.com> Only print out wake locks in the if the wakelock was held.

Change-Id: I742121b70bd0e56ca2efe05fffa9fe3e4ad7b619
atteryStats.java
ca48433afc9fab2a8c0b9913bcf3f525d75ed97f 20-Jul-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I1901177e8a4bd32a707020c581f25f21349ba571
b3e4ef37021a9e5518fdbc7d0cbb0a1709d5301b 20-Jul-2010 Dan Egnor <egnor@google.com> COMMENT ONLY change to add some warnings about ParcelFileDescriptor
behavior with Parcel.writeValue().

Change-Id: If55fcce29559379855735ff5297cf4f46d5d6be6
Bug: 2847738
arcel.java
arcelFileDescriptor.java
798e2d3d0c80e269ead1489dbc3f2f762f1e52b5 17-Jun-2010 Christian Mehlmauer <FireFart@gmail.com> Replaced /sdcard with Environment.getExternalStorageDirectory()

Change-Id: Id789f44a8569e307b1b7ab15eb266c9ce7ef2029
ebug.java
fb4e1e24a93c7e6bc0fcdb3f5cfadfbc19503cd8 16-Jul-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 181bb0ab to master

Change-Id: I2284e7c671d127da0d124fbabae8d887727fd5bf
a1079337af10903da460b97f3a2b6c6a013be1e0 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 527e9c8f: am 703e5d3c: StrictMode: avoid an allocation in common case

Merge commit '527e9c8f0471666b5b1c461f1a8a710192208e70'

* commit '527e9c8f0471666b5b1c461f1a8a710192208e70':
StrictMode: avoid an allocation in common case
d2f6c7fe735ffcdb67852c6a1287565a2afa412d 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 3e5e21d4: am 1772c34e: Merge "StrictMode: gather and return violating stacks in Binder replies" into gingerbread

Merge commit '3e5e21d4dc74751e64d17379c5563ece39a7e35d'

* commit '3e5e21d4dc74751e64d17379c5563ece39a7e35d':
StrictMode: gather and return violating stacks in Binder replies
9555a1323e846aba16e6a7f2e5d9a9227523e595 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am cc52121c: am c4b204bd: Merge "More StrictMode work, keeping Binder & BlockGuard\'s thread-locals in-sync." into gingerbread

Merge commit 'cc52121c4f88e9feb8404937bcbfff6e73084666'

* commit 'cc52121c4f88e9feb8404937bcbfff6e73084666':
More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
02c8730c1bf19daf48bec8c6995df676a00a73b1 01-Jul-2010 Kenny Root <kroot@google.com> Add API to call to vold for mounting OBBs

* Unhide StorageService class; hide all the USB-related items

* Add application-visible API to StorageManager for OBB files

* Add class for parceling OBB info across binders (ObbInfo)

* Add a JNI glue class to libutils/ObbFile (ObbScanner)

* Add API to MountService to deal with calling into vold and checking
permissions

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
torage/IMountService.aidl
torage/StorageManager.java
703e5d3c7fbeb8ca0978045db01d40318f838612 15-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: avoid an allocation in common case

Make the initialValue() of the ThreadLocal be null, so checking it doesn't
cause one to be created in the case of an RPC call not using StrictMode.

Change-Id: I3ea19ce444a1b3c39a6e53c5cb5d4faf4b07a6c8
arcel.java
trictMode.java
5b747191ff8ad43a54d41faf50436271d1d7fcc8 12-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: gather and return violating stacks in Binder replies

Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.

Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
inder.java
arcel.java
trictMode.java
727de40c6bc7c6521a0542ea9def5d5c7b1c5e06 08-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.

Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
inder.java
trictMode.java
06a6b558bd03d8f0fed8f94f1dcfc03c5a51bd1c 14-Jul-2010 Andy McFadden <fadden@android.com> Implement native dump for "am dumpheap -n".

This adds the ability to generate a trivial heap dump on demand. If
the appropriate system properties aren't set, the output file will
instead contain instructions for enabling them.

The data returned by get_malloc_leak_info() is processed and written
to the specified file. The output looks something like:

Android Native Heap Dump v1.0

Total memory: 2981301
Allocation records: 2152

z 1 sz 65557 num 1 bt 8010dd78 afd12618 ...
z 1 sz 52008 num 3 bt 8010dd78 afd12618 ...
z 1 sz 24428 num 1 bt 8010dd78 8010de84 ...
...2149 more...
END

(the "..." is actually the remaining entries in the stack backtrace;
I truncated it here)

"z" indicates whether the allocation was made pre- or post-zygote,
"sz" is the size allocated, and "num" is the number of allocations
made of that size with the specified backtrace.

Change-Id: I2d60f07444fce5f7178b3f51c928c8faa0b051bd
ebug.java
824c510752fd6a30cdba5ed7324cb80a5043ce26 10-Jul-2010 Andy McFadden <fadden@android.com> Allow "am" to initiate heap dumps.

This was mostly cloned from the "am profile" implementation. It's
intended to replace the old "kill -10" approach used by "runhat".

We could really use a native heap dump, so I pass a "managed"
flag through that indicates whether we want to dump the native or
managed heap. We don't currently have a native heap dump-to-file
function, so it currently just logs a warning.

(android.ddm.DdmHandleNativeHeap.getLeakInfo is a good start -- it
copies /proc/maps and then calls get_malloc_leak_info to get some
goodies. Needs some formatting to make it human-readable. I didn't
want to cram all that into this change.)

It would be useful if "am" didn't exit until the heap dump operation
completed, but I'm not sure how to do that.

Bug 2759474.

Change-Id: I46bc98067738d8c72ac0fc10002ca67bb4929271
ebug.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
rocess.java
e981c883d5ca99ccb97c317d824b9c288b613f67 23-Jun-2010 Jeff Brown <jeffbrown@google.com> am b1efc3f6: am 7fbdc84e: More native input event dispatching.

Merge commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe'

* commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe':
More native input event dispatching.
7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a 18-Jun-2010 Jeff Brown <jeffbrown@google.com> More native input event dispatching.

Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
essageQueue.java
e2e97ce1161e5bf89ef8b5ce6a12be0f16dea23e 17-Jun-2010 Dianne Hackborn <hackbod@google.com> am 9a1034aa: am 6b7b4845: Various improvements to battery stats collection

Merge commit '9a1034aa9746b94ecb659ea849765a160bdf747e'

* commit '9a1034aa9746b94ecb659ea849765a160bdf747e':
Various improvements to battery stats collection
6b7b4845212b3a439c527f2e1eca205b6b45fceb 15-Jun-2010 Dianne Hackborn <hackbod@google.com> Various improvements to battery stats collection

We now clear the battery stats when unplugging after the
battery is full. This allows us to use the "total" stats as
a new "since last charged" stat. Total is gone. I never used
it, it was worthless. Since last charged is a lot more
interesting.

The battery history now collects a lot more stats, and keeps
control over how much it can collect. Printing is now more
descriptive.

The kinds of stats have been renamed to SINCE_UNPLUGGED and
SINCE_DISCHARGED. The other two stats are still there, but
no longer printed; a future change will eliminate them
completely along with all of their state.

Change-Id: I4e9fcfcf8c30510092c76a8594f6021e9502fbc1
atteryStats.java
bef9c7a59dc020c5cdcbd555b5212ae5a10e8045 17-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Preventing cursor leaks when a query is interrupted

Re-ran runtest cts-os

Change-Id: I518a2a4f842b01d082078e16643aa377a4575237
syncTask.java
4ed8e42c50d7b67b8d89c092e9cd49b9b1b0040a 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 92dd85d0: am 742b282e: Merge "StrictMode: implement the log-to-DropBox option" into gingerbread

Merge commit '92dd85d02af60b001f1ae6919eeb11bcf38e64c8'

* commit '92dd85d02af60b001f1ae6919eeb11bcf38e64c8':
StrictMode: implement the log-to-DropBox option
742b282e1168ed3820cb549a89753f39f4de0fa6 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "StrictMode: implement the log-to-DropBox option" into gingerbread
c465f9c4003c5d1806954f81c50e6f9d56adecc4 14-Jun-2010 Dianne Hackborn <hackbod@google.com> am 13792057: am 7e900cbf: Merge "Update build version information." into gingerbread

Merge commit '13792057e4fef30c9b6fe2b8249b246841508164'

* commit '13792057e4fef30c9b6fe2b8249b246841508164':
Update build version information.
7e900cbf1d600a8895e63a0247f45c116ff05172 14-Jun-2010 Dianne Hackborn <hackbod@google.com> Merge "Update build version information." into gingerbread
3e03cfa3af8acf3aad0abc464d2bcab1225a971d 13-Jun-2010 Dianne Hackborn <hackbod@google.com> Update build version information.

Change-Id: If53f16d494255230859a30f561e9a78ec49c6c10
uild.java
143666f0ca28f0e3e6597e5025078f0449ca6abe 14-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: implement the log-to-DropBox option

Change-Id: I51d12e264155078f953028241f8c5cbdc47262e8
trictMode.java
26b327c80b8a2728e9d4d16671e03d7085c38747 14-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 6b9b8806: am 60e8c33d: Merge "Dropbox: remove redundant Entry construction." into gingerbread

Merge commit '6b9b8806afb06e393203450bda8a53af08952590'

* commit '6b9b8806afb06e393203450bda8a53af08952590':
Dropbox: remove redundant Entry construction.
14418945bdc7a9c2e1cba8deaac5cb6dddfd6412 14-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Dropbox: remove redundant Entry construction.

Change-Id: I55d8da82acea7f1cf0a69912fe5d4d46d704b570
ropBoxManager.java
8e03b7566c42621fda01186b66b019142eb84fbf 14-Jun-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 9e660c82 to master

Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
7c8aa44f320f45e8417f0aba9ca67af6a67a5cf7 14-Jun-2010 Jeff Brown <jeffbrown@google.com> am 46b9ac0a: Native input dispatch rewrite work in progress.

Merge commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2' into gingerbread

* commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2':
Native input dispatch rewrite work in progress.
46b9ac0ae2162309774a7478cd9d4e578747bfc2 23-Apr-2010 Jeff Brown <jeffbrown@google.com> Native input dispatch rewrite work in progress.

The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API. Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
essageQueue.java
0c330e26e853e478bf1c3d63eae98a42a1c12bad 12-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 11bd9d1e: am 94f14aec: Merge "More StrictMode work, handling violations in ActivityManagerService." into gingerbread

Merge commit '11bd9d1ec20ce3bbd3791b537faad429a1ca87e7'

* commit '11bd9d1ec20ce3bbd3791b537faad429a1ca87e7':
More StrictMode work, handling violations in ActivityManagerService.
46d42387464a651268648659e91d022566d4844c 11-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> More StrictMode work, handling violations in ActivityManagerService.

Also starts to do duplicate-suppression.

Change-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21
trictMode.java
cf0a99910cf87b148fe3143686262a8371d2dbc1 11-Jun-2010 Dianne Hackborn <hackbod@google.com> am 4d4f265e: am 9f8cc518: Merge "Adjust activity manager process OOM adj." into kraken

Merge commit '4d4f265e6b6ccfc239150bd71aa2ce2b8de6237f'

* commit '4d4f265e6b6ccfc239150bd71aa2ce2b8de6237f':
Adjust activity manager process OOM adj.
32907cfb38bda2d3c052cf5139c5b592678fedbb 11-Jun-2010 Dianne Hackborn <hackbod@google.com> Adjust activity manager process OOM adj.

Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.

Also add some new code to battery stats to keep a history
of changes to the battery level.

Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
atteryStats.java
b60c941811cc15ab34fcc2f038aba56f862659b8 11-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of f37cbe6b to master

Change-Id: I529b17e55b9668f900f685f92e9831e14a82db05
438d0595121a7a2cdf19741e76e3c0e21a5c173d 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Introduce "StrictMode"

This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads. (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)

In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads. (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)

Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is. The penalties, of which multiple can
be chosen, include:

* logging
* dropbox uploading for analysis/reporting
* annoying dialog
* full-on crashing

These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.

Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.

Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
trictMode.java
4aaf8ec9dfb9a9e0f3d84e8ee95d7ac2ebca8d92 03-Jun-2010 Romain Guy <romainguy@google.com> Do not invoke onProgressUpdate if the task is canceled.
Bug #2734382

Change-Id: I8d507ae72af2f6dfe66598fb9090872520111a6b
syncTask.java
dd27f14da251645c2e0638b2b038be8d55563ae7 02-Jun-2010 Dan Egnor <egnor@google.com> am b8dd6b19: am 1e1e292e: am 1f5e8473: am a80331c4: Merge "Comment-only change to add documentation for FileObserver" into froyo
1e1e292edcb75fdef93fe63b12355bfef642e5bc 01-Jun-2010 Dan Egnor <egnor@google.com> am 1f5e8473: am a80331c4: Merge "Comment-only change to add documentation for FileObserver" into froyo

Merge commit '1f5e847350ef1aece046666e20e7692a1651d9dc' into kraken

* commit '1f5e847350ef1aece046666e20e7692a1651d9dc':
Comment-only change to add documentation for FileObserver
3dc1c7f5e84a888bc0a3aee764e9c6fa01395d8a 31-May-2010 Dan Egnor <egnor@google.com> Comment-only change to add documentation for FileObserver

Change-Id: Icd9bc65be020a23f78c8bcda78fc68e7d05c93b4
ileObserver.java
a42f4c249f89fde12eff5713169c32cbb32ab74a 18-May-2010 Mike Lockwood <lockwood@android.com> am 0b6e30d2: am c5859388: am 3e9e9696: am eb9cbb8f: Resurrect flashlight support in obsolete IHardwareService Binder API.
c5859388bd6c666a83017869bf8a9935defe0bd0 17-May-2010 Mike Lockwood <lockwood@android.com> am 3e9e9696: am eb9cbb8f: Resurrect flashlight support in obsolete IHardwareService Binder API.

Merge commit '3e9e9696f147c8df1236c1d7aa9496124864a81c' into kraken

* commit '3e9e9696f147c8df1236c1d7aa9496124864a81c':
Resurrect flashlight support in obsolete IHardwareService Binder API.
eb9cbb8fdddf4c887004b20b504083035d57a15f 17-May-2010 Mike Lockwood <lockwood@android.com> Resurrect flashlight support in obsolete IHardwareService Binder API.

This is to avoid flashlight apps that had been using reflection to access
this API after this class was removed after eclair.

Change-Id: I26ed929abad93345468eb33d4a15977a31ebea7e
Signed-off-by: Mike Lockwood <lockwood@android.com>
HardwareService.aidl
834910f51f8a2d70d8b43182a48e91314ff63ba6 11-May-2010 Dianne Hackborn <hackbod@google.com> am 217f2686: am 7d5cea98: am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo
7d5cea988bdab9a32fe5b21333613042857882f8 11-May-2010 Dianne Hackborn <hackbod@google.com> am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo

Merge commit '7e76b6d191e1173bd85337a2861d9914922f5a0d' into kraken

* commit '7e76b6d191e1173bd85337a2861d9914922f5a0d':
Hopefully fix issue #2662536: Why is launcher being killed?
906497c574d45d8dfd295b16dece0d0bc32c0895 11-May-2010 Dianne Hackborn <hackbod@google.com> Hopefully fix issue #2662536: Why is launcher being killed?

It looks like there was a subtle bug where Process.setOomAdj() could
return false just because the given process doesn't exist, even though
it is documented to only return false if OOM killing is not supported
at all. This would cause the activity manager to fall into its code
path of trying to clean up processes itself, which it does a much
poorer problem at. I am thinking we may be seeing this problem more
now that the activity manager is killing background processes itself
when there are too many of them.

In addition, this change cleans up and reduces some of the logging
around killing processes.

Finally, try to improve process LRU management a bit by taking
into account process dependencies. Any dependent processes are
pulled up in the LRU list with the processes that is actually
moving. Also, we bring a process up if someone accesses its content
provider.

Change-Id: I34ea161f839679345578ffe681e8d9c5d26ab948
rocess.java
10c40078d0cd75544d9183dec9df59bee9fa00ac 07-May-2010 Christopher Tate <ctate@google.com> am 5cfec530: am fa9e7c05: Sketch of Native input for MessageQueue / Looper / ViewRoot
fa9e7c05c7be6891a6cf85a11dc635a6e6853078 06-May-2010 Christopher Tate <ctate@google.com> Sketch of Native input for MessageQueue / Looper / ViewRoot

MessageQueue now uses a socket for internal signalling, and is prepared
to also handle any number of event input pipes, once the plumbing is
set up with ViewRoot / Looper to tell it about them as appropriate.

Change-Id: If9eda174a6c26887dc51b12b14b390e724e73ab3
essageQueue.java
arcelFileDescriptor.java
8640c1d0e55281530da58350ef54a881d5c51187 29-Apr-2010 Dianne Hackborn <hackbod@google.com> am 14cee9f6: New xlarge screen size.
14cee9f688c32d63d8521188e7422811629bb7c2 24-Apr-2010 Dianne Hackborn <hackbod@google.com> New xlarge screen size.

Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
uild.java
7f4b6842ce2388b8e60cd31bdc3273f80472f632 28-Apr-2010 Gilles Debunne <debunne@google.com> Changed steps names in documentation.

Change-Id: I0541709a719e35575bb2c42e6f2ea457d21c545b
syncTask.java
aa7d09d4563413e2d443ccdbffa8c6e8ef042172 09-Apr-2010 Jeff Brown <jeffbrown@google.com> am 52a28b25: am 6883c176: am 6c099149: am 37d2f5d1: Merge "Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission." into froyo
6883c1769f089904b395e1bdf35472cf893c1602 09-Apr-2010 Jeff Brown <jeffbrown@google.com> am 6c099149: am 37d2f5d1: Merge "Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission." into froyo

Merge commit '6c099149daff56ca04ab40a86950e7b61caf6505' into kraken

* commit '6c099149daff56ca04ab40a86950e7b61caf6505':
Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission.
64010e835057d4b85e2d90cf75cc562f3b5eb552 09-Apr-2010 Jeff Brown <jeffbrown@google.com> Remove @link to hidden ACCESS_CACHE_FILESYSTEM permission.

Change-Id: I4be691f20f650b412beb22b199a4cbef879b2668
ecoverySystem.java
2e13f37347b4f65f865e00a68ddd1947af78a355 08-Apr-2010 Dianne Hackborn <hackbod@google.com> am f0dc083d: am d49c455c: am 822a7e2d: am ce59fb8b: Fix issue #2578244: playing audio file downloaded by the browser...
d49c455cc97d5fcdd8af497dc2ba85efdc719959 08-Apr-2010 Dianne Hackborn <hackbod@google.com> am 822a7e2d: am ce59fb8b: Fix issue #2578244: playing audio file downloaded by the browser...

Merge commit '822a7e2defcfbd006a7840e1da19cf0827d46736' into kraken

* commit '822a7e2defcfbd006a7840e1da19cf0827d46736':
Fix issue #2578244: playing audio file downloaded by the browser...
ce59fb8b684357f2a10ab62368beeece34bc0e5d 08-Apr-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2578244: playing audio file downloaded by the browser...

...shows an image downloaded by the browser

The downloads directory needs to be non-plural for backwards compatibility.

Change-Id: Ifb6ddf8ee980a57ad113a5fc8b51f5acd8df5955
nvironment.java
a33438937333a065f73a1d06d2f283710a82f09b 08-Apr-2010 San Mehat <san@google.com> am cf1a7a77: am 12ebde61: am 692329cf: am fd998a0c: Merge "NetworkManagementService: Remove \'maxkbs\' parameter from throttle API" into froyo
12ebde61a578505d4a019fdfffc84ff7f3b5a35f 08-Apr-2010 San Mehat <san@google.com> am 692329cf: am fd998a0c: Merge "NetworkManagementService: Remove \'maxkbs\' parameter from throttle API" into froyo

Merge commit '692329cf3f1512b3f0475b619058f9a10d9950a8' into kraken

* commit '692329cf3f1512b3f0475b619058f9a10d9950a8':
NetworkManagementService: Remove 'maxkbs' parameter from throttle API
f0db6e1853e929ae3b65501c31ee57c4dfbc767c 08-Apr-2010 San Mehat <san@google.com> NetworkManagementService: Remove 'maxkbs' parameter from throttle API

Change-Id: I1cfbdac7d06478243931c6acec462da8e257f42f
Signed-off-by: San Mehat <san@google.com>
NetworkManagementService.aidl
8839544ebb5e0949d42d1508b1a20a79e855cc4a 05-Apr-2010 San Mehat <san@google.com> am d32de7f3: am 9d782f62: am 73a8f26a: Merge "NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed" into froyo
d32de7f38f7d675d7fed8edc23e12f445a5bd091 05-Apr-2010 San Mehat <san@google.com> am 9d782f62: am 73a8f26a: Merge "NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed" into froyo

Merge commit '9d782f62defba898c3ebaa498ea1be9e5cb26ac7' into kraken

* commit '9d782f62defba898c3ebaa498ea1be9e5cb26ac7':
NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed
be23fba286e6772f2eb37ef25f252d7a73ef9dce 02-Apr-2010 San Mehat <san@google.com> NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed

Change-Id: I1d6816c9754801504a988802118a2167e0eb8690
Signed-off-by: San Mehat <san@google.com>
NetworkManagementService.aidl
a6dfa15e640b6794e3fe17c7dd02628522efd879 01-Apr-2010 Robert Greenwalt <robdroid@android.com> am 4e925f8a: am cab133a7: am 33eb7767: Merge "NetworkManagementService: Add interface counters & throttle API" into froyo
4e925f8afb6f94a9867145d252d186eb65e79ccf 01-Apr-2010 Robert Greenwalt <robdroid@android.com> am cab133a7: am 33eb7767: Merge "NetworkManagementService: Add interface counters & throttle API" into froyo

Merge commit 'cab133a7fa39969f136e3f401f97f6ce843514bb' into kraken

* commit 'cab133a7fa39969f136e3f401f97f6ce843514bb':
NetworkManagementService: Add interface counters & throttle API
91cac64cd010e6b4006fdd14b39dbc75778f20cb 31-Mar-2010 San Mehat <san@google.com> NetworkManagementService: Add interface counters & throttle API

Change-Id: I4976549cdbb027ba7859335e69bf866e738961c9
Signed-off-by: San Mehat <san@google.com>
NetworkManagementService.aidl
6f63dd5dc8ae38f866e297883435dd1fd3a5cdfd 30-Mar-2010 San Mehat <san@google.com> framework: Hide StorageManager for froyo - do not merge

Change-Id: I9a871e49cc9e1accb28c7e4b76bb0796eaf26d7b
torage/StorageEventListener.java
torage/StorageManager.java
torage/StorageResultCode.java
591ad27d748c5c605d4fd44b89b2a8ea8f0057ff 31-Mar-2010 Dianne Hackborn <hackbod@google.com> am 6d630607: am 5cdd7858: Merge "Fix issue #2553553: API REVIEW: android.context.Context" into froyo

Merge commit '6d63060768f9d73c6062a2b603d3c51c7d5f0043' into kraken

* commit '6d63060768f9d73c6062a2b603d3c51c7d5f0043':
Fix issue #2553553: API REVIEW: android.context.Context
acaf028fc9efd9754f57ed65476e79a816811b35 30-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2553553: API REVIEW: android.context.Context

Change-Id: I3e3ab7a909329d498544dc9ed4d500cbcc4ed281
nvironment.java
63cce836e43c7cac8cd7c0b19f98dc8095ab122d 30-Mar-2010 San Mehat <san@google.com> framework: Hide StorageManager for froyo - DO NOT MERGE

Change-Id: Icd58d5be0de1cc0549a5d766421bcc773c8cd868
Signed-off-by: San Mehat <san@google.com>
torage/StorageEventListener.java
torage/StorageManager.java
torage/StorageResultCode.java
1f4df90bfab8ca42eabe95f19eadff3432eee7fd 27-Mar-2010 Oscar Montemayor <oam@google.com> DO NOT MERGE
Removing unused features from source tree.
Please refer to Bug#2502219.

Change-Id: I879c29bfd5ffe933f64bb1082aaae7c956450a5a
nvironment.java
ecoverySystem.java
d76ef97930d45e37dba4ac58b376c3067c2eb54a 29-Mar-2010 Dirk Dougherty <ddougherty@google.com> doc change: In fundamentals doc, make statement about synchronous execution of RPC less strict. Indicate that FLAG_ONEWAY applies only across processes.

Bug: 2554090
Change-Id: Ia13b3d156d230609e8296a3b31c2882ba13681f3
Binder.java
2911e8eff79572a896b24debb11f20d179bd6f83 26-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Clarify some Binder docs regarding things that are thread-local."
a0527f207bf4af313e9f4fa9c39afe1bbee51e16 26-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Clarify some Binder docs regarding things that are thread-local.

Change-Id: I433c9c2f4593866b2e9846893676b93a670817d4
inder.java
bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a 25-Mar-2010 Robert Greenwalt <robdroid@android.com> Update Framework to support multiple dhpc ranges

Previously we only supported a single range - this was inadequate for
multiple interfaces. Adding a second range so we can support
both usb and wifi tethering.

Also moving out of the zero-conf range as our dhcp client won't
accept ip addrs in that range (no nexus to nexus wifi action).

bug: 2537963
bug: 2533491
bug: 2538303
Change-Id: I600b421343c28c2f9839ed2076122ae3d0ff5d3d
NetworkManagementService.aidl
186683923ce8d6a2d5c6fd4768b26b90308661e9 24-Mar-2010 Dianne Hackborn <hackbod@google.com> Maybe fix #2422586: Native crash in android_os_Parcel_closeFileDescriptor()
killed the phone process

Try to make sure we never have a ParcelFileDescriptor with a null
FileDescriptor. That is just wrong.

Change-Id: Ib779ad1852dd239827797cd8f93505bfe6157e58
emoryFile.java
arcelFileDescriptor.java
92e77dd718cc1c378efa0cf3bef737e463225e82 22-Mar-2010 Mike Lockwood <lockwood@android.com> Merge "Improve wakelock debugging:"
f5bd092b5099cf43f031c3f53ad01592dda57f4b 22-Mar-2010 Mike Lockwood <lockwood@android.com> Improve wakelock debugging:

Throw NullPointerException if tag is null in PowerManager.newWakelock()
Print wakelock owner's uid and pid in dumpsys power output.

BUG: 2522675

Change-Id: I462c7f8c49f9896b2f58cef5a678ebd2c062a8f7
Signed-off-by: Mike Lockwood <lockwood@android.com>
owerManager.java
e99bb5f10b90736d10cee9729b56cba156fc0921 19-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Add new method call back in MountService.
PackageManager invokes this call back when its done handling
the media status update.
Add new uid check for updateExternalMediaStatus
Change killPids method in ActivityManager.
Remove mountsd command in Pm.java We cannot arbitrarily enable/disable
packages in PackageManager now.

Change-Id: I28dcba4afd2b4486f68abdaa1628a31b66544c91
torage/IMountService.aidl
2e805b19cdb309ea6eeb6d2e8b0915681f831f5a 22-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Grammar fixes.

Change-Id: I77672d2260c26aee146bb6a853137c14e3db1f28
torage/IMountService.aidl
1afd1c90ebe789b8d3a137004127a50d2db7e3b5 19-Mar-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2457218: Corrupt batterystats.bin file preventing phone boot - LIBtt68127

No steps to repro, but makes the code more robust by using the standard
JournaledFile class and doing sanity checks on the input it reads.

This required moving the JournaledFile class in to the framework (and
we really should get rid of either it or AtomicFile, but they have
different recovery semantics so that is tough). Also went through and
cleaned up the file management in various places.

Change-Id: Ieb7268d8435e77dff66b6e67bb63b62e5dea572e
ileUtils.java
c2f54c267b896cd1799d82be81e904a2b56c2f26 18-Mar-2010 Irfan Sheriff <isheriff@google.com> Clean up changing AP configuration

Bug: 2527293
Change-Id: I35e82e24e27349e2966f88189ebca4246ad1a354
NetworkManagementService.aidl
9ab518ad793385f8405edf19363fe825fb64f5f8 13-Mar-2010 Irfan Sheriff <isheriff@google.com> softAp framework changes

Remove AP persist settings
Add new netd interface
Handle errors
Handle AP config change
Bug: 2413908
Change-Id: I31a1221ef5479da8d4a2620f0f0ee0b62539bc69
NetworkManagementService.aidl
15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab 12-Mar-2010 Kenny Root <kroot@google.com> Add correct copyright headers to multiple files

Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
atteryStats.java
c95142d4a0ab7bebb899167da17c70c3196abbe4 11-Mar-2010 Dan Egnor <egnor@google.com> Move boot log file writing into a background thread to avoid ANR.

Bug: 2507228
Change-Id: I35695f89f1d62b907f04511e3e6b71722008949b
ecoverySystem.java
cb95657326add53f81cd2f8a0ae0a1a0527ae799 11-Mar-2010 Doug Zongker <dougz@android.com> make RecoverySystem.verifyPackage interruptible

Change-Id: I09f6746914ef63c81312efd3a8959b0c28f6003a
ecoverySystem.java
6ffce2e9a3c57634bb73f8ff133ca680f8070d5d 08-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Add new shutdown observer for MountService.
Use new observer before rebooting and shutting down.
Add some unit tests for unmount and shutdown code paths
Fix registering/unregistering part in MountService
Use ShutdownThread in PowerManager.reboot()
Add reboot support to ShutdownThread.
Remove MountService code from PowerManagerService.java and Power.java.
Clean shutdown/reboot is handled exclusively by ShutdownThread now.

Change-Id: Iefb157451d3d9c426cb431707b870a873c09123d
ower.java
torage/IMountService.aidl
torage/IMountShutdownObserver.aidl
3eda9799a162765dd49f481cc303fc5702a9c5fe 05-Mar-2010 Dan Egnor <egnor@google.com> Add Debug.dumpService(), a public method for "dumpsys" functionality
ebug.java
1877d0158b529663b8315482e7346a7bcaa96166 05-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Add "call" method on ContentProvider.

This permits implementing interfaces which are faster than using
remote Cursors. It then uses it for Settings & SettingProvider, which
together account for ~50% of total ContentProvider event loop stalls
across Froyo dogfooders.

For fetching Settings this looks like it should reduce average
Settings lookup from 10 ms to 0.4 ms on Sholes, once the
SettingsProvider serves most gets from in-memory cache. Currently it
brings the Sholes average down from 10ms to 2.5 ms while still using
SQLite queries on each get.
undle.java
5321aef4a22daef6ed01ed48d936cdd82f2e38b7 12-Feb-2010 Irfan Sheriff <isheriff@google.com> Wifi AP framework changes first pass

Bug: 2421638
Change-Id: Ic5ea8f7560a7fe5e1b0769daa5d92cc33eefc692
NetworkManagementService.aidl
0eec21d97d9dc4eb4fdbad0e4c0fc53703452d02 26-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Add dialog to display storage users when enabling/disabling ums

Some error dialogs and related strings
MountService changes to follow unmount path when enabling ums.

Please note that MountService api setUmsEnabled does not return
error codes for now. This is a known limitation.
torage/IMountService.aidl
torage/StorageManager.java
08bbffb049c135c5dfd40d261118c90d1a6dc111 25-Feb-2010 Bjorn Bringert <bringert@android.com> Support CharSequence lists+arrays in Bundle+Intent

Fixes http://b/issue?id=2468093

Change-Id: Id82686f6ca8c9501f6db8a07018278a78ddacd05
undle.java
arcel.java
c42e29e0a58d07a95d470780216cdf1d67476bd6 23-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Add new handler mechanism in MountService to make unmount api asynchronous.
MountService updates state on PackageManager and then tries to
kill processes holding file references to media about to be unmounted by
invoking api on ACtivityManager. This is retried upto 4 times to make sure all
processes holding file references are killed before unmounting the media
at specified path.

Also changed PackageManger api to return boolean value to indicate if
MountService is likely to receive broadcasts related to apps on sd.
torage/IMountService.aidl
c4e1bf7282d454ba3e9ba16cde5b660d79dd5345 23-Feb-2010 Andy McFadden <fadden@android.com> Add class init stats to alloc counters (API change).

Add calls to retrieve class initialization stats via the allocation
count mechanism.

For bug 2461549.
ebug.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.
atteryStats.java
90d141c1fab7fa32f26f815f63c10ceaf750b01a 19-Feb-2010 Chih-Chung Chang <chihchung@google.com> Merge "Do setThreadPriority() later so we can notify the waiting thread and release the lock as soon as possible even if we run the loop in background priority."
939d5fafc904ff71f6d3afaedc3eb05420fac543 19-Feb-2010 Robert Greenwalt <robdroid@android.com> Merge "Add USB RNDIS enable/disable control"
75288fa1a4ee4886959af7243995d8afd9c3c905 17-Feb-2010 Dianne Hackborn <hackbod@google.com> Improve Service documentation with some samples.

Also some small tweaks to the Message API to improve its
use in the MessengerService sample.
essage.java
ce1200d42c46ae5d3ec637587b07dfdc02ad21c0 18-Feb-2010 Robert Greenwalt <robdroid@android.com> Add USB RNDIS enable/disable control
NetworkManagementService.aidl
d970998b0d489774ad1c5b94b47d233912f00214 18-Feb-2010 San Mehat <san@google.com> framework: storage: Add 'force' option to unmount/destroy storage apis, and update callsites.

Also adds additional storage unit tests

Signed-off-by: San Mehat <san@google.com>
torage/IMountService.aidl
torage/StorageResultCode.java
c1b4ce93be60aa09eda5653edc2f6a8ce864526d 17-Feb-2010 San Mehat <san@google.com> MountService: Add API call for getting a list of pids currently using the specified mountpoint

Signed-off-by: San Mehat <san@google.com>
torage/IMountService.aidl
59bac03b280115ba843b540298dfb2fbc20491af 17-Feb-2010 Chih-Chung Chang <chihchung@google.com> Do setThreadPriority() later so we can notify the waiting thread
and release the lock as soon as possible even if we run the loop
in background priority.
andlerThread.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.
CheckinService.aidl
ParentalControlCallback.aidl
1ab6d751589c1f16512a64395b67508ac8b8fa94 11-Feb-2010 San Mehat <san@google.com> Merge "MountService: Fix some mountset bugs and tighten up some return values"
18e939623556928f73fcc7511c85a537929a4a7e 11-Feb-2010 Dan Egnor <egnor@google.com> Eliminate dependencies on Checkin, replacing checkin events with EventLog
events (and in one case, a DropBox entry).

Add a simple intent that triggers master-clear (and toggle EFS), given the
right permissions.

Bug: 2264596
Bug: 2350452
Bug: 2264596
CheckinService.aidl
a181b21305e0bcf171e2112a3ca5c08eb4fd2434 11-Feb-2010 San Mehat <san@google.com> MountService: Fix some mountset bugs and tighten up some return values

Signed-off-by: San Mehat <san@google.com>
torage/StorageResultCode.java
23085b781e145ed684e7270af1d5ced6800b8eff 09-Feb-2010 Ben Cheng <bccheng@android.com> Support per-application switch to execute the VM in safe mode.

The new attribute can be set by adding android:safeMode="true"
in AndroidManifest.xml with the SDK.

Tested with pairing locally compiled SDK with Eclipse and verified that the JIT
(the only component currently included in the safe mode) is indeed disabled
with the new attribute.

Bug: 2267583
rocess.java
6cdd9c08565a6871ad72cd388adfdfca23532e5e 09-Feb-2010 San Mehat <san@google.com> MountService: Add isSecureContainerMounted() API call

Signed-off-by: San Mehat <san@google.com>
torage/IMountService.aidl
e83cefcef07f9ac025642c1ffec76b4c7ab39cf2 05-Feb-2010 Dianne Hackborn <hackbod@google.com> New external storage APIs.

This implements the spec for external storage organization, and
properly reflects how the media scanner organizes the files it finds.

Also includes package manager support for removing app private
files from external storage when the application is uninstalled.

For the new APIs and paths, the main place to look is Environment
and Context.
nvironment.java
44d993798f8241b78229718bbc358046f590de7e 09-Feb-2010 Dan Egnor <egnor@google.com> Merge "Fix NPE in FileObserver when multiple events pile in for a defunct observer. Also, fix up some bogus whitespace (hard tabs, etc)."
b104340496e3a531e26c8f428c808eca0e039f50 05-Feb-2010 San Mehat <san@google.com> Framework: Clean up / Refactor Mount APIs

- Move android.storage.* -> android.os.storage.* and refactor users
- Refactor generic shares back to explicit ums enable/disable/isEnabled
- Remove media insert/removed event callbacks (not ready for Froyo)
- Remove 'label' from volume state change callbacks
- Add public API functions for enabling/disabling USB mass storage (permissions enforced
in MountSevice)
- Remove some stray un-needed import lines
- Move android.os.IMountService / android.os.IMountServiceListener -> android.os.storage
- Improve code comments

Updated:
MountService: Add dup state check and move debugging behind a conditional
UsbStorageActivity: Fix review comments + a TODO
StorageNotification: Add @Override tags
StorageManager: Don't use a static Listener list
MountService: Reduce bloat and fix == where I meant .equals()
PackageManagerTests: Update for new API

Signed-off-by: San Mehat <san@google.com>
nvironment.java
MountService.aidl
MountServiceListener.aidl
ountServiceListener.java
ountServiceResultCode.java
ower.java
torage/IMountService.aidl
torage/IMountServiceListener.aidl
torage/MountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/StorageResultCode.java
d95244faef7b54fe46223aec1ed5754cd9b74a3e 05-Feb-2010 Dan Egnor <egnor@google.com> Fix NPE in FileObserver when multiple events pile in for a defunct
observer. Also, fix up some bogus whitespace (hard tabs, etc).
ileObserver.java
870d81d038391d1d3896e7f2fa44801d1667f5bf 08-Feb-2010 Doug Zongker <dougz@android.com> remove android.os.Base64Utils

There are no more users of this code.

Change-Id: Ie0109ece2ea329aeb9607e9193eaf0808955eab9
ase64Utils.java
d0e18ffb82b59d38aeaf0e552f48e734202719ab 26-Jan-2010 Robert Greenwalt <robdroid@android.com> First pass at USB Tethering.

bug:2281900
NetworkManagementService.aidl
74885efc8ce6d315e0593e5f669cc805e264cf68 03-Feb-2010 Doug Zongker <dougz@android.com> expose bootloader & radio versions, hardware string in API

Adds three new device-version-related strings to android.os.Build.

Change-Id: I832f87f26e50a649249c58037f563426f3bfc4bf
uild.java
216bccf804db9c972b317620a27de6a8adf7fbfe 02-Feb-2010 Adam Powell <adamp@google.com> Updated GestureDetector to ignore multitouch if requested by the app
or if targetSdkVersion >= Froyo. Made ScaleGestureDetector
public. current.xml API updates for gestures.
uild.java
556d350a4d68be72c74b30ca9cd87a152f8512c2 02-Feb-2010 San Mehat <san@google.com> StorageManager: API_CHANGE: Move StorageManager into android.storage

Signed-off-by: San Mehat <san@google.com>
torageEventListener.java
torageManager.java
4270e1ea74c57f1c65620e9f5ecaa8c2a5daf0e1 29-Jan-2010 San Mehat <san@google.com> MountService: Massive bloat reduction and rewrite

- Most API calls now return an int as a result code (see MountServiceResultCode.java)
- All notification code has been removed
- All settings code has been removed
- Removed UMS centric API calls in favor of more generic 'shares'
- Mount error reporting is no longer done via an event, but is done as part of the
actual mount process
- Rework vold IPC commands to be more sane

Updated:
MountService: Rename MountServiceObserver -> MountServiceListener
MountService: Add support for Async callbacks

Updated:
MountService: Add BinderDeath handling

Updated:
MountService: Remove notifys since we dont listen anyways

Updated:
MountService: Fix bad cast

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
MountServiceListener.aidl
MountServiceObserver.aidl
ountServiceListener.java
ountServiceObserver.java
ountServiceResultCode.java
1b7f7cfab6c9448adcb6733b1edd541529d1ac53 01-Feb-2010 San Mehat <san@google.com> StorageManager: Introduce StorageManager

StorageManager provides an API for applications to receive storage
notifications on the app main thread.

Signed-off-by: San Mehat <san@google.com>
torageEventListener.java
torageManager.java
07a9661f31797a68b8ecd3f135fe1417f214663b 29-Jan-2010 Andy McFadden <fadden@android.com> Added dumpHprofDataDdms() call.

This adds a hidden dumpHprofDataDdms() method, which initiates an hprof
dump that sends its data directly to DDMS.
ebug.java
b4a162e50a96d2eef5fa3ed686e1418c4fbc8ded 28-Jan-2010 San Mehat <san@google.com> framework: os: Introduce IMountServiceObserver

Signed-off-by: San Mehat <san@google.com>
MountServiceObserver.aidl
ountServiceObserver.java
254cb446faa7cb13699d8150eb4cc4f44cb61a2d 28-Jan-2010 Dianne Hackborn <hackbod@google.com> More device admin.

- Clean up device policy manager APIs.
- Implement lockNow(). For now this just turns the screen off to lock the device.
PowerManager.aidl
1812a4bfda7142411dcfd9d29720b2f176508b96 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Add streaming method profiling support."
72a20db0c71c6bddaa9fd2e4046242fc9d540e1c 22-Jan-2010 Andy McFadden <fadden@android.com> Add streaming method profiling support.

This adds a new (hidden) startMethodTracingDdms call. It's like the
normal method tracing calls, but you don't specify an output file.
Instead, when tracing stops, the data is sent directly to DDMS.

This also adds handlers for the MPSS/MPSE requests that DDMS sends.
ebug.java
8ea138cbf12b140d43fd81f4f12fe1a9234f1f25 27-Jan-2010 Dianne Hackborn <hackbod@google.com> More work on device admins:

- You can now show a dynamic message to the user when asking to
have your DeviceAdmin added.
- A DeviceAdmin can now provide a warning message that is displayed
before a user disables it.
- Better ordering (and text) of the policy warnings.
- New API to set the maximum failed password attempts before the device
wipes itself.
- We now store the number of failed unlock attempts in persistent
storage.
- New managed dialog APIs that will be used by the settings app.

Also a little bit of cleanup as I was working on this - removed the
long unused MailboxNotAvailableException, fixed a java doc in Messenger.
RemoteCallback.aidl
ailboxNotAvailableException.java
essenger.java
emoteCallback.aidl
emoteCallback.java
45f61040823d8c442838f75cde8760f236603dae 23-Jan-2010 San Mehat <san@google.com> MountService: Add support for renaming secure containers

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
4d02d001ef6e06583e858e63e48d1aebf54ba28d 23-Jan-2010 San Mehat <san@google.com> NetworkManagementService: Introduce INetworkManagementEventObserver

Introduce a callback event observer which can be registered on the
INetworkManagementService instance to receive events from the service.

Signed-off-by: San Mehat <san@google.com>
NetworkManagementService.aidl
63454ebcc9604407152ee54e29ee91c726374f56 23-Jan-2010 San Mehat <san@google.com> Merge "NetworkManagementService: Introduce API methods for configuring interfaces"
ed4fc8acc52d89f1d4dec853a29288c6d06717c3 22-Jan-2010 San Mehat <san@google.com> NetworkManagementService: Introduce API methods for configuring interfaces

Signed-off-by: San Mehat <san@google.com>
NetworkManagementService.aidl
e577232406649450a513140bf09cb3fc8c3fe046 22-Jan-2010 Andy McFadden <fadden@android.com> Move VM feature strings (used by DDMS) into VM.

Until now, we used a place-holder in frameworks/base.

Disable a test that shouldn't have been on.
ebug.java
df83afaf299666e99c519aa86e7e082b7c116e95 20-Jan-2010 Dianne Hackborn <hackbod@google.com> More device policy manager / admin work.

Update API with some new features, re-arrange how you check for valid
passwords, and start hooking up the back-end implementation.
PowerManager.aidl
72759df749bb8557269db86c2e3b2a8a0343cc26 19-Jan-2010 San Mehat <san@google.com> INetworkManagementService: Add support for enumerating TTYs and attaching ppp servers to them

Signed-off-by: San Mehat <san@google.com>

Updated: Refactor out duplicated code
NetworkManagementService.aidl
873f2145941cc28f6931dc18b5e9987bd22e2e19 14-Jan-2010 San Mehat <san@google.com> framework: Introduce INetworkManagementService for communicating with netd

This is the framework-exposed interface for the (future) management of
all Android network management functions. Initial support is for providing
tethering.

Updated: Integrate feedback from review; clean up naming

Updated: Switch from add/remove/list to get/set for DNS forwarders
- allows prioritization / ordering of DNS servers

Updated: Refactor NAT api

Updated: Refactor NAT api (last time sorry)

Signed-off-by: San Mehat <san@google.com>
NetworkManagementService.aidl
9dba709d4439d8cdb464a3dcccbddffdbe4b10ff 18-Jan-2010 San Mehat <san@google.com> MountService: Add new 'unmountSecureContainer' API call

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
22dd86e0556bf60f46bb92a4d90aef8c2d55da58 12-Jan-2010 San Mehat <san@google.com> MountService: Refactor to use NativeDaemonConnector and clean-up

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
fa101530bc74bdf1517a1840a9415249211b9414 12-Jan-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of d26707da to master

Change-Id: I1a379194f70c4b14191333ca2d8e6dd9d8b0f9dd
7ebf017658070323ed1c2bbd80c46c7cd2390d87 12-Jan-2010 San Mehat <san@google.com> framework: storage: Ensure that filesystems are unmounted before shutdown/reboot

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
ower.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.
uild.java
ileUtils.java
0f5525ad3b9b341a6c288ded8a8a08572fc657c6 11-Jan-2010 San Mehat <san@google.com> framework: asec: Rename 'Cache' -> 'Container'

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
71de7851a2d1c1ef0251bdc1ea59c5e6f58cf429 08-Jan-2010 Ficus Kirkpatrick <ficus@android.com> Make Build.UNKNOWN public.

There needs to be a way for apps to determine whether or not
a build property exists. Exposing UNKNOWN (the value that
Build sets properties to by default) will give apps something
to compare against.
uild.java
1f6301e1ff1a8ba04bc2b9c55fe6ceb883ce43bf 08-Jan-2010 San Mehat <san@google.com> MountService: Add new Settings for UMS prompting and notification behavior

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
a6a72814e0852abf0db3c58d6e62d8db59ac6033 08-Jan-2010 San Mehat <san@google.com> Environment: Catch *all* exceptions from MountService

Signed-off-by: San Mehat <san@google.com>
nvironment.java
fa9cafa074eb5d98b49b63795cd947877df1f21d 07-Jan-2010 Ficus Kirkpatrick <ficus@android.com> Add a string for second-ABI system property to android.os.Build.
uild.java
91c7761139c0931da0fcbc89bce38cee4b9cc535 07-Jan-2010 San Mehat <san@google.com> MountService: Add an ACTION_SHUTDOWN handler and export a method for external shutdown

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
d1265febc4ae20b0e709177735b175acd94b286a 06-Jan-2010 San Mehat <san@google.com> Merge "framework: MountService: Add initial support for Android Secure External Caches"
0cb047c0de7fe6a775bc6e9cff194af9dcb726cf 06-Jan-2010 Doug Zongker <dougz@android.com> unhide the RecoverySystem class

The recovery system is already part of the platform; this class
defines an interface for interacting with it from the regular system.

Change-Id: I87dff8d6c1dbd11ac8f397a3f34ea5cb16d2d227
ecoverySystem.java
3697229cc7adfd89493e87ba8b6401c8b68bdd71 06-Jan-2010 San Mehat <san@google.com> framework: MountService: Add initial support for Android Secure External Caches

Signed-off-by: San Mehat <san@google.com>
MountService.aidl
1af33d0ddc2f50ade146e4d48e2feb6f1d553427 05-Jan-2010 Doug Zongker <dougz@android.com> add recovery system interface to API

Adds android.os.RecoverySystem (marked as pending) to replace the
(hidden) com.android.internal.os.RecoverySystem. RecoverySystem
contains methods for:

- verifying the signature of an update package
- rebooting to install a package
- rebooting to wipe user data

(The reboot functions require "android.permission.REBOOT" and
"android.permission.ACCESS_CACHE_FILESYSTEM".) Providing these
simplifies implementation of OTA update for device builders.

Change-Id: I63ce743b156e7a1a0327fd395b0e4a82c0eda79a
ecoverySystem.java
7bcbd511731e13b9f2778e6aa6c633417d266f5e 23-Jun-2009 Marco Nelissen <marcone@google.com> Don't round size to page size. Ashmem will do this internally as needed.
emoryFile.java
7fd0fee968f4a3e474e1ea9933fc03552fe5f50a 17-Dec-2009 San Mehat <san@google.com> services: MountService: Refactor MountService for vold2

Squash of the following:
services: MountService: Rework the way volume states are handled
MountService: Add new API for directly getting volume state via a mount point
Environment: Switch from using system property for external storage state.
MountService: Add support for UMS
MountService: Fix a few bugs
services: MountService: Add support for mount-on-insertion
services: MountService: Add some debugging around UMS
services: MountService: Fix some UMS bugs and clean-up startup mount code

Signed-off-by: San Mehat <san@google.com>
nvironment.java
MountService.aidl
202f560f85446008808e443ad28e438622bca49f 28-Dec-2009 Owen Lin <owenlin@google.com> Fix a typo.

Change-Id: Idbe649678a7321a6bd9511218788bc4dfb3cbdb4
syncTask.java
60d8762413e8daba5f73559786312a9ec5e3b827 17-Dec-2009 Dan Egnor <egnor@google.com> DropBox logging of app & system server crashes.

The crashes are also reported to the event log (and of course the
main logcat, like they always have been). Ordinary Log.e(t,m,e) isn't dropboxed
but there's a new Log.wtf() which always is. (Still @pending in this change.)

Add a hook to IPowerManager to crash the system server on demand
(only for apps with REBOOT permission, since it's basically a restart).
This is not exposed in PowerManager, must be invoked directly -- mostly
this is there so "Bad Behavior" in dev tools can do it.
ileObserver.java
PowerManager.aidl
essageQueue.java
owerManager.java
d021302134460efbb596f4a4a2951e75b83d0ede 11-Dec-2009 Dan Egnor <egnor@google.com> resolved conflicts for merge of f6bb01b0 to master
b7f0367cec1c744aa66ef397b0244e25d507491c 10-Dec-2009 Dan Egnor <egnor@google.com> Eliminate CrashData and friends.

(CrashData was a custom-marshalled crash-info class used for a server crash
reporting system I am deprecating). Use ApplicationErrorReport.CrashInfo
instead to report crash details (mostly the stack trace) from RuntimeInfo to
ActivityManagerService, since we're likely to need the crash information in
that form anyway.

Remove the (long-disabled) flags and support for the "Debug" button
in the crash dialog.

Further gut the ICheckinService interface by removing the crash-reporting
APIs (and everything that calls them), plus the synchronous checkin()
method (which has been stubbed out for a while now).

A new dropbox-based crash reporting system is in the works, but not part
of this change.
CheckinService.aidl
7a4fb7376b6819f609b8f462c56329eff50fcb6d 11-Dec-2009 Wink Saville <wink@google.com> am 595c4092: am 8fb0faf3: Merge change I0a56959e into eclair-mr2

Merge commit '595c40920f31ba7b6674eb341548173e2aaf6ea7'

* commit '595c40920f31ba7b6674eb341548173e2aaf6ea7':
Implement a HierarchicalStateMachine
8fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0a56959e into eclair-mr2

* changes:
Implement a HierarchicalStateMachine
d2169dde42284fa2e56b1b870d4ffcfe824f975d 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If3bafe4f

* changes:
Encrypted File Systems. Recovery changes for framework. Modifications to allow for new call to recovery to toggle EFS settings.
630432e4249ca775e28eedeeb28d1f367ca45296 10-Dec-2009 Ken Shirriff <kens@google.com> am d44c2f2c: am 1270e2e2: Merge change I96ddd6e2 into eclair-mr2

Merge commit 'd44c2f2c85c8720763837b89a8988b6e5cc248bf'

* commit 'd44c2f2c85c8720763837b89a8988b6e5cc248bf':
Migration to TrafficStats.
fc5b4802a544b6ca304aa7e58a26018ef714d233 09-Dec-2009 Wink Saville <wink@google.com> Implement a HierarchicalStateMachine

A hierarchical state machine is a state machine which processes messages
and can have states arranged hierarchically. Each state in the state
machine may have a single parent state and if a child state is unable to
handle a message it may have the message processed by its parent.

Change-Id: I0a56959ece8f89e4f9122dc8044120b82d517bbb
andlerState.java
andlerStateMachine.java
1719a39a4c0ff3afbf9c9e5f03f20ba50f490902 08-Dec-2009 Ken Shirriff <kens@google.com> Migration to TrafficStats.

TrafficStats is the SDK version of NetStat.
etStat.java
3baf1bf734b6212908486d84b356ed1bc7cd838b 30-Nov-2009 Oscar Montemayor <oam@google.com> Encrypted File Systems. Recovery changes for framework.
Modifications to allow for new call to recovery to toggle EFS settings.
CheckinService.aidl
f3ab5c6b32e682e94e6909ef427e1ac7381f0490 25-Nov-2009 Dan Egnor <egnor@google.com> am 86ef717e: am 99cee031: Merge change Ieb7a7d57 into eclair-mr2

Merge commit '86ef717e2660dbc914dcf68295fbf9943c45bc44'

* commit '86ef717e2660dbc914dcf68295fbf9943c45bc44':
Change the DropBoxManager API slightly (this is public, but not yet released) --
99cee0318bdceb6e996bbe9a3e0f961d622e0365 25-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ieb7a7d57 into eclair-mr2

* changes:
Change the DropBoxManager API slightly (this is public, but not yet released) -- take a File instead of a ParcelFileDescriptor (gets opened internally) -- that way the caller doesn't have to worry about closing their PFD and so on. (Pretty much 100% of the time the caller will be uploading a file, anyway.)
d107146ca174adc51721b2e654e9d29d7478234b 25-Nov-2009 Mike Lockwood <lockwood@android.com> am f6a1dab0: am f3e291a0: Merge change Id7b9903e into eclair-mr2

Merge commit 'f6a1dab030095ad1ed58d387ff21a112bca5b610'

* commit 'f6a1dab030095ad1ed58d387ff21a112bca5b610':
Add setAttentionLight() to IPowerManager for the Phone app.
eb7a7d57ca50f85b054edadab766b51ff22a2dfd 25-Nov-2009 Dan Egnor <egnor@google.com> Change the DropBoxManager API slightly (this is public, but not yet released) --
take a File instead of a ParcelFileDescriptor (gets opened internally) --
that way the caller doesn't have to worry about closing their PFD and so on.
(Pretty much 100% of the time the caller will be uploading a file, anyway.)
ropBoxManager.java
b11832de735e95aac1a1b9e900dbbd8285cee3ad 25-Nov-2009 Mike Lockwood <lockwood@android.com> Add setAttentionLight() to IPowerManager for the Phone app.

Change-Id: Id7b9903e1efaf56a2336519a8653962b6ae2c13d
Signed-off-by: Mike Lockwood <lockwood@android.com>
PowerManager.aidl
726a570258828d85e401ab62fd4220812fe9344f 25-Nov-2009 Mike Lockwood <lockwood@android.com> resolved conflicts for merge of dfaf2e03 to master

Change-Id: I440d2042dd404a421789063e42102699fa33b7c0
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>
ardware.java
HardwareService.aidl
VibratorService.aidl
ibrator.java
a8529f68671a8a118751cb6ad577f44eaf076b96 18-Nov-2009 Oscar Montemayor <oam@google.com> Encrypted File Systems Project. Installer modifications.
Started to modify isntaller for data redirection to a secure location.
nvironment.java
4ddc2ed883e37d9bb45bc8551ea8d2cb11d1b434 23-Nov-2009 Mike Lockwood <lockwood@android.com> am fa351d38: am e5683369: Merge change I60dfecdc into eclair-mr2

Merge commit 'fa351d388d0441432f4e616ef87a5c97a088dd04'

* commit 'fa351d388d0441432f4e616ef87a5c97a088dd04':
Add window manager support for overriding button and keyboard backlight values.
fb73f79340375013225618a5d87f46b958f698ef 20-Nov-2009 Mike Lockwood <lockwood@android.com> Add window manager support for overriding button and keyboard backlight values.

The new backlightBrightness field works similarly as the existing WindowManager.LayoutParams.screenBrightness field

Needed for bugs:
b/2233655 (under low ambient light the touch keys remain illuminated during video playback and never timeout)
b/2221079 (Backlight for home/search/back/etc buttons should turn off when in dock in night mode)

Change-Id: I60dfecdc7bb653b0db38094464de651220b3d438
ocalPowerManager.java
347ed410c2e598c064a0ce4ef7236d84aada36d3 20-Nov-2009 Mike Lockwood <lockwood@android.com> am 9d633968: am 401a712e: IPowerManager: remove some unused methods.

Merge commit '9d633968ceb502e95f9785b169742624f72614f5'

* commit '9d633968ceb502e95f9785b169742624f72614f5':
IPowerManager: remove some unused methods.
401a712e3b3b41c77e79a130d7b07d653e18bcab 20-Nov-2009 Mike Lockwood <lockwood@android.com> IPowerManager: remove some unused methods.

Change-Id: I7c7fa7eaf6c99e723da20939c27fbc172ad51613
Signed-off-by: Mike Lockwood <lockwood@android.com>
PowerManager.aidl
ocalPowerManager.java
81e3048020e48cbc0e2b89084cb0b3d67860dbb3 20-Nov-2009 Doug Zongker <dougz@android.com> am 043c7276: am 6fd4e76c: fix bad link in javadoc that\'s breaking SDK build

Merge commit '043c72766248d0a4783c506fd4f604ed63e763d4'

* commit '043c72766248d0a4783c506fd4f604ed63e763d4':
fix bad link in javadoc that's breaking SDK build
6fd4e76ca1866772d125089e8f2e3f1d54fcae08 20-Nov-2009 Doug Zongker <dougz@android.com> fix bad link in javadoc that's breaking SDK build
owerManager.java
608620da67d697380eea2bd1ece346f4e05ffbb7 20-Nov-2009 Doug Zongker <dougz@android.com> am a7ad3f6c: am 50a21f4d: add reboot() method to PowerManager

Merge commit 'a7ad3f6c71ad6701fcaa6ecf75452563addb0dd0'

* commit 'a7ad3f6c71ad6701fcaa6ecf75452563addb0dd0':
add reboot() method to PowerManager
50a21f4d3b70360b36acad20e234c380654fd59f 19-Nov-2009 Doug Zongker <dougz@android.com> add reboot() method to PowerManager

In order to unbundle System Update, we need some to expose in the SDK
some way to reboot the device into recovery. Add a reboot() method to
PowerManager, protected by the android.permission.REBOOT permission.
PowerManager.aidl
owerManager.java
1c391ed88ce7a239d026353c2527f1cc2c9942bb 19-Nov-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of a82e7e24 to master
2b38a09f044ad0bb14db7360b352fcca612f49ac 19-Nov-2009 Dianne Hackborn <hackbod@google.com> am 23ef7b48: Fix most of issue #2271640: Fix wallpaper etc docs

Merge commit '23ef7b4836d66d31430fedee2aac36275bb30d4b' into eclair-mr2

* commit '23ef7b4836d66d31430fedee2aac36275bb30d4b':
Fix most of issue #2271640: Fix wallpaper etc docs
23ef7b4836d66d31430fedee2aac36275bb30d4b 19-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix most of issue #2271640: Fix wallpaper etc docs

Only thing remaining is the live wallpaper feature.

Change-Id: I8854c7978999d759bf618307f4f984c9c89d3fc8
uild.java
c1786f1697b3376585f1e59585b84781c9811f10 19-Nov-2009 repo sync <lockwood@android.com> am d28fcd5b: resolved conflicts for merge of efd91d7c to eclair-mr2-plus-aosp

Merge commit 'd28fcd5bb8e5734a12b83f7cefde759c009e7b6e'

* commit 'd28fcd5bb8e5734a12b83f7cefde759c009e7b6e':
Fixes for proximity sensor behavior:
efd91d7ce01c7bd538fb0ca66d9f5395352211f8 19-Nov-2009 Mike Lockwood <lockwood@android.com> am 03786b83: Merge change I813fdb7a into eclair

Merge commit '03786b83bd02f8dd8e1049d333fbfdee395ac965' into eclair-mr2

* commit '03786b83bd02f8dd8e1049d333fbfdee395ac965':
Fixes for proximity sensor behavior:
0e39ea83c5578e0d55e120c91ff7cfeeb0c1cb2f 18-Nov-2009 Mike Lockwood <lockwood@android.com> Fixes for proximity sensor behavior:

Add optional flag to Wakelock.release() to specify whether we should wait for proximity sensor to go negative before turning on the screen.
Clear the "waiting for proximity sensor to go negative" state when the power key is pressed.

Part of the fix for b/2243198 (Black screen lockup after ending call)

Change-Id: I813fdb7aa4192cd3384a25be9e59d7d4b90da53a
Signed-off-by: Mike Lockwood <lockwood@android.com>
PowerManager.aidl
owerManager.java
1d9a742cdfc295e6e1482a8b6f5bb7012b406850 15-Nov-2009 Dan Egnor <egnor@google.com> am c51e2793: am e3cfe2d9: Fix the SDK build.

Merge commit 'c51e279366ff7eed48d3256811381528692240d0'

* commit 'c51e279366ff7eed48d3256811381528692240d0':
Fix the SDK build.
e3cfe2d92868513c9524804a362c3c3c8b8cc4e5 15-Nov-2009 Dan Egnor <egnor@google.com> Fix the SDK build.
ropBoxManager.java
4c38ea650f37fda7ee930ed10d48c05b02b1bdf2 14-Nov-2009 Mike Lockwood <lockwood@android.com> am c104e1b3: am dc656339: am 991475a2: Merge change I0e419fcf into eclair

Merge commit 'c104e1b3912f1389848b0cc841866564d9314287'

* commit 'c104e1b3912f1389848b0cc841866564d9314287':
Add isScreenOn() to LocalPowerManager interface so we can call it from PhoneWindowManager
dc6563393789e90d75b44b9ce97c167863bf0771 14-Nov-2009 Mike Lockwood <lockwood@android.com> am 991475a2: Merge change I0e419fcf into eclair

Merge commit '991475a2e5dcb344299387521b52fb637d6b1e4d' into eclair-mr2

* commit '991475a2e5dcb344299387521b52fb637d6b1e4d':
Add isScreenOn() to LocalPowerManager interface so we can call it from PhoneWindowManager
746b3184bfe4973aa16055eff0adc89c7c77c7e2 13-Nov-2009 Mike Lockwood <lockwood@android.com> Add isScreenOn() to LocalPowerManager interface so we can call it from PhoneWindowManager

Needed for the fix for b/2260437 (device wakes itself back up when camera is last application running)

Change-Id: I0e419fcf05542df203eb3f127dde7a888416e86d
Signed-off-by: Mike Lockwood <lockwood@android.com>
ocalPowerManager.java
ddbc0107b76fde1ccca14e81817b49a7ae52820b 13-Nov-2009 Dianne Hackborn <hackbod@google.com> am 255ba31a: am 1ca191c2: am 1778776c: Fix issue #2258571: Fix build versions

Merge commit '255ba31a75d864d9c7278c9aceb542652b80d586'

* commit '255ba31a75d864d9c7278c9aceb542652b80d586':
Fix issue #2258571: Fix build versions
1ca191c2f7eb2be53d0f96117784ecafd888da73 13-Nov-2009 Dianne Hackborn <hackbod@google.com> am 1778776c: Fix issue #2258571: Fix build versions

Merge commit '1778776cf1349a5f275945c53edcd1454d58639c' into eclair-mr2

* commit '1778776cf1349a5f275945c53edcd1454d58639c':
Fix issue #2258571: Fix build versions
1778776cf1349a5f275945c53edcd1454d58639c 13-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2258571: Fix build versions

Update the definition of SDK 6, remove all new APIs from it.

Change-Id: Id96827f630ab46279d9ad8d3f7498e5515e0a688
uild.java
67abf57846168dd00fa951489c3d636e6016f3ce 12-Nov-2009 Dan Egnor <egnor@google.com> am 00556831: am f18a01c7: Rename [I]DropBox[Service] to [I]DropBoxManager[Service].

Merge commit '00556831f7503a922a5402c525b4387ebdd1a4bb'

* commit '00556831f7503a922a5402c525b4387ebdd1a4bb':
Rename [I]DropBox[Service] to [I]DropBoxManager[Service].
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.
ropBox.aidl
ropBox.java
ropBoxManager.aidl
ropBoxManager.java
7ebdc03a95c39b00cf8ce4d56e5f9aa78290ad62 10-Nov-2009 Bjorn Bringert <bringert@android.com> am e3dc9f49: am e8341ebb: am 2bb53754: Merge change Icaf932d0 into eclair

Merge commit 'e3dc9f491a8e9f9cdc6f7815be9ece4c87ebe8a4'

* commit 'e3dc9f491a8e9f9cdc6f7815be9ece4c87ebe8a4':
Fix code example in Parcelable javadoc
e8341ebbc672fb196e31cadbf5cf43770cec0525 10-Nov-2009 Bjorn Bringert <bringert@android.com> am 2bb53754: Merge change Icaf932d0 into eclair

Merge commit '2bb53754337225508f2b4d12f1575df7c226100c' into eclair-mr2

* commit '2bb53754337225508f2b4d12f1575df7c226100c':
Fix code example in Parcelable javadoc
2bb53754337225508f2b4d12f1575df7c226100c 09-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Icaf932d0 into eclair

* changes:
Fix code example in Parcelable javadoc
08c2fd1ecc5fcc2682d33c0ee62a208799182ec2 06-Nov-2009 Charles Mendis <cmendis@google.com> am 7e3873a0: am 6b07bf3d: am 3cba7288: Merge change I6ccd2ebc into eclair

Merge commit '7e3873a0d24453057850b408f17fa0e2e37ba0c7'

* commit '7e3873a0d24453057850b408f17fa0e2e37ba0c7':
Expose PowerManager.isScreenOn in the public api.
6b07bf3d8f8f9b5124c19f1206e11634a774c356 06-Nov-2009 Charles Mendis <cmendis@google.com> am 3cba7288: Merge change I6ccd2ebc into eclair

Merge commit '3cba72880b78b81cda2868136462c9e261a3e403' into eclair-mr2

* commit '3cba72880b78b81cda2868136462c9e261a3e403':
Expose PowerManager.isScreenOn in the public api.
322591cb4b158dc2edbc3d95cd02e44f132feb5f 29-Oct-2009 Charles Mendis <cmendis@google.com> Expose PowerManager.isScreenOn in the public api.

Change-Id: I6ccd2ebcbf3f8ad9ffa4b86a9c037cb0c25a7b78
PowerManager.aidl
owerManager.java
e5e5e5098e22de8ebe1b603f4e7ebccbad99d012 05-Nov-2009 Eric Olsen <eolsen@android.com> am 122f412a: am 76922b83: am 9053fdb3: Merge change I76127f6f into eclair

Merge commit '122f412a0177c54e32d52a23bf92b78aae4679f7'

* commit '122f412a0177c54e32d52a23bf92b78aae4679f7':
Add support for colored LED on jogball backlight.
76922b8378f235e79fd861ba846bed833199e59f 05-Nov-2009 Eric Olsen <eolsen@android.com> am 9053fdb3: Merge change I76127f6f into eclair

Merge commit '9053fdb32b38d1240d856bd6efedf72eefba48d3' into eclair-mr2

* commit '9053fdb32b38d1240d856bd6efedf72eefba48d3':
Add support for colored LED on jogball backlight.
f42f15cf450772d8eeb9c0c81a8403d33ffe1c9b 30-Oct-2009 Eric Olsen <eolsen@android.com> Add support for colored LED on jogball backlight.

Signed-off-by: Eric Olsen <eolsen@android.com>
HardwareService.aidl
a64f95639f54b9ae2ea49836add0cf8ee6cf9acf 02-Nov-2009 Jack Wang <jackwang@google.com> am af93c05c: am 227ba207: am e8228afb: Merge change I92cdc5ed into eclair

Merge commit 'af93c05c9a25018daf375094c8e697b83795b2d4'

* commit 'af93c05c9a25018daf375094c8e697b83795b2d4':
PerformanceCollector: Collect & report perf measurements in key/value form
227ba2072df1474a0b3abaae7c415f152d32bcc2 31-Oct-2009 Jack Wang <jackwang@google.com> am e8228afb: Merge change I92cdc5ed into eclair

Merge commit 'e8228afb2bd005ae25ce58719f9d678389b26a16' into eclair-mr2

* commit 'e8228afb2bd005ae25ce58719f9d678389b26a16':
PerformanceCollector: Collect & report perf measurements in key/value form
e8228afb2bd005ae25ce58719f9d678389b26a16 31-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I92cdc5ed into eclair

* changes:
PerformanceCollector: Collect & report perf measurements in key/value form
f267b947657a3c057d15650a39b98e7b2129bc70 29-Oct-2009 Dianne Hackborn <hackbod@google.com> am 9a27909e: am 40946aa2: am 1f668fff: Merge change Idb13ed9a into eclair

Merge commit '9a27909e754b8b2623bbc82a931c2930c033cbb1'

* commit '9a27909e754b8b2623bbc82a931c2930c033cbb1':
Add SDK version for MR1.
11e3364a6afd4e83cc60894031793dabcc6193a3 29-Oct-2009 Dan Egnor <egnor@google.com> am 473bbd21: am 95240270: 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 u

Merge commit '473bbd2140a2515a6a9a450ee955a790e0b6dcff'

* commit '473bbd2140a2515a6a9a450ee955a790e0b6dcff':
Instead of a raw AIDL interface, give DropBox a Java
40946aa20183984fd60f2dbdc7708cf1c5431047 29-Oct-2009 Dianne Hackborn <hackbod@google.com> am 1f668fff: Merge change Idb13ed9a into eclair

Merge commit '1f668fff8ad2b8d79d42da5d9667d308fa0b9441' into eclair-mr2

* commit '1f668fff8ad2b8d79d42da5d9667d308fa0b9441':
Add SDK version for MR1.
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.
ropBox.aidl
ropBox.java
ropBoxEntry.aidl
ropBoxEntry.java
DropBox.aidl
075997f12e2fb2b646172a92926be0f26f739099 28-Oct-2009 Jack Wang <jackwang@google.com> PerformanceCollector: Collect & report perf measurements in key/value form

- Added new functions to PerformanceCollector and PerformanceResultsWriter
- Modified unit tests to test new functionality and fix flakiness reported in
2218327 and 2118268
- Added PerformanceCollectorTest to small suite
erformanceCollector.java
d8919f07d10662e6b15cf6d73cddb167a144f0e7 28-Oct-2009 Bjorn Bringert <bringert@android.com> Fix code example in Parcelable javadoc

DOCS ONLY

The code example for android.os.Parcelable contained several errors:

- There was no type parameter for Parcelable.Creator (due to unescaped
< > in the javadoc comment).

- There was no implementation of describeContents().

- The semicolon after the CREATOR declaration was missing.

This change fixes all of the above.

Fixes issue http://b/issue?id=2221120

Change-Id: Icaf932d079573cc7699f1caa643aac49e85ccca0
arcelable.java
0fa35918af608b56fb3f6aa98341624e22447f92 23-Oct-2009 Dianne Hackborn <hackbod@google.com> Add SDK version for MR1.

Change-Id: Idb13ed9a35397effbfb72a934a7db5f5a882c79c
uild.java
bfd6d481fa6a7217cafa6d7760674ec927500b5a 23-Oct-2009 Andy McFadden <fadden@android.com> Add a reference table dump call.

This is just an android.os.Debug method that calls into the VM.

Bug 2075355
ebug.java
2a2805b7fbd25ee11ad554e33bf34dbb2e8b71c5 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib3b06fc3 into eclair-mr2

* changes:
It turns out to be useful to allow enumeration on a per-tag basis, and it's easy to support based on the data structures we have, so add a tag parameter to getNextEvent().
b3b06fc39b032288d33f663b687d78bec7f1d724 20-Oct-2009 Dan Egnor <egnor@google.com> It turns out to be useful to allow enumeration on a per-tag basis,
and it's easy to support based on the data structures we have, so
add a tag parameter to getNextEvent().
DropBox.aidl
b0f4d0cd249773927c891ab52505505b6b19347b 20-Oct-2009 Amith Yamasani <yamasani@google.com> am f37447ba: Proper fix for zero signal strength and no_service. Fixes #2176141

Merge commit 'f37447bad3773b62176baa837908daf6edb44273' into eclair-mr2

* commit 'f37447bad3773b62176baa837908daf6edb44273':
Proper fix for zero signal strength and no_service. Fixes #2176141
f37447bad3773b62176baa837908daf6edb44273 09-Oct-2009 Amith Yamasani <yamasani@google.com> Proper fix for zero signal strength and no_service. Fixes #2176141

Track phone service state changes and use a separate timer for out-of-service
since the hunting can timeout on some devices.

Store the timeout value in the config.xml, as it is device/network specific.

Settings App will also change to use the hunting duration to compute the cost
of zero signal.
atteryStats.java
2086152c1b60ad3bfe85c1ddc3871cff77e6da1b 16-Oct-2009 Mike Lockwood <lockwood@android.com> am f55aa972: Merge change I01935be3 into eclair

Merge commit 'f55aa972f9911c6aafc9fbdb736bdec11e004542' into eclair-mr2

* commit 'f55aa972f9911c6aafc9fbdb736bdec11e004542':
Remove PowerManager.setAutoBrightness()
dc3494e3d8e17aeb0dbbe41953a5ef763d95ff78 15-Oct-2009 Mike Lockwood <lockwood@android.com> Remove PowerManager.setAutoBrightness()

We will use the System.SCREEN_BRIGHTNESS_MODE Settings value instead.
Add SCREEN_BRIGHTNESS_MODE_MANUAL and SCREEN_BRIGHTNESS_MODE_AUTOMATIC constants.

Change-Id: I01935be3fcb48cf76392d2c594205cb47babc5b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
PowerManager.aidl
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.
ropBoxEntry.aidl
ropBoxEntry.java
DropBox.aidl
6dc3f4e553d333b9f115a222a9a684bb2aa55b5e 10-Oct-2009 Jeff Hamilton <jham@android.com> Now that Eclair has been defined as API revision 5 mark Build.VERSION_CODES.ECLAIR as such.

Change-Id: I45af1fe80f6f93a1db8389600dc780af9cedf22c
uild.java
4b057801d5a5a859c2f9a68230744a6b0939ae01 05-Oct-2009 Romain Guy <romainguy@android.com> Make sure AsyncTask sens a null result to onPostExecute() when cancelled.

This is in accordance to the documentation. This bug was approved by hackbod.
The change is safe and is a single line of code.

Change-Id: I9b771df3ae2aa4f496d15e6c43b677f3245539ac
syncTask.java
aef439e6f825c0cb99a2ac08c8207f48b7a9fe10 28-Sep-2009 Nick Pelly <npelly@google.com> Move android.bluetooth.ParcelUuid to android.os.ParcelUuid

Change-Id: I564429d5c5b6a5372b6ff26a53b0d7e518b53631
arcelUuid.aidl
arcelUuid.java
7609764295d1b3ec0b53d1ae536ee0280f5e0407 26-Sep-2009 Mike Cleron <mcleron@google.com> Fix 2146581: Make tabs work for donut apps
Use different tab assets with the original coloring scheme
for apps that are not Eclair-aware.
uild.java
e43530ab571e901f94361078c7c1f970a0bd27f2 21-Aug-2009 Amith Yamasani <yamasani@google.com> Track CPU speed stepping to get more accurate CPU cost per app.

More CPU speed stepping happening with newer devices, so we need
to qualify CPU time with the CPU speed, since power consumption
varies greatly by speed. Apps that peg the CPU should get a higher
penaltly.

Also, fix for 2062930: NPE at VolumePreference.onKey()
atteryStats.java
edd9316ca9b3b24d54e8a2468927da7e813098fc 19-Sep-2009 Dianne Hackborn <hackbod@google.com> Add better APIs for the battery status, and other cleanup.

Also add new configs for keeping screen on while docked, which will
be used elsewhere.

Change-Id: Ifaa1118f14fd850ac809895f9a5c9e8c413259b8
atteryManager.java
4f21c4cf077cfee5b35a56703618115614bc40f2 17-Sep-2009 Dianne Hackborn <hackbod@google.com> Add API to retrieve memory used by running processes.

Change-Id: I9c1935c2ef3c78bd67ec4dfd811a1caaab4514c3
ebug.java
237a29923a05663a2195bf93b392768dbaf31ebf 15-Sep-2009 Mike Lockwood <lockwood@android.com> Move backlight brightness from HardwareService to PowerManager

to prevent apps from changing the hardware behind its back.
Fixes b/2041941 Lock screen flashes the screen very bright before dimming

Change-Id: Ice757f7ae87902bdfb3634471cf44f020ebfaae4
Signed-off-by: Mike Lockwood <lockwood@android.com>
HardwareService.aidl
PowerManager.aidl
owerManager.java
4e3cdf854441b84c15fd9f127127b6d116834c51 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23619 into eclair

* changes:
Add automatic lighting control framework
951764b97010dfa073126f52b43ea1bdf1b35998 27-Aug-2009 Dan Murphy <D.Murphy@motorola.com> Add automatic lighting control framework

Add changes to have the ability to turn on and off the
automatic light sensing for the device. This is fully configurable
and is by default not present. Vendors should override the ALS setting
to enable the automatic lighting controls.

These changes will add a check box to the Brightness settings menu to give control
to the user to allow the device's display lighting to be controlled via the slide bar
or the auto lighting system.

If the user selects auto then the slide bar will become invisible. Manual mode
will present the slide bar to the user.

Change-Id: I146a6d75b99b08c9b839218ce6b85adf21f9fd73
Signed-off-by: Dan Murphy <D.Murphy@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
HardwareService.aidl
8d37426c754e9822feaa8c6cc0b7c13e8523e217 15-Sep-2009 Dianne Hackborn <hackbod@google.com> Various fixed for back key handling.

My last change was far from perfect. Hopefully this gets us
a little closer.

Change-Id: I413e55b6af42400b565de3040859d25d668bc9d2
uild.java
19382ac1a4e4e7c23a1346d299368763f149de9c 12-Sep-2009 Dianne Hackborn <hackbod@google.com> Some optizations to wallpaper drawing/scrolling.

First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off. We take of dithering
when loading, to make sure we don't use it when drawing.

Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable. As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.

Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset. This ensures
that the wallpaper better tracks the application. Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.

Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
andlerThread.java
ff1df69dd4835c177c724e1b5f1ba02d1f674047 27-Aug-2009 Jack Wang <jackwang@google.com> Performance measurement framework:

+ For bug 1810508
- Added PerformanceCollector class to collect runtime and memory usage data
* Moved performance snapshotting from Intrumentation to PerformanceCollector
- Added PerformanceResultsWriter interface which defines functions for
reporting performance data

+ Framework integration
- Added TimedTest annotation to automatically time tests and write results
to instrumentation output
- Modified PerformanceTestBase to add collection hooks and wrapper methods
- Modified WatcherResultPrinter in InstrumentationTestRunner to implement
PerformanceResultsWriter for instrumentation output of performance data
- Modified InstrumentationTestRunner and AndroidTestRunner to pass writer
instance to test
erformanceCollector.java
d42685d5de1dbd6d75b48d42418f370adaa4daef 03-Sep-2009 Mike Lockwood <lockwood@android.com> Add support for running apps with uid/gid AID_LOG by specifying android.uid.log in the manifest

This is needed to allow the BugReportService to start the dumpstate service.

Change-Id: I12cab23767c919592da102c654b6b80416717661
Signed-off-by: Mike Lockwood <lockwood@android.com>
rocess.java
3025ef332c29e255388f74b2afefe05f64bce07c 01-Sep-2009 Dianne Hackborn <hackbod@google.com> Various infrastructure to support a running services UI.

Some of this is temporary (in particular the two approaches for getting
process memory, one working but horrible, the other not working but
preferred) until I figure out the best way to do it.

Change-Id: I8c8f25062d481fcea22a47d459b083d2fd8a5040
ebug.java
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
uild.java
andlerStateMachine.java
f6f9f2d0256930ce0bb4913b2260b8480914edc2 22-Aug-2009 Dianne Hackborn <hackbod@google.com> Add more control over a service's start state.

One of the problems I have been noticing is background services
sitting around running and using resources. Some times this is
due to the app developer doing this when they shouldn't, but there
are also a number of issues with the current Service interaction
model that make it very difficult (or impossible) to avoid
getting services stuck in the started state. This is a
change/enhancement to the Service API to try to address this.

The main change is that Service.onStart() has been deprecated,
replaced with a new Service.onStartCommand() that allows the
service to better control how the system should manage it. The
key part here is a new result code returned by the function, telling
the system what it should do with the service afterwards:

- START_STICKY is basically the same as the previous behavior,
where we usually leave the service running. The only difference
is that it if it gets restarted because its process is killed,
onStartCommand() will be called on the new service with a null
Intent instead of not being called at all.

- START_NOT_STICKY says that, upon returning to the system, if
its process is killed with no remaining start commands to
deliver, then the service will be stopped instead of restarted.
This makes a lot more sense for services that are intended to
only run while executing commands sent to them.

- START_REDELIVER_INTENT is like START_NOT_STICKY, except if
the service's process is killed before it calls stopSelf()
for a given intent, that intent will be re-delivered to it
until it completes (unless after 4 or more tries it still
can't complete, at which point we give up).

Change-Id: I978f5ca420d70023d1b5e7f97de639d09381f8ad
uild.java
04bfa42078020de663747c9110a14c0529481fe6 13-Aug-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 6550076f to master
fe77ec8e0881963714b2464efad9514d921d089a 13-Aug-2009 Dianne Hackborn <hackbod@google.com> The DONUT constant also needs to be updated to the official SDK version.

Also remove all of the resource value padding.
uild.java
d1945950451220932f70bac83408c761dcba231f 12-Aug-2009 Mike Lockwood <lockwood@android.com> SystemProperties: eliminate unnecessary string allocation.

getInt(), getLong() and getBoolean() no longer allocate a temporary String object.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ystemProperties.java
37296dc4edae8d1383179e956dff2ecf806ac166 01-Aug-2009 Joe Onorato <joeo@android.com> Update docs.
ystemClock.java
9bb8fd77c8dc177aab9ac96bed4f55972dcda70a 29-Jul-2009 Joe Onorato <joeo@android.com> Only restore the bits for wallpapers that aren't built in.
ileObserver.java
bc706a03a25f0dfe2cb0ecd1f6e4f7be905592a7 27-Jul-2009 Mike Lockwood <lockwood@android.com> PowerManager: Add proximity sensor support.

Add new wakelock flag PROXIMITY_SCREEN_OFF_WAKE_LOCK.
If you create a wakelock with this flag, while the wakelock is acquired,
the screen will turn off automatically when the sensor detects an object close to the screen.
Removing the object will cause the screen to wake up again.

Added PowerManager.getSupportedWakeLockFlags(), which can be used to determine
if proximity screen off wakelocks are supported by the hardware.

Signed-off-by: Mike Lockwood <lockwood@android.com>
PowerManager.aidl
owerManager.java
a695d185f11b2b03ecf0e0f796621fb00bfe7855 21-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ef1a92ab: Merge change 7961 into donut

Merge commit 'ef1a92abe1bebe4feba4ba33cd0c7e25ee83fcc0'

* commit 'ef1a92abe1bebe4feba4ba33cd0c7e25ee83fcc0':
Bluetooth at command tracking.
3f7e35c2c7d3d7f08f50c1d93cd16b1f49354ccc 14-Jul-2009 Amith Yamasani <yamasani@google.com> Bluetooth at command tracking.
atteryStats.java
0bca96bcbfe559f9330a01f723c5c9cba51ec05a 17-Jul-2009 Marco Nelissen <marcone@google.com> Make Process.getFreeMemory() return a long instead of an int, to better
work on the simulator now, and phones 2 years from now.
rocess.java
dace230043314d6fab1c5ced4b031eaccd814c25 14-Jul-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of b06ea706 to master
b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0 13-Jul-2009 Dianne Hackborn <hackbod@google.com> Add reporting of activity movement for search manager.

This adds a new API with the activity manager to find out about movement between
activities. For my sanity, the old IActivityWatcher is now renamed to
IActivityController, and the new activity movement interface is named
IActivityWatcher.

This changes the search manager itself to use the new API to manage its state.
Note that there are still problems when going back to the search dialog after
it was hidden -- the suggestions window no longer appears until you explicitly
dismiss and re-show it.
emoteCallbackList.java
54a26bc85f4fe972e929e42b986c65a710a229b3 11-Jul-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 889c2d37 to master
854060af30f928c0a65591e9c8314ae17056e6b8 10-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix bug #1873249i: Apps can DoS/brick device

This is the problem where various things are listening for broadcasts
(such as battery status, PIN/PUK/Network) that an application can send
to cause harm to the system.

Solving this is tricky because many of these broadcasts are sticky,
and I have never figured out how to do permissions with sticky
broadcasts in a sane way. So instead, I am going to punt on the
general problem and just brute force it:

There is new a way for system components to declare specific
broadcast actions to be protected, which means that only the system
and the phone can send them. This is good enough for now. None
of it is exposed in the public API so we can make something a little
less stupid in the future if we ever need to.
rocess.java
c6f81c6716c634317c69343fc2fd9a2fe6a2c034 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am d1e5e3ff: Merge change 6639 into donut

Merge commit 'd1e5e3ffc22478bad8525dec4f1c6d57fe0ad368'

* commit 'd1e5e3ffc22478bad8525dec4f1c6d57fe0ad368':
Restore audio settings and wifi.
d158214511a3c04753de04fa6389e46d33135c38 09-Jul-2009 Amith Yamasani <yamasani@google.com> Restore audio settings and wifi.

Optimize backups by writing an entity only if the checksum of the data has changed.
Call into the hidden AudioService API to apply changed audio settings.
After restoring wifi data, make sure that the permissions and ownership are set
properly for the supplicant process to access it.
Locale isn't restoring properly - TODO added.
rocess.java
18dd5f0d25f1004e123dc265dc498a8bf8897af9 02-Jul-2009 Patrick Scott <phanna@android.com> Improve the Vibrator service by keeping track of multiple vibration requests.

There are 2 types of vibrations: simple and repeated. Simple vibrations run for
a given length of time while repeated patterns run until canceled or the calling
process dies.

If a vibration is currently running and another request is issued, the newer
request always takes precedence unless the current vibration is a simple one and
the time left is longer than the new request.

If a repeating vibration is running and a new request overrides that vibration,
the current vibration is pushed onto a stack. Once the new vibration completes,
the previous vibration resumes. IBinder tokens are used to identify Vibration
requests which means that multiple calls to Vibrator.vibrate with the same
Vibrator object will override previous vibrations on that object.
HardwareService.aidl
ibrator.java
5ceae67f8a053ec4f47accf6e0ddad2d29af022c 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 040441fa: Merge change 5529 into donut

Merge commit '040441fa992bcfc11070d559bfceeb039667b382'

* commit '040441fa992bcfc11070d559bfceeb039667b382':
Tweak the core and maximum pool sizes for AsyncTask.
a9be47cea45c19f2869732252e9922bf88fa4d86 26-Jun-2009 Romain Guy <romainguy@android.com> Tweak the core and maximum pool sizes for AsyncTask.

This change allows up to 5 AsyncTasks to run concurrently. Before, only 1 task
could run at a time, which was too limited. This change also bumps up the maximum
number of tasks that can be created; this large number is not an issue because
tasks are queued up and run only 5 at a time.
syncTask.java
2383415ab982ff156a85929f58029c0b863750c5 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am f881762f: Merge change 5351 into donut

Merge commit 'f881762f97c74253bbc7f629380bb65739457041'

* commit 'f881762f97c74253bbc7f629380bb65739457041':
Add a method to Process to get uid for a pid.
819f928f6a9dc3fdf408236f33e17f03a7dfed2c 25-Jun-2009 Amith Yamasani <yamasani@google.com> Add a method to Process to get uid for a pid.

Use the uids to track native processes. Cache the uids to avoid
checking /proc every time.
rocess.java
afed82bca9e173cabe2c2f25314b202e5c1ccbca 25-Jun-2009 Dianne Hackborn <hackbod@google.com> am 9c8dd55a: Fix bug 1829561 ("am profile" with bad filename kills process).

Merge commit '9c8dd55a9d829c29a3feee9469d8c2f27a9f5516'

* commit '9c8dd55a9d829c29a3feee9469d8c2f27a9f5516':
Fix bug 1829561 ("am profile" with bad filename kills process).
9c8dd55a9d829c29a3feee9469d8c2f27a9f5516 24-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix bug 1829561 ("am profile" with bad filename kills process).

The am command is now the one that takes care of opening the target file,
handling the opened file descriptor to the process that will be profiled.
This allows you to send profile data to anywhere the shell can access, and
avoids any problems coming up from the target process trying to open the
file.
ebug.java
ec100900e63a8374ac010e7131d9c7e54c5e6984 17-Jun-2009 Marco Nelissen <marcone@google.com> MemoryFile.isMemoryFile was internally determining the length of
the ashmem region. This is actually useful information to have,
so expose that more directly.
emoryFile.java
138197f961b671ff5b48785b0fe61477ebfc7627 04-Jun-2009 Amith Yamasani <yamasani@google.com> am eaeb663b: Track activity foreground CPU usage for battery stats.

Merge commit 'eaeb663bcd7a82b654954b42663232cbd7bef7e7'

* commit 'eaeb663bcd7a82b654954b42663232cbd7bef7e7':
Track activity foreground CPU usage for battery stats.
eaeb663bcd7a82b654954b42663232cbd7bef7e7 04-Jun-2009 Amith Yamasani <yamasani@google.com> Track activity foreground CPU usage for battery stats.

Track the foreground CPU time of an activity so that we can tell if apps are
spending more time in the background compared to foreground.
Update power profile values for screen backlight and GPS.
Fix some javadoc bugs (milliseconds vs. microseconds).
atteryStats.java
b15a5348e6586c143bd7027574f7574433874131 03-Jun-2009 Bjorn Bringert <bringert@android.com> am c1823701: Handle EOF correctly in MemoryFile input stream.

Merge commit 'c1823701cc76790494fb622fe58f0942236cd7d0'

* commit 'c1823701cc76790494fb622fe58f0942236cd7d0':
Handle EOF correctly in MemoryFile input stream.
c0cbfda0fe0184bbb282bde4d894e2ff210c0e47 03-Jun-2009 Bjorn Bringert <bringert@android.com> am 963cd006: Allow creating AssetFileDescriptors for MemoryFiles.

Merge commit '963cd006c45716b034f656bf7e7179e6476f7e4d'

* commit '963cd006c45716b034f656bf7e7179e6476f7e4d':
Allow creating AssetFileDescriptors for MemoryFiles.
c1823701cc76790494fb622fe58f0942236cd7d0 01-Jun-2009 Bjorn Bringert <bringert@android.com> Handle EOF correctly in MemoryFile input stream.

Before, the variants of MemoryFile.MemoryInputStream.read() would throw
IOException or IndexOutOfBoundsException if EOF was encountered
before the requested number of bytes was read. This violates
the contract of InputStream.read().

This patch makes read() return the number of bytes available, if any.
If already at EOF, -1 is returned. The patch also adds new tests,
which checks cases where MemoryFile.MemoryInputStream.read()
should throw IndexOutOfBoundsException or return -1. several of these
tests failed with the old code and pass now.

This fixes http://b/issue?id=1881894
emoryFile.java
963cd006c45716b034f656bf7e7179e6476f7e4d 29-May-2009 Bjorn Bringert <bringert@android.com> Allow creating AssetFileDescriptors for MemoryFiles.

This allows content providers to use in-memory data to implement
ContentProvider.openAssetFile(), instead of just normal files
and sockets as before.

To test cross-process use of AssetFileDescriptors for MemoryFiles,
a test content provider and a client for it are added to
AndroidTests.

Fixes http://b/issue?id=1871731
emoryFile.java
7c49790cde0acb494b6e8980662842c95dd8859a 01-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 162c9d0e: Merge change 2805 into donut

Merge commit '162c9d0e90eaa71adc8c7d1456d1a9a95e638c47'

* commit '162c9d0e90eaa71adc8c7d1456d1a9a95e638c47':
base: Rename WRITE_SDCARD -> WRITE_EXTERNAL_STORAGE
5a3a77dabd744d5be79d7745c2a977c108a9ad98 01-Jun-2009 San Mehat <san@google.com> base: Rename WRITE_SDCARD -> WRITE_EXTERNAL_STORAGE

Signed-off-by: San Mehat <san@google.com>
uild.java
0ad6dc0ebc5c6c92b4f1e9eed427efce7b46de09 29-May-2009 Bjorn Bringert <bringert@android.com> am 761e0918: Unmap memory in MemoryFile.close().

Merge commit '761e0918d30b6a3f292625b44b86dffd1538bc78'

* commit '761e0918d30b6a3f292625b44b86dffd1538bc78':
Unmap memory in MemoryFile.close().
761e0918d30b6a3f292625b44b86dffd1538bc78 29-May-2009 Bjorn Bringert <bringert@android.com> Unmap memory in MemoryFile.close().

As reported in http://b/issue?id=1398215 MemoryFile did not
munmap(2) the ashmem region after closing it. This
causes the process to leak virtual address space.

This change fixes the problem by calling munmap(2) in
close(). The unmapping is done by a helper method deactivate().
The change also replaces the use of an int for the
file descriptor with a FileDescriptor object to
make sure that we keep track of when the file descriptor
has been closed. I chose to implement it this way because I
will need decativate() and a FileDescriptor object in an
upcoming change that allows sending MemoryFile file
descriptors between processes.

The change also adds a number of tests for the behavior
of close(). The testCloseRead() and testCloseWrite() fail
with the old MemoryFile implementation, and testCloseLeak()
causes a segfault. They all pass now.
emoryFile.java
0c66b4bcfb5a1c477f549d846a20ec0dc380dde2 29-May-2009 Bjorn Bringert <bringert@android.com> am 9fc2e9c9: MemoryFile constructor and native methods throw IOExceptions.

Merge commit '9fc2e9c965c68d56a0caf812f7f6d38d15317063'

* commit '9fc2e9c965c68d56a0caf812f7f6d38d15317063':
MemoryFile constructor and native methods throw IOExceptions.
9fc2e9c965c68d56a0caf812f7f6d38d15317063 28-May-2009 Bjorn Bringert <bringert@android.com> MemoryFile constructor and native methods throw IOExceptions.

These native methods in android.os.MemoryFile throw IOException but their
Java declarations did not include "throws IOException":
native_open(),native_mmap(),native_read(),native_write(),native_pin()

The MemoryFile(String,int) constructor calls native_open and
native_mmap, but does not declare that it throws IOException. The other
Java methods that call the native methods do actually declare that they
throw IOException.

This means that any code that created memory files could throw
an IOException, without knowing about it.

This changes adds "throws IOException" to the native methods and to
the constructor. The constructor change changes the public API, but
maintains binary compatibility. There is some precedent for making
source incompatible source API changes for this sort of thing
(see https://mondrian.corp.google.com/changelist/124214-p9).

The change also makes the native methods static, which
they seem to have been intended to be, as indicated by the
second parameter to the native implementations being named
"clazz".

This requires changes to the Compatibility Test Suite to catch the exceptions.
This is done in https://android-git.corp.google.com/g/2617
Unfortunately that change must be submitted together with this one in order
not to break the build.

Fixes http://b/issue?id=1881829
emoryFile.java
a742dc421bd17117ec802b944190a1c731e05a91 23-May-2009 Android (Google) Code Review <android-gerrit@google.com> am fea1a459: Merge change 2364 into donut

Merge commit 'fea1a459aaebc5fd66b12520312ddbe09547f094'

* commit 'fea1a459aaebc5fd66b12520312ddbe09547f094':
Initial checkin for App Fuel Gauge infrastructure.
fea1a459aaebc5fd66b12520312ddbe09547f094 23-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2364 into donut

* changes:
Initial checkin for App Fuel Gauge infrastructure.
385bb79ebb436e5672915eac2fc1a4fcdedf88b6 23-May-2009 Dianne Hackborn <hackbod@google.com> am b181118b: Define TARGET_CPU_ABI for finding native code in .apks

Merge commit 'b181118b6e58c0014da4e9d52bf38548adc73a8a'

* commit 'b181118b6e58c0014da4e9d52bf38548adc73a8a':
Define TARGET_CPU_ABI for finding native code in .apks
b181118b6e58c0014da4e9d52bf38548adc73a8a 22-May-2009 Dianne Hackborn <hackbod@google.com> Define TARGET_CPU_ABI for finding native code in .apks
uild.java
9f7d60cbfaa40bd78c0f4d5d4e3b8e8cf257e87a 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> am d50a458b: Merge change 2351 into donut

Merge commit 'd50a458bb291801ab9fdc119301bc7b84b42a6e3'

* commit 'd50a458bb291801ab9fdc119301bc7b84b42a6e3':
Fix a major bug in Bundle when unparcelling from AIDL.
244fa5c05b2cc8c4c0754aeed4ee42c588ea89d1 22-May-2009 Amith Yamasani <yamasani@google.com> Initial checkin for App Fuel Gauge infrastructure.

This adds the PowerProfile class and data file that provides power consumption numbers
for different subsystems. Also added Audio/Video subsystems to track on a per UID basis.
atteryStats.java
6aff905048ba3b03724f17e2aba9089872e14cd2 22-May-2009 Dianne Hackborn <hackbod@google.com> Fix a major bug in Bundle when unparcelling from AIDL.

There was a serious problem in the Bundle(Parcel) and readFromParcel() methods,
where it wasn't doing the copying of the Parcel that Parcel.readBundle() does
and is a basic requirement for it to work correctly.

This re-arranges the code to make all of these functions (hopefully) correct.

Also fix a problem in Parcel where we were not duping fds when copying data from
one Parcel to another.
undle.java
arcel.java
9d248d4ab4ae0923dcd5c61fafb99ffa8d65d1d7 20-May-2009 Dianne Hackborn <hackbod@google.com> am d62ad4f1: Fix issue #1859814: Add android.os.Build.MANUFACTURER

Merge commit 'd62ad4f120e92fd597f44caf125ac853ac0ea11c'

* commit 'd62ad4f120e92fd597f44caf125ac853ac0ea11c':
Fix issue #1859814: Add android.os.Build.MANUFACTURER
d62ad4f120e92fd597f44caf125ac853ac0ea11c 20-May-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1859814: Add android.os.Build.MANUFACTURER
uild.java
e27a8c9b1e85f889d984d74f92801b328f33dfcd 20-May-2009 San Mehat <san@google.com> am 3e458241: process: Add setProcessGroup() hidden API call to set the cgroup of a process and all its child threads.

Merge commit '3e458241d9930465a20a861ecb42744355d48e48'

* commit '3e458241d9930465a20a861ecb42744355d48e48':
process: Add setProcessGroup() hidden API call to set the cgroup of
3e458241d9930465a20a861ecb42744355d48e48 19-May-2009 San Mehat <san@google.com> process: Add setProcessGroup() hidden API call to set the cgroup of
a process and all its child threads.

Signed-off-by: San Mehat <san@google.com>
rocess.java
62da8461ed5317fe78ae5e3793662694e7fc99a3 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
uild.java
53071d6d159f6dfd6fe0328a39bcf967ef308a64 14-May-2009 Michael Chan <mchan@android.com> Added LatencyTimer to ease latency measurements

new file: core/java/android/os/LatencyTimer.java
modified: core/java/android/view/MotionEvent.java
modified: core/java/android/view/ViewRoot.java
modified: services/java/com/android/server/InputDevice.java
modified: services/java/com/android/server/KeyInputQueue.java
modified: services/java/com/android/server/WindowManagerService.java
atencyTimer.java
a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
uild.java
aa2b7237d1e8c0c833fc19cd9d25a8d3700244a4 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 2a5cfe51: Merge change 1590 into donut

Merge commit '2a5cfe519298702ef71ff8755b14f8daf6a92b2a'

* commit '2a5cfe519298702ef71ff8755b14f8daf6a92b2a':
Add wifi multicast filter api (enable/disable).
a9e0bdbbd06c90c8f79ef6d59afedc1401c4926f 14-May-2009 Romain Guy <romainguy@android.com> am d4103d0d: Fix the build

Merge commit 'd4103d0d143f3774a2fc9e35afb0fffc2160d7fc'

* commit 'd4103d0d143f3774a2fc9e35afb0fffc2160d7fc':
Fix the build
a64b860749ad7e5f9e887013d87b56b928c5d405 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am aa642c0c: Merge changes 1591,1596 into donut

Merge commit 'aa642c0cc20293137376d44f8221876c121e5be9'

* commit 'aa642c0cc20293137376d44f8221876c121e5be9':
Get the backup calling through to the file backup helper.
Fix typos.
Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
Add Intent.ACTION_APP_ERROR
2a5cfe519298702ef71ff8755b14f8daf6a92b2a 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1590 into donut

* changes:
Add wifi multicast filter api (enable/disable). Fixes 1833432. Automatically re-disables any request when the app exits/crashes. Also hooked into Battery Stats for power managment analysis.
d4103d0d143f3774a2fc9e35afb0fffc2160d7fc 14-May-2009 Romain Guy <romainguy@android.com> Fix the build
ebug.java
c4b11a79fb164310af03c1190622fe52e3695d2b 14-May-2009 Romain Guy <romainguy@android.com> Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
ebug.java
5347bd4cda2b6afc18f8acab48e52131f35ed13c 14-May-2009 Robert Greenwalt <robdroid@android.com> Add wifi multicast filter api (enable/disable).
Fixes 1833432. Automatically re-disables any request when the app
exits/crashes. Also hooked into Battery Stats for power managment analysis.
atteryStats.java
849e89c94d206d9723fd5635ed6e7a69814849e3 09-May-2009 Dianne Hackborn <hackbod@google.com> am 851a541: Implement targetSdkVersion and maxSdkVersion, plus version c

Merge commit '851a54143c15a1c33361efae2db3f7f45059b472'

* commit '851a54143c15a1c33361efae2db3f7f45059b472':
Implement targetSdkVersion and maxSdkVersion, plus version code names.
851a54143c15a1c33361efae2db3f7f45059b472 08-May-2009 Dianne Hackborn <hackbod@google.com> Implement targetSdkVersion and maxSdkVersion, plus version code names.

This adds new attributes for specifying a targetSdkVersion and maxSdkVersion.
There is a new ApplicationInfo flag that is set if the application has set
its targetSdkVersion to the current platform or later. Also you can now
use a string for minSdkVersion and targetSdkVerion, to indicate you are
building against a development tree instead of an official platform.
uild.java
3531fdb1d9a0ca536bd7a7a27d35b3e62c318ad9 08-May-2009 The Android Open Source Project <initial-contribution@android.com> merge 55280a9

Merge commit '55280a9'
55280a91884b9256e8db6af6a09f28b3feeaa9d8 08-May-2009 Dianne Hackborn <hackbod@google.com> Improve shutdown process to send broadcast for applications.

This introduces a new class in the base platform for performing a clean
shutdown (which was copied from the classes in the policies). It
includes new features to send a shutdown broadcast for applications
to do cleanup, and ot have the activity manager pause the current
activity before proceeding with the shutdown. These facilities are
also use to write at the most recent stat files for sync, battery
and user activity.
ower.java
7a1355950172b7a549820e9a2cd4a9b2099ec32f 06-May-2009 Dianne Hackborn <hackbod@google.com> merged 231cc608d06ffc31c24bf8aa8c8275bdd2636581
231cc608d06ffc31c24bf8aa8c8275bdd2636581 28-Apr-2009 Dianne Hackborn <hackbod@google.com> Rewrite SyncStorageEngine to use flat files and in-memory data structures.

The previous implementation used a database for storing all of its state, which could cause
a significant amount of IO activity as its tables were updated through the stages of a sync.
This new implementation replaces that in-memory data structures, with hand-written code
for writing them to persistent storage.

There are now 4 files associated with this class, holding various pieces of its state that
should be consistent. These are everything from a main XML file of account information that
must always be retained, to a binary file of per-day statistics that can be thrown away at
any time. Writes of these files as scheduled at various times based on their importance of
the frequency at which they change.

Because the database no longer exists, there needs to be a new explicit interface for
interacting with the sync manager database. This is provided by new APIs on IContentService,
with a hidden method on ContentResolver to retrieve the IContentService so that various
system entities can use it. Other changes in other projects are required to update to the
new API.

The goal here is to have as little an impact on the code and functionality outside of
SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.
emoteCallbackList.java
d52d8dee7768e04b936b8df86028823bdc5b1dc6 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 2c9eec6: Merge change 952 into donut

Merge commit '2c9eec6b1d072a665b17dd4285260aa4d4fadcf4'

* commit '2c9eec6b1d072a665b17dd4285260aa4d4fadcf4':
Debug: Minor cleanup
e9bfd9b873fcce4fad31c99f51a14449ee074c6b 04-May-2009 Dave Bort <dbort@android.com> Debug: Minor cleanup

Address crazybob's comments.

Avoid referring to a static in one of the helper methods.
ebug.java
c34c8c6fa1164576cfbe5db5fce9fda458aae18e 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 7ff9436: Merge change 911 into donut

Merge commit '7ff943673e48a912eb7cc5add08e206c2c25d68e'

* commit '7ff943673e48a912eb7cc5add08e206c2c25d68e':
Debug: Add setPropertiesOn(), and @hide it for now
7ff943673e48a912eb7cc5add08e206c2c25d68e 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 911 into donut

* changes:
Debug: Add setPropertiesOn(), and @hide it for now
bf61e19b64cab7df4367c7c4db0d374b814683a5 04-May-2009 Romain Guy <romainguy@android.com> am 6a1ae64: Fix another HTML formatting in android.os.AsyncTask

Merge commit '6a1ae64f7735a3817713a223096bf8034f78a620'

* commit '6a1ae64f7735a3817713a223096bf8034f78a620':
Fix another HTML formatting in android.os.AsyncTask
61cf54d3a0169cbb17c36bf32cfc5d8d6fba4532 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 8d121ce: Merge change 917 into donut

Merge commit '8d121ce945204e96d90d3338ecafe637b0494ed8'

* commit '8d121ce945204e96d90d3338ecafe637b0494ed8':
Fix HTML formatting in android.os.AsyncTask
6a1ae64f7735a3817713a223096bf8034f78a620 03-May-2009 Romain Guy <romainguy@android.com> Fix another HTML formatting in android.os.AsyncTask
syncTask.java
b97aec64be8a3f8c37b1735c981167b958d39403 03-May-2009 Romain Guy <romainguy@android.com> Fix HTML formatting in android.os.AsyncTask
syncTask.java
1ce5bd34632e91a928aa12a30b1c160a35db033b 23-Apr-2009 Dave Bort <dbort@android.com> Debug: Add setPropertiesOn(), and @hide it for now

This lets a caller reflectively set the static fields of a class
based on debug build properties.

Signed-off-by: Dave Bort <dbort@android.com>
ebug.java
d1d2af6846156e9deddac7a256e6c3b756073267 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 3eab744: Merge change 376 into donut

Merge commit '3eab744d018924189b1b8f5530accd52e91213de'

* commit '3eab744d018924189b1b8f5530accd52e91213de':
Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background
137b0c9d6430ccb519c82a1198048cf413e06c5e 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 0b8ffd1: Merge change 460 into donut

Merge commit '0b8ffd17bc6641fc522db3e842a868b6cdbf6d82'

* commit '0b8ffd17bc6641fc522db3e842a868b6cdbf6d82':
More optimization of dumpsys output.
3eab744d018924189b1b8f5530accd52e91213de 27-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 376 into donut

* changes:
Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background
e9d376b801b7890b1ef5006ed55de4208e64bb63 21-Apr-2009 San Mehat <san@google.com> Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background

Signed-off-by: San Mehat <san@google.com>
rocess.java
1d442e0d990b581357f33f5463c7c5cb49b551e8 21-Apr-2009 Dianne Hackborn <hackbod@google.com> More optimization of dumpsys output.

There are three major classes of changes here:

- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
atteryStats.java
74e258d63eccef41da923adad47bd2b20056aa5f 19-Apr-2009 Evan Millar <> AI 146854: am: CL 146853 Add kernel wakelock data to batteryinfo dump.
Original author: emillar

Automated import of CL 146854
atteryStats.java
rocess.java
c64edde69d18498fb2954f71a546357b07ab996a 18-Apr-2009 Evan Millar <> AI 146853: Add kernel wakelock data to batteryinfo dump.
BUG=1755458

Automated import of CL 146853
atteryStats.java
rocess.java
935ae463d495d41155e27feb849768ad2b8b16db 14-Apr-2009 Dianne Hackborn <> AI 145994: Integrate #145778 from Donut.

Automated import of CL 145994
ooper.java
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
ooper.java
599c918d9794b51992de85b42befa0c71d9ec07f 08-Apr-2009 Andy McFadden <> AI 144931: Added a (hidden) way to "pre-cache" register maps.
The 50 methods that appeared on the GC stacks of the most applications
require 13KB of native heap for their uncompressed register maps, and
the full set took 5ms to uncompress. Pre-computation doesn't represent
a significant improvement in space or time, at the cost of a big pile
of strings in ZygoteInit.
I'm leaving the method in ZygoteInit, but it's not called, and the
static final String[] of method descriptors is empty. We may want to
revisit this later.
BUG=1729570

Automated import of CL 144931
ebug.java
8fd3a039f8e8cfd9d2d46a3853901e30b19c30c0 03-Apr-2009 Evan Millar <> AI 144417: am: CL 144379 Make checkin batteryinfo dump more terse
Original author: emillar

Automated import of CL 144417
atteryStats.java
0ba31ed95ed7ac9b5627973f0bb1b5d9147ea95f 03-Apr-2009 Evan Millar <> AI 144410: am: CL 144333 Change the way the battery level tracking code works in BatteryStats. Before we simply kept track of the last
2 levels as recorded at plug and unplug events. During charge cycles this would be useful because it would tell us
what the start and end levels were in the last discharge cycle. However during a discharge cycle this information could
be misleading as it would give you the level at the last unplug event (beginning the the discharge cycle) and last plug
event (end of the previous discharge cycle).
Now we are still keeping track of 2 values, but they are "discharge cycle start level" and "discharge cycle current level".
During a discharge cycle this will give you the level the current discharge cycle started at, and the current level. During
a charge cycle the same data will be supplied as before (the start/end of the last discharge cycle).
Original author: emillar

Automated import of CL 144410
atteryStats.java
e84de8d702bd26fb1e5b55f3cfdd953d8a31ec22 03-Apr-2009 Evan Millar <> AI 144379: Make checkin batteryinfo dump more terse
BUG=1755458

Automated import of CL 144379
atteryStats.java
633a1740ce5951ccb5d478ba2795f6f4fada1646 03-Apr-2009 Evan Millar <> AI 144333: Change the way the battery level tracking code works in BatteryStats. Before we simply kept track of the last
2 levels as recorded at plug and unplug events. During charge cycles this would be useful because it would tell us
what the start and end levels were in the last discharge cycle. However during a discharge cycle this information could
be misleading as it would give you the level at the last unplug event (beginning the the discharge cycle) and last plug
event (end of the previous discharge cycle).
Now we are still keeping track of 2 values, but they are "discharge cycle start level" and "discharge cycle current level".
During a discharge cycle this will give you the level the current discharge cycle started at, and the current level. During
a charge cycle the same data will be supplied as before (the start/end of the last discharge cycle).
B=144249

Automated import of CL 144333
atteryStats.java
84d8d693bd79082069d1781284213030006841b7 02-Apr-2009 Jack Palevich <> AI 144129: Remove hidden class android.os.Exec.
Change BugReportService to use java.os.ProcessBuilder instead.
Remove unused import from DumpStateReceiver.
An earlier change list created a private copy of this class for Term.
BUG=1750582

Automated import of CL 144129
xec.java
617f877c06c82584a38f41bb60d836e08c5e3bda 01-Apr-2009 Dianne Hackborn <> AI 143800: am: CL 143748 Fix issue #1743326 (More battery stats)
Adds stats for:
- Number of raw user events that have happened in the system.
- Number of times user activity has been reported, dividied by UID and type of activity.
- Duration of screen brightness levels in 4 buckets.
- Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
Original author: hackbod
Merged from: //branches/cupcake/...

Automated import of CL 143800
atteryStats.java
ocalPowerManager.java
bed30e1b6ea4a1d71dbe5e731c274cc66974283a 31-Mar-2009 Dianne Hackborn <> AI 143823: am: CL 143800 am: CL 143748 Fix issue #1743326 (More battery stats)
Adds stats for:
- Number of raw user events that have happened in the system.
- Number of times user activity has been reported, dividied by UID and type of activity.
- Duration of screen brightness levels in 4 buckets.
- Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143823
atteryStats.java
ocalPowerManager.java
c38c0f6b9869889fbb6743275e35f120a27f6361 31-Mar-2009 Evan Millar <> AI 143720: am: CL 143710 am: CL 143615 -Add more stats:
-total network sent/received
-total full/partial wakelock times.
-Format the network sent/received amounts to be more easily readable.
Original author: emillar
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143720
atteryStats.java
22ac043ec139714644256cc5e2a9ff8d126ade00 31-Mar-2009 Evan Millar <> AI 143710: am: CL 143615 -Add more stats:
-total network sent/received
-total full/partial wakelock times.
-Format the network sent/received amounts to be more easily readable.
Original author: emillar
Merged from: //branches/cupcake/...

Automated import of CL 143710
atteryStats.java
05bc50ddba02299e7dd0a4f7be1d46254d8ff99d 28-Mar-2009 Evan Millar <> AI 143358: am: CL 143207 am: CL 142996 Fix bug in human readable battery stats dumping code which caused the wifi lock times to be off by an order of magnitude.
Original author: emillar
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143358
atteryStats.java
2a15f38ec2072141de086720a8e914c51056a69d 28-Mar-2009 Evan Millar <> AI 143207: am: CL 142996 Fix bug in human readable battery stats dumping code which caused the wifi lock times to be off by an order of magnitude.
Original author: emillar
Merged from: //branches/cupcake/...

Automated import of CL 143207
atteryStats.java
4840e143df9804e3399a4e0341c0601f80d65d6e 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/master/...@142348,142348
atteryStats.java
627bba736d022c39696b7c582a6af5592d2b8c33 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@142347,142347
atteryStats.java
e68ffcb5764152da6d36adc8f2918200b4472c23 25-Mar-2009 Joe Onorato <> Automated import from //branches/donutburger/...@140997,140997
ocalPowerManager.java
36197e77c34b33135b4a3dc89d36ce80320dcd72 25-Mar-2009 Joe Onorato <> Automated import from //branches/master/...@141000,141000
ocalPowerManager.java
07970839eb39a1a18013c8bd15052b761736208e 25-Mar-2009 Andy McFadden <> Automated import from //branches/donutburger/...@140700,140700
ebug.java
f93f02fb8a6b6bdbc294085d89e733dcd5078630 25-Mar-2009 Eric Shienbrood <> Automated import from //branches/master/...@140680,140680
atteryStats.java
d4c5f8919b0522bcaab41a5863c313fec52d3a79 25-Mar-2009 Eric Shienbrood <> Automated import from //branches/donutburger/...@140679,140679
atteryStats.java
7b0b1ed979aa665175bf3952c8902ce13c763ab8 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
ebug.java
emoteCallbackList.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
atteryStats.java
ardware.java
HardwareService.aidl
ower.java
emoteCallbackList.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
MountService.aidl
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
esultReceiver.aidl
esultReceiver.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
syncResult.java
syncTask.java
adParcelableException.java
ase64Utils.java
atteryManager.java
atteryStats.java
inder.java
roadcaster.java
uild.java
undle.aidl
undle.java
onditionVariable.java
ountDownTimer.java
eadObjectException.java
ebug.java
nvironment.java
xec.java
ileObserver.java
ileUtils.java
andler.java
andlerState.java
andlerStateMachine.java
andlerThread.java
ardware.java
Binder.java
CheckinService.aidl
HardwareService.aidl
Interface.java
Messenger.aidl
MountService.aidl
NetStatService.aidl
ParentalControlCallback.aidl
PermissionController.aidl
PowerManager.aidl
ServiceManager.java
ocalPowerManager.java
ooper.java
ailboxNotAvailableException.java
emoryFile.java
essage.aidl
essage.java
essageQueue.java
essenger.aidl
essenger.java
etStat.java
arcel.java
arcelFileDescriptor.aidl
arcelFileDescriptor.java
arcelFormatException.java
arcelable.java
atternMatcher.aidl
atternMatcher.java
ower.java
owerManager.java
rocess.java
egistrant.java
egistrantList.java
emoteCallbackList.java
emoteException.java
emoteMailException.java
erviceManager.java
erviceManagerNative.java
tatFs.java
ystemClock.java
ystemProperties.java
ystemService.java
okenWatcher.java
EventObserver.java
ibrator.java
ackage.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
syncResult.java
syncTask.java
adParcelableException.java
ase64Utils.java
atteryManager.java
atteryStats.java
inder.java
roadcaster.java
uild.java
undle.aidl
undle.java
onditionVariable.java
ountDownTimer.java
eadObjectException.java
ebug.java
nvironment.java
xec.java
ileObserver.java
ileUtils.java
andler.java
andlerState.java
andlerStateMachine.java
andlerThread.java
ardware.java
Binder.java
CheckinService.aidl
HardwareService.aidl
Interface.java
Messenger.aidl
MountService.aidl
NetStatService.aidl
ParentalControlCallback.aidl
PermissionController.aidl
PowerManager.aidl
ServiceManager.java
ocalPowerManager.java
ooper.java
ailboxNotAvailableException.java
emoryFile.java
essage.aidl
essage.java
essageQueue.java
essenger.aidl
essenger.java
etStat.java
arcel.java
arcelFileDescriptor.aidl
arcelFileDescriptor.java
arcelFormatException.java
arcelable.java
atternMatcher.aidl
atternMatcher.java
ower.java
owerManager.java
rocess.java
egistrant.java
egistrantList.java
emoteCallbackList.java
emoteException.java
emoteMailException.java
erviceManager.java
erviceManagerNative.java
tatFs.java
ystemClock.java
ystemProperties.java
ystemService.java
okenWatcher.java
EventObserver.java
ibrator.java
ackage.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
atteryStats.java
arcelFileDescriptor.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
atteryStats.java
arcelFileDescriptor.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
atteryStats.java
andlerInterface.java
CheckinService.aidl
PowerManager.aidl
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
atteryStats.java
inder.java
uild.java
ebug.java
nvironment.java
Binder.java
CheckinService.aidl
MountService.aidl
NetStatService.aidl
etStat.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
atteryStats.java
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
ebug.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
andlerState.java
andlerStateMachine.java
PowerManager.aidl
ower.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
syncTask.java
atteryManager.java
atteryStats.java
ebug.java
andler.java
CheckinService.aidl
PowerManager.aidl
ooper.java
rocess.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
syncResult.java
adParcelableException.java
ase64Utils.java
atteryManager.java
inder.java
roadcaster.java
uild.java
undle.aidl
undle.java
onditionVariable.java
ountDownTimer.java
eadObjectException.java
ebug.java
nvironment.java
xec.java
ileObserver.java
ileUtils.java
andler.java
andlerInterface.java
andlerThread.java
ardware.java
Binder.java
CheckinService.aidl
HardwareService.aidl
Interface.java
Messenger.aidl
MountService.aidl
NetStatService.aidl
ParentalControlCallback.aidl
PermissionController.aidl
PowerManager.aidl
ServiceManager.java
ocalPowerManager.java
ooper.java
ailboxNotAvailableException.java
emoryFile.java
essage.aidl
essage.java
essageQueue.java
essenger.aidl
essenger.java
etStat.java
arcel.java
arcelFileDescriptor.aidl
arcelFileDescriptor.java
arcelFormatException.java
arcelable.java
atternMatcher.aidl
atternMatcher.java
ower.java
owerManager.java
rocess.java
egistrant.java
egistrantList.java
emoteCallbackList.java
emoteException.java
emoteMailException.java
erviceManager.java
erviceManagerNative.java
tatFs.java
ystemClock.java
ystemProperties.java
ystemService.java
okenWatcher.java
EventObserver.java
ibrator.java
ackage.html