• 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 >>>)
0450565d9a6de0f0828c9ad8ce16c8645c6f394c 23-Oct-2015 Adrian Roos <roosa@google.com> Revert "Revert "Track ashmem memory usage in Parcel""

This reverts commit e2adb2cf0f2c90c77fab3f09285a92e05e70b567.

Bug: 25004154
Change-Id: I9b432d1ebc39f3bbcd7afdefc403f0fb6ced8158
arcel.java
e2adb2cf0f2c90c77fab3f09285a92e05e70b567 23-Oct-2015 Ian Pedowitz <ijpedowitz@google.com> Revert "Track ashmem memory usage in Parcel"

This reverts commit ab3f9724035046d65124a72db2a09c824b3d5c67.

Bug: 25169267
Bug: 25191602
Bug: 25004154
Change-Id: Ic51e62515273e4687359dfd9ff770a4d06c0c667
arcel.java
ab3f9724035046d65124a72db2a09c824b3d5c67 21-Oct-2015 Adrian Roos <roosa@google.com> Track ashmem memory usage in Parcel

Bug: 25004154
Change-Id: Id9d5656dd0605f1b50525596b75601309f67ebdc
(cherry picked from commit 4701a496a5477a7de01fbc9eaf4af9812f83770c)
arcel.java
0c15693e8de6f89fab7ca3d582f0a8605a54df9f 16-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Update docs to reflect adoptable behavior." into mnc-dr-dev
75765dbe48ed38d7044f458062510a9082750049 15-Oct-2015 Dianne Hackborn <hackbod@google.com> am e34445f1: Merge "Docs only change: update build version docs." into mnc-dev

* commit 'e34445f11a6a14dd30ba0e018b82e852ef82ecbc':
Docs only change: update build version docs.
59d28dc82000b1696ed9ef7ef2c0d7fbb2834100 14-Oct-2015 Jeff Sharkey <jsharkey@android.com> Update docs to reflect adoptable behavior.

Update storage related docs on Context to be consistent, and to call
out relevant Environment methods. Start calling it "shared" storage,
and only mention external for historical reasons. Mention that there
isn't much benefit to using emulated storage over private data
directories to help guide developers to safer locations.

Point out which paths can change over time, so developers know to
only persist relative paths.

Update Environment docs to reflect how they behave for the new
class of adopted storage devices.

Bug: 24251945
Change-Id: Ie5ab337649b4740dfd7594997bbb19c4969cfd2f
nvironment.java
b02ce291445069435fad621fe3d0ccce5609c22a 13-Oct-2015 Dianne Hackborn <hackbod@google.com> "Fix" issue #24357296: Debug.getMemoryInfo doesn't include EGL mtrack...

...due to lack of permissions

Still doesn't, but an alternative is now offered.

Change-Id: I7b9da709c96ed7790c70d686c30c7855f3979778
ebug.java
e7a3435c91c7ada95f2bab0221d1bbedafda6b0f 17-Sep-2015 Dianne Hackborn <hackbod@google.com> Docs only change: update build version docs.

Change-Id: I30f55549394693ea04cd390b1ae66347ae212123
uild.java
680553957e4ff47343334881c34de6969b2ed977 18-Sep-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: Better big-little CPU accounting" into mnc-dr-dev
a4d22d718affbc7145d1012157feb819557b5c06 17-Sep-2015 Michael Wright <michaelwr@google.com> Send power hint on fling gestures.

Use the existing PointerEventListener infrastructure to listen for
gestures that look like flings and hint to the power system when they
happen. Since we don't actually have a bound for the fling like a
regular application would, limit them to five seconds and refresh
every time a new fling is seen until the five second time period is
up.

bug 24059298

Change-Id: I5757a1e88f2ab2ef08cccefa8221d809ae71bb6f
owerManagerInternal.java
6832f39416cbe2cc9655af4eabefe39c5d272254 06-Sep-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Better big-little CPU accounting

Generalize cpu clusters so we can measure frequency
and power usage across heterogeneous cpu clusters.

This also brings back reading of cpu-times for power calculation.

Bug:22773176
Change-Id: I9c794ae9756c782c0e971c7f5fcebbe70374b269
atteryStats.java
da43a3aacaba069e79f1dbfa491f6bc0b6f7fa95 31-Aug-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: Start using cpu power from kernel" into mnc-dr-dev
ffa3d0408f9c3ffb5ab3ee45ef6c466d795fb2c8 28-Aug-2015 Ashish Sharma <ashishsharma@google.com> am 3883e72a: Merge "BatteryStats: Bump checkin version" into mnc-dev

* commit '3883e72aeda7dcc5f76eba7ad2e95ad2cb041687':
BatteryStats: Bump checkin version
ab7672d45a66613e23c7769208fc5bc62fe6b363 21-Aug-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Start using cpu power from kernel

This allows us to stop using approximate methods of attributing
cpu frequency time across apps and to use a more precise kernel
method that is aware of the time spent by a process on a given core
at a given frequency.

Bug:22773176
Change-Id: I3c34365fa8c73204f178a5610423901b13453d06
atteryStats.java
bb5ac7976d4df640dbe9800d2a47425180082470 21-Aug-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Bump checkin version

Bug:23391894
Change-Id: I2af980531e07b106cc560c877fa128bbd9c2f18e
atteryStats.java
bbb5717dee12ec37e0fcc6c186e1f80b9890e987 20-Aug-2015 Jeff Sharkey <jsharkey@google.com> am f3ad1eab: Merge "Pass underlying volume UUID to StorageVolume." into mnc-dev

* commit 'f3ad1eabc1fa5252165bfe1516690d1026507f0a':
Pass underlying volume UUID to StorageVolume.
8e2ea2a9f15217bd5e44665650251f83f3f70313 19-Aug-2015 Jeff Sharkey <jsharkey@android.com> Pass underlying volume UUID to StorageVolume.

To help MediaProvider uniquely identify storage devices, pass through
the UUID of the underlying private storage volume.

Bug: 23329611
Change-Id: I22ee7ea98fcb208d7797310acb3396a3f074f09b
torage/VolumeInfo.java
479c482ca1788235afc776125eb6a79f1d9281c8 14-Aug-2015 Adam Lesinski <adamlesinski@google.com> am 504600bb: Merge "Fix UserHandle.getAppIdFromSharedAppGid to allow system UIDs" into mnc-dev

* commit '504600bb09e51f0187d81cacb1dc2de77c6256b6':
Fix UserHandle.getAppIdFromSharedAppGid to allow system UIDs
621e06a64d0a18f357a874de15a84c3ec1d64d49 14-Aug-2015 Adam Lesinski <adamlesinski@google.com> Fix UserHandle.getAppIdFromSharedAppGid to allow system UIDs

System UIDs are also run as shared GIDs, so this should not throw
an exception.

Bug:23189342
Change-Id: Ia180db012c25615cde1720ae0d41d1378f7bfb1a
serHandle.java
9512a857454d761b53f46958733ba23216c41e64 13-Aug-2015 Dianne Hackborn <hackbod@google.com> am ff9912d5: Merge "Fix issue #23116383: Include security patch level in Settings" into mnc-dev

* commit 'ff9912d594bc5cdc10a4a224b9a2296bac50851b':
Fix issue #23116383: Include security patch level in Settings
c3f7449517743719ace8a8315c6d23d4349db5d1 13-Aug-2015 Dianne Hackborn <hackbod@google.com> Fix issue #23116383: Include security patch level in Settings

Change-Id: I4934c7d26bf69b5c599962cd74ac1e4ea4ad4b51
uild.java
977d421af9466ed6cd83630f6ba91c873f501e5b 08-Aug-2015 Dianne Hackborn <hackbod@google.com> am f0e5501e: Merge "Fix issue #22989030: Separate battery whitelists" into mnc-dev

* commit 'f0e5501e093c688cd293308e0aafc2b55326c255':
Fix issue #22989030: Separate battery whitelists
4a503b1ece485d44c15eb02ec2bcd464b46e6f7f 07-Aug-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22989030: Separate battery whitelists

We now have a new whitelist you can put apps in, which
opts them out of the old battery saver mode and new app idle,
but doesn't keep them from going in to doze. This is for a few
special cases that we had previously whitelisted for battery saver,
and inherited to the new modes... ultimately we should figure out
how to get these apps out of the whitelist completely, but this
will help for now.

Apps in this new whitelist are not shown in the UI, because they
are still significantly restricted by not being able to operate
normally in doze. This also means they are still visible in the
list of all apps for the user to be able to put them on/off the
complete whitelist if that is what they really want.

In the course of doing this, I needed to clean up code in the
network policy manager to better separate management of the
two firewall rules that now have different whitelists applied
to them. This also hopefully just generally simplifies and cleans
up that code. Hopefully!

Change-Id: I92e15f2f85899571dd8b049b5e3eb1354f55f353
DeviceIdleController.aidl
5fd4754310a9b19c7b880197e5bd237e2959c040 07-Aug-2015 Andres Morales <anmorales@google.com> am 85c73c40: Merge "[UserManager] expose method to retrieve credential owner" into mnc-dev

* commit '85c73c40d1fd76e8a7bbd90ab80458082764c1c3':
[UserManager] expose method to retrieve credential owner
85c73c40d1fd76e8a7bbd90ab80458082764c1c3 07-Aug-2015 Andres Morales <anmorales@google.com> Merge "[UserManager] expose method to retrieve credential owner" into mnc-dev
1663c75fa7e83547f3aefc6128f2b90776de5639 06-Aug-2015 Michael Wright <michaelwr@google.com> am d5a6df6d: Merge "Make the NullVibrator really null." into mnc-dev

* commit 'd5a6df6d228036258d616245502c1a4f85ba4b2e':
Make the NullVibrator really null.
d5a6df6d228036258d616245502c1a4f85ba4b2e 06-Aug-2015 Michael Wright <michaelwr@google.com> Merge "Make the NullVibrator really null." into mnc-dev
c5548c02fe0aa768ebfce88ac09393dabe61ec06 05-Aug-2015 Andres Morales <anmorales@google.com> [UserManager] expose method to retrieve credential owner

Certain operations (like ConfirmCredential) can be invoked
in the context of a profile, in which case the calling code
needs to know under what profile the credential is registered.

Expose a centralized location for this information for Settings
and GateKeeper to consume.

Bug: 22257554
Change-Id: Iffe4f6a254f52d1269b9287edabcf6efa515d9d2
UserManager.aidl
serManager.java
86e7d135acbdb0055de6a687817d44ac60603c9f 05-Aug-2015 Paul Jensen <pauljensen@google.com> resolved conflicts for merge of dbc4edcc to mnc-dr-dev

Change-Id: I3a8624b2b375e0d174983d7690082e0e6932c4de
dbc4edccfced5cb739bae75e8cd15cecc39cf16e 05-Aug-2015 Paul Jensen <pauljensen@google.com> Merge "Fix NOT_RESTRICTED network capability and enforce it." into mnc-dev
487ffe7d3d84bf65212158f7098e8a84b5b55e09 24-Jul-2015 Paul Jensen <pauljensen@google.com> Fix NOT_RESTRICTED network capability and enforce it.

With this change:
1. NOT_RESTRICTED should be removed from NetworkRequests that bring up
special restricted carrier networks (e.g. IMS, FOTA).
2. NetworkRequests without NOT_RESTRICTED require CONNECTIVITY_INTERNAL
permission to register
3. Binding sockets to networks without NOT_RESTRICTED requires
CONNECTIVITY_INTERNAL permission

Bug:21637535
Change-Id: I5991d39facaa6b690e969fe15dcbeec52e918321
NetworkManagementService.aidl
9b36f526dd0378bda8f71c0e51ed37bf97742f8f 31-Jul-2015 Dianne Hackborn <hackbod@google.com> am c1836bb0: Merge "Change MNC codename to just M." into mnc-dev

* commit 'c1836bb0f1bf3e5ef0911719525da0bab3e53507':
Change MNC codename to just M.
c1836bb0f1bf3e5ef0911719525da0bab3e53507 31-Jul-2015 Dianne Hackborn <hackbod@google.com> Merge "Change MNC codename to just M." into mnc-dev
ee6046add136d4791e71fb17a07076b425b7250c 31-Jul-2015 Adam Lesinski <adamlesinski@google.com> am 00f7cb92: Merge "BatteryStats: include mobile radio active count and unknown time in checkin" into mnc-dev

* commit '00f7cb924e6964c5403c55ae5e7348aad1c8ec7b':
BatteryStats: include mobile radio active count and unknown time in checkin
00f7cb924e6964c5403c55ae5e7348aad1c8ec7b 31-Jul-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: include mobile radio active count and unknown time in checkin" into mnc-dev
782327bde70bfb92352a0270baeae04361b6e9c2 31-Jul-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: include mobile radio active count and unknown time in checkin

These are important values to help diagnose modem related wakeup issues.

Bug:22803686
Bug:22857991
Change-Id: Ie0164ebd194567bc10d1165d671a583674a39829
atteryStats.java
5e829abd71448d37a73f7ba0953c8398d4b48da6 30-Jul-2015 Michael Wright <michaelwr@google.com> Make the NullVibrator really null.

Currently any calls into vibrate just end up in an infinite loop
until the program's stack overflows.

Bug: 22835503
Change-Id: I640c3990b597ac69d83b3656e00daad088002982
ullVibrator.java
69e7fa8a521a402b4a80aafbca203f66b3323123 30-Jul-2015 Dianne Hackborn <hackbod@google.com> am 8d3a67a8: Merge "More maybe fix issue #22765972: Binder transactions running out..." into mnc-dev

* commit '8d3a67a8d475b43cbac50a2a186a19f4a29c7892':
More maybe fix issue #22765972: Binder transactions running out...
6b42bc0e2191805ac1dfdb1cbf2782b29dd7c585 30-Jul-2015 Dianne Hackborn <hackbod@google.com> More maybe fix issue #22765972: Binder transactions running out...

...of address space causing package manager to fail

Make sure to flush binder commands when done with an async task.

Change-Id: I9f171add7051587ab854226b97a12c7e1844ad5d
syncTask.java
0e3de6cacaffcfeda4d6353be61e2f1f9ed80705 30-Jul-2015 Dianne Hackborn <hackbod@google.com> Change MNC codename to just M.

Change-Id: I4281d200ff6560791c47cf9073ceea1cb509361e
uild.java
serManager.java
deb28b770a0b11604fc20c71044a9c2d9718fe06 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am eda1cc50: Merge "Work on issue #22765972: Binder transactions running out of address..." into mnc-dev

* commit 'eda1cc50cead674287616e6a852f8f281b70b9f5':
Work on issue #22765972: Binder transactions running out of address...
eda1cc50cead674287616e6a852f8f281b70b9f5 29-Jul-2015 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #22765972: Binder transactions running out of address..." into mnc-dev
acfaa947f45ce1ea8140c2dc52d5f750dbc0a94d 29-Jul-2015 Jeff Sharkey <jsharkey@google.com> am b8040265: Merge "Give secondary users read-only physical cards." into mnc-dev

* commit 'b8040265dd0d5a2a96e0850623647dad2f528db1':
Give secondary users read-only physical cards.
86cbc2bf30a7623b2ad6564cf50ca20f87067ea7 29-Jul-2015 Dianne Hackborn <hackbod@google.com> Work on issue #22765972: Binder transactions running out of address...

...space causing package manager to fail

Lower the maximum IPC size we use in various places, to keep it
under the threshold of becoming dangerous. Now everything tries
to keep not much more than 64k.

Change-Id: I814013097966a7843179e5d581bfdb254c5ae318
Binder.java
4634987668eb7e1fa1434bddbde969ef43de6b40 28-Jul-2015 Jeff Sharkey <jsharkey@android.com> Give secondary users read-only physical cards.

Long ago, we mounted secondary physical cards as readable by all
users on the device, which enabled the use-case of loading media on
a card and viewing it from all users.

More recently, we started giving write access to these secondary
physical cards, but this created a one-directional channel for
communication across user boundaries; something that CDD disallows.

This change is designed to give us the best of both worlds: the
package-specific directories are writable for the user that mounted
the card, but access to those "Android" directories are blocked for
all other users. Other users remain able to read content elsewhere
on the card.

Bug: 22787184
Change-Id: Ied8c98995fec1b7b50ff7d930550feabb4398582
nvironment.java
torage/IMountService.java
torage/StorageManager.java
torage/VolumeInfo.java
e87dc6dba58e55c60f387a86468a57a5109a97ac 23-Jul-2015 Jeff Sharkey <jsharkey@google.com> am f6e9a3ed: Merge "More info to support CTS, fix reconcile bug." into mnc-dev

* commit 'f6e9a3ede53ae487838c19714ad62f25a4a6ca4c':
More info to support CTS, fix reconcile bug.
419f2177c8565f80489d00463aea630568251f4d 23-Jul-2015 Dianne Hackborn <hackbod@google.com> am 6f64e737: Merge "Fix issue #22612630: Ensure SMS/Call delivery during Doze" into mnc-dev

* commit '6f64e737f046cd9ae13e260027781acfabaa4cba':
Fix issue #22612630: Ensure SMS/Call delivery during Doze
f6e9a3ede53ae487838c19714ad62f25a4a6ca4c 22-Jul-2015 Jeff Sharkey <jsharkey@google.com> Merge "More info to support CTS, fix reconcile bug." into mnc-dev
6f64e737f046cd9ae13e260027781acfabaa4cba 22-Jul-2015 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #22612630: Ensure SMS/Call delivery during Doze" into mnc-dev
85ced632680642fce680d141ddd10299ff849233 22-Jul-2015 Jeff Sharkey <jsharkey@android.com> More info to support CTS, fix reconcile bug.

Surface more details and commands for storage volumes to support
CTS testing. Fix user reconciliation bug that skipped user setup on
empty volumes.

Bug: 22658804, 22633097
Change-Id: I4221312d1cce24d1f5a2c108095cf3cf471598ed
ileUtils.java
451c3468b9186790d5381334a736a35f9b1dab36 22-Jul-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22612630: Ensure SMS/Call delivery during Doze

Add whitelist timeout for SMS.

Change-Id: I3392093000ad177a93b6ef36fb18f0398a671423
DeviceIdleController.aidl
cf6500b9bae461107d5c0c58de511df907d19fb3 21-Jul-2015 Fyodor Kupolov <fkupolov@google.com> am 55a116d0: Merge "Updated JavaDoc for DISALLOW_MODIFY_ACCOUNTS restriction" into mnc-dev

* commit '55a116d00ca3f7b84a6af1c5c3472323ad5bc6ca':
Updated JavaDoc for DISALLOW_MODIFY_ACCOUNTS restriction
53019287fd4fed9837363cff4de87100d85c2b81 21-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Updated JavaDoc for DISALLOW_MODIFY_ACCOUNTS restriction

Bug: 21521860
Change-Id: I0c2659f84589a77432317fbc89d49716027577d3
serManager.java
eb16e1fb2225f2cf84f5c56242a187fba59e39f8 16-Jul-2015 Svetoslav <svetoslavganov@google.com> am 08dda27b: Merge "Make sure we get valid package name or fail." into mnc-dev

* commit '08dda27be4678f2ab5bdc7e210d511ec105c158c':
Make sure we get valid package name or fail.
7395cbf07048abdad24b056f30a46f5b67920cd8 16-Jul-2015 Svetoslav <svetoslavganov@google.com> Make sure we get valid package name or fail.

bug:22492225

Change-Id: I7b7dce9a8e398c4615bcb700de80241e94c4320c
torage/StorageManager.java
c7b0435cc709c328da8e2b515ea04c8bc40d1094 15-Jul-2015 Jim Miller <jaggies@google.com> resolved conflicts for merge of 1d4247c4 to mnc-dr-dev

Change-Id: I057c529dcd5d48e0dcf256a9d096c5d8b815892a
280a64e793d081847c5dcea23ed9be38aa5332d2 13-Jul-2015 Dianne Hackborn <hackbod@google.com> Improve tracking of screen on reasons.

- New screen on app op to record the last time each app has
caused the screen to be turned on.
- New battery stats event that tells us the reason the screen
has been asked to turn on.
- Propagate out power manager API to specify the reason a caller
is asking to have the screen turned on.

Note that currently the window flag to turn the screen on bypasses
much of this because it is being handled in the window manager by
just directly telling the power manager to turn the screen on. To
make this better we need a new API where it can specify who it is
calling the API for.

Change-Id: I667e56cb1f80508d054da004db667efbcc22e971
atteryStats.java
PowerManager.aidl
owerManager.java
aa3694f2b3396f0ea9c9cccb7dbe8d5664e1e691 15-Jul-2015 Dianne Hackborn <hackbod@google.com> am f1f8b9cc: Merge "Fix issue #21626564: MMS should be receivied while Dozing" into mnc-dev

* commit 'f1f8b9cc3ff5774e695568e8f02b018c0fd02844':
Fix issue #21626564: MMS should be receivied while Dozing
fd854ee58c5d56f84047007ead9f88a767ae956f 14-Jul-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21626564: MMS should be receivied while Dozing

We now place whoever is receiving the MMS on the temporary
whitelist while doing so, so they can get network access to
download it.

There was also an issue that needed to be fixed where we
were no longer updating the list of allowed uids while
dozing based on their proc states... we now do that.

Also did a bit of optimization of the temp white list update
path do the network policy manager, instead of going through
a broadcast we now directly call in to the network policy
manager. This also allows us to have a synchronous version
of updating the list, so we can know the app has network access
before we tell it to do anything.

Finally added battery stats events for things going on and off
the whitelist so we can diagnose the behavior there.

Change-Id: Ic7fe010af680034d9f8cb014bb135b2addef7455
atteryStats.java
DeviceIdleController.aidl
c7a607496aa5ba368524dd334877a9c428ab5f78 14-Jul-2015 Jeff Sharkey <jsharkey@android.com> am d3719ab0: Merge "Better handling of storage paths." into mnc-dev

* commit 'd3719ab07a0ba66c019979ce19c45b77c4aae92e':
Better handling of storage paths.
983294596e65a0226aa69e42bda9db322727fee5 13-Jul-2015 Jeff Sharkey <jsharkey@android.com> Better handling of storage paths.

Give more details about why we failed to create storage paths, and
search for underlying volumes using canonical paths.

Bug: 22135060
Change-Id: I75d3584403ece310438b05f5b9fe72d94c9096c6
torage/StorageManager.java
9c013a211768c661f1142aba31c690daa76c66f7 14-Jul-2015 Adrian Roos <roosa@google.com> Merge "Show charging speed on Keyguard" into mnc-dr-dev
7b04311d88e377c67b4c663091b6b1c63c932c52 10-Jul-2015 Adrian Roos <roosa@google.com> Show charging speed on Keyguard

Bug: 8099739
Change-Id: I2e5c21dd7ec028ce47fb03ab71e74f7fccaa9e36
atteryManager.java
atteryProperties.java
c56668eb223fe45ff5c1e399d99943838320c407 14-Jul-2015 Marco Nelissen <marcone@google.com> am 3ced9617: Merge "Use original path if translated path doesn\'t exist" into mnc-dev

* commit '3ced96178b1b132705e773736cbb707a3a0cd951':
Use original path if translated path doesn't exist
aa4110366813f29f6a71dbdee090ba823feb2efe 14-Jul-2015 Marco Nelissen <marcone@google.com> Use original path if translated path doesn't exist

Bug: 22376538
Change-Id: I2f6af4fa31c097e2e2d619a068cf83721091c450
torage/StorageManager.java
d7be214ca469c593d8a59cf7404020f4ad1aaed9 14-Jul-2015 Ian Pedowitz <ijpedowitz@google.com> resolved conflicts for merge of 8cee6587 to mnc-dr-dev

Change-Id: I0b2ed52214bb097d7fd69434afd0c6c890b5afb3
6ee871e59812fea4525c50231f677c4bd10c74b8 10-Jul-2015 Svet Ganov <svetoslavganov@google.com> Teach storage appops.

For modern apps targeting M SDK and up the external storage state
is deterined by granted permissions. For apps targeting older SDK
the storage access is determined by app ops correspning to the
storage permissions as the latter are always granted.

When app ops change we do not remount as we kill the app process
in both cases enabling and disabling an app op since legacy code
is not prepared for dynamic behavior where an operation that failed
may next succeed. Hence, we remount when we start the app.

For modern apps we don't kill the app process on a permission
grant, therefore we synchronously remount the app storage.

bug:22104923

Change-Id: I601c19c764a74c2d15bea6630d0f5fdc52bf6a5a
torage/IMountService.java
torage/MountServiceInternal.java
torage/StorageManager.java
torage/VolumeInfo.java
bac3d0936dfdb4d594873fd8690e8017e748ed96 13-Jul-2015 Paul Crowley <paulcrowley@google.com> Merge "Delete the user key when deleting a user." into mnc-dr-dev
9e0e69915a2e45dd5ba158e0436571551a672636 13-Jul-2015 Paul Crowley <paulcrowley@google.com> Merge "Use mount service to create user dirs." into mnc-dr-dev
782d49826862cbdc9d020fc9d85f8a6f64675dcb 09-Jul-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22328792: Fix scalability issues in AssistStructure

We can now stream the AssistStructure across processes, avoiding
IPC size limitations for large structures. There is also a new
API that gets called on the VoiceInteractionSession if there is
a failure retrieving the assist data.

Also fix issue #22351981: Runtime restart due to ANR in system server,
getting rid of a deadlock.

And also tweak object lifecycles to try to avoid keeping around
in an app the previous AssistStructure after we request a new one.

Change-Id: Ifb136a0d31a14e56a8db6b90768d9fc65557a17f
ooledStringReader.java
ooledStringWriter.java
7ec733fad39ff9e439a67c9cf51b88bc84cdfda0 19-May-2015 Paul Crowley <paulcrowley@google.com> Delete the user key when deleting a user.

Bug: 19706593

(cherry-picked from commit 85e4e818d83dbc65b1e6e3ed9d39c656188acaec)

Change-Id: Icc6d53a99558317b2ec154f931e481ad9fe64aa3
torage/IMountService.java
torage/StorageManager.java
bcf48ed2262d655ebf59153dea645ca761b73db5 22-Apr-2015 Paul Crowley <paulcrowley@google.com> Use mount service to create user dirs.

Bug: 19704432

(cherry-picked from commit 9102f5d953fbde03e12f385b2225004edc43d202)

Change-Id: I64a2c85beef115158feed3953deae32f692e750f
torage/IMountService.java
torage/StorageManager.java
7fb1655a891de275ab8a752294c42b9c13352af6 09-Jul-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: Fail gracefully on corrupt battery stats" into mnc-dev
9ae9cba0209a8baf0a5d7463dc1c9a4831c916f6 09-Jul-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Fail gracefully on corrupt battery stats

Bug:22328963
Change-Id: Id0b4c6334706e58483d5fdfd2c1137bfb821c409
atteryStats.java
a83bf1966e3e51fb052db86daf359d5b1cc110f5 08-Jul-2015 Jeff Sharkey <jsharkey@android.com> Use best volume description for MTP.

Otherwise we end up showing adopted storage devices as "Unknown."

Bug: 20275423
Change-Id: Ib42474fd5b3284b1e8eca7de8a4cfbb71a34a107
torage/VolumeInfo.java
5af1835d678031d4a6615edc96ba58c82304b31d 08-Jul-2015 Jeff Sharkey <jsharkey@android.com> Generate stable MTP storage IDs.

It ends up that MediaProvider is persisting MTP storage IDs in its
database, so we need to make sure we generate stable IDs over time,
otherwise we can end up looking into a black hole.

Bug: 22256092
Change-Id: I6a75c239aac1b71fd5f6df0df69b24971079a086
torage/StorageVolume.java
torage/VolumeInfo.java
7a788a865e72da4205b5cf4e0a6f08ccb6f4bdbd 07-Jul-2015 Jeff Sharkey <jsharkey@android.com> Fix volume naming when surfaced over MTP.

Otherwise we show everything as "Unknown."

Bug: 22256092
Change-Id: I19fe8a25aff02db8ca9aff288e6715d469f65327
torage/VolumeInfo.java
ef10ee014594d800f5f5ca31ea93f1cab2880d05 05-Jul-2015 Jeff Sharkey <jsharkey@android.com> Handle missing migration source volume.

Users can try migrating primary storage while the current location
is missing/unmounted. Fail gracefully instead of runtime restarting.

Bug: 21927076
Change-Id: I40645f8ccea05154e7cbacd188f6cba5f4dbbdc4
torage/StorageManager.java
6dce4964b4d1a13d276d95730b8fb09d6a5a8d04 04-Jul-2015 Jeff Sharkey <jsharkey@android.com> Reconcile private volumes when mounted.

Many things can happen while a private volume is ejected, so we need
to reconcile newly mounted volumes against known state.

First, user IDs can be recycled, so we store the serial number in the
extended attributes of the /data/user/[id] directory inode. Since a
serial number is always unique, we can quickly determine if a user
directory "10" really belongs to the current user "10". When we
detect a mismatched serial number, we destroy all data belonging to
that user. Gracefully handles upgrade case and assumes current serial
number is valid when none is defined.

Second, we destroy apps that we find no record of, either due to
uninstallation while the volume was unmounted, or reinstallation on
another volume.

When mounting a volume, ensure that data directories exist for all
current users. Similarly, create data directories on all mounted
volumes when creating a user. When forgetting a volume, gracefully
uninstall any apps that had been installed on that volume.

Bug: 20674082, 20275572
Change-Id: I4e3448837f7c03daf00d71681ebdc96e3d8b9cc9
nvironment.java
torage/StorageManager.java
a5ed2c4dd35431ccdc3d1feeeca27d9bd27027c7 02-Jul-2015 Jeff Sharkey <jsharkey@android.com> Merge "Better handling of trim/benchmark results." into mnc-dev
e8a4b66960056c2dc2c8dbb5f8df00710645cc64 28-Jun-2015 Jeff Sharkey <jsharkey@android.com> Better handling of trim/benchmark results.

Request benchmarking of devices once per week during normal fstrim
maintenance window. Tunable parameter gives us the ability to change
frequency through global setting.

Track individual benchmark and trim results for each volume, and
use scrubbed volume identifier (based on adoptiong age) when logging
stats to drop box. Track last benchmark and trim time for each
volume separately.

Bug: 21831325
Change-Id: I53b3ed788f7820c2e5bceb2840339f5b4aada3f0
torage/DiskInfo.java
torage/VolumeRecord.java
3b16cf4f47142a845bf0ede54ef8ef956506c6c3 02-Jul-2015 Dianne Hackborn <hackbod@google.com> Device idle fixes: issue #22209630 and issue #22225665

Issue #22209630: Only allow whitelisted apps to put apps on the temp whitelist

We now check whether the calling app is a system uid or in the whitelist
and, if not, throw an exception.

Issue #22225665: Alarm still goes off in idle mode (doze)

Fix a bug where we were not clearing the calling identity when coming
through the dump command to the service, and as a result when we would
eventually call out to the alarm manager it wouldn't do what we want.
This was only broken when being controlled by the shell.

Also adjust the network policy manager service's handling of device
idle transitions to only toggle the device idle state, which gets rid
of the long delay we have coming out of idle mode. And add in a bit
of logging around going in/out of idle mode to try to understand where
things may be slow in the future.

Change-Id: I4a41f790e9b0bb31330314b94111557d479f2ba5
serHandle.java
14b5701029edc4473921e2a2446ec3151f30b916 01-Jul-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: Record cpu power usage from /proc/uid_cputime" into mnc-dev
49a2a6985d49b7356fd319266dd502f27964e69d 01-Jul-2015 Adam Lesinski <adamlesinski@google.com> Merge "Add helper function to extract app ID from shared app gid." into mnc-dev
2b64ec470c7f18a2e8995d6131d99c58849f9938 01-Jul-2015 Amith Yamasani <yamasani@google.com> Merge "Don't allow non-admins to adopt sd card for internal storage" into mnc-dev
f4216d30cd768638eebdb4124abae95bdf5b3597 27-Jun-2015 Adam Lesinski <adamlesinski@google.com> Add helper function to extract app ID from shared app gid.

Bug:22008744
Change-Id: Ifadc7df3777dd74932833f4d22a0e285d7bdaf95
serHandle.java
462ac3a2aa5e1c974d056dc7221805e2b8ac7823 30-Jun-2015 Amith Yamasani <yamasani@google.com> Don't allow non-admins to adopt sd card for internal storage

Bug: 21883016
Change-Id: I9af3eeffd860b076e69bb02a3dc06edba5f95898
serManager.java
e56db0e3fa122971b0865a1129d2860458449eaa 30-Jun-2015 Christopher Tate <ctate@google.com> Don't crash in JNI: add DeadObjectException(String msg) ctor

Bug 22104446

Change-Id: I0a538119269fe45955130e4e3d0d0bae8ee64993
eadObjectException.java
6fd49936ae6b145cb2a9fe8b9ff75dcd79632daa 29-Jun-2015 Nicolas Prevot <nprevot@google.com> Merge "Rename ALLOW_PARENT_APP_LINKING to ALLOW_PARENT_PROFILE_APP_LINKING" into mnc-dev
a7a4cccf7d90324a049fbfd271d25cad51633922 27-Jun-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Record cpu power usage from /proc/uid_cputime

For now we are just recording the power usage and not using it
to calculate battery power usage or app blame. If it looks like
it is accurate, we'll adopt the values from the kernel instead of
estimating ourselves.

Bug:21498425
Change-Id: I6617e3c0ff279a65f4ff84472082f36fe4beb336
atteryStats.java
2e5cad786869b0e61ff06a430646682781162187 27-Jun-2015 Dianne Hackborn <hackbod@google.com> Looks like MNC is gonna be API 23.

Change-Id: I9c9c62209c949b1a16ed53eafc259e88e2ddb69a
uild.java
9527b223a9d4a4d149bb005afc77148dbeeff785 25-Jun-2015 Jeff Sharkey <jsharkey@android.com> Let's reinvent storage, yet again!

Now that we're treating storage as a runtime permission, we need to
grant read/write access without killing the app. This is really
tricky, since we had been using GIDs for access control, and they're
set in stone once Zygote drops privileges.

The only thing left that can change dynamically is the filesystem
itself, so let's do that. This means changing the FUSE daemon to
present itself as three different views:

/mnt/runtime_default/foo - view for apps with no access
/mnt/runtime_read/foo - view for apps with read access
/mnt/runtime_write/foo - view for apps with write access

There is still a single location for all the backing files, and
filesystem permissions are derived the same way for each view, but
the file modes are masked off differently for each mountpoint.

During Zygote fork, it wires up the appropriate storage access into
an isolated mount namespace based on the current app permissions. When
the app is granted permissions dynamically at runtime, the system
asks vold to jump into the existing mount namespace and bind mount
the newly granted access model into place.

Bug: 21858077
Change-Id: I62fb25d126dd815aea699b33d580e3afb90f8fd2
rocess.java
torage/IMountService.java
torage/StorageManager.java
f0029c1ddb2875583e62c6a3f96d288e21f2efe2 25-Jun-2015 Nicolas Prevot <nprevot@google.com> Rename ALLOW_PARENT_APP_LINKING to ALLOW_PARENT_PROFILE_APP_LINKING

Also improve the javadoc.

BUG:21701782
Change-Id: I88a75ccfa71b0d5df2f4779987cf0fff56001fd3
serManager.java
a1ee09c8438f45a5933803aacab99c300b343420 23-Jun-2015 Hiroshi Yamauchi <yamauchi@google.com> Merge "Clarify art.gc.gc-count-rate-histogram runtime stat." into mnc-dev
b74128978ad4d00d1780d2a2119cad4196178420 23-Jun-2015 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #21254610: StrictMode uses Log.wtf which crashes apps on L+" into mnc-dev
fde298e738310cce29bac5e271bc6b59076f019f 23-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21254610: StrictMode uses Log.wtf which crashes apps on L+

Raise the limit at which we consider the strict mode trace to
be unreasonably large.

Change-Id: I5ec5332dd5aa2631e017d246e4a8b978b82cf318
trictMode.java
3ab6f9e691fac6eeea1af8fb35bd4c41cdd692ca 23-Jun-2015 Nicolas Prevot <nprevot@google.com> Merge "Allow cross-profile app linking from work to personal." into mnc-dev
2d6327d0adaf6ca3d13e1e082f55680cfefcc449 29-May-2015 Hiroshi Yamauchi <yamauchi@google.com> Clarify art.gc.gc-count-rate-histogram runtime stat.

Bug: 21491908
Change-Id: I84d93aa73eebc327513c4663a6b606e2dad9a0b7
ebug.java
9edbda18df025527e18614cf0c45d538a27af30f 17-Jun-2015 Nicolas Prevot <nprevot@google.com> Allow cross-profile app linking from work to personal.

If the profile owner sets ALLOW_PARENT_APP_LINKING:

ACTION_VIEW, scheme http/https intents sent from the work profile
can be resolved by personal apps if they specify a host.

BUG:21701782
Change-Id: I372e2405345539eac9d6b4fb08def6bf84da14a6
serManager.java
c629271d480ea618fd3b9ae2c6ff3028b2a1732d 22-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge "Forget private partition keys." into mnc-dev
5cc0df214bbe2b169150c9060dc5288bb8aaf338 18-Jun-2015 Jeff Sharkey <jsharkey@android.com> Forget private partition keys.

When we forget a private partition, ask vold to also forget the key
for that partition GUID. This means we need to track both the
filesystem UUID and the partition GUID for a private volume.

Bug: 21782268
Change-Id: Icda1cbb65539d61dacc663428daf3d1a2e4c313e
torage/VolumeInfo.java
torage/VolumeRecord.java
6a8bd7bc13251fe1710cb529d14ee28b0c4ab5d0 20-Jun-2015 Jeff Brown <jeffbrown@google.com> Repurpose doze wake lock stats for draw wake lock instead.

The doze wake lock is an internal implementation detail with no
power impact. However the draw wake lock is much more interesting
to track because it's essentially like a special purpose partial
wake lock which may be acquired while dozing.

Bug: 21949905
Change-Id: Iedd5f366eb010a47a9691374c5cd3d85ea68173d
atteryStats.java
9425fe21c9a8ab894e4a3b12a418564c4349394e 19-Jun-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Record doze wake locks

Doze wake locks don't actually hold the CPU awake, so we should record them
separately from full wakelocks, which is what we did before.

Bug:21949905
Change-Id: Ib4db3399069e0ad11f1f0dc6925a87ad0ad21ff9
atteryStats.java
f32f7a3ffdbb80fb8d635c1aacaf0c7d2c2dde9f 19-Jun-2015 David Srbecky <dsrbecky@google.com> Merge "Replace --include-cfi with --generate-debug-info." into mnc-dev
065075e1f993a68579ed7f8034ab09d96ec957a9 28-May-2015 David Srbecky <dsrbecky@google.com> Replace --include-cfi with --generate-debug-info.

This follows a change in dex2oat.

(cherry picked from commit f39477b592e6e17fe41ace2e18602a69b2dd1619)

Bug: 21924613
Change-Id: I46b61298ca00bee2e83080456b180d63efd95b8f
rocess.java
0348ba2e2303d9dce57a6b5d19cc47ecc5089afe 19-Jun-2015 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #20494208: Go out of device idle when headset button is pressed" into mnc-dev
00fac63575349df5ed8c399b83f1f9c7199ff070 19-Jun-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: Fix regression in wakelock power distribution" into mnc-dev
b6683c428698105f715985a96066192aa62e9f53 19-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #20494208: Go out of device idle when headset button is pressed

Rework how we record active transitions in battery stats to be
more general, and add an API that others can call in to
DeviceIdleController to request that we go out of idle mode.
use this for VOICE_SEARCH_HANDS_FREE.

Change-Id: Ie58de60e63036a4142881283835961fbcceec892
atteryStats.java
DeviceIdleController.aidl
72478f053f403e29223dba6cc7be9e5bf115f670 18-Jun-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Fix regression in wakelock power distribution

We used to give 50% of the cpu time of each app to any app holding a wakelock
while the screen is off.
Since we switched to the new kernel module for measuring app's cpu time, this distribution
was lost.

Bug:21876567
Change-Id: I42c294547f63d150d9929271ca0e27fedaaa9d77
atteryStats.java
802ece61399e94bbe98cafaa277c71bee73c03ba 18-Jun-2015 Xiaohui Chen <xiaohuic@google.com> Merge "system_server: add two child chains to firewall" into mnc-dev
b41c9f7f39939cee8d226eb5e506c3f0573f44f5 18-Jun-2015 Xiaohui Chen <xiaohuic@google.com> system_server: add two child chains to firewall

This is an attempt to speed up getting out of device idle. It groups
uid firewall rules in these child chains so we can attach/detach a whole
chain instead of individual uid rules.

BUG:21446713
Change-Id: Ie8f392da2deabe7cc86a9ecf4ed080163861d41e
NetworkManagementService.aidl
2cc03e5606ad7cd473283898400506d5ac2237ba 20-Mar-2015 Jeff Sharkey <jsharkey@android.com> Yet another user restriction.

Change-Id: Ia2952da19cb974a6a9ba0271a298a10df58b8d18
serManager.java
1958e5e7870579337f1d1d3e6c6fae096ba3abb9 13-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21813831: Need API for asking to be added to power whitelist

Add the API. Clean up a few related things.

Change-Id: I190adad1812f36f6095b98a1001fedb94874e8b5
owerManager.java
80b34d7b9da0e0738a4a1db78d83cd804372594b 13-Jun-2015 Makoto Onuki <omakoto@google.com> Merge "Add StorageEventListener.onDiskDestroyed()" into mnc-dev
1d04e6a6cd06062483e22b387c6c1a615e4e5088 13-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge "More useful extras in disk/volume broadcasts." into mnc-dev
c7acac6798e12780194af33d5a9fdf382ab17155 13-Jun-2015 Jeff Sharkey <jsharkey@android.com> More useful extras in disk/volume broadcasts.

Change-Id: I594166cff332aaf72b2b6357ac6ed3e6e42cbc49
torage/DiskInfo.java
torage/VolumeInfo.java
57123001a416509ea7680501424d2ddf3ae55088 13-Jun-2015 Adam Lesinski <adamlesinski@google.com> BatteryStatsHelper: Fix some lost power

Looks like we were losing some power calculations from the CPU side of Bluetooth and
WiFi if there was no controller activity ocurring.

Also add finer breakdown of power to BatteryStats dumpsys for WiFi and Bluetooth.

Change-Id: Ic3ce3e4e3b854f17f9a32fd4bdc47a8ea74ca439
atteryStats.java
9dc575d63c5f0d7511308bd2cd3d5dbd20c15e17 13-Jun-2015 Makoto Onuki <omakoto@google.com> Add StorageEventListener.onDiskDestroyed()

Bug 21336042

Change-Id: I226cf205191dd302ff8d5156f9ae0fe8fc5b2c2b
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
ffff74abb13ad8c0e25175bd361d570a8e5e1406 12-Jun-2015 Amith Yamasani <yamasani@google.com> Merge "Report app standby state to batterystats" into mnc-dev
8a435ced674562b827f91800317a89056e050b15 12-Jun-2015 Dianne Hackborn <hackbod@google.com> Merge "Fix APIs." into mnc-dev
6776849dc5ff851a225745393f082b702754e278 09-Jun-2015 Amith Yamasani <yamasani@google.com> Report app standby state to batterystats

Also reduce idle checks to the target user if possible.
Optimized calls to some internal methods

Bug: 21639147
Change-Id: If1faf26f862e5c4ca905f2603a4ba52a8d1af954
atteryStats.java
5347f0ff3857baae7b889d24acd352cabcc9205b 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge "Valid filenames have length limits!" into mnc-dev
4f5e8b3ca489245005b76176ac6d28f5f184f3fe 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Valid filenames have length limits!

ext4 filenames are at most 255 bytes. vfat filenames are bit more
lax, but we're often saving them on ext4 through a FUSE daemon, so
limit them the same way.

Since package names are used as directory names, verify that they're
valid filenames.

Tests to verify behavior.

Bug: 18689171
Change-Id: If7df4c40d352954510b71de4ff05d78259c721ed
ileUtils.java
ece0f4f5198e9e9cb60e96f036baf22c73411bec 11-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix APIs.

Issue #21039494: API Review: android.os.PowerManager.isDeviceIdleMode()
Issue #21347000: API Review: android.content.IntentFilter
Issue #20654534: API Review: android.app.assist

Also allow use of ActivityManager.setWatchHeapLimit on any platform
build as long as the calling app is debuggable.

Change-Id: Ic597e596fa772fcdf2553b64f444b3d9269e8b92
owerManager.java
c8488e99e85ae5252e6078c00d123f1364aef25d 11-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge "Ignore some more generic USB device names." into mnc-dev
47b872d9c36347382dd24ad5c3f70490d8fcbb23 11-Jun-2015 Jeff Sharkey <jsharkey@android.com> Ignore some more generic USB device names.

Bug: 21376386
Change-Id: I8c1b1cf9d881ad2795e9b15740ff511260572f1b
torage/DiskInfo.java
b30ad6f5e825989f92abc26cf86edb0c6b13fb01 11-Jun-2015 Makoto Onuki <omakoto@google.com> Fix the PFD detachFd issue.

Bug 18566244

Change-Id: I410b2219e08c9108236e2c2926bd613315198703
arcelFileDescriptor.java
75a0ee081fa31b75649e164a8bf79a23a3ebd060 11-Jun-2015 Svetoslav <svetoslavganov@google.com> Merge "Add system API to watch for permission changes" into mnc-dev
f7c06eb03ab4479b9d0656a23a4733d17e995183 11-Jun-2015 Svetoslav <svetoslavganov@google.com> Add system API to watch for permission changes

Change-Id: I1ce450a59fb326c14848f46732d877dea33f33c7
emoteCallbackList.java
5fc247338dfc1a817f708163201cdf395cff3303 10-Jun-2015 Jeff Sharkey <jsharkey@android.com> New strings!

Bug: 21737573, 21666225, 21756698, 21737666, 21471429
Change-Id: If1c5882d48f798d311f6d2b86277d3c13f06824e
torage/VolumeInfo.java
628ef9cbedf42fbfb04edf4381671e2fdb795c67 10-Jun-2015 Adam Lesinski <adamlesinski@google.com> Add more blaming output to batterystats dumpsys

Change-Id: I3216f13f16d89a72617d54638df43ce39183da9e
atteryStats.java
2c936af815167b3f6bbb21d5dccea78b0bd348af 09-Jun-2015 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Add is64Bit method to Process" into mnc-dev
659716d7a03553006e67b01008c2e9e03a20ed31 09-Jun-2015 Richard Uhler <ruhler@google.com> Merge "Add Debug.MemoryInfo.getMemoryStats API." into mnc-dev
ee0cdce2a80f8cc033378134e37092bc467c0f38 09-Jun-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Add is64Bit method to Process

Add a public method to Process to query whether the current runtime
is running in 64-bit mode.

Bug: 21069469
Change-Id: Ifaf4251f05bbe5eba135fa977190e475632856bd
rocess.java
8f955f89c2ff19aac7f3e009c825beda3618f630 06-Jun-2015 Ruben Brunk <rubenbrunk@google.com> Merge "Add UI for camera + flashlight battery reporting." into mnc-dev
5b1308f02d720808727af61863bd59c227d6fe02 04-Jun-2015 Ruben Brunk <rubenbrunk@google.com> Add UI for camera + flashlight battery reporting.

Bug: 11694505
Change-Id: Ieefa78a1d641851f4141fe666dae7b9fde394f09
atteryStats.java
4bf27b53b97475803fdb85069d500a075aefc801 03-Jun-2015 Tim Kilbourn <tkilbourn@google.com> DO NOT MERGE Fix DropBoxManager.Entry parcels with fds.

When the socketpair communication channel was added to
ParcelFileDescriptor, the CREATOR method for DropBoxManager.Entry was
not updated to read the extra fd from the Parcel. This was causing reads
to end too early.

Also removed comments referring to the now-deleted native methods in
the native Parcel implementation.

Change-Id: I49a9691da6ea927382ceb2fcbfdc7985a601111b
(cherry picked from commit ba953230f71e5117d819d9e7153da8304b141695)
ropBoxManager.java
arcelFileDescriptor.java
ff3b76d04672d09214cd0ceb29ec548c8abb2330 02-Jun-2015 Amith Yamasani <yamasani@google.com> Merge "Temporarily whitelist an app for network during doze" into mnc-dev
af575b9f8e1b59be9c8862b6a65c0dcb88145a23 30-May-2015 Amith Yamasani <yamasani@google.com> Temporarily whitelist an app for network during doze

API to allow an app to be whitelisted for network and wakelock
access for a short period. So even if the device is in idle
mode, such apps can be given a chance to download the payload
related to a high priority cloud-to-device message.

This API is meant for system apps only.

A new permission CHANGE_DEVICE_IDLE_TEMP_WHITELIST is required
to make this call.

Bug: 21525864
Change-Id: Id7a761a664f21af5d7ff55aa56e8df98d15511ca
DeviceIdleController.aidl
owerManager.java
owerManagerInternal.java
350e6dc985d118dd004fca60276e3766eb86d073 18-May-2015 Richard Uhler <ruhler@google.com> Add Debug.MemoryInfo.getMemoryStats API.

The initial list of supported memory stats is:
summary.java-heap
summary.native-heap
summary.code
summary.stack
summary.graphics
summary.private-other
summary.system
summary.total-pss
summary.total-swap

Bug: 21266903
Change-Id: Ic3b0e16a8eca4325f3738c389f069933618f66b0
ebug.java
11df5b66ef621c4d67f5b4980e879784de43fd70 02-Jun-2015 Ruben Brunk <rubenbrunk@google.com> Merge "Track camera and flashlight usage in battery stats." into mnc-dev
6d2c363fd59af805380622ff7a3ce4c34975aab2 27-May-2015 Ruben Brunk <rubenbrunk@google.com> Track camera and flashlight usage in battery stats.

Bug: 15986092

Change-Id: Idf03981271721c44fd43327d5d90cf6f3fecfacb
atteryStats.java
0fddb1a63109e2d4a92327ea1ffc74307292be48 01-Jun-2015 Andres Morales <anmorales@google.com> Merge "Revert "[partition checking] re-enable bootimage/bootloader, add recovery"" into mnc-dev
c97b92e3460e56bbec5ac954873d7eea978bd408 01-Jun-2015 Andres Morales <anmorales@google.com> Revert "[partition checking] re-enable bootimage/bootloader, add recovery"

This reverts commit 831e01a89e9636baf15d35e7f8ff5e9f290c8b87.

Change-Id: I48bf74631b842178964d25906b2790f18632e32a
uild.java
e3e314df4d52881225326d426a76e3e7f1bc40d3 20-Apr-2015 Stuart Scott <stuartscott@google.com> Network Reset should have a lockdown like Factory Reset.

bug:20332322
Change-Id: I7c61a011d11e89513757f112abf320bb2a785edb
(cherry picked from commit 94b038bbb291431a7b39611d72f206b07e839891)
serManager.java
a5705a4ada8e719ebf73ed757c514b74785e7ae3 29-May-2015 Andres Morales <anmorales@google.com> Merge "[partition checking] re-enable bootimage/bootloader, add recovery" into mnc-dev
165102f350e08bd186b25b90dd8a42aad8975890 28-May-2015 Tao Bao <tbao@google.com> Merge "Wait for uncrypt to finish before rebooting" into mnc-dev
8a179cab7971782900f5b4a872f4f432c7d17987 28-May-2015 Adam Lesinski <adamlesinski@google.com> Merge "BatteryStats: Output per-app wifi controller distribution" into mnc-dev
049c88b48ae4dfdf4cdc85aac85607bb4225e7c7 28-May-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Output per-app wifi controller distribution

Currently we only output this data on checkin, adding the output
to dumpsys as well.

Change-Id: I649474b576d7341bbf54ff95c0b0e6fed367bcb0
atteryStats.java
3452d2d0dbffc74a87751b39da9fa40d88d5c91f 26-May-2015 Paul Lawrence <paullawrence@google.com> Merge "Honor password visible setting in CryptKeeper" into mnc-dev
5e0ef0d0e62b77bcfc687bfbc1db875db71eba69 26-May-2015 Nicolas Prevot <nprevot@google.com> Merge "Say in the doc that DISALLOW_CONFIG_VPN now works." into mnc-dev
298f98fa234f353267ddc9c75d58e8cc542c25f1 23-May-2015 Nicolas Prevot <nprevot@google.com> Say in the doc that DISALLOW_CONFIG_VPN now works.

BUG:18902920
Change-Id: I761cba1f1e01fbe88f773887bf4e9233fc85cfef
serManager.java
e5c42621095a12e7d22ca5ab871dacd28c9bff41 20-May-2015 Dianne Hackborn <hackbod@google.com> Improve reporting to apps of transaction too large failures.

If the app tried to do various things with too much data --
starting an activity, starting a service, sending a broadcast --
this would fairly silently fail with little indication of what
was going on. Fix this in two ways:

- Now when the native code generates a TransactionTooLargeException,
it may include an additional message in it telling you how much
data was in the parcel being sent, to help you understand why
this happening.

- In all the framework code paths where we call to the system and
may fail, convert these failures into a a runtime exception and
rethrow them back to the app so that it will clearly get the
above message.

Change-Id: I745159b97d3edb6fca86aa09cbc40c1f15a7d128
ransactionTooLargeException.java
90237f7beb55dae79cdcba5271f96be778573737 22-May-2015 Tao Bao <tbao@google.com> Wait for uncrypt to finish before rebooting

/system/bin/uncrypt needs to be triggered to prepare the OTA package
before rebooting into the recovery. For larger packages, uncrypt may be
killed before it finishes the work after the timeout. Change to monitor
the uncrypt status and show the progress to user.

Needs matching changes in bootable/recovery/uncrypt, system/core and
external/sepolicy.

Bug: 20012567
Bug: 20949086
Change-Id: I2348a98312c4dae81f618b45a2ee3b4cf6246ff5
ecoverySystem.java
f5a6bd7538a6800c2a43ace5ad67d65b1f8f697a 19-May-2015 Jeff Sharkey <jsharkey@android.com> Push initial disk state, handle empty media.

Stash volume count from last scan, and use it to push initial storage
notifications state when listener is first attached.

Also omit disks with invalid size, which usually means they're an
empty slot with no media.

Bug: 20503551
Change-Id: I75097035aebaad70ba32437179a863f6a0910aa5
torage/DiskInfo.java
5f645339e4d0565cbe1bf2f1a3b77370f07b157a 19-May-2015 Nicolas Prevot <nprevot@google.com> Merge "Allow creating a managed profile if there is only one user." into mnc-dev
d23e0d6901935588f9472bd7073fea0009581e9b 16-May-2015 Dianne Hackborn <hackbod@google.com> Update power manager to track uid state like netstats.

To follow the correct semantics for when restricts due to
device idle can be applied, power manager need to know about
uid process states like net policy so that it can allow
wake locks from apps that are in the foreground.

Since this is being added to a second place, I reworked things
so that the activity manager now keeps track of per-uid process
states and allows apps to register to listen to those, rather
than having to track lower-level process states and transform
them into an overall uid state. Both net policy and power
manager use this new facility.

Change-Id: I77359164c40d0f36fe1ef296dd9f9c3062431148
owerManagerInternal.java
d5538758af0f6fea0695d3682e9aad2613ab9192 19-May-2015 Jeff Brown <jeffbrown@google.com> Merge "Rename file descriptor listener API." into mnc-dev
d8fdb338918e63bbab2e65bdb2f4d12320a1b24a 18-May-2015 Paul Lawrence <paullawrence@google.com> Honor password visible setting in CryptKeeper

Bug: 20184626

Change-Id: Ida0f34299947a5d4067406cc6e029fb841077804
torage/StorageManager.java
2177ed407b8323e6f50d2aa64a62fbdc773e1859 15-May-2015 Jeff Sharkey <jsharkey@android.com> Merge changes from topic 'bench' into mnc-dev

* changes:
Command to change force adoptable state.
Initial pass at storage benchmarks.
72434b7088591828082dd952496d523ef3622de2 13-May-2015 Nicolas Prevot <nprevot@google.com> Allow creating a managed profile if there is only one user.

BUG:21119929

Change-ID: Ice1cf25f8ae8199228f828d22118c94b9e11b567
UserManager.aidl
serManager.java
b99e6d69c30056520f7cb793e4be1851b3bd8426 15-May-2015 Adam Lesinski <adamlesinski@google.com> Merge "Parse uid_cputime proc file" into mnc-dev
4c099d0c49c8366efd3c26854465b3ceef49b627 15-May-2015 Jeff Sharkey <jsharkey@android.com> Command to change force adoptable state.

Since user builds can't setprop, add an explicit "sm" verb to change
the force adoptable state.

Bug: 21191915
Change-Id: I719d9b18c1a98c97442a5ddb1cc5512e8e4d3d3f
torage/IMountService.java
torage/StorageManager.java
9756d75ec28844f5ca30fda786a117c1a0ee88da 15-May-2015 Jeff Sharkey <jsharkey@android.com> Initial pass at storage benchmarks.

Offer an interface for Settings to invoke benchmarks on various
attached volumes.

Bug: 21172095
Change-Id: I847ddc87c58285457d1324be87f70ce10507accb
torage/IMountService.java
torage/StorageManager.java
3f6405259aab3d9d5bd0a1f6dec98ad27e774f69 15-May-2015 Jeff Brown <jeffbrown@google.com> Rename file descriptor listener API.

Bug: 21039493
Change-Id: I506c429e99528eb04dbda5b28da2ad000d10b467
essageQueue.java
arcelFileDescriptor.java
096c11dc3795120dbc75cc1ee15abaa019fb74d1 15-May-2015 Ruben Brunk <rubenbrunk@google.com> Merge "camera2: Fix work-profile eviction handling." into mnc-dev
7f75da2405cd910854448bb3801f776e036f926a 01-May-2015 Ruben Brunk <rubenbrunk@google.com> camera2: Fix work-profile eviction handling.

Bug: 20124384

Change-Id: I6fb82dbfd5f98746ed4befed81a583e3709bfee8
serManager.java
8d0cf8bc457b48a0c8d43cf23928956ae3ca2a28 14-May-2015 Alan Viverette <alanv@google.com> Merge "Add example for detectResourceMismatches()" into mnc-dev
39bf9a1916d929921597dfe3607e77561ec86569 14-May-2015 Alan Viverette <alanv@google.com> Add example for detectResourceMismatches()

Bug: 21043958
Change-Id: Iff6811539f249cbc4fbeebf63e02f62c4a2b0c95
trictMode.java
c968e219372e140e2ae34f9b1e91597ccb719381 13-May-2015 Jeff Sharkey <jsharkey@android.com> Merge "Determine if we have adoptable disks." into mnc-dev
0d838a0fad500a3c446df501d8aa7656c2c3a7a2 13-May-2015 Jeff Sharkey <jsharkey@android.com> Determine if we have adoptable disks.

Bug: 19993667
Change-Id: I9b21b05736c22d34ca22f5ad6e1a6ebec440cfb6
torage/StorageManager.java
4af455beb79086a960f7205d7b730aa6da015993 13-May-2015 Jeff Sharkey <jsharkey@android.com> Merge "Rewriting should fail when any paths are null." into mnc-dev
41be35dd011dbd7ed3a9d08e8fe3eb85ea0e5b64 13-May-2015 Jeff Sharkey <jsharkey@android.com> Rewriting should fail when any paths are null.

Bug: 21017105
Change-Id: I0c5e9c5bdf397d51e2799b06a52bc5bd0bdd09b0
ileUtils.java
44b4add4ce912ac2502082c6778e9a818a778c82 13-May-2015 Jeff Sharkey <jsharkey@android.com> Merge "New "sm" shell tool to call StorageManager." into mnc-dev
7d2af54a98358e9dea96f879ebd1ea915263522b 13-May-2015 Jeff Sharkey <jsharkey@android.com> New "sm" shell tool to call StorageManager.

Surface basic StorageManager commands through shell tool, like
simple listing of disks and volumes, and commands like mounting and
partitioning.

The output is designed to be parsed by host-side testing tools,
instead of relying on fragile dumpsys parsing.

Bug: 19993667
Change-Id: I993e92ecf57996678965945f0ae648b392a77ea2
torage/IMountService.java
06af1fac166a83507450b6bbb1f98a8dde68d92e 06-May-2015 Adam Lesinski <adamlesinski@google.com> Parse uid_cputime proc file

Instead of using the ProcessCpuTracker as the source of truth, we
periodically poll the new uid_cputime kernel module for stats
on all UID cpu time.

TODO: Need to tell the kernel when to stop tracking UIDs (aka on package
uninstall).

Change-Id: Id1d251aae23ab53f7acc0aba3bca5118bc2c194a
atteryStats.java
bb9d9278aa6fe3ba3d4c21b03d3e3da4543a974c 12-May-2015 Amith Yamasani <yamasani@google.com> Merge "Idle timebase" into mnc-dev
06bf824628c118fbd5ad6756913d7fd63a6f4ce5 09-May-2015 Amith Yamasani <yamasani@google.com> Idle timebase

Use screen on time as timebase for idling out apps
that have been inactive.

Store the time when an app was last active as an additional
package state in UsageStats. Compare it to screenOnTime to decide
if it's inactive.

Exclude device idle whitelist from apps that can go inactive.

Bug: 20066058

Change-Id: I709f9f31a9affa7ca6e1ae3e4c5729c5fb221669
DeviceIdleController.aidl
9c8600e1af1af6eb2f57a965bbfe941fbd082786 12-May-2015 Dianne Hackborn <hackbod@google.com> Merge "Implement device idle in power manager." into mnc-dev
8d66b3fbf5d8036e25d64a8472bcd2b6b7892a1a 09-May-2015 Dianne Hackborn <hackbod@google.com> Implement device idle in power manager.

When in device idle mode, we now prevent most apps
from being able to hold partial wake locks. The
device idle controller now pushes its white list of
app uids into the power manager, so it can apply this
policy correctly to only apps that are not whitelisted.

The implementation adds a new "disabled" flag to a wake
lock which is set when we want to apply this policy. When
set, we ensure that we tell battery stats that the wake lock
is not being held and ignore that wake lock when computing
the power state summary.

Also add new SDK APIs to schedule alarms that are allowed
to execute while in idle mode.

Finally add new dumpsys commands to the device idle controller
to completely disable and re-enable its operation, to use
for testing.

Change-Id: I1f16672c6ac06d03bb538f9854d5843db9aa6f27
owerManagerInternal.java
831e01a89e9636baf15d35e7f8ff5e9f290c8b87 11-May-2015 Andres Morales <anmorales@google.com> [partition checking] re-enable bootimage/bootloader, add recovery

Still don't have a consistent fingerprint for Radio, so can't
yet enable.

Change-Id: Ie876dc3f52a2df3c0bd67cc80eb24e22e3dcdbfb
uild.java
b501330a1b6ef14ff512a5727f7a01bc423d6fbb 18-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Disable multi-user background recording

On user switch, kill existing processes of the background user with
android.permission.RECORD_AUDIO permission. Home activity should not be
killed to avoid an expensive restart of the home launcher, when the
user switches back.

Introduced DISALLOW_RECORD_AUDIO user restriction, which is enabled for the
background user, and removed for the foreground user.

Introduced a concept of system controlled user restriction, which can only
be set by the system, rather than device administrator.

Bug: 20346194
Change-Id: Ic942fd565e80d14424230dae612965a8e229c4ef
UserManager.aidl
serManager.java
4f434a04708e7a254afe2e0d362f715229dc15d1 09-May-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Remove restrictions PIN functionality" into mnc-dev
c14b9cf628471f4f3b34d7c91ef193326eff92c6 13-Mar-2015 Richard Uhler <ruhler@google.com> Add 'App Summary' section to meminfo.

The 'App Summary' section is shown by default when other memory
details are shown. This adds a new meminfo flag '-s' to show only the
App Summary section.

Change-Id: I66913673cd3afca873a8b13e45abe071d4c57b82
ebug.java
e960030f75d2b510706c4623d94ad71aba427fb8 07-May-2015 Adam Powell <adamp@google.com> Add Build.VERSION.PREVIEW_SDK_INT

Add a constant to the SDK that apps may use to detect incremental API
changes across prerelease preview builds. APIs newer than the latest
official API level are not guaranteed to be stable or even present
across preview revisions.

Change-Id: I14341e55a3ebc3d872977970b9440c400e71f588
uild.java
ef24909d84db9d5aefb825ee1556089fcdcc1678 06-May-2015 Fyodor Kupolov <fkupolov@google.com> Remove restrictions PIN functionality

Bug: 20852231
Change-Id: I5666ee28ff1341ead9b258bc0852d8ba6d313c5e
UserManager.aidl
serManager.java
d1808401ca3bfd6b6b9a975c1e739b194d18f849 05-May-2015 Prerepa Viswanadham <dham@google.com> Merge changes from topic 'mwd-merge-050415' into mnc-dev

* changes:
Merge commit 'b6f59f4' into master_merge
Merge commit 'f6db0ce' into master_merge
Merge commit '17455a3' into master_merge
Merge commit 'b4d5b32' into master_merge
Merge commit 'a1a2fa7' into master_merge
Merge commit '8dfdb98' into master_merge
Merge commit 'eba66c3' into master_merge
c840681dbd42978745274e7c44d8c37a1f68a746 04-May-2015 Jeff Sharkey <jsharkey@android.com> Avoid NPE when fsUuid is null.

Bug: 20822962
Change-Id: I6340b70dba5a4f94a0f08ddfbda0190db97746f1
torage/StorageManager.java
b9d71a6f89b1183f6389b1774652445a420c6cbf 30-Apr-2015 Svet Ganov <svetoslavganov@google.com> Add body sensors app op - framework base

Change-Id: Idd5cd573fab3405e5b2a6e51d2d9d115650826e9
PermissionController.aidl
9fc943d1a69f2ab0f6d8285b09aef7e344a1fd1a 01-May-2015 Dan Sandler <dsandler@android.com> Merge "Icon: a clean, parcelable place for images." into mnc-dev
b9f7aac3488873677377b36c57338d758098f78e 04-Mar-2015 Dan Sandler <dsandler@android.com> Icon: a clean, parcelable place for images.

Binder APIs which wish to consume Bitmaps *and* drawable
resources can now do so by using Icon, a kind of union type
that accommodates each of these. Icon also accepts byte
arrays holding compressed Bitmaps (PNG, JPEG, etc), which
saves clients the additional memory cost of decoding and
sending full uncompressed bitmaps through Binder interfaces.
Receiving clients can call loadDrawable{,Async} and then
getDrawable to start immediately using the image in an
ImageView or other Drawable-hosting container.

Bug: 19609468
Change-Id: Ic1343711c2ac0b15876b46f0b6008b0108a49470
arcel.java
a320505f3a39e21f29065f0f2a01089363825318 01-May-2015 Jeff Sharkey <jsharkey@android.com> Merge "Move both app code and data together." into mnc-dev
bd0e9e4958acdc6ab5f607bc252fddba877d20f9 01-May-2015 Jeff Sharkey <jsharkey@android.com> Move both app code and data together.

Refactor app movement code into the normal install flow as a new
flavor of InstallArgs. It copies both app code and data during the
copy step, and just updates paths during the rename step.

Measure free space before kicking off a move. Spawn a thread to
derive a hacky progress estimate based on free disk space counting
down.

Remove checkFreeStorage() and getLegacyNativeLibraryPath() which
nobody was calling. Fix deadlocks around package broadcasts, and fix
wrong lock ordering when loading packages.

Bug: 19993667, 20275578, 20370140
Change-Id: I7bbf14c924a724d6ebb8a41a02434750fa3302bc
nvironment.java
fcda22b1fe33370922a53d6562aa15366818bd45 30-Apr-2015 Andreas Gampe <agampe@google.com> Merge "am b6d14a00: resolved conflicts for merge of c29791d5 to mnc-dev-plus-aosp" into mnc-dev
15cbbd5e4b653dc83215183662272d5aa0b51cf5 30-Apr-2015 Jeff Sharkey <jsharkey@android.com> am 21a30889: am 1df4dca2: am 9e98dce6: Merge "Returning to wizard, split move events." into mnc-dev

* commit '21a30889485020bf885ca20e209ed85c6e7d4ea5':
Returning to wizard, split move events.
21a30889485020bf885ca20e209ed85c6e7d4ea5 30-Apr-2015 Jeff Sharkey <jsharkey@android.com> am 1df4dca2: am 9e98dce6: Merge "Returning to wizard, split move events." into mnc-dev

* commit '1df4dca2982acecb526495b30a605d97786df0de':
Returning to wizard, split move events.
50a05454795c93ac483f5cb6819e74cb17be1b5b 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> Returning to wizard, split move events.

Finish wiring up notifications to jump back into in-progress wizard
flow, using moveId as identifier.

Split move events back into separate creation and progress events,
and pass details as bundle to pass extra stuff like UUID. Null
package still means moving primary storage.

Add explicit "volume forgotten" event for PackageManager to clean
up internal state with.

Plumb through internal path reported by vold, and bring back FUSE
bypass rewriting optimization.

Bug: 19993667
Change-Id: I0f43edbba36c58c5cd33550022c54c4eb9f01a48
nvironment.java
ileUtils.java
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/VolumeInfo.java
98322c8e885cf64698b96dfbc5035a9fd3ee92eb 30-Apr-2015 Amith Yamasani <yamasani@google.com> am 278886d5: am 3184b286: am fa4eda44: Merge "Remove network access for idle apps" into mnc-dev

* commit '278886d50a66689529320f9bd735177c068e210d':
Remove network access for idle apps
278886d50a66689529320f9bd735177c068e210d 30-Apr-2015 Amith Yamasani <yamasani@google.com> am 3184b286: am fa4eda44: Merge "Remove network access for idle apps" into mnc-dev

* commit '3184b28648a782a3a037de90bc76f64839b91560':
Remove network access for idle apps
15e47235c055495ec0ccc24768a6746a960d3a61 25-Apr-2015 Amith Yamasani <yamasani@google.com> Remove network access for idle apps

Track apps going in and out of idle in the NetworkPolicyManagerService.
Apply DROP rules in firewall controller if app is to be blacklisted
for network access.

Firewall can now be in whitelist (old) or blacklist mode. When in
blacklist, it allows all by default and we can selectively DENY
some uids.

Track app idle in UsageStats and update periodically.
Track charging/discharging states.

TODO: Check for appidle temporary parole state

Bug: 20066058
Change-Id: Ia65d7544204b3bcb78a517310ef4adcc05aac6fb
NetworkManagementService.aidl
c5cbdfcfe517b55cd4578e5e5b6a682fcfdffbc7 29-Apr-2015 Dianne Hackborn <hackbod@google.com> am 8756f9b3: am 599a4e0e: am 9ac2718e: Merge "Implement user-settable power save whitelist." into mnc-dev

* commit '8756f9b34dd04cabae7487bd1941008a6c98c4c6':
Implement user-settable power save whitelist.
8756f9b34dd04cabae7487bd1941008a6c98c4c6 29-Apr-2015 Dianne Hackborn <hackbod@google.com> am 599a4e0e: am 9ac2718e: Merge "Implement user-settable power save whitelist." into mnc-dev

* commit '599a4e0ea864769e6cd1d04bd766c472b16be4c7':
Implement user-settable power save whitelist.
8baf2b66631b5da67e161ed9dd0a2220fc4c9f29 29-Apr-2015 Svet Ganov <svetoslavganov@google.com> am 0dbaba6c: am 5e47c802: am 56867804: Merge "Respect the record audio app op - framework" into mnc-dev

* commit '0dbaba6c3a7ae0a45e2305a21b0ef5decbde59a4':
Respect the record audio app op - framework
0dbaba6c3a7ae0a45e2305a21b0ef5decbde59a4 29-Apr-2015 Svet Ganov <svetoslavganov@google.com> am 5e47c802: am 56867804: Merge "Respect the record audio app op - framework" into mnc-dev

* commit '5e47c802ef1ac9437b012bc70701ffaf048cb399':
Respect the record audio app op - framework
0b4daca9ba54b7252ea8c159218391380eb00c8a 27-Apr-2015 Dianne Hackborn <hackbod@google.com> Implement user-settable power save whitelist.

The whitelist is now maintained by DeviceIdleController,
which is moving out into its own independent system service.
Network stats now queries it for the whitelist, instead of
collecting that itself.

Also did a few improvements in alarm manager -- made the
code for moving alarms out of the pending list more robust,
and fixed the debug output to always print the contents of
the pending list even if we aren't in a pending state. (That
would have helped me identify the problem much earlier.)

Change-Id: I0f7119d4c553c3af4d77b2f71246fa6e2c13c561
DeviceIdleController.aidl
owerManager.java
5686780404a41901d226cc7ba506c1c0ba284713 29-Apr-2015 Svet Ganov <svetoslavganov@google.com> Merge "Respect the record audio app op - framework" into mnc-dev
d70088d8110163e712b7cdf15f665178aa7cd8b7 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> am 572b1078: am 15c7f90c: am b42d6946: Method to wipe all adoptable disks.

* commit '572b1078962437d7495f395bda0bc8125c833465':
Method to wipe all adoptable disks.
9f1a1bd82ddb4b9ce28b17e62aeb295cc73b17cc 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> am a149ba02: am aa4e35eb: am b36586a7: Split some VolumeInfo state into VolumeRecord.

* commit 'a149ba0255c5983b4e0b23b120b388b9236583e9':
Split some VolumeInfo state into VolumeRecord.
572b1078962437d7495f395bda0bc8125c833465 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> am 15c7f90c: am b42d6946: Method to wipe all adoptable disks.

* commit '15c7f90c8d84ce992659d0ec29bb0e60f1b603d1':
Method to wipe all adoptable disks.
a149ba0255c5983b4e0b23b120b388b9236583e9 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> am aa4e35eb: am b36586a7: Split some VolumeInfo state into VolumeRecord.

* commit 'aa4e35eb6540806958cb37c5c564c5d20dd7a978':
Split some VolumeInfo state into VolumeRecord.
b42d694691e73d094df616fe78627ada7e1239ef 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> Method to wipe all adoptable disks.

Will be used by various classes doing factory reset.

Bug: 9433509
Change-Id: I0701abe00abc2fb9085ce1ffe6e28fb27c91ab51
torage/StorageManager.java
torage/VolumeRecord.java
b36586a7c9b7718f33961406537e27bbd9b16211 27-Apr-2015 Jeff Sharkey <jsharkey@android.com> Split some VolumeInfo state into VolumeRecord.

VolumeRecord is a historical record of a volume that we've seen in
the past. It's now surfaced outside the framework for SystemUI to
drive the notifications that bug users to reinsert missing private
volumes.

Show progress notifications for both storage and package movement
operations. Notify when an empty disk is inserted (no usable volumes)
which launches into the normal format flow.

Add API to forget volumes.

Bug: 20275424, 20275424
Change-Id: I75602c17fdcd4d1f1f62324e1a08c4a33093eefa
torage/IMountService.java
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/VolumeInfo.java
torage/VolumeRecord.java
fa5ecdc4ac6d7a8db2bb9e4a6a60a3189025df30 28-Apr-2015 Svet Ganov <svetoslavganov@google.com> Respect the record audio app op - framework

Change-Id: I5696d2ef22738ccffaf8bd7a0ee68cbc3dea3bf1
PermissionController.aidl
27c39f1adeaf1a653fb41a5af64ee815b8048dd6 27-Apr-2015 Andreas Gampe <agampe@google.com> am b6d14a00: resolved conflicts for merge of c29791d5 to mnc-dev-plus-aosp

* commit 'b6d14a009e43a4d61ae2a4f98f6e3b914148d0a9':
Frameworks/base: Add debug.gencfi property

(cherry picked from commit a5b55a017a984608eacdf414bc1cbcd7615f1c13)
rocess.java
b40b49577c12d14f33abedeba7a1811c7a4eda6d 28-Apr-2015 Narayan Kamath <narayan@google.com> am 7ecc6b72: am 71fa6862: Merge "Fix NPE in Bundle#hasFileDescriptor on null-valued SparseArray"

* commit '7ecc6b721e5da0cc3a52dc14bdfd8d1308db84bc':
Fix NPE in Bundle#hasFileDescriptor on null-valued SparseArray
498bf16ef0b0a6c82ff2d580ce45d5fe4ea82071 28-Apr-2015 Narayan Kamath <narayan@google.com> am 90601a72: am b736868b: Merge "Fix NullPointerException in Bundle#hasFileDescriptors"

* commit '90601a724efea2a15769195b4c452d854607931e':
Fix NullPointerException in Bundle#hasFileDescriptors
7ecc6b721e5da0cc3a52dc14bdfd8d1308db84bc 28-Apr-2015 Narayan Kamath <narayan@google.com> am 71fa6862: Merge "Fix NPE in Bundle#hasFileDescriptor on null-valued SparseArray"

* commit '71fa6862f307796c659fd4e83a7724dd6851b69e':
Fix NPE in Bundle#hasFileDescriptor on null-valued SparseArray
90601a724efea2a15769195b4c452d854607931e 28-Apr-2015 Narayan Kamath <narayan@google.com> am b736868b: Merge "Fix NullPointerException in Bundle#hasFileDescriptors"

* commit 'b736868be917afd5d3ea7e8a8d3d658c4350a239':
Fix NullPointerException in Bundle#hasFileDescriptors
ecd21848731f55978cdac739e6d4460a83449202 28-Apr-2015 Taiju Tsuiki <tzik@google.com> Fix NPE in Bundle#hasFileDescriptor on null-valued SparseArray

Add a null check for each values of SparseArray in Bundle#hasFileDescriptor
to avoid NullPointerException.

Change-Id: I43ecc01f2759ccbe85b902fa118d55cb74ebf38b
undle.java
e58c7858a39d58a222fe8302dc5ffbe4a25c5bf1 22-Apr-2015 Taiju Tsuiki <tzik@google.com> Fix NullPointerException in Bundle#hasFileDescriptors

Add null check for array elements in Bundle#hasFileDescriptors to avoid NPE on
null valued array.

Change-Id: Ic6ef8864ca6add023c7a69ba3c9474b0f6291723
undle.java
7b4b844fdf2665c290bfef4fc3a6ade7b3df71f7 28-Apr-2015 Tor Norbye <tnorbye@google.com> Merge "Annotate some APIs with threading annotations"
b6d14a009e43a4d61ae2a4f98f6e3b914148d0a9 27-Apr-2015 Andreas Gampe <agampe@google.com> resolved conflicts for merge of c29791d5 to mnc-dev-plus-aosp

Change-Id: I0e3dacbdfb68d6bb31800ff2e9969b96e63634b6
0f94fc6f1df4ef03e639190a138d650bc6cf8adf 25-Apr-2015 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Fix a constructor"
275e3e43f2fba72fa99001cafa2a70e5478fc545 25-Apr-2015 Jeff Sharkey <jsharkey@android.com> Migrate primary external storage.

Wire up through MountService to call down into vold. Watch for
unsolicited events that report progress, including special value "82"
that signals that copy has finished. We use this value to persist
the volumeUuid in case of unexpected reboot, since it indicates the
new volume is ready.

Wire progress updates through existing callback pipeline.

Update the volume mounting code to match against the persisted UUID
when selecting the primary external storage.

Bug: 19993667
Change-Id: Id46957610fb43517bbfbc368f29b7d430664590d
torage/IMountService.java
torage/StorageManager.java
a876b35d485008b690578889d11e69b40d4e7170 25-Apr-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Add debug.gencfi property

Add the debug.gencfi system property that forces generation of
CFI data.

Change-Id: Ida66f8c1567634d05cfdbba1a982be3684e94369
rocess.java
0525677343ee2cc0e4dbca8d30962d0a972166f8 25-Apr-2015 Jens Ole Lauridsen <jlauridsen@google.com> Merge "parcel: Add efficient methods for writing and reading a parcelable."
620b32b316fd4f1bab4eef55ec8802d14a55e7dd 24-Apr-2015 Jeff Sharkey <jsharkey@android.com> Package and storage movement callbacks.

Since package and primary storage movement can take quite awhile,
we want to have SystemUI surface progress and allow the Settings
app to be torn down while the movement proceeds in the background.

Movement requests now return a unique ID that identifies an ongoing
operation, and interested parties can observe ongoing progress and
final status. Internally, progress and status are overloaded so
the values 0-100 are progress, and any values outside that range
are terminal status.

Add explicit constants for special-cased volume UUIDs, and change
the APIs to accept VolumeInfo to reduce confusion. Internally the
UUID value "null" means internal storage, and "primary_physical"
means the current primary physical volume. These values are used
for both package and primary storage movement destinations.

Persist the current primary storage location in MountService
metadata, since it can be moved over time.

Surface disk scanned events with separate volume count so we can
determine when it's partitioned successfully. Also send broadcast
to support TvSettings launching into adoption flow.

Bug: 19993667
Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
torage/DiskInfo.java
torage/IMountService.java
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/VolumeInfo.java
62539a220c6810f66b63060326bd1668f7d6b029 23-Apr-2015 Ben Kwa <kenobi@google.com> Move extension checking code into FileUtils.

Move code for checking file extensions and MIME types from
ExternalStorageProvider into android.os.FileUtils, so it can be used by
other clients (e.g. DownloadsProvider).

BUG=20157955

Change-Id: Ib16a16af723c21fb8d2912c8917dfd68653ea6fa
ileUtils.java
83c6896cbf402623ef7d97f13ed65098df63429f 11-Mar-2015 Tor Norbye <tnorbye@google.com> Annotate some APIs with threading annotations

Change-Id: I24bda29261cdecbe78b2529866624b9313ca5c03
syncTask.java
8dea8744ac12a97533e8de0f8e56a58d630eb489 20-Apr-2015 Jens Ole Lauridsen <jlauridsen@google.com> parcel: Add efficient methods for writing and reading a parcelable.

The documentation used to recommend calling Parcelable.writeToParcel
instead of using the Parcel API for sending Parcelable types.
This leaves the developer to have to deal with null values and makes
it harder to create tools that generate correct efficient code.
I suggest that we add a these 2 methods:
writeTypedObject and createTypedObject
as an alternative.

Change-Id: I85443417909dcb9590d3f0a72f0130a4da4ead38
arcel.java
52dbaa08cdb7866fa51f98e4572f17077c492554 22-Apr-2015 Neil Fuller <nfuller@google.com> Merge "Add checks for types in Parcel / avoid class initialization"
e0ef7e8c60566bad4cbe0140b98e9b1ccef72929 21-Apr-2015 Jeff Sharkey <jsharkey@android.com> Merge "Blend in force adoptable flag when set."
74acbbb2cd367c6e78db7de5118ff9dd56da61d0 21-Apr-2015 Jeff Sharkey <jsharkey@android.com> Blend in force adoptable flag when set.

Bug: 19993667
Change-Id: Ic7f348d171a89e889281b7efb1aa0cbade048975
torage/DiskInfo.java
torage/StorageManager.java
aa861666ed537389e335f586bc84fe8ddb9fb026 21-Apr-2015 Dan Sandler <dsandler@android.com> Fix build.

Change-Id: I0e419fdb36cedba67fc6da7f71134d9728f66150
arcel.java
954863ab9b0e1a859b0442a6a76adef087b05457 21-Apr-2015 Dan Sandler <dsandler@android.com> Merge "Add ashmem stats to Parcels."
44e440cc7e834de7811f005998acb32716835b00 20-Apr-2015 Neil Fuller <nfuller@google.com> Add checks for types in Parcel / avoid class initialization

Make Parcel more stringent to avoid initializing classes
that are not related to Parcelable.

Two new checks:
1) That the class found on the stream implements Parcelable.
2) That the type of the CREATOR field declared on the class
found on the stream actually implements Parcelable.Creator.

For (1) the new check that a class in the stream is actually
Parcelable. This will affect handling of invalid streams or
code that didn't obey the requirements.

For (2) this change could break some apps that had a CREATOR
field in a Parcelable class that was not declared to be
(at least) a Parcelable.Creator: it is no longer sufficient
for the type to implement Parcelable.Creator, the field
must be declared as such.

This change includes doc updates for Parcelable to make
the requirement around the declared type of the CREATOR
field more concrete.

This change also makes the generics slightly tidier/explicit,
annotates code as unchecked where needed and removes some
assumptions that can not be guaranteed with Java's type
system and the current definitions.

For example, there's no guarantee right now that
Parcelable.Creator returns objects that are actually
Parcelable, or that the CREATOR object associated
with a Parcelable will return objects of the surrounding
class. The first we can't do something about without
breaking the public API (due to implementations like
TextUtils.CHAR_SEQUENCE_CREATOR). The second is
currently typically implicitly enforced with an implicit
cast in the (app's) calling code (e.g. callers to
readParcelable() that causes a language-introduced cast
to the type expected). A larger refactoring of Parcel
would be required to ensure that the class that is
produced by Creator is of a type compatible with the
class that declared CREATOR, and is not a goal for this
change.

A fix is included for a class that doesn't implement
Parcelable like it should and would probably fail
check (1).

Bug: 1171613
Change-Id: I31d07516efee29a320e80f4bc4f96aaac628f81c
arcel.java
arcelable.java
e6c04f9417cc4bff0f5f9e72f0d6d66d2aab6e80 19-Apr-2015 Jeff Sharkey <jsharkey@android.com> Broadcast hidden volumes, notification polish.

Send limited broadcast intent when certain volume state changes
occur; the only customer for now is ExternalStorageProvider.

Change notification flow to be less bumpy. Pick USB icon based on
disk type, and avoid using "generic" disk labels.

Bug: 19993667
Change-Id: I263bc9e9aae2ae57eb4d1afe76da686aee5475fb
torage/DiskInfo.java
torage/VolumeInfo.java
355df8f16ae4c428997d88ba86f1ce07e5eca35e 19-Apr-2015 Jeff Sharkey <jsharkey@android.com> Merge "Wire up non-visible volumes, more states."
27de30d31c3e79bc429cb71aed9681c55243f18d 19-Apr-2015 Jeff Sharkey <jsharkey@android.com> Wire up non-visible volumes, more states.

Adds logic to ExternalStorageProvider to scan non-visible volumes,
such as USB OTG devices. We use internal paths when surfacing these
volumes, which also optimizes around the FUSE daemon for public
devices. Also dumps internal state when requested.

VolumeInfo now directly contains DiskInfo, which means it's
snapshotted when sending events, avoiding teardown races. Switch
notifications to use this DiskInfo directly.

Finish wiring up new volume state, including helper methods to make
it readable/writable state clearer. Handle disks and volumes with
spaces in their labels.

Bug: 19993667
Change-Id: I5c75e5658a6415976811477aebafee7694bde0f4
torage/StorageManager.java
torage/VolumeInfo.java
eab852cb34cec4f83662db076d2339dbb97532e9 18-Apr-2015 Amith Yamasani <yamasani@google.com> Merge "Add isSystemUser API"
5760e1786bcc2feac9d1c2c784520aa4d6cf8cb8 18-Apr-2015 Amith Yamasani <yamasani@google.com> Add isSystemUser API

Bug: 20348316
Bug: 19945747
Change-Id: Ibb81f0b2fccec621e26e4543bf9f26ffddfafb15
serManager.java
7e92ef3a1146102806fa0543ef12e09231c55639 18-Apr-2015 Jeff Sharkey <jsharkey@android.com> Volumes know parent disks; unsupported disks.

This is cleaner and more direct than the reverse of having the disk
publish child volume membership. Rename state constants to match
public API. Add state representing bad removal. Make it clear that
volume flags are related to mounting.

Send new unsupported disk event when we finish scanning an entire
disk and have no meaningful volumes.

Splice disk labels into description when known. Only adoptable
slots are directly visible to apps.

Bug: 19993667
Change-Id: I12fda95be0d82781f70c3d85c039749052dc936b
torage/DiskInfo.java
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/VolumeInfo.java
e283d33feda27f54672f90512c25304842cd7eb4 16-Apr-2015 Adam Lesinski <adamlesinski@google.com> Report WiFi and Bluetooth energy collection in checkin stats

Also removed some legacy bluetooth energy collection
that was never invoked.

Also fixed an issue with Wifi scan power estimation.

Bluetooth energy recording is still disabled as strange results
are still reported.

Change-Id: Iafa37eba285fd933ff221116b14af260e904fa4f
atteryStats.java
a985bfb44ce3d7b9ca816438b958411c3052bb8c 17-Apr-2015 Dianne Hackborn <hackbod@google.com> Merge "Some improvements to battery stats data."
0c820db22c83808fdb06c7cb06aaf13ef4b559a3 15-Apr-2015 Dianne Hackborn <hackbod@google.com> Some improvements to battery stats data.

History now records when wifi data activity starts and "ends"
based on the triggers we get from the kernel used to determine
when to collect data. (Basically the same as the current cell
data, but of course when it ends is just an arbitrary x seconds
after the last data traffic.)

Re-arranged the state bits to make room for this data in the
right place and move some other things that make more sense to
have in states2.

Try to improve overflow handling, so when it happens we allow
the various bit states to drop to 0 instead of being stuck
active for an indeterminant amount of time.

Added recording of the points where we decide we want to
retrieve new power stats, giving the reason for doing so.
These are only recorded when full logging is turned on.

Change-Id: Ic5d216960a07e0eb658731cdfba7f49ad3acf67e
atteryStats.java
2052907d0232e6de36fcd81aef65b1b9b5410d22 16-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> Merge "Unhide Debug.getRuntimeStat()."
bd3af28fdc38cfe741badb86f9daa2fc6122eabc 16-Apr-2015 Jeff Sharkey <jsharkey@android.com> Merge "Candidate volumes for packages, fix symlink."
e2d45be4dae116307f8edd85eaa61134221cb8f9 16-Apr-2015 Jeff Sharkey <jsharkey@android.com> Candidate volumes for packages, fix symlink.

Add API to determine the possible candidate volumes that a package
can be moved to. For example, it currently knows that we need to
move ASEC-based apps through internal storage before migrating them
to a private volume.

Comparator for consistent VolumeInfo ordering when displayed in UI.

Fix native library symlink to be volume UUID aware.

Bug: 19993667
Change-Id: I68d5fac5f0f776ac1c7dd15e7a984bfe2704f3f7
torage/DiskInfo.java
torage/VolumeInfo.java
5ce0430edfc176de29c0cf503975570dfda8111f 10-Apr-2015 Dan Sandler <dsandler@android.com> Add ashmem stats to Parcels.

Developers can now analyze the true RAM cost of the parcels
they create when those parcels contain ashmem blobs (such as
Bitmap data).

Requires change Ifaf115da in frameworks/native.

Bug: 20079551
Change-Id: Ifaf115dabd1a59cdb1b46e2d49c41f64ac107de4
arcel.java
ad83f87bcfc4f3ee4bcc972bad4ddcaaf4e57426 15-Apr-2015 Wale Ogunwale <ogunwale@google.com> Merge "@hide Binder#blockUntilThreadAvailable API"
8d90634aab535aaaf1e7e187fee6f7c0d6957625 15-Apr-2015 Wale Ogunwale <ogunwale@google.com> @hide Binder#blockUntilThreadAvailable API

Bug: 19297165
Change-Id: I15f1139330830b95d7078a5eedd6def794cca6a7
inder.java
cc3c34c9675fdf02da23326b0788e8a587bb399d 15-Apr-2015 Wale Ogunwale <ogunwale@google.com> Merge "Added watchdog monitor for Binder threads availability."
9f09b2d93fb8b15d5905b22f566dc0fa99fd086f 15-Apr-2015 Jeff Sharkey <jsharkey@android.com> Merge "Persist nickname and flags for volumes."
d95d3bfb2b28a4f21f3fdcd740160c9a61eb0363 15-Apr-2015 Jeff Sharkey <jsharkey@android.com> Persist nickname and flags for volumes.

StorageManager now offers to persist a nickname and user flags for
active volumes. This metadata is kept around and spliced into
any future VolumeInfo when the same UUID is present. Current user
flags indicate "initialized" and "snoozed" states to control how
notifications are shown.

Notify listeners when metadata changes, and kick public notification
after a volume is initialized. Make unique PendingIntents when
multiple volumes are active.

Beginnings of plumbing to ask for missing volumes.

Offer explicit accessors for VolumeInfo and DiskInfo to give better
path to documentation and deprecation.

Bug: 19993667
Change-Id: I3d8b68be83f43ba992d21d51cad5b775776d681c
torage/DiskInfo.java
torage/IMountService.java
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/VolumeInfo.java
d7fdd0228e6abdbc079f9cf08b780e4222dfe7c5 14-Apr-2015 Wale Ogunwale <ogunwale@google.com> Added watchdog monitor for Binder threads availability.

The watchdog will trigger if all binder threads in the system_server
are stuck for a long time (1min) preventing the process from
handling additional IPC requests.

Bug: 19297165
Change-Id: I5909a9c230bf23917feaed53f2b54bd50425bf3c
inder.java
50f65404fba47225316cb24e53a8e0a3de340fe0 15-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> Unhide Debug.getRuntimeStat().

Export runtime stats (currently GC stats) through this method.

Bug: 19825248
Change-Id: I8f859a2bc497e604f4c4f23f6b45b49ac4f99790
ebug.java
c9694247727a9a608ba585915358699274e834fa 15-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> am 4bb374bb: am d83a598c: am 82992b72: Merge "Fix javadoc error in Debug.getRuntimeStats()."

* commit '4bb374bb359c01055ad1f35a9424a12dcadd2d2b':
Fix javadoc error in Debug.getRuntimeStats().
d83a598c392af8daf9c82f28b5c920955712f528 15-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> am 82992b72: Merge "Fix javadoc error in Debug.getRuntimeStats()."

* commit '82992b7270842637d1af3dcc7c9ae954bdfa312c':
Fix javadoc error in Debug.getRuntimeStats().
56bd3129138b525b0f2eba52bd4fa140f23e792c 14-Apr-2015 Jeff Sharkey <jsharkey@android.com> Checkpoint of storage notifications.

Rewrite of storage notifications to support multiple disks/volumes,
handling the state of each independently. Update strings to match
spec. Include actions to jump into wizard when adoptable, otherwise
browse or eject.

Move browse intent creation to common place on VolumeInfo. Also add
well-formed extra names. VolumeInfo now carries the parent disk ID
along with it to avoid races when unmounting.

Bug: 19993667
Change-Id: I236ddc7f8112490355f438b828bec8d40c331fdd
torage/DiskInfo.java
torage/StorageManager.java
torage/VolumeInfo.java
d8001676ea1fba9cb4193e809c8d6df9a6cb8e31 15-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> Fix javadoc error in Debug.getRuntimeStats().

Bug: 19825248
Change-Id: Id7131732d30f01c3edd01c6d4c7c391095ffd054
ebug.java
f8a713309ac8575b64641adbbb3ecb183429d7e1 14-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> am d9e0abdf: am 04143fdd: am e38ee9df: Merge "Add Debug.getRuntimeStat()."

* commit 'd9e0abdf85ad11a9689d3ded79745fe318e82971':
Add Debug.getRuntimeStat().
04143fdd55196886e5dbf1a1c7fe334115e81a42 14-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> am e38ee9df: Merge "Add Debug.getRuntimeStat()."

* commit 'e38ee9df26c93415303152ec3f6ed50d847557c8':
Add Debug.getRuntimeStat().
8b5a293d097dc3b3e64e8557d4594d0165ec0813 02-Apr-2015 Hiroshi Yamauchi <yamauchi@google.com> Add Debug.getRuntimeStat().

Export runtime stats (currently GC stats) through this method.

Bug: 19825248
Change-Id: I147a0e9bc6bdfe4dc29d74e44f0af6349c51d9f8
ebug.java
1e38382b542f5cef9957a89692b02c55a3dd351c 10-Apr-2015 Dianne Hackborn <hackbod@google.com> Fixes to idle alarm scheduling, package importance.

- Add new API to ask the activity manager what the current
importance of a particular package name is (along with a few
new useful importance levels).

- Fix my last alarm manager change to actually execute the
alarms we have now decided should run even while we are idle.

Change-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687
atteryStats.java
fb1e9b79782580acabf0dd4dda6a74349fafc978 13-Apr-2015 Jeff Brown <jeffbrown@google.com> Merge "Set initial screen brightness earlier in the boot process."
05ce40e1af0ff8b3c7e183e70d068ce10ef09b87 13-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Use UserHandle instead of int for public APIs"
385de624aa990266ffbaf70711ac8a330569429e 11-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Use UserHandle instead of int for public APIs

Bug: 20049349
Change-Id: If5671fb47aa9a3cffebff16787daeae9ca7361e8
serManager.java
5d6443bf7c087167e47ea39b13e6af09cb43ad97 11-Apr-2015 Jeff Brown <jeffbrown@google.com> Set initial screen brightness earlier in the boot process.

Previously we had to wait for systemReady before setting the brightness
due to the order in which the display power controller was initialized.
Unfortunately it could take us a rather long time to reach that stage,
particularly after an OTA where the screen would remain at maximum
brightness for minutes while "Optimizing Apps".

This change moves the brightness backlight setting code deeper
into the display manager which has a couple of nice side-benefits
in that it now becomes much easier to coordinate display power mode
changes with display backlight changes. So this change also resolves
some issued with changing the backlight while in DOZE_SUSPEND and
ensuring that backlight changes generally end up being performed
before executing a power mode change except in the case where the
display needs to come out of suspend first. (So now the backlight
will be set before entering DOZE from the ON state.)

Deleted some dead code in LightService which was in the way.

Bug: 19029490
Change-Id: I494b5223e676248daf2ff8be3ec338845977f73c
HardwareService.aidl
59d577a518333f4b4514315b6d10e8dba160abcd 12-Apr-2015 Jeff Sharkey <jsharkey@android.com> Browse mode for DocumentsUI, removed volume state.

The existing management mode is too specific, and requires that
storage backends add queryChildDocumentsForManage(), etc. Instead,
to offer more natural browsing support, add a new BROWSE_ROOT intent.

It behaves mostly like MANAGE_ROOT, except that it doesn't mutate
its Uris with setManageMode(), and it shortcuts straight to VIEW on
clicked documents.

It can be launched like this:

$ adb shell am start -a android.provider.action.BROWSE_ROOT
-d content://com.android.externalstorage.documents/root/8405-1DFB
-c android.intent.category.DEFAULT

Also rename a MetricsConstants to make it clearer, and don't
auto-mount all emulated volumes.

Fix bugs around parceling of DiskInfo/VolumeInfo. Method to resolve
the best description for a VolumeInfo, which might need to fall
back to DiskInfo.

Add back "removed" volume state so we send broadcast when a volume
is destroyed, matching the expected public API behavior.

Bug: 19993667
Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
torage/DiskInfo.java
torage/StorageManager.java
torage/VolumeInfo.java
2e29aa5ea7fd361e66751578037ce253009c80e4 11-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Added getUserCreationTime to query user/profile creation time"
1739076ef9cc940c54cbde3f0576f0dc228f7d68 10-Apr-2015 Adam Lesinski <adamlesinski@google.com> Fix deadlock issue in BatteryStatsHelper.

It was assumed that BatteryStatsHelper could safely call into system services.
Because it is used when dumping information from the BatteryStatsService,
this assumption was incorrect.

Now the BatteryStats object carries around the state of the energy reporting
for Bluetooth and WiFi, so BatteryStatsHelper avoids a query into WiFiManager.

b/19729960

Change-Id: I8745cf6aafeea8e862e34fe63b20056f6ba54b40
atteryStats.java
4870e9d5eba59fb257a87f97f1adf0b734cf48d3 09-Apr-2015 Dianne Hackborn <hackbod@google.com> More work on device idle mode and other power stuff.

Add idle mode support to the alarm manager. Introduce
a new concept of flags associated with alarms to tell
the alarm manager how to treat the alarm -- they allow
everything from the alarm that will bring us out of idle
mode, to alarms that are allowed when idle or should
also bring us out of idle. The standalone boolean is
now also a flag.

(Note there is currently no protection from user space
setting the flags however it wants; I will be working
on that in a follow-up change.)

When in idle mode, the alarm manager pushes all alarms
that shouldn't execute during that time over to a
separate list that is not executed until out of idle.
To help with this, I reworked a bit how Alarm objects
are managed, so that when rebatching or moving between
lists we don't have to allocated new objects but can
just use the same existing instance.

Also tweaked the sync manager to deal with idle mode,
which currently just means doing the same thing as when
low on storage -- turning off sync.

Add new ACTION_CHARGING and ACTION_DISCHARGING broadcasts
that apps can listen for to know when the device is actively
charging and discharging. These are better than the old
POWER_CONNECTED and POWER_DISCONNECTED ones because we only
report charging when we actually see that there is enough
power being provided to charge the battery (and will report
discharging if there is not enough power).

The job controller uses these new actions for scheduling
jobs that want to run while plugged in. Removed the
"stable charging" stuff while doing so, since the new
charging state serves as an even better signal for that.

Introduced two new process states: FOREGROUND_SERVICE and
TOP_SLEEPING. This will allow us to treat foreground services
specially (such as still allowing network access to them for
background music playback) while not mixing them together with
whatever happens to be the top activity while the device is
asleep.

Also some other small cleanup here and there.

Change-Id: I7a9808b578bad6f50deb8e1baf919298512a0d3a
atteryManager.java
atteryStats.java
ff7233e2e3df4965b9ecadabfd78bb991fd1e102 08-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Added getUserCreationTime to query user/profile creation time

Added public api to query creation time of the user or of a managed profile
associated with the calling user.

Bug: 20049349
Change-Id: I7f9263fe434233e6f7d4f165c974cab64ca7107c
UserManager.aidl
serManager.java
e08af19fcc7b13d526f3dfd24d58300947cf1146 26-Mar-2015 Adam Lesinski <adamlesinski@google.com> Adding per UID WiFi power distribution.

Change-Id: I88c539074607d7261f6c5cf1dbae47c3cf53f253
atteryStats.java
80ac603651b56c7f22268fbafb65206f8c03d6ba 07-Apr-2015 Bart Sears <bsears@google.com> Merge "Revert "Adding per UID WiFi power distribution.""
e9b9b73ab598a912de04fbd5501bca5924ce8f71 07-Apr-2015 Bart Sears <bsears@google.com> Revert "Adding per UID WiFi power distribution."

This CL is breaking the clockwork settings app in master. Reverting
until Adam has a chance to investigate.

This reverts commit b943fabfc8ddb581dc2fd7288f87428dcb5d27b7.

Change-Id: Ieb11423c11cf9874a6175dce49843d0e1080c590
atteryStats.java
b2b9ab8354da1485178cd8d8e9d89ac915b3f269 06-Apr-2015 Jeff Sharkey <jsharkey@android.com> Installing packages to expanded storage.

PackageManager now offers to load/unload packages when expanded
volumes are mounted/unmounted. Expanded storage volumes are still
treated as FLAG_EXTERNAL_STORAGE from a public API point-of-view,
but this change starts treating the INSTALL_EXTERNAL flag as
exclusively meaning ASEC containers.

Start tracking the UUID of the volume where a package is installed,
giving us a quick way to find relevant packages. When resolving an
install location, look across all expanded volumes and pick the one
with the largest free space. When upgrading an existing package,
continue preferring the existing volume. PackageInstaller now knows
how to stage on these volumes.

Add new movePackage() variant that accepts a target volume UUID
as destination, it will eventually move data too. Expose this
move command through "pm" command for testing.

Automount expanded volumes when they appear.

Bug: 19993667
Change-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3
torage/StorageManager.java
torage/VolumeInfo.java
b943fabfc8ddb581dc2fd7288f87428dcb5d27b7 26-Mar-2015 Adam Lesinski <adamlesinski@google.com> Adding per UID WiFi power distribution.

Change-Id: Ia3d97e0a1c3352127185c18626d8ba8221c9ab40
atteryStats.java
16c9c249d5f06014442aa5c78254b702f6a034c5 05-Apr-2015 Jeff Sharkey <jsharkey@android.com> Fix up ExternalStorageFormatter.

It's not going to be around for much longer, so just fix enough to
work correctly.

Also teach about new "unmountable" state from vold.

Bug: 19993667
Change-Id: Ib72c3e134092b2a895389dd5b056f4bb8043709a
torage/VolumeInfo.java
7151a9a887051542c6da9f380376f3b306184e5c 05-Apr-2015 Jeff Sharkey <jsharkey@android.com> Storage methods using IDs, update listeners.

Add StorageManager methods that work with Disk and Volume IDs instead
of paths which can change over time. For example, a freshly formatted
volume has a different UUID and mount point, even though it's the same
volume.

Update StorageEventListener to be all one-way calls to avoid blocking
while dispatching events. Add new listener method for Volume-level
state changes. The existing state method will remain focused on the
per-user state reflected by StorageVolume. Switch listeners over to
using the more robust RemoteCallbackList pattern under the hood.

Change external ASEC scanning logic in PackageManagerService to be
driven by listener events, instead of explicit MountService calls.

Bug: 19993667
Change-Id: I57c505de260ff1762a78d70d15f1892f40229210
torage/DiskInfo.java
torage/IMountService.java
torage/IMountServiceListener.java
torage/StorageEventListener.java
torage/StorageManager.java
torage/VolumeInfo.java
1b8ef7e3165ff9aa52a4905dafc8d0f83e7403f9 04-Apr-2015 Jeff Sharkey <jsharkey@android.com> Parcelable objects for Disk/Volume.

Will eventually be used by SystemUI and/or Settings.

Also fix SettingsProvider NPE.

Bug: 19993667, 19909433
Change-Id: Ie326849ac5f43ee35f728d9cc0e332b72292db70
nvironment.java
torage/DiskInfo.aidl
torage/DiskInfo.java
torage/IMountService.java
torage/StorageManager.java
torage/StorageVolume.java
torage/VolumeInfo.aidl
torage/VolumeInfo.java
030980a1fbf0caecfe39722472ae16a8a6987055 02-Apr-2015 Kweku Adams <kwekua@google.com> Fixing issue related to printing out of display state and idle mode in the batterystats checkin.

Change-Id: I533bd53f375bf6d9f818a8e8aa75932986ad779b
atteryStats.java
4887789e44cdb16b042a35e8ec03983213e88ac6 18-Mar-2015 Jeff Sharkey <jsharkey@android.com> Progress towards dynamic storage support.

Storage devices are no longer hard-coded, and instead bubble up from
whatever Disk and VolumeBase that vold uncovered, turning into
sibling Java objects in MountService. We now treat vold events as
the source-of-truth for state, and synchronize our state by asking
vold to "reset" whenever we reconnect.

We've now moved to a model where all storage devices are mounted in
the root mount namespace (user boundaries protected with GIDs), so
we no longer need app-to-vold path translation. This also means that
zygote only needs to bind mount the user-specific /mnt/user/n/ path
onto /storage/self/ to make legacy paths like /sdcard work. This
grealy simplifies a lot of system code.

Many parts of the platform depend on a primary storage device always
being present, so we hack together a stub StorageVolume when vold
doesn't have a volume ready yet.

StorageVolume isn't really a volume anymore; it's the user-specific
view onto a volume, so MountService now filters and builds them
based on the calling user. StorageVolume is now immutable, making
it easier to reason about.

Environment now builds all of its paths dynamically based on active
volumes. Adds utility methods to turn int types and flags into
user-readable strings for debugging purposes.

Remove UMS sharing support for now, since no current devices support
it; MTP is the recommended solution going forward because it offers
better multi-user support.

Simplify unmount logic, since vold will now gladly trigger EJECTING
broadcast and kill stubborn processes.

Bug: 19993667
Change-Id: I9842280e61974c91bae15d764e386969aedcd338
nvironment.java
ileUtils.java
rocess.java
torage/IMountService.java
torage/StorageManager.java
torage/StorageVolume.java
5670d9a2503557ca583eddcab1702800b5016cd9 31-Mar-2015 Olawale Ogunwale <ogunwale@google.com> am 4af5bd7c: Merge "Add ProcessInfoService to activity manager."

* commit '4af5bd7cdaccdba6001a384a81c258f542e74075':
Add ProcessInfoService to activity manager.
e1e1969c96db98545033456111c0da6ff8a0699f 29-Jan-2015 Ruben Brunk <rubenbrunk@google.com> Add ProcessInfoService to activity manager.

- Adds a new AIDL interface for querying process
information from activity manager.

Bug: 19186859
Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
ProcessInfoService.aidl
4b6bd8d36b093d36d9ae80b43e95049c259d7319 19-Mar-2015 Adam Lesinski <adamlesinski@google.com> Retrieve WiFi info outside of BatteryStatsImpl

In order to not deadlock the system, we need to retrieve
WiFi energy info outside of the BatteryStats lock. We do this,
then pass that data down to BatteryStatsImpl to process.

b/19729960

Change-Id: Ib8beba1d5ac81d89144d502c4b688d0a88c5b102
atteryStats.java
73484d8b667c1b2269fcd509a9b8b3c4e2f4c248 25-Mar-2015 Dianne Hackborn <hackbod@google.com> Merge "Battery stats: wakeup alarm tracking, general cleanup."
a223d658306fea5c0a6d30c9850058d5afadb2d1 25-Mar-2015 Bryce Lee <brycelee@google.com> am 3309be5e: am 21b7e6de: am c831b978: Merge "Add isScreenBrightnessBoosted and a broadcast when underlying value changes." into lmp-mr1-modular-dev

* commit '3309be5e7bc782d89adaf4abca5f1f81649c655f':
Add isScreenBrightnessBoosted and a broadcast when underlying value changes.
21b7e6de94b1e4d0bbe2f1a13ac19f491ff466ed 25-Mar-2015 Bryce Lee <brycelee@google.com> am c831b978: Merge "Add isScreenBrightnessBoosted and a broadcast when underlying value changes." into lmp-mr1-modular-dev

* commit 'c831b978238d5ed200ca329c540eff00faba77e3':
Add isScreenBrightnessBoosted and a broadcast when underlying value changes.
c831b978238d5ed200ca329c540eff00faba77e3 25-Mar-2015 Bryce Lee <brycelee@google.com> Merge "Add isScreenBrightnessBoosted and a broadcast when underlying value changes." into lmp-mr1-modular-dev
1e725a7ec9eb79bb447d5171839c453d672a895c 25-Mar-2015 Dianne Hackborn <hackbod@google.com> Battery stats: wakeup alarm tracking, general cleanup.

Instead of just tracking the total number of wakeup alarms
per package, track a count for each tag. Note this is only
wakeup alarms, not non-wakeup alarms.

Also tighten up the code a bit by exposing the actual ArrayMap
container through most of the BatteryStats API, so we can more
efficiently iterate over them (which is all we ever want to do
with those containers at that point).

Finally remove all printing of "since unplugged" stats, as
another step towards completely removing that tracking. If
nobody screams, hopefully soon we can go through and just get
rid of all the extra state we are carrying around that is
tracking that data.

Also note that currently the per-tag wakeup alarm data is
being reported in the human-readable stats, but in the checkin
data it is still being rolled up into a single number. To fix
this, I need to completely rework the pkg entry line to have
separate data for services and wakeup alarms (so have three
types -- pkg for the start of a package, wal for a wakeup
alarm, svc for a service).

Change-Id: I8033acca8742935cfe95511cdea730a405b17cab
atteryStats.java
88e98dfa59e68a860d8c3b462ec03bc0b06d6b5c 23-Mar-2015 Dianne Hackborn <hackbod@google.com> More work on device idle mode.

- There is now an API for people to find out about
its state.
- Moved DeviceIdleController to be closer to the
power manager implementation, since they are
closely related.
- Job scheduler now knows about idle state and doesn't
run jobs while the device is idle.
- Battery stats now keeps track of "idling" vs "idle mode".
Idling is when we consider the device to be idle,
independent of whether we are actually in deep idle mode.
This allows us to keep track of longer-term changes
independently of cycling in and out of idle mode.
- Battery stats also now keeps track of package changes in
its daily stats.
- Small optimization to network policy manager service to
not touch uids that do not have the NETWORK permission.

Change-Id: I0b3304fb3722c78cdfdd0c1eada7369ece7cbcf9
atteryStats.java
PowerManager.aidl
owerManager.java
owerManagerInternal.java
bf2673384cdea54eef2ca1c3e6ee35f5a3ce0e8a 22-Mar-2015 Jeff Sharkey <jsharkey@android.com> Merge "Bring MountService into the SystemService world."
56e629322f0739a04c8ff48915226ecf36a13b44 22-Mar-2015 Jeff Sharkey <jsharkey@android.com> Bring MountService into the SystemService world.

Change-Id: I7f7db49ff373b199f7b81f184a7c62bee682af67
torage/IMountService.java
79ec42e6a3c6a6f6a00ef3ad92221a5ad2149aa9 20-Mar-2015 Dianne Hackborn <hackbod@google.com> Merge "First stab at device idle mode."
70e21e61ac728c3e02d6d54a52b53199b4ebf9df 19-Mar-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Fix a constructor

The constructor of RecoverySystem was accidentally made public
before. @Removed it.

Bug: 19797138
Change-Id: I4c7bba99695a3aeb56da9c126125c3e9075c0181
ecoverySystem.java
8ad2af7e5b28f71e7bdfc1bb097937c6c1d22b18 18-Mar-2015 Dianne Hackborn <hackbod@google.com> First stab at device idle mode.

Introduce a new device idle controller service that
monitor's the device state and determines when to go
in to idle mode. When in idle mode, all we do right
now is turn off network access the same as we do for
power save mode. Many more things should come in the
future -- stopping the alarm manager from scheduling
(most) alarms, telling GmsCore for it to stop doing
stuff, etc.

Battery stats now has state tracking for devie idle
mode, as well as events for the reasons we can come
out of idle mode (significant motion or the device
becoming active). Also added new events noting when
packages are installed.

Renamed the "low power" event in battery stats to
"power save" because the former was just way too
confusing.

Finally, fix buffer size reading kernel wake locks.
(Stupidly, just increasing the buffer size. Ideally
we should try to be smarter and grow our buffer to
fit the data available, but I'll leave that for
another time.)

Change-Id: I0be2062466c83ee9d890c6cf5a228d9cc4090eca
atteryStats.java
bff46bac807ae8a9ebdc22c449a8d4f78711b4d2 05-Mar-2015 Benjamin Franz <bfranz@google.com> Add DO policy to disable safe boot mode.

Bug: 19615843
Change-Id: I14dbe911995ec216c57bd285d6b7b04c9684591a
serManager.java
75f1ba5a815ce13caff1faa8e0df7d4ac483507a 19-Mar-2015 Mathieu Chartier <mathieuc@google.com> am f792e016: am 437ac8f8: Merge "Add JIT late override property"

* commit 'f792e01606b988ab84190217529cca53da8db3f5':
Add JIT late override property
f792e01606b988ab84190217529cca53da8db3f5 19-Mar-2015 Mathieu Chartier <mathieuc@google.com> am 437ac8f8: Merge "Add JIT late override property"

* commit '437ac8f8445b078041171eff56ce7ffbd1cf6766':
Add JIT late override property
7a49028aa2f25364042fae031d95f9283844e645 17-Mar-2015 Mathieu Chartier <mathieuc@google.com> Add JIT late override property

Required for JIT debug property since user builds can't restart
the shell.

Bug: 19735273

Change-Id: I1983852e80010c344b45e0bb459de47c56adfce8
rocess.java
a483a1d85e526202613c9b7354bbced9969cbfe0 17-Mar-2015 Filip Gruszczynski <gruszczy@google.com> am 81c47fc2: am 86318d76: Merge "Option for going home when going to sleep for devices without physical button." into lmp-mr1-modular-dev

* commit '81c47fc23a0a15dddf37d96d28305e8b5e5ca2da':
Option for going home when going to sleep for devices without physical button.
81c47fc23a0a15dddf37d96d28305e8b5e5ca2da 17-Mar-2015 Filip Gruszczynski <gruszczy@google.com> am 86318d76: Merge "Option for going home when going to sleep for devices without physical button." into lmp-mr1-modular-dev

* commit '86318d768a2c5043e1261e9daacf1497d1e4a732':
Option for going home when going to sleep for devices without physical button.
84d6c0fbf6e513d68330234503b809751d0e3564 17-Mar-2015 Bryce Lee <brycelee@google.com> Add isScreenBrightnessBoosted and a broadcast when underlying
value changes.

Bug: 18334219
Change-Id: I20051e97633017711574a063b8061f95c3b616c5
PowerManager.aidl
owerManager.java
3d07c94c393831091958fe6a98811843db8973bd 14-Mar-2015 Dianne Hackborn <hackbod@google.com> Add new voice request for picking from a list.

Also add API for voice interaction service to control
whether the system should hold a wake lock while it is
working with an activity (and actually *do* hold a wake
lock while doing so, duh!).

And while in there, clean up the launching wake lock to
correctly give blame to the app that is launching.

Change-Id: I7cc4d566b80f59fe0a9ac51ae9bbb7188a01f433
arcel.java
872d191e6134b429f833013b8706c7b54ebd0d2a 16-Mar-2015 Andreas Gampe <agampe@google.com> am 8af305f1: am 6878ee57: Merge "Revert "Frameworks/base: Fix a constructor""

* commit '8af305f17ff0d4b84e5a71777de788e9a6ae2780':
Revert "Frameworks/base: Fix a constructor"
8af305f17ff0d4b84e5a71777de788e9a6ae2780 16-Mar-2015 Andreas Gampe <agampe@google.com> am 6878ee57: Merge "Revert "Frameworks/base: Fix a constructor""

* commit '6878ee57b438b063fcc09a19a04fba92e113c1d2':
Revert "Frameworks/base: Fix a constructor"
8c80efeaebeebce9f62a944f08f26823e146f1b7 16-Mar-2015 Andreas Gampe <agampe@google.com> Revert "Frameworks/base: Fix a constructor"

The constructor was public API, doh. Gotta do this differently.

This reverts commit 33c5b2a62f3e62382c41e24c6b527119978816a0.

Change-Id: Iadca87fe6a8866a8bd9d6f2a91578ec0d4c44691
ecoverySystem.java
ebb8922a5baf091b419c3545ef74b1ee2097b21b 16-Mar-2015 Andreas Gampe <agampe@google.com> am 19279ec0: am d61cbf9a: Merge "Frameworks/base: Fix a constructor"

* commit '19279ec04845b2a47b90240c9d47bf8fb5ece464':
Frameworks/base: Fix a constructor
19279ec04845b2a47b90240c9d47bf8fb5ece464 16-Mar-2015 Andreas Gampe <agampe@google.com> am d61cbf9a: Merge "Frameworks/base: Fix a constructor"

* commit 'd61cbf9a08733b45a6aecafffffa60da269a3e1e':
Frameworks/base: Fix a constructor
9779e128d611f13cdb44d31b0509ff43c62a35f6 14-Mar-2015 Filip Gruszczynski <gruszczy@google.com> Option for going home when going to sleep for devices without physical button.

Bug: 19623388
Change-Id: Iec16f83c64646ded12ec97d4b540510b7f9dfd47
owerManager.java
33c5b2a62f3e62382c41e24c6b527119978816a0 15-Mar-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Fix a constructor

This was meant to be a constructor, according to the comment.

Change-Id: Ief49011b392e58b37d9acb4a3f754f1828b256af
ecoverySystem.java
f5fabf1542624005a0e978045bdd117a62ab2593 15-Mar-2015 Vinit Deshpande <vinitd@google.com> am "Separate NAT from forwarding."

merged from goog/mirror-m-wireless-internal-release
35e36db Separate NAT from forwarding.
3e0045e0dffc90834219968aae0c0062ba541c53 13-Mar-2015 Jeff Brown <jeffbrown@google.com> Merge "Avoid rebuilding epoll set when PFD status report is done."
031b7feb0f0f642206d2d1bae502655f1dfe3889 13-Mar-2015 Jeff Brown <jeffbrown@google.com> Merge "Revert "Revert "Update ParcelFileDescriptor to use non-blocking I/O."""
d028356056b17761c4929f34ae9f5e9639e6450d 13-Mar-2015 Nick Kralevich <nnk@google.com> am 870110e0: am 30fcd2aa: Merge "Drop unusable SELinux APIs."

* commit '870110e01af5c4875a9cf7134cee7c6842fd31af':
Drop unusable SELinux APIs.
870110e01af5c4875a9cf7134cee7c6842fd31af 13-Mar-2015 Nick Kralevich <nnk@google.com> am 30fcd2aa: Merge "Drop unusable SELinux APIs."

* commit '30fcd2aa8a87ca97e1d6dbc3203c3a485a56dac9':
Drop unusable SELinux APIs.
16d1cce8ffe632c1283375beb4c82c67c43e13dd 13-Mar-2015 Stephen Smalley <sds@tycho.nsa.gov> Drop unusable SELinux APIs.

setSELinuxEnforce is not allowed by policy.
get/setBooleanValue and getBooleanNames are moot since SELinux
policy booleans are forbidden by CTS.

Change-Id: I512953edd1c38828efce698ae8475603775c32e8
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
ELinux.java
484bc6e5a79af1b7b0a2eb682802006522b274fd 13-Mar-2015 Dianne Hackborn <hackbod@google.com> Merge "More work on collecting assist data."
b2a1985b139b6c8e10fb2cf87bfc4170dd7f2e3c 13-Mar-2015 Jeff Brown <jeffbrown@google.com> Avoid rebuilding epoll set when PFD status report is done.

If we close the PFD status channel before returning, then the Looper
will take care of unregistering it correctly but it will end up
doing extra work to rebuild the epoll set to work around a limitation
of the epoll interface. If we unregister the FD first then this
extra work will not be required so it's slightly more efficient
this way.

Bug: 19715279
Change-Id: I0f7b90f3458adf1894b7561c05fa842fdb87b498
arcelFileDescriptor.java
6fd9f9af2e5301869182f0f4e37858631bb194c2 13-Mar-2015 Jeff Brown <jeffbrown@google.com> Revert "Revert "Update ParcelFileDescriptor to use non-blocking I/O.""

This reverts commit 0f0b7f2fb36450fb5f16e0d50a4ee519edc491af.
arcelFileDescriptor.java
a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9d 11-Mar-2015 Dianne Hackborn <hackbod@google.com> More work on collecting assist data.

Optimize parceling of AssistData (which is now renamed to
AssistStructure) by pooling duplicated class name strings.

Change text associated with a view node to a CharSequence,
so styling information comes along.

Include global text attributes -- size, colors, etc.

Introduce a new AssistContent structure, which allows us
to propagate information about the intent and data the
activity is looking at. This further allows us to propagate
permission grants, so the assistant can dig in to that data.
The default implementation propagates the base intent of an
activity, so if for example you bring up the assistant while
doing a share the assistant itself has the same information
and access that was given to the share activity (so it could
for example share it in another way if it wanted to).

Did some optimization of loading PersistableBundle from xml,
to avoid duplicating hash maps and such.

Changed how we dispatch ACTION_ASSIST to no longer include
the more detailed AssistStructure (and new AssistContent)
data when launching; now the example code that intercepts
that needs to be sure to ask for assist data when it starts
its session. This is more like it will finally be, and allows
us to get to the UI more quickly.

Change-Id: I88420a55761bf48d34ce3013e81bd96a0e087637
aseBundle.java
undle.java
ersistableBundle.java
ooledStringReader.java
ooledStringWriter.java
0f0b7f2fb36450fb5f16e0d50a4ee519edc491af 12-Mar-2015 Jeff Brown <jeffbrown@google.com> Revert "Update ParcelFileDescriptor to use non-blocking I/O."

Bug: 19715279
This reverts commit a34a3bdcbf2e7057d294a8699bbe1be880500f6d.

Change-Id: Ief03dee1c0a2b4d906797a5c279663c17439c347
arcelFileDescriptor.java
a34a3bdcbf2e7057d294a8699bbe1be880500f6d 11-Mar-2015 Jeff Brown <jeffbrown@google.com> Update ParcelFileDescriptor to use non-blocking I/O.

Avoids spinning up a thread just to watch a file descriptor.

Bug: 10349083
Change-Id: I814cb252f075d7a162e1286bbfd1dbec28d17796
arcelFileDescriptor.java
dc3eb4bf91d37ce6b8b000a59625a496b64b36fb 06-Mar-2015 Jeff Brown <jeffbrown@google.com> Add support for non-blocking I/O with Looper.

Bug: 10349083
Change-Id: I4a94b1eac53df57c05103913bd593d92b1e062d7
ooper.java
essageQueue.java
803c2affcbe0a0e0fbb561967e0306bfc97ee197 05-Mar-2015 Jeff Brown <jeffbrown@google.com> Expose some useful methods on Looper and clean up docs.

Change-Id: I40796c3ba07d3c50043da56e835f11fbf9852d30
ooper.java
3d4e7efe37a4b0dfc5807444e8c3b98a28953377 27-Feb-2015 Jeff Brown <jeffbrown@google.com> Move sync barrier methods into MessageQueue.

The methods were previously defined on Looper but on reflection
they actually make more sense on the MessageQueue instead since
the Looper class is primarily concerned with thread lifecycle
rather than the actual messages themselves.

Change-Id: Iff356b94754fc9960774fa17e3eec9604229cba6
ooper.java
essageQueue.java
6c7b41adf9e937a66880b8906389760f3fc82a08 26-Feb-2015 Jeff Brown <jeffbrown@google.com> Rename Looper::isIdling() to isPolling() to resolve confusion.

The loop isn't technically idle at this time, it's just checking
whether any file descriptors have pending events. However it's
still a good signal as to whether the loop is alive.

Added a real isIdle() function.

Bug: 19532373
Change-Id: Idd273e8774f469ccafb00d560818cf279dfd6ba6
ooper.java
essageQueue.java
33dac5593519a3e9eb83550faf0d55f9f0caefdf 09-Mar-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Record energy info stats from WiFi and Bluetooth controllers

Surface some of this information in BatteryStatsHelper. If we are given a
total energy from the WiFi controller, we normalize the computed
energy of each app and blame them for a fraction of the real energy.

Change-Id: I64051b600f5d9f6ac4580d56ef0977971eb4be2d
atteryStats.java
442361c500c090c0db03fd4b68a68692fc48a3d7 09-Mar-2015 Dianne Hackborn <hackbod@google.com> Merge "Battery stats issues: fix jiffy handling, print scan counts."
62793e4382b4b0b53d7373d92a62dc4e3ccbde05 09-Mar-2015 Dianne Hackborn <hackbod@google.com> Battery stats issues: fix jiffy handling, print scan counts.

Issue #19431959: Framework incorrectly assumes that kernel
clock_ticks are 10ms

We now retrieve the time of a jiffy from the kernel, and all CPU
times are now handled in milliseconds.

Issue #19571810: Add per-app breakdown of number of WiFi scans
in batterystats checkin data

Added to the report (the information was already being tracked).

Change-Id: If1702d6b9bcf851704129f1811471e68ed576a5d
atteryStats.java
f3ece36535d4999cf2bfd2175a33da6c3cdf298e 11-Feb-2015 Benjamin Franz <bfranz@google.com> Block setting wallpapers from managed profiles.

Silently fail when a managed profile app tries to change the
wallpaper and return default values for getters in that case.
This is implemented through a new AppOp that is controlled by
a new user restriction that will be set during provisioning.

Bug: 18725052
Change-Id: I1601852617e738be86560f054daf3435dd9f5a9f
serManager.java
f045198fb3b008e0341f0b9761e4ef96310e7333 06-Mar-2015 Hiroshi Yamauchi <yamauchi@google.com> Merge "Deprecate things that rely on Debug.startAllocCounting."
172da26d4515f295d938864e47f5ce0309728571 04-Mar-2015 Hiroshi Yamauchi <yamauchi@google.com> Deprecate things that rely on Debug.startAllocCounting.

android.os.Debug.startAllocCounting() is deprecated but other things
that rely on it or do not make sense without it aren't deprecated.

Bug: 8241521
Change-Id: Ib769cb8f4e96f41ed310e17e7345acb2a630a076
ebug.java
8cfb58bd58746127d1a8aa39e34a94f7948738d8 04-Mar-2015 Dianne Hackborn <hackbod@google.com> Fix reading of daily data.

Change-Id: I1f581197c938109cfe5cc21109eea57b4e0434dc
atteryStats.java
7d088428f32a864570d830e45d07a2fe143f6fbd 04-Mar-2015 Dianne Hackborn <hackbod@google.com> Merge "Add new "daily stats" tracking to battery stats."
d4a8af7b6a4dd663cb9c4d993ee41ca82af3c4cd 03-Mar-2015 Dianne Hackborn <hackbod@google.com> Add new "daily stats" tracking to battery stats.

Currently is only used for tracking the daily charge
and discharge rates. We keep up to 10 days of data.

Change-Id: I54e29e35ff60d9277da9e476cdab22f4a6d540bf
atteryStats.java
7b91c55b3ff4857e904a11a0a67fcc86a32868b4 02-Mar-2015 John Spurlock <jspurlock@google.com> Merge "Remove unused imports in frameworks/base."
c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8b 02-Mar-2015 Scott Kennedy <skennedy@google.com> Annotate Bundle with @Nullable

Change-Id: Ide572124deea8271ca5c47009acb62603d644363
aseBundle.java
undle.java
ersistableBundle.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
undle.java
ommonClock.java
serHandle.java
35e36db1d726f5741e7d8d83d2556e1417642be9 25-Feb-2015 Lorenzo Colitti <lorenzo@google.com> Separate NAT from forwarding.

Bug: 19500693
Change-Id: I39878644e21d51def1c31d1857e815f473ef0938
NetworkManagementService.aidl
6e53931f49f49245deef8622eb8e7dc6ccf04536 25-Feb-2015 Jeff Brown <jeffbrown@google.com> Add Context.getSystemService(Class<?>).

Added an overload of getSystemService() that takes a class instead of a
service name to eliminate the extra cast and provide more type safety.

Cleaned up docs.

Removed the default constructor of BatteryManager which should not have
existed.

Change-Id: I9da46b20641fc83ecd3342560e5b94cb721f289c
atteryManager.java
1fb55286438967f82e305a8449c0528a7cd07fce 24-Feb-2015 Chad Jones <chadj@google.com> resolved conflicts for merge of 57bb5f5c to master

Change-Id: Id5dfe7fc919305658312771a031c0764cef5515c
57bb5f5c8bf1875d2c6843237f518e5a1f9fe597 24-Feb-2015 Joe LaPenna <jlapenna@google.com> am c0c39516: Merge "Hold a wake lock while dozing when display updates are pending." into lmp-mr1-modular-dev

* commit 'c0c395162ff14b83694158663470ad60e065d9a9':
Hold a wake lock while dozing when display updates are pending.
3ef69833fe5733839ada1aa2300f875fc69e6a3c 23-Feb-2015 Narayan Kamath <narayan@google.com> am 836e4413: am c90df076: am 6b492e78: Merge "Clean up Javadocs for UEventObserver"

* commit '836e4413d03d8699fa8817999fe9a1ff65541c29':
Clean up Javadocs for UEventObserver
c90df0768a9be3e40d7c1edfdfb28af7bd25d98e 23-Feb-2015 Narayan Kamath <narayan@google.com> am 6b492e78: Merge "Clean up Javadocs for UEventObserver"

* commit '6b492e78115833f0093d1517483728b574121c07':
Clean up Javadocs for UEventObserver
7014b26c3e1429a6b841696ac7d84589158b0aaf 19-Aug-2014 Valter Strods <valters.strods@gmail.com> Clean up Javadocs for UEventObserver

This commit removes a couple of apostrophes from the word "UEvents" as
the apostrophes would only be needed if something that belongs to the
UEvent was being talked about. Instead, the UEvents are being talked
about themselves - as a bunch.

Change-Id: I6a7908c6b73c0739102b632d2499e0f1e3c2d47f
EventObserver.java
159c205dead88131a58333781420b6f522279fcf 20-Feb-2015 Daniel Rosenberg <drosen@google.com> Disable checking bootimage build fingerprint against vendor

There is currently an issue somewhere regarding these checks on
some devices. Disabling them until those issues are resolved.

Bug: 19058575
Change-Id: Id5ce93c2d4069d3058636b8e12317e200229472b
Signed-off-by: Daniel Rosenberg <drosen@google.com>
uild.java
c2932a1be3e320679034212698aff376d5104dbe 21-Nov-2014 Jeff Brown <jeffbrown@google.com> Hold a wake lock while dozing when display updates are pending.

When the display state is DOZE or DOZE_SUSPEND, assume this means
that the AP may go to sleep at any time so hold a wake lock for
a little while starting when traversals are scheduled to ensure
that the AP remains awake long enough to draw and post the frame
to the display hardware.

This patch is somewhat approximate but should be good enough for
most devices today.

Note that the implementation uses the window manager to ensure that
the window which wants to draw is actually visible before acquiring
the wake lock. There is a cost to this test (a round-trip) which
should not be significant today since we do not expect apps to draw
more than one frame or two while dozing. However, if we wanted to
support animations in general, we might want to optimize it or
eliminate the check altogether (since we can already account for
the app's use of the wake lock).

Another way to implement this functionality might be for the view
hierarchy to listen for the power manager to report that it has entered
a non-interactive power state before deciding to poke draw locks.
This would be somewhat more accurate than watching the display state.
Also, the draw lock timeout logic could be implemented more directly
instead of using an ordinary timed wake lock.

Bug: 18284212
Change-Id: I84b341c678303e8b7481bd1620e634fe82cc4350
owerManager.java
5f83382c40a0785d6fde6b6afb4f33c9ed683fba 20-Feb-2015 Dianne Hackborn <hackbod@google.com> Merge "Add some detailed data as part of battery history."
d1eccbea388fde6a575acb4e797efdd07798344a 18-Feb-2015 Dianne Hackborn <hackbod@google.com> Add some detailed data as part of battery history.

Every time the battery level changes, a new extended
detailed use data structure is written to the history.
This currently only contains delta CPU use since the
last detailed entry (total CPU and to three uids), but
it gives us the infrastructure for adding more detailed
data in the future.

A detail entry for regular history looks like:

Details: cpu=15730u+2307s (u0a57=11312u+502s, 1000=2344u+701s, 0=473u+991s)
/proc/stat=15377 usr, 1797 sys, 197 io, 0 irq, 8 sirq, 23103 idle (42.9% of 6m 44s 820ms)

u is user-space cpu time, s is system/kernel time.

The equivalent check-in output is:

9,h,0,Dcpu=15730:2307/10057:11312:502/1000:2344:701/0:473:991
9,h,0,Dpst=15377,1797,197,0,8,23103

Also add a new "unplug" command to the battery service,
to easily put it into a state where it always considers
the device to be running on battery.

Change-Id: Ic76d966f11e592b9dd671879977bf999ebc11eef
atteryStats.java
3558752ec77f455bbabc86b3178dfb294edf5aff 19-Feb-2015 Nicolas Prevot <nprevot@google.com> Merge "Improve the documentation of DISALLOW_CONFIG_BLUETOOTH."
1c4c442e4540b16aed7acc345aea26ab101efbf8 16-Feb-2015 Nicolas Prevot <nprevot@google.com> Improve the documentation of DISALLOW_CONFIG_BLUETOOTH.

BUG:19315055

Change-Id: Ic92a7b79f8113cad0474d62b0c615a1ada91838b
serManager.java
7478de1e87b3c1941b43eafc2ff9e9a4bafead7e 18-Feb-2015 Adrian Roos <roosa@google.com> Merge "Decouple package manager lock and bitmap decoding"
44bc07d8740058398d4009615681120168673dd8 11-Feb-2015 Adrian Roos <roosa@google.com> Fix typo

Change-Id: If59381862e3332675fd7b929bcee2928ecd0da21
syncTask.java
1bdff9139fd412b36d5d2d783574b6418fcb198a 17-Feb-2015 Adrian Roos <roosa@google.com> Decouple package manager lock and bitmap decoding

Also moves the actual reading and decoding of the
icon into the client process to avoid unnecessary
copies.

Bug: 18474438
Change-Id: I71623ef48c770d752593aa97d69517f6139cc947
UserManager.aidl
serManager.java
667d55cf5a06a0e1bd12997fcd494bec52e58ad9 11-Feb-2015 Andres Morales <anmorales@google.com> Merge "check bootloader and baseband version"
fd282ed2f4649cc77127ab15b9167971abb5f379 07-Feb-2015 Andres Morales <anmorales@google.com> check bootloader and baseband version

Make sure flashed bootloader/radio matches what we
expect statically.

Change-Id: I71dfcc658695ef5542bc968747345efe0936c350
uild.java
3f579c71674784aebb673d4c82abe63e86883546 06-Feb-2015 Filip Gruszczynski <gruszczy@google.com> am 00de5c9f: Merge "Add hidden shutdown method to PowerManager." into lmp-mr1-modular-dev
automerge: 943c09d

* commit '943c09d7204b15aadce041508972517763701cd3':
Add hidden shutdown method to PowerManager.
943c09d7204b15aadce041508972517763701cd3 06-Feb-2015 Filip Gruszczynski <gruszczy@google.com> am 00de5c9f: Merge "Add hidden shutdown method to PowerManager." into lmp-mr1-modular-dev

* commit '00de5c9f04e42045bd0299c06a9cc05187b1dff0':
Add hidden shutdown method to PowerManager.
00de5c9f04e42045bd0299c06a9cc05187b1dff0 06-Feb-2015 Filip Gruszczynski <gruszczy@google.com> Merge "Add hidden shutdown method to PowerManager." into lmp-mr1-modular-dev
14a9f9cac79f0ec49d4aea1b2b377a93beb61fb2 06-Feb-2015 John Spurlock <jspurlock@google.com> am c46b68c7: am 9adf1c54: am ac7b9dd3: am 42d3b66f: am e0852368: Fix a few typos in Parcel.java. automerge: 29fabd8

* commit 'c46b68c7a230847cd5a459d7fec5a5649f5c6d67':
Fix a few typos in Parcel.java.
c46b68c7a230847cd5a459d7fec5a5649f5c6d67 06-Feb-2015 John Spurlock <jspurlock@google.com> am 9adf1c54: am ac7b9dd3: am 42d3b66f: am e0852368: Fix a few typos in Parcel.java.
automerge: 29fabd8

* commit '29fabd8988b95e5ff41167a74dfc67937988b3db':
Fix a few typos in Parcel.java.
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.
d05af86e6e361f574afac060811909c8fb83b1a7 04-Feb-2015 Filip Gruszczynski <gruszczy@google.com> Add hidden shutdown method to PowerManager.

Bug: 17420540

We need to be able to shutdown some of wearable devices programatically.
We should be able to do it by connecting to PowerManagerService directly,
but it would be nice to go through the official interface.

Change-Id: Id0cf3b36c03447356fc60fb90cbb2f4b47d8265e
owerManager.java
e08523684d5414117f81debd4eb14bc8eb494c29 04-Feb-2015 John Spurlock <jspurlock@google.com> Fix a few typos in Parcel.java.

Change-Id: Ic1674fc72f08a0f3536b4870a5ce7d14ee6fcc16
arcel.java
a27eef432a4aa94c0eb8a5f73a6435afaac160fe 29-Jan-2015 Ruben Brunk <rubenbrunk@google.com> Add ProcessInfoService to activity manager.

- Adds a new AIDL interface for querying process
information from activity manager.

Bug: 19186859
Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
ProcessInfoService.aidl
8bd95f16235fccbcdcaf102fea56b4c436827527 27-Jan-2015 Dianne Hackborn <hackbod@google.com> Introduce new MNC API version.

Change-Id: Ib40822e82ea389092727dfc1f2f9ada5d04f2e87
uild.java
9662bb703e8ac8a6db49b1429630135e6cfa8312 23-Jan-2015 Andres Morales <anmorales@google.com> Merge "check bootimage version string against system"
7de24ce024e9ae61fe59c966420f33f6a3416054 23-Jan-2015 Andres Morales <anmorales@google.com> check bootimage version string against system

vendor version string may be empty

Bug: 19058575
Change-Id: I99f38183187a44cd200c5ddf8d5ff45ef80199d8
uild.java
2e5716417ee8053ba587da6469c7f20155b87172 22-Jan-2015 Jeff Sharkey <jsharkey@android.com> Public API for StrictMode cleartext detection.

Bug: 18335678
Change-Id: I4c3fd72303ae86f0c85f99ce9bdfd2913296a256
trictMode.java
d6fe549b5027d390985cdf97985103f0ad1209ae 19-Jan-2015 Narayan Kamath <narayan@google.com> am 66bbfb6b: am 17f50f81: am d8beca64: Merge "Remove support for --classpath and make --runtime-init the default."

* commit '66bbfb6b2ccedecba3cbd0843b5a9ae498c68c82':
Remove support for --classpath and make --runtime-init the default.
66bbfb6b2ccedecba3cbd0843b5a9ae498c68c82 19-Jan-2015 Narayan Kamath <narayan@google.com> am 17f50f81: am d8beca64: Merge "Remove support for --classpath and make --runtime-init the default."

* commit '17f50f8119f4a8bdec304cde527f68ddd0b3bc0a':
Remove support for --classpath and make --runtime-init the default.
f48029f00a66e23d7872a00b56fbcf88528ba476 08-Jan-2015 Narayan Kamath <narayan@google.com> Remove support for --classpath and make --runtime-init the default.

--classpath hasn't been properly supported or used for as long as
git history exists, and the non --runtime-init classpath is useless
without it.

Also, forking and exec' a bare dalvikvm instance from the zygote seems
somewhat pointless since we might as well just execute it directly.

Change-Id: Ib07d822d448e7b431d7564381f9cd11735fd1113
rocess.java
d28f0fee61d28ab3369e9d9a27db9dafbb0a6eb6 16-Jan-2015 Narayan Kamath <narayan@google.com> am 2488c0ad: am 27d3e790: am 706f6cf3: Merge "Fix a property name that\'s longer than 31 chars."

* commit '2488c0ad505846f7655a7434006edea4515b02d0':
Fix a property name that's longer than 31 chars.
2488c0ad505846f7655a7434006edea4515b02d0 16-Jan-2015 Narayan Kamath <narayan@google.com> am 27d3e790: am 706f6cf3: Merge "Fix a property name that\'s longer than 31 chars."

* commit '27d3e79031081ab131d5bc4680b80e46a466db53':
Fix a property name that's longer than 31 chars.
e5515772af844b3d83e87e2747cdde4e6e076802 16-Jan-2015 Narayan Kamath <narayan@google.com> Fix a property name that's longer than 31 chars.

The name wasn't chosen without much thought and is intended
to be a temporary fix to keep devices booting while a better
name is decided upon.

bug: 18335678
Change-Id: Ic3451255d870f3395cfbcaa08a7764d93defc350
trictMode.java
0ec9c29fb724eef676d2472f2e15904ff8f52cc0 16-Jan-2015 Jeff Sharkey <jsharkey@android.com> am c2ae6fb9: Merge commit \'605eb79c9519307147fc1795d0eb155638a7f542\' into manualmerge

* commit 'c2ae6fb9ada52e9c990542a6d1cae80085318f31':
Offer to detect non-SSL/TLS network traffic.
c2ae6fb9ada52e9c990542a6d1cae80085318f31 16-Jan-2015 Jeff Sharkey <jsharkey@android.com> Merge commit '605eb79c9519307147fc1795d0eb155638a7f542' into manualmerge

Change-Id: Id6db8cce3a477572478a1d50f624823200848896
605eb79c9519307147fc1795d0eb155638a7f542 04-Nov-2014 Jeff Sharkey <jsharkey@android.com> Offer to detect non-SSL/TLS network traffic.

Introduces new module that provides network-related features for
the StrictMode developer API. The first feature offers to detect
sockets sending data not wrapped inside a layer of SSL/TLS
encryption.

When a developer enables, we ask netd to watch all outgoing traffic
from our UID, and penalize us accordingly if cleartext sockets are
detected. When enabled, netd captures the offending packet and
passes it back to the owning process to aid investigations. When
death penalty is requested, all future traffic on the socket is
blocked, which usually results in a useful stacktrace before the
app is actually killed.

Bug: 18335678
Change-Id: I3adbc974efd8d3766b4b1a23257563bb82d53c29
NetworkManagementService.aidl
trictMode.java
a55e3ed8bf726e61186d5bb2271c3eab597b44d9 15-Jan-2015 Nicolas Prevot <nprevot@google.com> am 97c18827: am 97f1ac01: am a9f9c4b9: Merge "Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING" into lmp-mr1-dev

* commit '97c1882719437d4b4d8ce99d53ffc400975fdd5e':
Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING
97c1882719437d4b4d8ce99d53ffc400975fdd5e 15-Jan-2015 Nicolas Prevot <nprevot@google.com> am 97f1ac01: am a9f9c4b9: Merge "Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING" into lmp-mr1-dev

* commit '97f1ac016b6c116dc2964ba60ffe1e405578756a':
Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING
a9f9c4b90a8af25974bc74971efeafa521073df2 15-Jan-2015 Nicolas Prevot <nprevot@google.com> Merge "Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING" into lmp-mr1-dev
e6eb0772d680e8dbb7477a7f972d862a7720d25e 15-Jan-2015 Dianne Hackborn <hackbod@google.com> am fce232b4: am 5a4b4084: am b96a6916: Merge "Fix issue android-app doc, bump battery stats checkin version" into lmp-mr1-dev

* commit 'fce232b4080a12220821568ab670a0cdce4893c5':
Fix issue android-app doc, bump battery stats checkin version
fce232b4080a12220821568ab670a0cdce4893c5 15-Jan-2015 Dianne Hackborn <hackbod@google.com> am 5a4b4084: am b96a6916: Merge "Fix issue android-app doc, bump battery stats checkin version" into lmp-mr1-dev

* commit '5a4b4084215b1efc5308c0c914185599b4d502bf':
Fix issue android-app doc, bump battery stats checkin version
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
34b064a1406ebb2eb10b5b1f24c845891748c238 14-Jan-2015 Alan Viverette <alanv@google.com> Merge "Clean up TypedArray docs & formatting, remove coercion warnings"
cb3fd69458c69c2ca8f094b7598308c0674f213b 14-Jan-2015 Andres Morales <anmorales@google.com> Check bootimage build fingerprint against vendor

Prevents image mismatch issues

Change-Id: Ibd972cbcedf1000bfe2a8ceed7696a229365dc25
uild.java
fa58f454c177e35f774dec3d2987628fa6359239 13-Jan-2015 Nicolas Prévot <nprevot@google.com> am 6478b4f1: Merge "Clarify docs for user restrictions" into lmp-mr1-dev automerge: 6ab76bd automerge: e5d3ee8

* commit '6478b4f19a527b0ca26485aaac477e4d4c83a5d5':
Clarify docs for user restrictions
b14ed95647ff7c38869550606396d5b784eeece1 13-Jan-2015 Nicolas Prevot <nprevot@google.com> Fix javadoc for UserManager.KEY_RESTRICTIONS_PENDING

BUG:18983720

Change-Id: I3af3354f746cd2981cdb8ba2ed6cc380665249ee
serManager.java
6478b4f19a527b0ca26485aaac477e4d4c83a5d5 13-Jan-2015 Nicolas Prévot <nprevot@google.com> Merge "Clarify docs for user restrictions" into lmp-mr1-dev automerge: 6ab76bd
automerge: e5d3ee8

* commit 'e5d3ee8e4fae72ef554a0e1084e88aea9ed8f020':
Clarify docs for user restrictions
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
adf1c93ff77c996be7952f98b9f554befb089543 08-Jan-2015 Dianne Hackborn <hackbod@google.com> am 3968820f: am cb8d8e10: Merge "Fix issue #18827122: system server crashed on broadcasting..." into lmp-mr1-dev automerge: 16e4324

* commit '3968820fc75e1eac03e54cba45b5a0adc28ee87d':
Fix issue #18827122: system server crashed on broadcasting...
3968820fc75e1eac03e54cba45b5a0adc28ee87d 08-Jan-2015 Dianne Hackborn <hackbod@google.com> am cb8d8e10: Merge "Fix issue #18827122: system server crashed on broadcasting..." into lmp-mr1-dev
automerge: 16e4324

* commit '16e4324dd967d180f77fb25dbeea77229eaf0511':
Fix issue #18827122: system server crashed on broadcasting...
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
6bbb47b7d5ac1b49d916679e5f081fe181d8f162 06-Jan-2015 Alan Viverette <alanv@google.com> Clean up TypedArray docs & formatting, remove coercion warnings

Establishes a clear contract regarding when exceptions will be thrown,
when default values will be returned, and when values will be coerced
to a different type.

Since we have both getInt() and getInteger() where one handles coercion
without throwing an exception, it seems reasonable that we should clearly
document the behavior so that developers can make an informed decision.
Once we document the behavior, there is no reason to log warnings on
coercion. If a developer chooses to use a particular API or data type,
that is still correct according to the API.

BUG: 18625719
Change-Id: I385f0b719182d3c0358943e1d6c3d7bedc756eb5
trictMode.java
972c24291e0cef5ebac636d02c3569735e640330 29-Dec-2014 Narayan Kamath <narayan@google.com> am be8053a2: am 5ae63a25: Merge "Fixed grammar in the comment that introduces the Debug.MemoryInfo class."
automerge: 1539c26

* commit '1539c267c7f4678434361b3fac3f56abcbb19f56':
Fixed grammar in the comment that introduces the Debug.MemoryInfo class.
1539c267c7f4678434361b3fac3f56abcbb19f56 29-Dec-2014 Narayan Kamath <narayan@google.com> am be8053a2: am 5ae63a25: Merge "Fixed grammar in the comment that introduces the Debug.MemoryInfo class."

* commit 'be8053a23c0f0b15697176f0cd5e322b30d474e1':
Fixed grammar in the comment that introduces the Debug.MemoryInfo class.
5ae63a258b78c4982a6c4ae984b86bb7b2db1dd4 29-Dec-2014 Narayan Kamath <narayan@google.com> Merge "Fixed grammar in the comment that introduces the Debug.MemoryInfo class."
460797b398d2e71704efb5f1a2b1b3feb4604f8f 11-Dec-2014 Dianne Hackborn <hackbod@google.com> am 84adc43a: Merge "Fix issue #18706195: Improve label names of memory types" into lmp-mr1-dev automerge: 0f050ea
automerge: b56e98d

* commit 'b56e98da8b0486485a57803e5ef9e9333a510641':
Fix issue #18706195: Improve label names of memory types
b56e98da8b0486485a57803e5ef9e9333a510641 11-Dec-2014 Dianne Hackborn <hackbod@google.com> am 84adc43a: Merge "Fix issue #18706195: Improve label names of memory types" into lmp-mr1-dev
automerge: 0f050ea

* commit '0f050ea40204242387eac8f7f5949ea16c143515':
Fix issue #18706195: Improve label names of memory types
1353df5655a551cbbf403d4f1f88b72761fe9e6b 11-Dec-2014 Dianne Hackborn <hackbod@google.com> Fix issue #18706195: Improve label names of memory types

Change-Id: Ia11153300e04aecd56baca9d4316ac362688d594
ebug.java
d2a432087510de7bac019c28ec321989b99a7a6d 10-Dec-2014 Craig Mautner <cmautner@google.com> am 647130ba: am 7a17e0b6: Merge "Add put/getBoolean/Array to PersistableBundle" into lmp-mr1-dev automerge: 8642803

* commit '647130baacf4f0caf077b5bf6ce00c5e1a23107b':
Add put/getBoolean/Array to PersistableBundle
647130baacf4f0caf077b5bf6ce00c5e1a23107b 10-Dec-2014 Craig Mautner <cmautner@google.com> am 7a17e0b6: Merge "Add put/getBoolean/Array to PersistableBundle" into lmp-mr1-dev
automerge: 8642803

* commit '864280369ca45f9a93f4cfe9c1d020e0cbe0d7ed':
Add put/getBoolean/Array to PersistableBundle
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
dde13b3714bb775eea7249b85e13e40fc7d50dc8 10-Dec-2014 Sebastien Hertz <shertz@google.com> am 70acd9b3: resolved conflicts for merge of beb84982 to lmp-mr1-dev-plus-aosp

* commit '70acd9b36a9fc0d212b25d64f4edf0fc582331cf':
Work on issue #18640385: Add procstats test mode
5311088a3ee147cf5398578b8aadb9180816e38c 10-Dec-2014 Mathieu Chartier <mathieuc@google.com> am e417db6d: am 4ec1bdf5: am 52070f81: Merge "Add more -d dalvik details to dumpsys" into lmp-mr1-dev

* commit 'e417db6d574e90566e827bb2a1e5efeaa9c6d42e':
Add more -d dalvik details to dumpsys
70acd9b36a9fc0d212b25d64f4edf0fc582331cf 09-Dec-2014 Sebastien Hertz <shertz@google.com> resolved conflicts for merge of beb84982 to lmp-mr1-dev-plus-aosp

Change-Id: Ib420549f3e20c149c15966dfece980b4f150177d
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
e417db6d574e90566e827bb2a1e5efeaa9c6d42e 09-Dec-2014 Mathieu Chartier <mathieuc@google.com> am 4ec1bdf5: am 52070f81: Merge "Add more -d dalvik details to dumpsys" into lmp-mr1-dev

* commit '4ec1bdf52f5c0d48fd13571796644feddc5a815b':
Add more -d dalvik details to dumpsys
063028aa682ca4ceec006c0879c09ad078c9d512 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
(cherry picked from commit 25c5e2b12d5d5d06739e3f70a0da968d97935b46)
ebug.java
9b07ba19908aa5c75d9f8d13e27995f7e10d8e38 09-Dec-2014 Dianne Hackborn <hackbod@google.com> am 0cfdd810: am e52a2ea0: am 0029f0ac: Merge "Fix issue #17323751: Additional items in aggregated battery stats" into lmp-mr1-dev

* commit '0cfdd810ded6f8486a6b0a61044594f58ab5c052':
Fix issue #17323751: Additional items in aggregated battery stats
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
0cfdd810ded6f8486a6b0a61044594f58ab5c052 08-Dec-2014 Dianne Hackborn <hackbod@google.com> am e52a2ea0: am 0029f0ac: Merge "Fix issue #17323751: Additional items in aggregated battery stats" into lmp-mr1-dev

* commit 'e52a2ea03bd7b8ed2f3680c5198e00fb7ad5c34c':
Fix issue #17323751: Additional items in aggregated battery stats
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
9b489990fedd7ef6461c04ebddb4408bf4ce2fa3 02-Dec-2014 Kweku Adams <kwekua@google.com> am 51de927f: am fa99c345: am d537987b: Changing AUDIO_TURNED_ON constant.

* commit '51de927f5ae9b754c4b3927eb8c109ee4dfc602d':
Changing AUDIO_TURNED_ON constant.
51de927f5ae9b754c4b3927eb8c109ee4dfc602d 02-Dec-2014 Kweku Adams <kwekua@google.com> am fa99c345: am d537987b: Changing AUDIO_TURNED_ON constant.

* commit 'fa99c345c440a37ae0cc74cba6ffd6e88ab9ddb2':
Changing AUDIO_TURNED_ON constant.
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
6e8fea14ccc4c30d56a7f70c9addf3d5b8a229d2 01-Dec-2014 Mike Lockwood <lockwood@google.com> Merge "ParcelFileDescriptor: add support for non-stream socket pairs."
ced0c25a4002464c4eecae02b076650bb5624e7f 20-Nov-2014 Mike Lockwood <lockwood@google.com> ParcelFileDescriptor: add support for non-stream socket pairs.

For example, we can use this to create SOCK_SEQPACKET socket pairs.

Change-Id: Ief5c1dab3cbbe40a756d37e77968b41511297bec
arcelFileDescriptor.java
2a3ca185bf4ab7cab97d3863da647bd934c18665 01-Dec-2014 Jeff Sharkey <jsharkey@android.com> am 45207128: am 05d455ca: am b9ccc047: Merge "Sanitize display names, keep extensions intact." into lmp-mr1-dev

* commit '45207128c5c4f0d1f106af8561bdd156546b0aad':
Sanitize display names, keep extensions intact.
45207128c5c4f0d1f106af8561bdd156546b0aad 01-Dec-2014 Jeff Sharkey <jsharkey@android.com> am 05d455ca: am b9ccc047: Merge "Sanitize display names, keep extensions intact." into lmp-mr1-dev

* commit '05d455ca2b83793a81aac2544c388eec8ac140cd':
Sanitize display names, keep extensions intact.
d198c3269aac50397c4f284feb99c524a1c8434c 01-Dec-2014 Narayan Kamath <narayan@google.com> am 53651b99: am ff45e7df: am 1d184ace: resolved conflicts for merge of 7377998d to lmp-mr1-dev

* commit '53651b9982f53236b767d766e85ec0ce3acc6f0f':
Be increasingly aggressive about fstrim if it isn't being run
53651b9982f53236b767d766e85ec0ce3acc6f0f 01-Dec-2014 Narayan Kamath <narayan@google.com> am ff45e7df: am 1d184ace: resolved conflicts for merge of 7377998d to lmp-mr1-dev

* commit 'ff45e7df8aae0f55ce719de92102c7d522b62048':
Be increasingly aggressive about fstrim if it isn't being run
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
a033bb9c73ef5d60e58dd6477c6474abca4626ea 26-Nov-2014 Alan Viverette <alanv@google.com> am ed79856d: am 30c0d5b5: am 8a45126a: Merge "Load SPEAK_PASSWORD from currently active user rather than self" into lmp-mr1-dev

* commit 'ed79856db292044a15fe7d3c3227fb9ec808f070':
Load SPEAK_PASSWORD from currently active user rather than self
ed79856db292044a15fe7d3c3227fb9ec808f070 26-Nov-2014 Alan Viverette <alanv@google.com> am 30c0d5b5: am 8a45126a: Merge "Load SPEAK_PASSWORD from currently active user rather than self" into lmp-mr1-dev

* commit '30c0d5b5eadecf5ba3c9ee536f153adc4c8c8723':
Load SPEAK_PASSWORD from currently active user rather than self
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
fd7209773688124636835d63f474d1365ebbee17 22-Nov-2014 Jeff Brown <jeffbrown@google.com> am 4c9041cf: am 1ac13e02: am 682ed6b6: Merge "resolved conflicts for merge of 694c1d2b to lmp-mr1-dev" into lmp-mr1-dev

* commit '4c9041cf837cda13c749b148661d18c3fab0fbd6':
Support keeping activities resumed while dozing.
4c9041cf837cda13c749b148661d18c3fab0fbd6 21-Nov-2014 Jeff Brown <jeffbrown@google.com> am 1ac13e02: am 682ed6b6: Merge "resolved conflicts for merge of 694c1d2b to lmp-mr1-dev" into lmp-mr1-dev

* commit '1ac13e0212a770c918d32e6c645682466113632c':
Support keeping activities resumed while dozing.
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
343f478241fab49c909b229d6876ff8405e7b0d5 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

(cherry picked from commit 76a748e62f354c799342044f724e1f4b80121837)

Change-Id: I2364c05837ac04d428b5a34ab1802964a11d2df4
rocess.java
97166e07905b55ab293606cb471dde48a3c89fa0 19-Nov-2014 Nicolas Prevot <nprevot@google.com> am 9b07760d: am 439f17e6: am 76ea69b3: Merge "Fix javadoc in UserManager mentioning application restrictions." into lmp-mr1-dev

* commit '9b07760dbcc19f47b9ee02081b26a9bbc2a40157':
Fix javadoc in UserManager mentioning application restrictions.
9b07760dbcc19f47b9ee02081b26a9bbc2a40157 19-Nov-2014 Nicolas Prevot <nprevot@google.com> am 439f17e6: am 76ea69b3: Merge "Fix javadoc in UserManager mentioning application restrictions." into lmp-mr1-dev

* commit '439f17e622b3aaca2003eeeee2bb423abe6777a9':
Fix javadoc in UserManager mentioning application restrictions.
76ea69b35e45f4b23dfb7b39c6cd790b00576526 19-Nov-2014 Nicolas Prevot <nprevot@google.com> Merge "Fix javadoc in UserManager mentioning application restrictions." into lmp-mr1-dev
47acc8f535107a7ed9fd98afc3b07d79a0f43604 18-Nov-2014 Dianne Hackborn <hackbod@google.com> am dde2ecc1: am 7ff92f42: am 9522055f: Merge "Add time estimates to batterystats dump." into lmp-mr1-dev

* commit 'dde2ecc118a56cd4100a29a1dd1c1697b6f56353':
Add time estimates to batterystats dump.
dde2ecc118a56cd4100a29a1dd1c1697b6f56353 18-Nov-2014 Dianne Hackborn <hackbod@google.com> am 7ff92f42: am 9522055f: Merge "Add time estimates to batterystats dump." into lmp-mr1-dev

* commit '7ff92f420e0f32149bcb80698db6108d9e5aaa53':
Add time estimates to batterystats dump.
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
4ae37f905223d1acde912bfcc8d6867c190b2669 17-Nov-2014 Jeff Sharkey <jsharkey@android.com> am 9f722068: am ecfd372a: am 9c76a7b3: Merge changes Id7f9fb53,I897d7ee8 into lmp-mr1-dev

* commit '9f722068483239516d0d31841d1deb189d01b5c1':
Prevent user ID reuse until after reboot.
Warn user when build fingerprints differ.
9f722068483239516d0d31841d1deb189d01b5c1 17-Nov-2014 Jeff Sharkey <jsharkey@android.com> am ecfd372a: am 9c76a7b3: Merge changes Id7f9fb53,I897d7ee8 into lmp-mr1-dev

* commit 'ecfd372ae4fc69c10de83c6499c0c0e4379debc8':
Prevent user ID reuse until after reboot.
Warn user when build fingerprints differ.
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.
43dc963a431a9531d3071ca7192a5fb29320da64 15-Nov-2014 Jeff Brown <jeffbrown@google.com> am eadefb25: am bba231d7: Explicitly bind AsyncTask to main looper. automerge: dfe7d21

* commit 'eadefb255a2bda602ccc043531a231413e8ea839':
Explicitly bind AsyncTask to main looper.
eadefb255a2bda602ccc043531a231413e8ea839 15-Nov-2014 Jeff Brown <jeffbrown@google.com> am bba231d7: Explicitly bind AsyncTask to main looper.
automerge: dfe7d21

* commit 'dfe7d2193cd36099d4395bdee8458c53bf5f1124':
Explicitly bind AsyncTask to main looper.
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
0624d611c0f652f1f596ed6e04d3b3a875a77365 14-Nov-2014 Jeff Brown <jeffbrown@google.com> am 36ed36a2: am 4d9bd151: am fef1e0e7: Merge "Make Message.setAsynchronous() public." into lmp-mr1-dev

* commit '36ed36a2ea263439257b3978f6e8c787a3544952':
Make Message.setAsynchronous() public.
36ed36a2ea263439257b3978f6e8c787a3544952 13-Nov-2014 Jeff Brown <jeffbrown@google.com> am 4d9bd151: am fef1e0e7: Merge "Make Message.setAsynchronous() public." into lmp-mr1-dev

* commit '4d9bd1516f7d495ee16bcfeca95a2ab45e33de4c':
Make Message.setAsynchronous() public.
fef1e0e7f0a6a8d3564031ca4ecf14ab070468ff 13-Nov-2014 Jeff Brown <jeffbrown@google.com> Merge "Make Message.setAsynchronous() public." into lmp-mr1-dev
ebb526e976a576ea5a13c61fe34a3d533e367d8e 13-Nov-2014 Dianne Hackborn <hackbod@google.com> am 7437ec8e: am caf3cddd: am fabb70b2: Add reporting of Parcel memory/count.

* commit '7437ec8e1d01de948b1baf33c1f3f73f263a40c7':
Add reporting of Parcel memory/count.
7437ec8e1d01de948b1baf33c1f3f73f263a40c7 13-Nov-2014 Dianne Hackborn <hackbod@google.com> am caf3cddd: am fabb70b2: Add reporting of Parcel memory/count.

* commit 'caf3cddd5bff11a20e72e7df54b826e33d2fe6a9':
Add reporting of Parcel memory/count.
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
ae601bcb8b2105ab344b6f345b16fdccc73aae9c 12-Nov-2014 Narayan Kamath <narayan@google.com> am 3a35bf3f: am 72f9838c: am 222722ee: Merge "Tell installd when boot completes." into lmp-mr1-dev

* commit '3a35bf3f9c109f76ed25ce83afa36b1730c6fd75':
Tell installd when boot completes.
3a35bf3f9c109f76ed25ce83afa36b1730c6fd75 12-Nov-2014 Narayan Kamath <narayan@google.com> am 72f9838c: am 222722ee: Merge "Tell installd when boot completes." into lmp-mr1-dev

* commit '72f9838c99a9cb8d84b8ec4af5372f10eeeb4e94':
Tell installd when boot completes.
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
70170261cbd966501a673ba5548dcab823037cfb 12-Nov-2014 Jeff Brown <jeffbrown@google.com> am 32f7a6d8: Merge "Move device admin max screen off timeout to internal interface." into lmp-mr1-dev automerge: c1275e7
automerge: a473878

* commit 'a4738781584d58e133fc4d0f55d9b7ebcb246ff6':
Move device admin max screen off timeout to internal interface.
a4738781584d58e133fc4d0f55d9b7ebcb246ff6 12-Nov-2014 Jeff Brown <jeffbrown@google.com> am 32f7a6d8: Merge "Move device admin max screen off timeout to internal interface." into lmp-mr1-dev
automerge: c1275e7

* commit 'c1275e72eceb171544aaf517f0cb6e3d1cbd9e08':
Move device admin max screen off timeout to internal interface.
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
e4aa7e7793797111927ee0eca8683695098c65a6 10-Nov-2014 Andres Morales <anmorales@google.com> am 9e19c118: am 9467926b: am cc8d56f6: Merge "Unhide DISALLOW_OUTGOING_BEAM" into lmp-mr1-dev

* commit '9e19c118a140518859563ba81b691c6998e5084c':
Unhide DISALLOW_OUTGOING_BEAM
9e19c118a140518859563ba81b691c6998e5084c 10-Nov-2014 Andres Morales <anmorales@google.com> am 9467926b: am cc8d56f6: Merge "Unhide DISALLOW_OUTGOING_BEAM" into lmp-mr1-dev

* commit '9467926bd14a2d7f92fcdfdc7207f84d951f6e1f':
Unhide DISALLOW_OUTGOING_BEAM
cc8d56f66c64a66002b90ed014bbd2fb46125f63 10-Nov-2014 Andres Morales <anmorales@google.com> Merge "Unhide DISALLOW_OUTGOING_BEAM" into lmp-mr1-dev
c4ba2174743c877e28bb28e7ff50bc7a55a660fc 07-Nov-2014 Sander Alewijnse <salewijnse@google.com> am 1b0dbd5c: am 8c1cd7e6: am 3eed90f3: Merge "Added the restrictions pending application restrictions key." into lmp-mr1-dev

* commit '1b0dbd5c954b61e2ee95f87817a1ec0e7d242b20':
Added the restrictions pending application restrictions key.
1b0dbd5c954b61e2ee95f87817a1ec0e7d242b20 07-Nov-2014 Sander Alewijnse <salewijnse@google.com> am 8c1cd7e6: am 3eed90f3: Merge "Added the restrictions pending application restrictions key." into lmp-mr1-dev

* commit '8c1cd7e61f050afd450cb05add633e2fbe0b195a':
Added the restrictions pending application restrictions key.
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
41ca02438700497e9f88e9a589c12003c15929b8 04-Nov-2014 Dianne Hackborn <hackbod@google.com> am 726715e1: am e6fa3f44: am d1f1ea76: Merge "Few more small meminfo improvements." into lmp-mr1-dev

* commit '726715e1138d880656a13014d447a14b3998b132':
Few more small meminfo improvements.
726715e1138d880656a13014d447a14b3998b132 04-Nov-2014 Dianne Hackborn <hackbod@google.com> am e6fa3f44: am d1f1ea76: Merge "Few more small meminfo improvements." into lmp-mr1-dev

* commit 'e6fa3f44652fd9e23ce64f39bb43458fa4abd60a':
Few more small meminfo improvements.
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
b3d18f2c2e4dc25ebd4fc220855efd5212b7e596 01-Nov-2014 Jeff Brown <jeffbrown@google.com> am 5177979b: am e333e674: Add a function to boost screen brightness temporarily. automerge: 0ed053e automerge: a80162f

* commit '5177979bbd7459179648057ba00a6399aeb26357':
Add a function to boost screen brightness temporarily.
5177979bbd7459179648057ba00a6399aeb26357 01-Nov-2014 Jeff Brown <jeffbrown@google.com> am e333e674: Add a function to boost screen brightness temporarily. automerge: 0ed053e
automerge: a80162f

* commit 'a80162f0d124e7400e268440c864289a9a7be11e':
Add a function to boost screen brightness temporarily.
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
3d62297e857c825ded5a395686530c42f2a585e6 31-Oct-2014 Lorenzo Colitti <lorenzo@google.com> am fa186dbd: am f2c90942: am bbb2c5b2: Merge "Add support for running 464xlat on wifi as well." into lmp-mr1-dev

* commit 'fa186dbd3dce56dfc209b7c10a3bc66e7036055d':
Add support for running 464xlat on wifi as well.
fa186dbd3dce56dfc209b7c10a3bc66e7036055d 31-Oct-2014 Lorenzo Colitti <lorenzo@google.com> am f2c90942: am bbb2c5b2: Merge "Add support for running 464xlat on wifi as well." into lmp-mr1-dev

* commit 'f2c9094293529f42b7183f0373b41a5278581a81':
Add support for running 464xlat on wifi as well.
5c313dccad9e95bb863e68b477a06d8499253228 30-Oct-2014 Lorenzo Colitti <lorenzo@google.com> am 2f3dab85: am def4cd4f: Merge "Support more than one clatd at a time." into lmp-mr1-dev automerge: ba69b3f

* commit '2f3dab8585a1a11d2576a8b3164defe95191d513':
Support more than one clatd at a time.
2f3dab8585a1a11d2576a8b3164defe95191d513 30-Oct-2014 Lorenzo Colitti <lorenzo@google.com> am def4cd4f: Merge "Support more than one clatd at a time." into lmp-mr1-dev
automerge: ba69b3f

* commit 'ba69b3f290e6fe4a579841a2dd052ca5803ba863':
Support more than one clatd at a time.
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
755c0980420d9678185ffbf731c1a689aa6b4ad7 28-Oct-2014 Nicolas Prevot <nprevot@google.com> am ecdc14dc: am ebee8a4d: Merge "Replace minimum with maximum in method description." into lmp-mr1-dev automerge: e86848c

* commit 'ecdc14dc31ba22f2569be5c8850d0d09a1a0c0a4':
Replace minimum with maximum in method description.
ecdc14dc31ba22f2569be5c8850d0d09a1a0c0a4 28-Oct-2014 Nicolas Prevot <nprevot@google.com> am ebee8a4d: Merge "Replace minimum with maximum in method description." into lmp-mr1-dev
automerge: e86848c

* commit 'e86848c258a2fc42e52eb1e3234c1288acd96a3b':
Replace minimum with maximum in method description.
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
515defdebd9c955d023806120d94380e763b7628 18-Oct-2014 Dianne Hackborn <hackbod@google.com> am 019de15c: am 2ea2bf28: am ed512c81: Merge "Fix issue #17948288: Improve accuracy of memory use reporting" into lmp-mr1-dev

* commit '019de15ca23c674b70ae2e94f0fbb82e4a2bab68':
Fix issue #17948288: Improve accuracy of memory use reporting
019de15ca23c674b70ae2e94f0fbb82e4a2bab68 18-Oct-2014 Dianne Hackborn <hackbod@google.com> am 2ea2bf28: am ed512c81: Merge "Fix issue #17948288: Improve accuracy of memory use reporting" into lmp-mr1-dev

* commit '2ea2bf284078eea4871bfa0fb42b56dff3e8bbf3':
Fix issue #17948288: Improve accuracy of memory use reporting
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
f27e06b65b7d74509dd6f5645f6c44a1e8da74ca 17-Oct-2014 Dianne Hackborn <hackbod@google.com> am eff986af: am 9baa4506: am 3182987e: am bab9b48e: am 52476989: Merge "SDK only: hide the old L API version constant." into lmp-dev

* commit 'eff986af3024c7348d4ff3810872421dfef79ac3':
SDK only: hide the old L API version constant.
eff986af3024c7348d4ff3810872421dfef79ac3 17-Oct-2014 Dianne Hackborn <hackbod@google.com> am 9baa4506: am 3182987e: am bab9b48e: am 52476989: Merge "SDK only: hide the old L API version constant." into lmp-dev

* commit '9baa4506f1e7218d555d37a2057325c68492f080':
SDK only: hide the old L API version constant.
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.
6fb1a7f53b00489737941968a587b0cc7745f995 17-Oct-2014 Dianne Hackborn <hackbod@google.com> am aa02bce2: am 56ae0447: am 686a41ef: Merge "Add API level for MR1." into lmp-mr1-dev

* commit 'aa02bce2f4acc57f2536cc41c2f0bf15498f6165':
Add API level for MR1.
aa02bce2f4acc57f2536cc41c2f0bf15498f6165 17-Oct-2014 Dianne Hackborn <hackbod@google.com> am 56ae0447: am 686a41ef: Merge "Add API level for MR1." into lmp-mr1-dev

* commit '56ae044791aa9a800292eb0f6c3852ede91f17c2':
Add API level for MR1.
53cf2d4b9f18e221f0a2b66082644fca1a7650f0 17-Oct-2014 Dianne Hackborn <hackbod@google.com> am 52476989: Merge "SDK only: hide the old L API version constant." into lmp-dev

* commit '52476989b8afc0e96c2218625031ed550b12c79b':
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
bc460b9c03106fc8e14b5c0a8ed77855a55cb351 15-Oct-2014 Amith Yamasani <yamasani@google.com> am d060a29e: am 6c0659e0: am 20791338: am 4bf0356e: am 15a5f82f: Merge "Hide DISALLOW_OUTGOING_BEAM API" into lmp-dev

* commit 'd060a29e52fc73be53d643f74a9335652bd818ca':
Hide DISALLOW_OUTGOING_BEAM API
d060a29e52fc73be53d643f74a9335652bd818ca 15-Oct-2014 Amith Yamasani <yamasani@google.com> am 6c0659e0: am 20791338: am 4bf0356e: am 15a5f82f: Merge "Hide DISALLOW_OUTGOING_BEAM API" into lmp-dev

* commit '6c0659e0eba77972f1ba8a2ad2a51ea7b2c76b9a':
Hide DISALLOW_OUTGOING_BEAM API
d5a628d757c4a914be54b5e450784ffaa1f9c958 14-Oct-2014 Amith Yamasani <yamasani@google.com> am 15a5f82f: Merge "Hide DISALLOW_OUTGOING_BEAM API" into lmp-dev

* commit '15a5f82f9b6b389614b1df78749bd627d97d5417':
Hide DISALLOW_OUTGOING_BEAM API
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
cb5f5689fb86983089ec821353eaa96e691d8d4b 11-Oct-2014 Dianne Hackborn <hackbod@google.com> am 5457d5cc: am 8f6928f1: am e61e68d0: am 18d2d51e: am 7ea69880: Merge "Improve some docs, fix some debugging." into lmp-dev

* commit '5457d5ccb6efdc138523cbcba7aa76ddb67f19e4':
Improve some docs, fix some debugging.
5457d5ccb6efdc138523cbcba7aa76ddb67f19e4 10-Oct-2014 Dianne Hackborn <hackbod@google.com> am 8f6928f1: am e61e68d0: am 18d2d51e: am 7ea69880: Merge "Improve some docs, fix some debugging." into lmp-dev

* commit '8f6928f1399620ce432b82d046912e2030d6511c':
Improve some docs, fix some debugging.
4ee6658e1971a30486735959e95d35402210dd57 10-Oct-2014 Dianne Hackborn <hackbod@google.com> am 7ea69880: Merge "Improve some docs, fix some debugging." into lmp-dev

* commit '7ea69880bdbf2c51140460dcfd063dc015c3ce26':
Improve some docs, fix some debugging.
d95f1c991cbd7c297c0bb34a3de99ff2efd10b27 10-Oct-2014 Dianne Hackborn <hackbod@google.com> am 75a6e82b: am 36ae48a8: am d83e9e42: am 0761b1b5: am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev

* commit '75a6e82bcc625025c5f48dc6c33d0dd469e9ca61':
Put in real "code" (aka marketing) name.
75a6e82bcc625025c5f48dc6c33d0dd469e9ca61 10-Oct-2014 Dianne Hackborn <hackbod@google.com> am 36ae48a8: am d83e9e42: am 0761b1b5: am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev

* commit '36ae48a850bade17d485cb49dd40a3f11f667ad4':
Put in real "code" (aka marketing) name.
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
529b78941c20c2b45312eeedbd509d0ded4f7323 09-Oct-2014 Dianne Hackborn <hackbod@google.com> am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev

* commit '89b196958fee07475765bd3c458098464ba16f2e':
Put in real "code" (aka marketing) name.
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
53322b9f7b2e5d379250251c978a5de885bf2a72 07-Oct-2014 Amith Yamasani <yamasani@google.com> am 41bb3455: Merge "Set the default user restrictions to disallow calling and sms" into lmp-dev

* commit '41bb3455e44dc8fde4569bbfd56fa20c6da8a27d':
Set the default user restrictions to disallow calling and sms
a7081321d8bf30e121f92ce5f1c6366617f0f85a 07-Oct-2014 Amith Yamasani <yamasani@google.com> am 34a2a6ca: am 42f611f2: am 4797554a: am b86671f4: am 41bb3455: Merge "Set the default user restrictions to disallow calling and sms" into lmp-dev

* commit '34a2a6ca933c3583fda5a04bf26f9951aa139e79':
Set the default user restrictions to disallow calling and sms
34a2a6ca933c3583fda5a04bf26f9951aa139e79 07-Oct-2014 Amith Yamasani <yamasani@google.com> am 42f611f2: am 4797554a: am b86671f4: am 41bb3455: Merge "Set the default user restrictions to disallow calling and sms" into lmp-dev

* commit '42f611f2f5cbc68a6aaac18ed9e3c62ebc765901':
Set the default user restrictions to disallow calling and sms
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
0816ecd0af0076604b5d7294d156b2541536b77c 06-Oct-2014 John Spurlock <jspurlock@google.com> am 29ab5f7d: am 42730c93: am b6f5cb3e: am 81b96aad: am 78cc93ec: Merge "Fix NPE in StrictMode handling." into lmp-dev

* commit '29ab5f7dc0e9ba2ef3db2993d9ac5f9a48e9df12':
Fix NPE in StrictMode handling.
29ab5f7dc0e9ba2ef3db2993d9ac5f9a48e9df12 06-Oct-2014 John Spurlock <jspurlock@google.com> am 42730c93: am b6f5cb3e: am 81b96aad: am 78cc93ec: Merge "Fix NPE in StrictMode handling." into lmp-dev

* commit '42730c93466d2ff533b42f56b4dd0080aad40d59':
Fix NPE in StrictMode handling.
b76efc62dee9536052d6e2b3abc7738d72778ce8 06-Oct-2014 John Spurlock <jspurlock@google.com> am 78cc93ec: Merge "Fix NPE in StrictMode handling." into lmp-dev

* commit '78cc93ec80f5dcc487db697a1f9a545890745847':
Fix NPE in StrictMode handling.
9bb3dacbf9da4dae2cc0585c2e382c8b29476d32 06-Oct-2014 John Spurlock <jspurlock@google.com> Fix NPE in StrictMode handling.

Bug:17875462
Change-Id: I0bf31abe2d07335addd57976aca110565bb63cc4
trictMode.java
c7d1467a8bcf6e6ec52f2cd43071f6557ca5e3d7 03-Oct-2014 Dianne Hackborn <hackbod@google.com> am cba999c1: am e2776f02: am 6b1cf642: am 5ebb0e6a: am d867b7c7: Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...

* commit 'cba999c164d206c1fb2b7f9f2bf78e8ed616c67d':
Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...
cba999c164d206c1fb2b7f9f2bf78e8ed616c67d 03-Oct-2014 Dianne Hackborn <hackbod@google.com> am e2776f02: am 6b1cf642: am 5ebb0e6a: am d867b7c7: Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...

* commit 'e2776f02bf4fd58af88a27261226e9ce124aa6b8':
Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...
d2ece7cb0068ed84fafbaa940f09b244f7e67f1f 03-Oct-2014 Dianne Hackborn <hackbod@google.com> am d867b7c7: Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...

* commit 'd867b7c7a2c8c151c01b57597b6612ca5355a51a':
Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...
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
09f25547d94e8437dbf8a594ecf6c8623d2ed3d9 03-Oct-2014 Dianne Hackborn <hackbod@google.com> am 4bcfcc69: am b49a19b9: am 8aa21f20: am 12dd9943: am 7a73f2c5: Merge "SDK only: Update docs to reflect current implementation." into lmp-dev

* commit '4bcfcc69416831b199fb866f56725c88cdcee03c':
SDK only: Update docs to reflect current implementation.
bb409199fd688655bccb9b76dfe07bfea86d7d50 03-Oct-2014 Dianne Hackborn <hackbod@google.com> am 7a73f2c5: Merge "SDK only: Update docs to reflect current implementation." into lmp-dev

* commit '7a73f2c5aab16e2d4c21fcce9aa8173e87ecfb4f':
SDK only: Update docs to reflect current implementation.
4bcfcc69416831b199fb866f56725c88cdcee03c 03-Oct-2014 Dianne Hackborn <hackbod@google.com> am b49a19b9: am 8aa21f20: am 12dd9943: am 7a73f2c5: Merge "SDK only: Update docs to reflect current implementation." into lmp-dev

* commit 'b49a19b9bd2fed00b8fbf3f5a4f9fb7c34e969a3':
SDK only: Update docs to reflect current implementation.
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
4924e5d87bedb0e8648de9a6a656e934cee11867 02-Oct-2014 Sreeram Ramachandran <sreeram@google.com> am 44774ad0: am 9e987f1d: am 4f4b81bd: am c04e922f: am 5aaabc0f: Merge "Send app permissions to netd." into lmp-dev

* commit '44774ad079e95606186ed186672449de295d6769':
Send app permissions to netd.
7c56fd3c25f844ae4c6167ee9605976c94ccd704 02-Oct-2014 Dianne Hackborn <hackbod@google.com> am 7cf6cac5: am 03e173ed: am ded96310: am 796d6ece: am c338784b: Merge "More work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '7cf6cac507df68ecb1d6484a5287687e4df61573':
More work on issue #17656716: Unhandled exception in Window Manager
44774ad079e95606186ed186672449de295d6769 02-Oct-2014 Sreeram Ramachandran <sreeram@google.com> am 9e987f1d: am 4f4b81bd: am c04e922f: am 5aaabc0f: Merge "Send app permissions to netd." into lmp-dev

* commit '9e987f1d76e18bca72583ab5f4ff65ae4e8c381e':
Send app permissions to netd.
7cf6cac507df68ecb1d6484a5287687e4df61573 02-Oct-2014 Dianne Hackborn <hackbod@google.com> am 03e173ed: am ded96310: am 796d6ece: am c338784b: Merge "More work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '03e173edce42a5ae0de8a7718330d83664a84a9e':
More work on issue #17656716: Unhandled exception in Window Manager
06b4f4589992886b59b1f1858c13abf7fe239eef 02-Oct-2014 Sreeram Ramachandran <sreeram@google.com> am 5aaabc0f: Merge "Send app permissions to netd." into lmp-dev

* commit '5aaabc0fa66dd755843f040fe634962477107950':
Send app permissions to netd.
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
e2aa87b8e239e1582b12c7386bd1405e6ca61b41 02-Oct-2014 Dianne Hackborn <hackbod@google.com> am c338784b: Merge "More work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit 'c338784bf6bfcce3cd7db40f46b0e6c815e9ed3a':
More work on issue #17656716: Unhandled exception in Window Manager
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
1ff5abdbb1dcfd0c21246a5c38a8e3257f51f5bf 02-Oct-2014 Narayan Kamath <narayan@google.com> am 7dc7f676: Merge "Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS" into lmp-dev

* commit '7dc7f676d699c739128dcc7855cbc0dacddaaa57':
Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS
89f3665dac8cb3f52c39c4025140a073756cce0a 02-Oct-2014 Narayan Kamath <narayan@google.com> am 17044459: am 870c3553: am 13705ca9: am d480147f: am 7dc7f676: Merge "Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS" into lmp-dev

* commit '170444599ce44b3b427267a190bed79d9afb709d':
Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS
170444599ce44b3b427267a190bed79d9afb709d 02-Oct-2014 Narayan Kamath <narayan@google.com> am 870c3553: am 13705ca9: am d480147f: am 7dc7f676: Merge "Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS" into lmp-dev

* commit '870c3553f15d9d085bb30b063563143c2fd09322':
Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS
42b7a45a5606f5b752de68a38afdc6d26bc2a15a 01-Oct-2014 Dianne Hackborn <hackbod@google.com> am 67787a82: am cb5fc84b: am 16b6a8f7: am 962e3e83: am 9cf01b63: Merge "More work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '67787a82a01460f0d68c154fdf3045bdc1ee572f':
More work on issue #17656716: Unhandled exception in Window Manager
67787a82a01460f0d68c154fdf3045bdc1ee572f 01-Oct-2014 Dianne Hackborn <hackbod@google.com> am cb5fc84b: am 16b6a8f7: am 962e3e83: am 9cf01b63: Merge "More work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit 'cb5fc84b554aa82a98867f997caffea3d7067033':
More work on issue #17656716: Unhandled exception in Window Manager
7dc7f676d699c739128dcc7855cbc0dacddaaa57 01-Oct-2014 Narayan Kamath <narayan@google.com> Merge "Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS" into lmp-dev
a0767b3652791614b2b4a305b3b9e87d604617dc 01-Oct-2014 Dianne Hackborn <hackbod@google.com> am f9cd6fa5: am bb527c59: am e26ba8f7: am 069de204: am 38646c19: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit 'f9cd6fa5a34a9ba22eaa47d8c5f9c39b5cd901a2':
Work on issue #17656716: Unhandled exception in Window Manager
f9cd6fa5a34a9ba22eaa47d8c5f9c39b5cd901a2 01-Oct-2014 Dianne Hackborn <hackbod@google.com> am bb527c59: am e26ba8f7: am 069de204: am 38646c19: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit 'bb527c59d1fb0ad627f44cbb378959fa7d4af2c7':
Work on issue #17656716: Unhandled exception in Window Manager
ed1589d81f1d7c8cf2a97f2a5afe3d856fbb1b74 30-Sep-2014 Dianne Hackborn <hackbod@google.com> am 9cf01b63: Merge "More work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '9cf01b63cb0023aec0e05b1ce050ff572532b876':
More work on issue #17656716: Unhandled exception in Window Manager
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
ccd08f23b0db358741f3b5c3a9affd0aef432519 30-Sep-2014 Dianne Hackborn <hackbod@google.com> am 38646c19: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '38646c19d8badea143113c0dc48ccdacb18badc4':
Work on issue #17656716: Unhandled exception in Window Manager
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
c439d093ca1ce52f8158f3b16c894d6d1dc4a8b9 29-Sep-2014 Dianne Hackborn <hackbod@google.com> am 09f14417: am 8776bd54: am cad60dc8: am 72bc7651: am cbb94a27: Merge "More debugging for issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '09f144176e32b2f352ca8a1bee93c26403c69408':
More debugging for issue #17656716: Unhandled exception in Window Manager
b6af870bcd6aefba0b57e2bb190f50e0f23ed953 29-Sep-2014 Elliott Hughes <enh@google.com> am 5d8bcd28: am 737b8cd2: am 7d614689: am 416de7fd: am 70c1f083: Merge "Set the system locale correctly even on an encrypted device." into lmp-dev

* commit '5d8bcd285d190de924a47c39155530038799d148':
Set the system locale correctly even on an encrypted device.
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
09f144176e32b2f352ca8a1bee93c26403c69408 27-Sep-2014 Dianne Hackborn <hackbod@google.com> am 8776bd54: am cad60dc8: am 72bc7651: am cbb94a27: Merge "More debugging for issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '8776bd549ed4db7c5e2e5f487d043e8d1b53ff12':
More debugging for issue #17656716: Unhandled exception in Window Manager
803d3fc394e450a24bdea08050c63937b34a9032 27-Sep-2014 Dianne Hackborn <hackbod@google.com> am cbb94a27: Merge "More debugging for issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit 'cbb94a27c1f0fa8c2b459ffe3206eb96006f92dc':
More debugging for issue #17656716: Unhandled exception in Window Manager
5d8bcd285d190de924a47c39155530038799d148 27-Sep-2014 Elliott Hughes <enh@google.com> am 737b8cd2: am 7d614689: am 416de7fd: am 70c1f083: Merge "Set the system locale correctly even on an encrypted device." into lmp-dev

* commit '737b8cd29ccc9799f8a309ca33c0ba4f4c0016d4':
Set the system locale correctly even on an encrypted device.
820eab3e751fde9d8bb65d9aadcc058483d55a50 27-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "More debugging for issue #17656716: Unhandled exception in Window Manager" into lmp-dev
0844233e9908b88d4e74a9a35098dc3bce28e371 27-Sep-2014 Elliott Hughes <enh@google.com> am 70c1f083: Merge "Set the system locale correctly even on an encrypted device." into lmp-dev

* commit '70c1f083332729a586d670af7565732a2eb06ab4':
Set the system locale correctly even on an encrypted device.
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
b0e58ff6b3ec0d1bc51384ea1ee2d2008fb3f756 26-Sep-2014 Dianne Hackborn <hackbod@google.com> am 534556ae: am 6b9b8a03: am 27429ba1: am 24ecbc4f: am 0b1eb9d4: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '534556aef5ae22d522c5988d535b3b19b3742fd3':
Work on issue #17656716: Unhandled exception in Window Manager
a15dcc3fa1551b92a6d1cc8f0b56d33284e06af8 26-Sep-2014 Dianne Hackborn <hackbod@google.com> am 6b9b8a03: am 27429ba1: am 24ecbc4f: am 0b1eb9d4: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '6b9b8a03847a190e1f3c9cf50fc3989a572d7534':
Work on issue #17656716: Unhandled exception in Window Manager
042b32c8d29f3e8da834bac10979d0fcf89cc9a6 26-Sep-2014 Dianne Hackborn <hackbod@google.com> am 0b1eb9d4: Merge "Work on issue #17656716: Unhandled exception in Window Manager" into lmp-dev

* commit '0b1eb9d4ae339629fbbf226160896a917cad4d0d':
Work on issue #17656716: Unhandled exception in Window Manager
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
c894355d7e38239d100583a21d5e571371b51bf5 25-Sep-2014 Jeff Sharkey <jsharkey@android.com> am d46c9385: am 1eb1a4fa: am b47a75f2: am b8bbeff0: am 45ef18b6: Merge "Include reason when wiping data." into lmp-dev

* commit 'd46c93852393569e3211fc7bada91e712634572e':
Include reason when wiping data.
52e40aaa8a96ec6606b43c3669724f042c28b71c 25-Sep-2014 Jeff Sharkey <jsharkey@android.com> am 1eb1a4fa: am b47a75f2: am b8bbeff0: am 45ef18b6: Merge "Include reason when wiping data." into lmp-dev

* commit '1eb1a4fa28d74312b329daaecd8a81fcf367eea4':
Include reason when wiping data.
c4997a1d9c0d542acc6b40582fd9e3b50ee9d4fb 25-Sep-2014 Jeff Sharkey <jsharkey@android.com> am 45ef18b6: Merge "Include reason when wiping data." into lmp-dev

* commit '45ef18b63e78fd853865f42d9369a5c9b4dd4ba0':
Include reason when wiping data.
0a285b4462719b938dfd5bf54808a9a4a2e3e5b5 25-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Include reason when wiping data." into lmp-dev
4d64addc20ba14d6923de5853272260bf887efa5 25-Sep-2014 Andreas Gampe <agampe@google.com> am 43d02564: resolved conflicts for merge of dfdabe37 to lmp-mr1-dev-plus-aosp

* commit '43d0256429c46a1243c8d85a34d029b40fd5e34e':
Frameworks/base: Early init native bridge
a2945aabd91a04c41ced273c2169bd5a74cf3e6f 25-Sep-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of dfdabe37 to lmp-mr1-dev-plus-aosp

Change-Id: I3e9adb5fa67f8ca7ce8151c2dbf5c8fe5b40cb86
a103ebed6e9a44a406b31636791d2970c882ec44 25-Sep-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of dfdabe37 to lmp-dev-plus-aosp

Change-Id: Ia9c350dcfb41f9d04400a86bd7e5f2cf2af656f1
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
9058c3c9262c91b77398e60795951d032aae6232 24-Sep-2014 Lorenzo Colitti <lorenzo@google.com> am c5df869d: am 19733a32: am c17062e5: am 71915080: am 6974f6a9: Merge "Block address families with routes, not NetworkAgent side channel" into lmp-dev

* commit 'c5df869d84533d79242b06f4d06ea8250158963d':
Block address families with routes, not NetworkAgent side channel
542fc7be49a26b424ad84c60ff5b792d38b53a8a 24-Sep-2014 Lorenzo Colitti <lorenzo@google.com> am 19733a32: am c17062e5: am 71915080: am 6974f6a9: Merge "Block address families with routes, not NetworkAgent side channel" into lmp-dev

* commit '19733a32c87d0597448318ac1665450aed03ba69':
Block address families with routes, not NetworkAgent side channel
a2209a667c896643c3aab1669951d324bda4ac47 24-Sep-2014 Lorenzo Colitti <lorenzo@google.com> am b5a2f9ea: am 6974f6a9: Merge "Block address families with routes, not NetworkAgent side channel" into lmp-dev

* commit 'b5a2f9eac026a7798b28e0c8f412aee7b7a01c36':
Block address families with routes, not NetworkAgent side channel
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
2eacd06bfb82b33dfcbccafbcfc0bf1218484bb5 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.

Change-Id: I0b93da93251c6b4638de786bf98cf99df07c3fc2
rocess.java
15b6dde72f2b3aaa301784f9ccb5e9a0afa83bda 19-Sep-2014 Amith Yamasani <yamasani@google.com> am 2bfae686: am 4ad6b3ef: am 10c291a7: am e1206a34: am ba108d11: Merge "Allow primary user profile owner to set device restrictions" into lmp-dev

* commit '2bfae68607041ec8ec02e7c77471f22202b9ce8d':
Allow primary user profile owner to set device restrictions
d587057246d5bdba22cf27204253f3ed50dee921 19-Sep-2014 Amith Yamasani <yamasani@google.com> am 4ad6b3ef: am 10c291a7: am e1206a34: am ba108d11: Merge "Allow primary user profile owner to set device restrictions" into lmp-dev

* commit '4ad6b3ef184424e36915bc046e04706f2dded0e2':
Allow primary user profile owner to set device restrictions
bd59ae2597c7a11b3dc5bed62bad50187b9c5a30 19-Sep-2014 Amith Yamasani <yamasani@google.com> am d2484f81: am ba108d11: Merge "Allow primary user profile owner to set device restrictions" into lmp-dev

* commit 'd2484f8198e11d20eca624b1192cb63d9b78d9ec':
Allow primary user profile owner to set device restrictions
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
072d122260c4dfda7eddcbc27f2cf904b6ce1544 18-Sep-2014 Adam Powell <adamp@google.com> am 25c24378: am 0c5b7311: am 1e2f3d98: Merge "Fix UserManager#isUserAGoat" into lmp-dev

* commit '25c24378b3abd5da581ff0f28f5237df8d8918d3':
Fix UserManager#isUserAGoat
8b69e5685d752c7def14dae94bd280777b6c0bd4 18-Sep-2014 Adam Powell <adamp@google.com> am 0c5b7311: am 1e2f3d98: Merge "Fix UserManager#isUserAGoat" into lmp-dev

* commit '0c5b731108dd1842f618e9cc58f07368b731d1dc':
Fix UserManager#isUserAGoat
76e8803f5ecf4477b91f84612f3c28738dd7ea26 18-Sep-2014 Adam Powell <adamp@google.com> am a72bd678: am 400521f2: am aaceaabe: am 1e2f3d98: Merge "Fix UserManager#isUserAGoat" into lmp-dev

* commit 'a72bd6782f42f4766fb0dcc6755d2e9cca6940f4':
Fix UserManager#isUserAGoat
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
7d0b3d445abc0010e316c4652bf2bef8f06df7e0 18-Sep-2014 Jeff Hao <jeffhao@google.com> Deprecating InstructionCount.

Bug: 17489901
Change-Id: I554b9f3ce20adce55d6967d79d37d86b171b91c4
ebug.java
b9e2fe1d4a76bec221df59435cc564836434e871 14-Sep-2014 John Spurlock <jspurlock@google.com> am 1c1683a3: am 1ddb7a6b: Merge "Saver: PowerManager call to set low power mode." into lmp-dev

* commit '1c1683a35a0267c03729fa36b930c3dc803aff7a':
Saver: PowerManager call to set low power mode.
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
40461ddd8c1c087a31c1febbed76507e8d77ee40 13-Sep-2014 Dianne Hackborn <hackbod@google.com> am 46c1851a: am a561b237: Merge "Allow throwing UnsupportedOperationException across Binder." into lmp-dev

* commit '46c1851a7d14c8ac8614deb2183a89a44448e57c':
Allow throwing UnsupportedOperationException across Binder.
33d738a10209d4dc882a65285d6e71cfaeabe769 12-Sep-2014 Dianne Hackborn <hackbod@google.com> Allow throwing UnsupportedOperationException across Binder.

Change-Id: I3a9b81958886033d546c3a20331716dbb9492365
arcel.java
272d79c71535788a39bd746de9c3c34fa3ee159e 12-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> am 92f8d577: am 443a5766: Merge "Assign default icon to users at creation time and in SystemUI." into lmp-dev

* commit '92f8d577c50a54e8375435813096b997d58cd368':
Assign default icon to users at creation time and in SystemUI.
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
3dd0a6aabca2df0f51e443eec1810be75d37bab1 12-Sep-2014 Michael Wright <michaelwr@google.com> am 79870899: am 44c97df3: Change constant to PowerManager.RELEAES_FLAG_WAIT_FOR_NO_PROXIMITY

* commit '7987089963e29c993146a24470d412c2e83f98fa':
Change constant to PowerManager.RELEAES_FLAG_WAIT_FOR_NO_PROXIMITY
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
5f0439d7299522f486257c4c829804fed2511695 11-Sep-2014 Amith Yamasani <yamasani@google.com> am 3b18a0c5: am 30a5e35b: Merge "Apply cross-user restrictions to Shell" into lmp-dev

* commit '3b18a0c5f8efdb915fb1304c959236d608eb8b79':
Apply cross-user restrictions to Shell
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
1f4ea68a070d4e78f29a86d72968fb6580b13af2 09-Sep-2014 Amith Yamasani <yamasani@google.com> am d94df395: am 7a9f541e: Merge "User restriction to disallow outgoing NFC beam" into lmp-dev

* commit 'd94df395a87836b5dba6bd159010046e1d016661':
User restriction to disallow outgoing NFC beam
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
4656e69bf36d42a35c9290ab79eeb33b4cca1d5c 08-Sep-2014 Elliott Hughes <enh@google.com> resolved conflicts for merge of 2008cff7 to lmp-dev-plus-aosp

Change-Id: I5148eda624e8504f12dbc1288cd4a7a5b7c10850
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
ab94a1676e6280f1b6d83e0f8b02849ff62faf4f 08-Sep-2014 Elliott Hughes <enh@google.com> Merge "Small documentation fixes across many files."
6098a3acc9b5c2e87dcc6e4802cfd6d0ee4073c0 08-Sep-2014 Jeff Sharkey <jsharkey@android.com> am fa8211c5: am 2f0ed017: Merge "Delayed ASEC allocation, refine progress handling." into lmp-dev

* commit 'fa8211c5f7b8939e230f5643cd94a6e8686571b6':
Delayed ASEC allocation, refine progress handling.
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
b30ea42a8d5a516c61b6a2e00368abad9acb82e2 07-Sep-2014 Dianne Hackborn <hackbod@google.com> am 459f3911: am 9a77bddd: Merge "Fix issue #17391969: Only exception on Message.recycle() when target-sdk > 20" into lmp-dev

* commit '459f391177dd796d25d68184a0844a0420a1f33a':
Fix issue #17391969: Only exception on Message.recycle() when target-sdk > 20
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
95ccfd99503ae250e0c8c44590123ee2b263c063 06-Sep-2014 Dianne Hackborn <hackbod@google.com> am 80cb4a01: am 8c7605b1: Merge "Fix issue #17397177: BatteryStats reporting error on job start/stop" into lmp-dev

* commit '80cb4a012b57110246a17e4110ccadb5bd232c55':
Fix issue #17397177: BatteryStats reporting error on job start/stop
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
d0646dca40ff740bd49755ad60751678b0ccca52 28-Aug-2014 Mark Doliner <mark@kingant.net> Small documentation fixes across many files.

Change-Id: I3e8787ce4bc6018ea1dc9aef2a2cd4e0a8dde663
uild.java
79391c3c5d7fc40d2a0473b48e29335e7de19f9c 05-Sep-2014 Svetoslav <svetoslavganov@google.com> am 35952bf0: am 6f0cf112: Merge "Addressing API council comments for UserManager." into lmp-dev

* commit '35952bf0e8fd0ace78b015c3cde29b322cd939bb':
Addressing API council comments for UserManager.
8277cb60d86bb076f17aa43efc1abec37e76dcd0 05-Sep-2014 Jeff Sharkey <jsharkey@android.com> am b4733a8d: am e7bea8e5: Merge "Move Size parceling to Bundle." into lmp-dev

* commit 'b4733a8dad31e10bba8a04ccefbf9016d7fd670b':
Move Size parceling to Bundle.
aa0ac1a04f850fb81bf308bde328827d68172f0a 05-Sep-2014 Amith Yamasani <yamasani@google.com> am 90f3b5ad: am 0c3b7b15: Merge "Don\'t allow guests to install from unknown sources" into lmp-dev

* commit '90f3b5ad76ca3c38fb9ed23f79869eee4ebdfb39':
Don't allow guests to install from unknown sources
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
7d26fa32cc78fe0b7623a53961f312e97c8e282f 05-Sep-2014 Dianne Hackborn <hackbod@google.com> am 8dd4914b: am c5e138f7: Merge "Fix issue #17375172... sshhhhhh!!!" into lmp-dev

* commit '8dd4914ba3ece4e408571cfcc19da4d801cecbfa':
Fix issue #17375172... sshhhhhh!!!
dc84c6ca86290393fec2bb730f125575ee9e168e 05-Sep-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 82ad9ec3 to lmp-dev-plus-aosp

Change-Id: I7ae05c4f1b072906932a9ed47bdbad881b8e0d37
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
aec67dcc02362e4d2f7641c6605405b839bd1bd4 03-Sep-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Add native bridge post-fork initialization

Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67
rocess.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
3b345a6f9103c1677a696b4770cc318df45cdcaa 05-Jul-2014 Nick Kralevich <nnk@google.com> Merge "Fix javadoc typo in Message.java: "arg1" -> "arg2""
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
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
645513828b2127e6914f46475b5492c308f16a4a 17-Oct-2013 justinmuller <justin.muller@acm.org> Fixed grammar in the comment that introduces the Debug.MemoryInfo class.

Change-Id: Ic021e689b7a8c55367277875b321358535c04e6a
Signed-off-by: justinmuller <justin.muller@acm.org>
ebug.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