• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/content/
History log of /frameworks/base/core/java/android/content/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
460a7b461902d55d20e99f6c19e131947384d04a 06-Feb-2015 Amith Yamasani <yamasani@google.com> Limit cache update to packages that have changed

When updating the RegisteredServicesCache, don't remove any packages
that are not in the list of modified packages.

Bug: 19228972
Change-Id: Id4f264403b7ceca9005854dfbbc25abfd7b54889
m/RegisteredServicesCache.java
90312d808f4a5181b5cb99c78e64b7e5d1465895 16-Jan-2015 Ricardo Cervera <rcervera@google.com> am 22878790: am 93f94c2c: resolved conflicts for merge of e8f6bd48 to lmp-dev

* commit '2287879039556ad3c8fce58974e2396b4a2dab45':
docs: Added info on noHistory and onActivityResult(). Bug: 13807256
2287879039556ad3c8fce58974e2396b4a2dab45 16-Jan-2015 Ricardo Cervera <rcervera@google.com> am 93f94c2c: resolved conflicts for merge of e8f6bd48 to lmp-dev

* commit '93f94c2ca5bf23533fc5a9bd70a4795584d20618':
docs: Added info on noHistory and onActivityResult(). Bug: 13807256
93f94c2ca5bf23533fc5a9bd70a4795584d20618 16-Jan-2015 Ricardo Cervera <rcervera@google.com> resolved conflicts for merge of e8f6bd48 to lmp-dev

Change-Id: Idc370182914d5060a721d34c26cd72598f2c6dff
e8f6bd484627e16fa2fd9509b0f06056ee44be94 16-Jan-2015 Ricardo Cervera <rcervera@google.com> am 98f07d90: am 92f6a747: docs: Added info on noHistory and onActivityResult(). Bug: 13807256

* commit '98f07d901492335f51258655fbfa032fa3f2d58e':
docs: Added info on noHistory and onActivityResult(). Bug: 13807256
98f07d901492335f51258655fbfa032fa3f2d58e 16-Jan-2015 Ricardo Cervera <rcervera@google.com> am 92f6a747: docs: Added info on noHistory and onActivityResult(). Bug: 13807256

* commit '92f6a747085b4b5ed692de4bdb0050c096eae393':
docs: Added info on noHistory and onActivityResult(). Bug: 13807256
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
ntent.java
446e019a06d632d9d65679e27c7e963b2c5179d2 22-Dec-2014 Michael Wright <michaelwr@google.com> Add MEDIA_PROJECTION_SERVICE to the ServiceName list.

This prevents our lint tooling from complaining that we're passing
invalid values when trying to get the MediaProjectionManager.

Bug: 18830590
Change-Id: I34633248e895b0ac7f5083e18a7d2385ca6f8adb
ontext.java
ac2506c7e325b4e095405de155480a1abb3c4623 15-Dec-2014 Jay Shrauner <shrauner@google.com> Fix NPE in Transport.applyBatch

Bug:18756774
Change-Id: I1da4f0131b1529598043e4cb9fb226d02bff8669
ontentProvider.java
80b1c5608ec9cbb43c696d772eb69a2e220ef819 10-Dec-2014 Dianne Hackborn <hackbod@google.com> Fix issue #18665625 CTS:android.app.cts.InstrumentationTest#...

...testCallActivityOnNewIntent test fails with LMP-MR1 Release.

Check for null.

Also fix some small issues with converting intents to/from intents.

Change-Id: Ic391cc57552635935af9a271b2d09353257f6d14
ntent.java
d23f8b44d575dcdc00965aae5fffd97f0336df43 03-Dec-2014 Eino-Ville Talvala <etalvala@google.com> Merge "Revert "Camera: Add new capability flags as system features as well"" into lmp-mr1-dev
f696efa206089bde1274d972239ffb5a8185f613 03-Dec-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #17948584: Application crash and phone restart when app..." into lmp-mr1-dev
08a125562c9af620e83e9f96c7810eae871d6067 03-Dec-2014 Eino-Ville Talvala <etalvala@google.com> Revert "Camera: Add new capability flags as system features as well"

This reverts commit 6aee1d2ba52cf7f44c9355f279844b8a937903da.
But leaves in some of the improved documentation.

Bug: 18281970
Bug: 18573576
Change-Id: I320f2229456ac039bc8f3cd8bc8b4ea6cf0e80eb
m/PackageManager.java
1bc177c58550514c6e48d74061392b4247a9bf6a 03-Dec-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17948584: Application crash and phone restart when app...

...is installed with <provider> with empty string.

Don't allow empty authorities, just like we don't allow null authorities.

Change-Id: I5c64592a639efe4dba848bd6f0efe4257f1565a2
m/PackageParser.java
a6f8b2ce552debde1f8a1ea673d689f96c56d67b 03-Dec-2014 Alan Viverette <alanv@google.com> Deprecate one-arg getDrawableForDensity, update currents.txt

BUG: 18579576
Change-Id: I7df6ec2952ab121e2be8ae0a016ccf36f6fba2ff
es/Resources.java
c10e3960d9107f8663daa842ac57dedded4736e3 02-Dec-2014 Alan Viverette <alanv@google.com> Deprecate Resources.getDrawable(int) in favor of the two-arg version

This is a landmine for developers. If they need to obtain an unthemed
drawable, they should be using an explicit null theme.

BUG: 18579576
Change-Id: Ibca6b4c3e8e50dca144571244e035caec6fa91f8
es/Resources.java
9be305d146fb422a0e65e5284af2ce081cdc6a69 25-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge "Make the Context service constant for UsageStats public" into lmp-mr1-dev
760cfb02de1e547b2823bf2b9621ef5b953cc5bd 24-Nov-2014 Alan Viverette <alanv@google.com> Merge "Check for null drawable in theme-less getDrawable()" into lmp-mr1-dev
aa6076701d1026cb5de0ed9a16b2b5a79a0f9d1b 24-Nov-2014 Adam Lesinski <adamlesinski@google.com> Make the Context service constant for UsageStats public

This was an oversight in L, where we did not make this
service constant public.

Change-Id: I42e38cb5ef8420cadc1a4a6705821189d911ccfe
ontext.java
88d2a3c0e1b4a8c53a489db5d627beb80b1b9957 23-Nov-2014 Jeff Sharkey <jsharkey@android.com> Introduce revision codes for split APKs.

Apps delivered as multiple split APKs must have identical package
names, version code, and signatures. However, developers may want
to iterate quickly on a subset of splits without having to increment
the version code, which would require delivery of the entire app.

This change introduces "revision codes" which can vary between
split APKs belonging to the same app. An install is valid as long
as the normal version code is identical across all splits. Splits
can be added/removed to an app over time, but if a split is present
across an upgrade the revision code must not decrease.

Since system apps could have been updated with splits, only revert
to the built-in APKs if the version code is strictly greater than the
data version. Also fix bug to enable inheriting from system apps
when adding splits.

Bug: 18481866
Change-Id: I34d8e14c141a8eb95c33ffe24b4e52d6af5c8260
m/PackageInfo.java
m/PackageInfoLite.java
m/PackageParser.java
7e0aaae3db11e0f23dca8c4cddff261f0132266c 24-Nov-2014 Alan Viverette <alanv@google.com> Check for null drawable in theme-less getDrawable()

BUG: 18507509
Change-Id: I64e2950dc3a30f3979ec179789a6f6e055c9f86d
es/Resources.java
12c2136e556b54a717624d8479ec4650f363ce45 22-Nov-2014 Wink Saville <wink@google.com> Merge "Additional changes to SubscriptionManager API as per API council." into lmp-mr1-dev
d09c4cad65c708f2c4810d24295456708a2000d2 22-Nov-2014 Wink Saville <wink@google.com> Additional changes to SubscriptionManager API as per API council.

bug: 17575308
Change-Id: Idd98aa46c15a9219ccf28091c62602ac8bf16c62
ontext.java
dfa99f63677c238453293f48b62b4fffcc101262 22-Nov-2014 Eino-Ville Talvala <etalvala@google.com> Merge "Camera: Add new capability flags as system features as well" into lmp-mr1-dev
24b1c23c62b3d8ca1d762a76b2f1ef6360fc683e 21-Nov-2014 Dianne Hackborn <hackbod@google.com> Fix issue #15828903: Intent.parseUri allows call to FLAG_GRANT_*_URI_PERMISSION

You now need to set a flag if you want this unsafe behavior.

Change-Id: I185e9a04e005e42a887c3d58a2818616790b060a
ntent.java
6aee1d2ba52cf7f44c9355f279844b8a937903da 20-Nov-2014 Eino-Ville Talvala <etalvala@google.com> Camera: Add new capability flags as system features as well

Also add all the L and L MR1 new system features to the uses-feature documentation.

Bug: 18281970
Change-Id: I116ca3fd04cd90eb53cc696b6fa62488687e7740
m/PackageManager.java
816e19eb6d5795f98f072494c763b20fe3412c30 20-Nov-2014 Wink Saville <wink@google.com> Merge "Revert "Additional changes to SubscriptionManager API as per API council."" into lmp-mr1-dev
2d1ee982276f5dbd0e035778b731b48e4ef34515 20-Nov-2014 Wink Saville <wink@google.com> Revert "Additional changes to SubscriptionManager API as per API council."

This reverts commit baf21da1e17ef358632c078128d381b3be218a08.

Change-Id: I73cbdfadf07ca3cf20b042781b62aafcc72b17d6
ontext.java
4a57e908177c86819ade1ebb813677698f1a526a 20-Nov-2014 Wink Saville <wink@google.com> Merge "Additional changes to SubscriptionManager API as per API council." into lmp-mr1-dev
d9968438bcf439e7a8c6058a95b85286a632dc1c 20-Nov-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue with call backs from media process." into lmp-mr1-dev
baf21da1e17ef358632c078128d381b3be218a08 20-Nov-2014 Wink Saville <wink@google.com> Additional changes to SubscriptionManager API as per API council.

bug: 17575308
Change-Id: I7773965094510999bfce8fc6b2b31ba6ce496653
ontext.java
0d1c27a713cb49de8f6f4fd0a129baa883153921 03-Nov-2014 Chet Haase <chet@google.com> Fix seeking and scaled duration behavior

The animation scaled was not being factored in early enough in the
activity lifecycle. Also, setCurrentPlaytTime() was not accounting for
the scaled duration correctly. Finally, added setCurrentFraction() as
a more general-purpose seeking facility.

Issue #18222006 Animator duration scale ignored in some situations
Issue #17951668 add ability to seek fraction, not just time

Change-Id: Idad401f5ff5026d7046c36eee09d78a4793215dc
ntent.java
ff17024e583b170312d82089fd358d278ce16c9a 19-Nov-2014 Dianne Hackborn <hackbod@google.com> Fix issue with call backs from media process.

All but a few lines of this is for issue #16013164, which allowed
apps to do some operations as the media uid by having it call
back to them to open a file. The problem here is with the tempory
identity stuff in the activity manager, allowing us to make the open
call as the original caller... ideally we should figure out a way
to just get rid of all of that, but the solution here is actually
easier (even though it doesn't look it) -- we now hand a token over
to the openFile() call that it can use when doing permission checks
to say "yes I would like the check to be against whoever is responsible
for the open". This allows us to do the uid remapping for only this
one specific set of permission checks, and nothing else.

Also fix issue #17487348: Isolated services can access system services
they shouldn't be able to. Don't send any system service IBinder objects
down for the first initialization of an isolated process.

Change-Id: I3c70e16e0899d7eef0bae458e83958b41ed2b75e
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontext.java
ontextWrapper.java
ContentProvider.java
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
ontentProvider.java
eed1fba6b54b3305af811b4dd9e367eab01a241b 13-Nov-2014 Narayan Kamath <narayan@google.com> Merge "Add detailed javadoc for AssetManager.getLocales." into lmp-mr1-dev
db3d76ab685955aae4a3e363238a2931d89c6f03 13-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into lmp-mr1-dev
521ca5f8fba355f526e82dc3a8fc6520e4379874 12-Nov-2014 Jeff Sharkey <jsharkey@android.com> am 2e700004: am d68b87cd: Recover apps with malformed certificates.

* commit '2e7000040e3d836bb591e29515974817afc49488':
Recover apps with malformed certificates.
2e7000040e3d836bb591e29515974817afc49488 12-Nov-2014 Jeff Sharkey <jsharkey@android.com> am d68b87cd: Recover apps with malformed certificates.

* commit 'd68b87cdd402d46013170d9316a31c82be4e4816':
Recover apps with malformed certificates.
d68b87cdd402d46013170d9316a31c82be4e4816 12-Nov-2014 Jeff Sharkey <jsharkey@android.com> Recover apps with malformed certificates.

There was a window of time in Lollipop where we persisted certificates
after they had passed through a decode/encode cycle. The well-written
OpenSSL library was liberal when decoding (allowing slightly malformed
certs to be parsed), but then strict when encoding, giving us
different bytes for effectively the same certificate.

A related libcore change (0c990ab4a90b8a5492a67b2b728ac9a4a1ccfa1b)
now returns the original bytes verbatim, fixing both pre-Lollipop
installs and installs after that change.

This change recovers any apps that had been installed during the
window of time described above by doing a one-time check to see if
the certs are effectively equal.

Bug: 18228011
Change-Id: Ib82bd6db718d0490d7a26c9c1014b7c8457a7f2d
m/Signature.java
4fc2ea8402b62001b225bf4e1a335c4cbf3b65ea 12-Nov-2014 Alan Viverette <alanv@google.com> Merge "Ensure time picker dialog fits on small screens" into lmp-mr1-dev
d9f3fdf45bd3e3b5b02f2d21b6df6598cbaf1c70 12-Nov-2014 Alan Viverette <alanv@google.com> Ensure time picker dialog fits on small screens

Also fixes dialog padding in landscape mode and a bug in the
ColorStateList method used to apply a selected color.

BUG: 18251582
Change-Id: Id5b8c7893ec42fd4d5f4a7520e6ac170839d3143
es/ColorStateList.java
11bce123b91cee70380bffa3fffa3c9d19ef3ebd 12-Nov-2014 Narayan Kamath <narayan@google.com> Add detailed javadoc for AssetManager.getLocales.

bug: 18218661
Change-Id: Idcbd8678b6dd1b28f993c4dab000e284db76edc0
es/AssetManager.java
3df1c38ee098872352086e03d6f1adb16796ee29 07-Nov-2014 Adam Lesinski <adamlesinski@google.com> Fix ParceledListSlice to enforce the same concrete types among its elements.

Bug:17671747
Change-Id: I896f75738e5b464ccb6c03290f139cc2fa72f966
m/ParceledListSlice.java
85d558cd486d195aabfc4b43cff8f338126f60a5 04-Nov-2014 Dianne Hackborn <hackbod@google.com> Add Activity API to get referrer information.

This expands the use of EXTRA_REFERRER to be relevant anywhere,
allowing apps to supply referrer information if they want. However,
if they don't explicitly supply it, then the platform now keeps
track of package names that go with Intents when delivering them
to apps, which it can be returned as the default value.

The new method Activity.getReferrer() is used to retrieve this
referrer information. It knows about EXTRA_REFERRER, it can return
the default package name tracked internally, and it also can return
a new EXTRA_REFERRER_NAME if that exists. The latter is needed
because we can't use EXTRA_REFERRER in some cases since it is a Uri,
and things like #Intent; URI extras can only generate primitive type
extras. We really need to support this syntax for referrers, so we
need to have this additional extra field as an option.

When a referrer is to a native app, we are adopting the android-app
scheme. Since we are doing this, Intent's URI creation and parsing
now supports this scheme, and we improve its syntax to be able to build
intents with custom actions and stuff, instead of being all hung up
on custom schemes.

While doing this, fixed a problem when parsing both intent: and new
android-app: schemes with a selector portion, where we were not
respecting any scheme that was specified.

Change-Id: I06e55221e21a8156c1d6ac755a254fea386917a2
ntent.java
m/LabeledIntent.aidl
2e594cfe9848b56ad71a6f7bc4de13df7a36511c 29-Oct-2014 Jeff Hao <jeffhao@google.com> Change boot screen title to "Android is starting" when not upgrading.

Bug: 17565501
Bug: 18247218

(cherry picked from commit 9f60c08a446e38f9e2d5271546ef69ca5941eba9)

Change-Id: I1ec32b318b6221277fc3ffbc19966bf3330c2d93
m/IPackageManager.aidl
m/PackageManager.java
7d2d4fd55ecda623a717e90feb820c1812fb9d6e 06-Nov-2014 Amith Yamasani <yamasani@google.com> Fix singleUser provider grants

Fake the Uri for grant check, if we're checking access to
a singleUser provider. Inject the userId in the authority
so that the grant can be matched properly.

Bug: 18194892
Change-Id: I4a55ce593ac21722f394e89e13350aa205d76336
ontentProvider.java
92f6a747085b4b5ed692de4bdb0050c096eae393 04-Apr-2014 Ricardo Cervera <rcervera@google.com> docs: Added info on noHistory and onActivityResult(). Bug: 13807256

Change-Id: Iae4901a311e76401396f89c552e5b27a49c65c83
ntent.java
ac7774e8c13e5e2881a588012b8710ad3947169c 04-Nov-2014 Nicolas Prevot <nprevot@google.com> Merge "Do not fix uris inside the system." into lmp-mr1-dev
88cfb428d4e9ad4a45d829795d5bdce3a0d4c62c 31-Oct-2014 Kenny Guy <kennyguy@google.com> Merge "Tidy up unused hidden methods in LauncherApps" into lmp-mr1-dev
c4fc00a58d1a8a2e3bffd15f447c2ada82913bfa 31-Oct-2014 Nicolas Prevot <nprevot@google.com> Do not fix uris inside the system.

When we fix uris by adding the user id they belong to, the extras
of the intent are unpacked and repacked. This must not happen
inside the system process. It happened when ResolverActivity was
handling an activity intent coming from a different user.

BUG:18198630

Change-Id: I869897013bb2e5522584b404e87a8f20e7943b60
ntent.java
dd6cb55b0ef324096ff9f04a75864ecc43397c4f 31-Oct-2014 Kenny Guy <kennyguy@google.com> Tidy up unused hidden methods in LauncherApps

Bug: 17483329
Change-Id: Ic4fbb180bafaa4d2c5ba332fe228c3d9baf4761c
m/LauncherApps.java
7f4a63d1ebc13c6499a48331ecb78c4d27446dbc 30-Oct-2014 Alan Viverette <alanv@google.com> Ensure we don't pass null values in to Theme.resolveAttributes

BUG: 18182274
Change-Id: I08acf877cb81478cc205254edf92a31fcf05991d
es/Resources.java
f2969405020a72e282c348a6ea201d56e9f8d4ba 30-Oct-2014 Alan Viverette <alanv@google.com> Distinguish unspecified and explicit null values in resources

BUG: 17919345
Change-Id: Ic4f04f7dd0f986f58a749b5950d80c1cfdb074ea
es/TypedArray.java
720a5c51beb5beab442832ea8d169aa5b4edb43f 30-Oct-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add dumpsys output to UsageStatsService, along with --checkin support" into lmp-mr1-dev
9f60c08a446e38f9e2d5271546ef69ca5941eba9 29-Oct-2014 Jeff Hao <jeffhao@google.com> Change boot screen title to "Android is starting" when not upgrading.

Bug: 17565501
Change-Id: Id5741e6e7a40750feee1cd7306e79f7baeec67de
m/IPackageManager.aidl
m/PackageManager.java
1bb18c435dbf967f3a9bc9d680411471b8bab4ac 18-Aug-2014 Adam Lesinski <adamlesinski@google.com> Add dumpsys output to UsageStatsService, along with --checkin support

Bug:17814138
Change-Id: If414ae5f4b8e4a2838f63f52d80e764915cee934
es/Configuration.java
9f837a99d48c5bb8ad7fbc133943e5bf622ce065 24-Oct-2014 Jeff Sharkey <jsharkey@android.com> Reduce PackageManager RAM usage: ArrayMap/Set.

Transition PackageManager internals away from heavier HashMap/HashSet
to use drop-in ArrayMap/ArraySet replacements. Saves ~38% RAM and
thousands of objects on a typical device.

Bug: 18115729
Change-Id: Ie107d2fee4b7baa4e3c3923231b4be877d1a5d2f
m/PackageParser.java
m/PackageUserState.java
d422dc358f0100106dc07d7b903201eb9b043b11 25-Sep-2014 Yigit Boyar <yboyar@google.com> Added a generic configuration and theme based cache

For now, only animators use it but we can consider migrating
drawable cache to it as well.

Bug: 17456416
Change-Id: I571b96856805edb171f0fc52e6bff5a365f46b70
es/ConfigurationBoundResourceCache.java
es/ConstantState.java
es/Resources.java
0b3c11260ae5ea09c7e702802b39f77afc74f35f 09-Oct-2014 Adam Powell <adamp@google.com> Intent chooser callback

Let an app specify an IntentSender as an extra for ACTION_CHOOSER that
will be notified of the user's chosen target. Apps can use this to
implement things like one-touch last used affordances without
implementing their own one-off chooser UI.

Bug 17363684

Change-Id: Ic5d1d0e0c7a0bae3eda6b1d6ade993f3ba865cfa
ntent.java
9086562a6a524cc0c96231411863cd65d8785bfe 17-Oct-2014 Adam Lesinski <adamlesinski@google.com> Minor resource notation/compatibility fixes

- Change the format of mnc/mcc when printing a resource-qualifier
formatted string from a Configuration object.
- Correctly bump the SDK to 21 when using anydpi in a resource qualifier.

Change-Id: I3c31e344dc5384d45398d6e9f264a073abab65d1
es/Configuration.java
2df76285914692973a4dfa6d600a71584e3e1c2a 15-Oct-2014 Jeff Sharkey <jsharkey@android.com> am 203ed4db: am 88a6ed54: Merge "Reduce PackageInstaller Binder memory pressure." into lmp-dev

* commit '203ed4db9656cc3047c65e12e3969d21652d4ccf':
Reduce PackageInstaller Binder memory pressure.
203ed4db9656cc3047c65e12e3969d21652d4ccf 15-Oct-2014 Jeff Sharkey <jsharkey@android.com> am 88a6ed54: Merge "Reduce PackageInstaller Binder memory pressure." into lmp-dev

* commit '88a6ed5477eb6fa0453f9f29adef4c11b6eeade0':
Reduce PackageInstaller Binder memory pressure.
97d47ed036ff7bd3d7d2ddc1c6df1104ec237559 15-Oct-2014 Jeff Sharkey <jsharkey@android.com> Reduce PackageInstaller Binder memory pressure.

When restoring hundreds of apps on low-DPI devices, we end up sending
icon Bitmaps inline in the response instead of splitting into ashmem
regions. To avoid triggering TransactionTooLargeException, switch to
using ParceledListSlice under the hood.

Bug: 17926122
Change-Id: Ib4da6775e79d2fcb4aaea15f58ed998df203a5f9
m/IPackageInstaller.aidl
m/PackageInstaller.java
1201d2a018c85e9c5092e670b334cc4ed4ebcaef 15-Oct-2014 Jeff Hao <jeffhao@google.com> am dbfbb175: Backport of ordering apps for boot dexopt.

* commit 'dbfbb17512fe6a5b3c7198d60b6a149969174a71':
Backport of ordering apps for boot dexopt.
dbfbb17512fe6a5b3c7198d60b6a149969174a71 30-Sep-2014 Jeff Hao <jeffhao@google.com> Backport of ordering apps for boot dexopt.

This is a squashed commit of the following changes:

1. Order apps by priority when performing boot dexopt.
(cherry picked from commit 65cde7d42d741c7d9aa2714a397b7333f688ab55)

2. Improve priority ordering of apps when performing boot dexopt.
Added core apps and updated system apps.
(cherry picked from commit 272bf3a274daff62995caf05da338c1f2a73dae3)

3. Stop boot dexopt when low on memory.
(cherry picked from commit 1d892dcb6b0ff3a50cc63e387667dc29baf1014f)

Bug: 17641843
Change-Id: Ie32f1c21047d3462aaf728f7633fecf647ba2b47
m/PackageInfo.java
m/PackageParser.java
6b7515dd0d70ad1b3149b1f38ef548a06a4d5cec 09-Oct-2014 Jeff Hao <jeffhao@google.com> Merge "Improve priority ordering of apps when performing boot dexopt." into lmp-mr1-dev
d83e9e42805e340384f30199777fbc472c5c6f20 09-Oct-2014 Dianne Hackborn <hackbod@google.com> am 0761b1b5: am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev

* commit '0761b1b5ebb453a411e3289c1c972dbfddcee880':
Put in real "code" (aka marketing) name.
b424849533ac369c41a824510a8f3914f62ed2c6 09-Oct-2014 Jeff Sharkey <jsharkey@android.com> am b01a5ba2: am 562262cc: Merge "Bring along more ApplicationInfo fields." into lmp-dev

* commit 'b01a5ba2b7c1bc22e30d6cc16c30f8e1215701cd':
Bring along more ApplicationInfo fields.
0761b1b5ebb453a411e3289c1c972dbfddcee880 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.
b01a5ba2b7c1bc22e30d6cc16c30f8e1215701cd 09-Oct-2014 Jeff Sharkey <jsharkey@android.com> am 562262cc: Merge "Bring along more ApplicationInfo fields." into lmp-dev

* commit '562262cc89838529316ff2f3e511c0d876b08677':
Bring along more ApplicationInfo fields.
272bf3a274daff62995caf05da338c1f2a73dae3 08-Oct-2014 Jeff Hao <jeffhao@google.com> Improve priority ordering of apps when performing boot dexopt.

Added core apps and updated system apps.

Bug: 17641843
Change-Id: Ia00ea3399cf1e1acaef45ff8df8f754442de5185
m/PackageInfo.java
m/PackageParser.java
89b196958fee07475765bd3c458098464ba16f2e 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Merge "Put in real "code" (aka marketing) name." into lmp-dev
7f1a57a3e709b9e1fdb03a7a8af5f13859f7f1ad 08-Oct-2014 Jeff Sharkey <jsharkey@android.com> Bring along more ApplicationInfo fields.

When we added scan paths, we forgot to bring them along through
Parcel and copy constructor.

Bug: 17900178
Change-Id: I0ee9374f909d375768045976fd88cee7431f7d4d
m/ApplicationInfo.java
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
ontext.java
ntent.java
0660042a26b99614e4bed88eb21ef7b46526d73b 08-Oct-2014 Alan Viverette <alanv@google.com> Merge "Mutate and apply theme if needed before caching themed drawables" into lmp-mr1-dev
727cae197b123ef764a1f8fbe08a995b000d14c3 08-Oct-2014 Alan Viverette <alanv@google.com> Mutate and apply theme if needed before caching themed drawables

This ensures that drawables are completely separated from their cached
constant states before applying a theme. After this, we can remove the
implicit (and incomplete) mutation in the clone constructors.

Also implements missing mutate() method on ClipDrawable.

BUG: 17646144
Change-Id: If0d66b0a85724d76e0a4f506758c7ba3c0aa3410
es/Resources.java
fcc059dcf0d84a77d9c2b5ef3b01c23afe25f72c 07-Oct-2014 Jeff Sharkey <jsharkey@android.com> am 1d5ef81e: am 99586dc0: Merge "Reduce PackageInstaller I/O pressure." into lmp-dev

* commit '1d5ef81e29279f769d79315f2a38e747ea92e10f':
Reduce PackageInstaller I/O pressure.
1d5ef81e29279f769d79315f2a38e747ea92e10f 07-Oct-2014 Jeff Sharkey <jsharkey@android.com> am 99586dc0: Merge "Reduce PackageInstaller I/O pressure." into lmp-dev

* commit '99586dc0108d0f4311c8af4d06ed113bbf40a6ee':
Reduce PackageInstaller I/O pressure.
99586dc0108d0f4311c8af4d06ed113bbf40a6ee 07-Oct-2014 Jeff Sharkey <jsharkey@android.com> Merge "Reduce PackageInstaller I/O pressure." into lmp-dev
02bd78490d8594d225ecc70a74b2058cb968a657 07-Oct-2014 Jeff Sharkey <jsharkey@android.com> Reduce PackageInstaller I/O pressure.

When performing a restore during initial device setup, we could be
installing hundreds of packages. Currently, we're writing all
metadata (including heavy icons) for every session mutation! Because
we're holding the mSessions lock while writing all this heavy data,
we end up causing ANRs when apps call other PackageInstaller APIs.

This patch mitigates by moving the heavy icon data into separate
per-session PNG files, which we only persist when changed.

Bug: 17881962, 17567794
Change-Id: I4dee15d4a65a8eb65c381e6bb7477728b6cc30d2
m/PackageInstaller.java
2f577e83cbd5b12e47178a90443390210b446102 06-Oct-2014 Dianne Hackborn <hackbod@google.com> am 90d557b7: am 7f7d240b: Merge "Fix issue #17752399: Multiple apps broken by GET_TASKS permission change" into lmp-dev

* commit '90d557b7a68e64e049a44560b76b959ef87f13d7':
Fix issue #17752399: Multiple apps broken by GET_TASKS permission change
90d557b7a68e64e049a44560b76b959ef87f13d7 06-Oct-2014 Dianne Hackborn <hackbod@google.com> am 7f7d240b: Merge "Fix issue #17752399: Multiple apps broken by GET_TASKS permission change" into lmp-dev

* commit '7f7d240b13b96b617e298c6178af0425308f5ef9':
Fix issue #17752399: Multiple apps broken by GET_TASKS permission change
31409c0ccd1434efdcfff8f7ddcd7c4207660104 06-Oct-2014 Benjamin Franz <bfranz@google.com> Merge "Introduce new API to get an unbadged icon and unbadge permissions." into lmp-mr1-dev
2d7576b082b84068fb9d68419b710b9bec49139b 04-Oct-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17752399: Multiple apps broken by GET_TASKS permission change

Keep around GET_TASKS as a permission available to apps, so apps still
think they have it and don't get all uppity because they don't.

Add a new REAL_GET_TASKS that is the actual permission now.

Plus some temporary compatibility code until everyone can transition
fromn GET_TASKS to REAL_GET_TASKS.

Change-Id: I12c1102eed24844685dcbd2fa3b612811603958f
m/IPackageManager.aidl
ec2d48b96d1f95fb266914df294a27c210f8c3f5 01-Oct-2014 Benjamin Franz <bfranz@google.com> Introduce new API to get an unbadged icon and unbadge permissions.

Bug: 17125560
Change-Id: I61b884186c96cc54dcaf1d3c7ee8f47610fd1d21
m/PackageItemInfo.java
m/PackageManager.java
c68aad9fd0f7937176ac6a8238e6236dd7ea3427 02-Oct-2014 Newton Allen <newt@google.com> am d84ce32b: Merge "Fix some documentation typos." into lmp-dev

* commit 'd84ce32bd2d7c3cebac15545504f4fec464a6956':
Fix some documentation typos.
8f8a11b7fa26e603519131001ab46596aa30ba1a 26-Nov-2013 Newton Allen <newt@google.com> Fix some documentation typos.

Change-Id: I747a0ade5c7b9c45d4465bf327952338bbc1cfaa
(cherry picked from commit 4465d1a03ee5fddc5987c19fc36b0bb79e19572f)
lipData.java
riMatcher.java
aa1bcd95cfd42b74106680d29e44c70b82dca742 27-Sep-2014 Andres Morales <anmorales@google.com> am 858d04cb: Merge "Mark PDB identifier as SystemApi" into lmp-dev

* commit '858d04cbf0962acba1ffc0e5df4113c01ed3abec':
Mark PDB identifier as SystemApi
66b63cb825b37079ea0d50e1482064d118620822 27-Sep-2014 Andres Morales <anmorales@google.com> Merge "Mark PDB identifier as SystemApi" into lmp-dev
33df937f6f187006b653b030154a1e891410d0ae 27-Sep-2014 Andres Morales <anmorales@google.com> Mark PDB identifier as SystemApi

Had already marked the API itself as system api, just not
the Context.BLAH id. Also update the javadoc as it doesn't
return an FD anymore.

Change-Id: Ic8a5b8c75b0ba0bdf4ad26cf33d5f87eea568376
ontext.java
264975697540da332b9214bb5e45dc82ce96be9d 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.
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
ntent.java
5c1ac3d443cfbc27289405845a89d7f94ec396f6 24-Sep-2014 Jeff Sharkey <jsharkey@android.com> am e50b0a6c: Merge "More ACTION_CHOOSER ClipData migration." into lmp-dev

* commit 'e50b0a6c86c70f5ddcb69984cb99337ce1d96032':
More ACTION_CHOOSER ClipData migration.
fb488eb2a269772064432e69ebdd9c5cedd18006 24-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "More ACTION_CHOOSER ClipData migration." into lmp-dev
c004eef7bb4d4752c9a980af95a1e49a4098ade6 24-Sep-2014 Jeff Sharkey <jsharkey@android.com> More ACTION_CHOOSER ClipData migration.

Traverse into both EXTRA_INTENT and any EXTRA_INITIAL_INTENTS when
migrating extras to ClipData. Also, we don't need to promote these
ClipData into the parent, since the platform ChooserActivity will
issue any required permission grants for the final user-selected
Intent. Even if we wanted to, we can't combine the various child
Intent flags into anything meaningful at the ACTION_CHOOSER level.

Bug: 17580604
Change-Id: I6b5a1f572a7edf8135e059c67a2643d3736e40ab
ntent.java
60004caeba750c49aa258056e57ada898a086fc0 23-Sep-2014 Alan Viverette <alanv@google.com> am 9e84a6a0: Merge "Fix inaccurate TypedArray.getDrawable() documentation" into lmp-dev

* commit '9e84a6a08b4ff50b745a6eaf35e52b9c7aef4c39':
Fix inaccurate TypedArray.getDrawable() documentation
fde4e3b17a5ead9f1a0848bf35b4f49f16600795 23-Sep-2014 Alan Viverette <alanv@google.com> Fix inaccurate TypedArray.getDrawable() documentation

The documentation implied that you could override
Resources.getDrawable(int) to load custom drawables, which is
not the case.

BUG: 16635905
Change-Id: I06c0febe2d6d4194ef5a31f167b378fe311b7a2d
es/TypedArray.java
f9390f56c6a5e31d92ce636ddc8f14c561be05f1 19-Sep-2014 Paul Soulos <psoulos@google.com> am b5586e00: Fixes typo in Intent documentation

* commit 'b5586e00ed5eb4b18b58371a54449f9cc8eedca8':
Fixes typo in Intent documentation
628cb74d8a830e5129c9b37992fd9f523177591f 19-Sep-2014 Paul Soulos <psoulos@google.com> Fixes typo in Intent documentation

bug: 17583712
Change-Id: I37c77644213417751f8261098af44096aef51b14
ntent.java
f2cf16436b944e19af7c9be506b4e2862565fa4c 19-Sep-2014 Dianne Hackborn <hackbod@google.com> am 31ce4c62: Merge "Fix issue #17564607: Apps in the managed profile can send any intent..." into lmp-dev

* commit '31ce4c62e97cf7357707c894f6992f52a43c6c9d':
Fix issue #17564607: Apps in the managed profile can send any intent...
ace27915d2cc5073bcbe9cc151a5c61683bdcd1a 19-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17564607: Apps in the managed profile can send any intent...

...to the primary user, even if it was not whitelisted to be forwarded.

The path where getActivityInfo is called for the ResolverActivity
would not correctly apply the requested user ID to the result, so
it wouldn't run under the correct user.

Change-Id: I1da47c54bbed26091832a28236d0b06762c92437
m/PackageParser.java
06e9f5345e01553f1395dda4dc30b9d7ac270d5c 18-Sep-2014 Alan Viverette <alanv@google.com> am 8766bdcb: Merge "Fix parsing of old-style intent URIs" into lmp-dev

* commit '8766bdcb803698a2a2765bb46ab57bba655b41cf':
Fix parsing of old-style intent URIs
0adf32bc1e82e4f5d4b531d97c3ef94f21853f61 18-Sep-2014 Alan Viverette <alanv@google.com> Fix parsing of old-style intent URIs

Improves bounds checking to restrict category matches to within the
category(...) item. Fixes CTS failure in IntentTest.testGetIntentOld().

BUG: 17557490
Change-Id: I1859fe18eaa881b771bab373d705d8fbeb6406c4
ntent.java
2d360218b4145c7d4079a9266e1c70a47939080d 16-Sep-2014 Jeff Sharkey <jsharkey@android.com> am 1d98fbf2: Merge "Update API naming to follow style guide." into lmp-dev

* commit '1d98fbf27258cbe98e9f7226cc6baedd83a80d3d':
Update API naming to follow style guide.
e11a3b798bd57636a01fc38b4432bceec58b6bef 16-Sep-2014 Ihab Awad <ihab@google.com> am 336c84c3: Merge "Add system feature for ConnectionService API support (1/3)" into lmp-dev

* commit '336c84c35722e221cb3ec5d99c3876a5e5015e2a':
Add system feature for ConnectionService API support (1/3)
49c0e7375b237bc6eff8746ae91466ea6a660233 15-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Update API naming to follow style guide." into lmp-dev
de74231f245c90e5861ec84a9880b5b4ec247480 15-Sep-2014 Jeff Sharkey <jsharkey@android.com> Update API naming to follow style guide.

Bug: 17510755
Change-Id: If73d81b416355559592feb895a62132194f4ba62
m/PackageInstaller.java
1ec6888685e1dd172502ade6ce455ad938400e0e 12-Sep-2014 Ihab Awad <ihab@google.com> Add system feature for ConnectionService API support (1/3)

Bug: 17445268
Change-Id: Ibf52cb394f00d075afd07b883a91f00da84b3c85
m/PackageManager.java
56c4f5c139e6aa863bc971557d2aed5d1bec02e0 14-Sep-2014 Alan Viverette <alanv@google.com> am 84670eef: Merge "Reduce instructions required to obtain and recycle TypedArray" into lmp-dev

* commit '84670eef1f2d685efc98644914d2bb191d0e665c':
Reduce instructions required to obtain and recycle TypedArray
c6a65dfbfff0b9fe1f6e0292cd4b92ffb679728c 14-Sep-2014 Alan Viverette <alanv@google.com> Merge "Reduce instructions required to obtain and recycle TypedArray" into lmp-dev
8b5b25b4487e22eb8a7dae32ee32f420210321a0 14-Sep-2014 Alan Viverette <alanv@google.com> Reduce instructions required to obtain and recycle TypedArray

Eliminates several field and method accesses by making the TypedArray
pool local to a single Resources object. Removes an unnecessary
synchronization.

ReadXmlAttrs averaged 0.069 ms/op before, 0.064 ms/op after.

BUG: 17484798
Change-Id: If790a5ba6596b47a04f117c8912974798a592052
es/Resources.java
es/TypedArray.java
6c8d6d74c0ee12e6d57bfaede3f7a713bf82f025 13-Sep-2014 Tyler Gunn <tgunn@google.com> resolved conflicts for merge of 66c16547 to lmp-sprout-dev
Also fixed issue in TelephonyManager.

Change-Id: I4dde45e638c2bcf32f8f929d34d0083966f6761f
ef9f6f957d897ea0ed82114185b8fa3fefd4917b 13-Sep-2014 Tyler Gunn <tgunn@google.com> Renaming Telecomm to Telecom.

- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.

Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
ontext.java
57801c13d4efa06327b990052a05f4c4351ef0f1 13-Sep-2014 Amith Yamasani <yamasani@google.com> am 13c4e5ad: Merge "Rename and repurpose feature MANAGED_PROFILES to MANAGED_USERS" into lmp-dev

* commit '13c4e5ad86bcf61e12d5f928ba36bc0db2dd75bf':
Rename and repurpose feature MANAGED_PROFILES to MANAGED_USERS
1d653272a2847c0cda10482f70e991e7afdaee4b 12-Sep-2014 Amith Yamasani <yamasani@google.com> Rename and repurpose feature MANAGED_PROFILES to MANAGED_USERS

Bug: 17392243
Change-Id: I5ff0e70eeeeba264c96eaa2a17a6bd3669576c96
m/PackageManager.java
08786c2b614d16e5ebfca8bd79a55b8fbe3c6892 12-Sep-2014 Kenny Guy <kennyguy@google.com> am b5153aba: Hide APIs renamed during API review of LauncherApps

* commit 'b5153aba264932068895228d3dde4e32a4ef271c':
Hide APIs renamed during API review of LauncherApps
b6edee0dadba9ceef40601c4779332d6d3a21281 11-Sep-2014 Kenny Guy <kennyguy@google.com> Hide APIs renamed during API review of LauncherApps

Bug: 17390765
Change-Id: I79a979365005b13a2268b1cfe455241ae4fecb51
m/LauncherApps.java
b9c6ad4e21bad8587804efb60878174f514fef4b 12-Sep-2014 Amith Yamasani <yamasani@google.com> am 7c855708: Merge "Annotate bindServiceAsUser with SystemApi" into lmp-dev

* commit '7c8557085241581d571ff22b3954fa20f99e6772':
Annotate bindServiceAsUser with SystemApi
56b3152d5438cc6cd9bc3a8a2087a235252ebbc3 12-Sep-2014 Craig Mautner <cmautner@google.com> am 790a059b: Merge "If activity is an alias get maxRecents from target" into lmp-dev

* commit '790a059b487646bd6aae1cdc866261a57375bb01':
If activity is an alias get maxRecents from target
e1e98741ff6d069e72249a0af8e96e8b77c669fe 12-Sep-2014 Amith Yamasani <yamasani@google.com> Merge "Annotate bindServiceAsUser with SystemApi" into lmp-dev
c85029f7d9ad61f35e6cb4e842b1e75687b418ef 12-Sep-2014 Amith Yamasani <yamasani@google.com> Annotate bindServiceAsUser with SystemApi

Bug: 17470388
Change-Id: I0961e6ebabaffd91e3d152074b2f64ca4f9ba8fb
ontext.java
3969cabf5931059fcc4d36addb5b75ddf76ad1f3 12-Sep-2014 Craig Mautner <cmautner@google.com> Merge "If activity is an alias get maxRecents from target" into lmp-dev
8307ea701c8a06378bd31148bcbe4d312af2b31a 12-Sep-2014 Craig Mautner <cmautner@google.com> If activity is an alias get maxRecents from target

Activity aliases do not pick up values in the PackageParser. The
actual values should come from the target activity instead.

Also ActivityInfo now propagates maxRecents in copy constructor
and across Binder calls (via parcelling).

Fixes bug 17391328.

Change-Id: I35d248032eca7557528c9d499b3b38f27c713d09
m/ActivityInfo.java
m/PackageParser.java
88de59f0963d6418bed190e02c6abc105d277fed 11-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> am e667e41b: Merge "Bugfix: use the correct user for ContentResolver calls" into lmp-dev

* commit 'e667e41bb60cbe5e6bde545ecaf1c7d9c8b36af1':
Bugfix: use the correct user for ContentResolver calls
ffb63439388da33b5065ebbfbbf8691c7b1f1eea 11-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Bugfix: use the correct user for ContentResolver calls" into lmp-dev
557186b0acff3a86fd69666fadcacc14500ba8e5 11-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> am b04106ed: Merge "Remove package level intent forwarding." into lmp-dev

* commit 'b04106ed46919030b944b02a8a227f8fe343c5a5':
Remove package level intent forwarding.
35fc269dc6064940bb26f50ce490a3c9639c389c 11-Sep-2014 Dianne Hackborn <hackbod@google.com> am b4ee4428: Merge "Fix issue #17428001: Fix revokeUriPermissions" into lmp-dev

* commit 'b4ee4428d34002aea54e9dc62902f14dedf69604':
Fix issue #17428001: Fix revokeUriPermissions
e107c3eb79be40f1071c4370fd9a3f9e4fd6d6de 09-Sep-2014 Adam Connors <adamconnors@google.com> Remove package level intent forwarding.

Clean up unused methods.

Bug: 17389110
Change-Id: I8a80fe3e14219f06572de05c390cdda0efcbf5db
m/IPackageManager.aidl
m/PackageManager.java
547f6e1803f3193b117bb396bfbce8851b85a68b 11-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #17428001: Fix revokeUriPermissions" into lmp-dev
192679a7d37d268854f4b17876c702625f9475eb 10-Sep-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17428001: Fix revokeUriPermissions

You can now revoke permissions that were granted to you.

Change-Id: I9a1872059edc715b10bbd2d653e45420d43331c3
ontext.java
03e1e836976f44ed729fa0a41898d7ce4df34788 10-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> Bugfix: use the correct user for ContentResolver calls

Bug: 16860604
Change-Id: I2de228442b7bd824a115f56a24d682d346737976
ontentResolver.java
fb324578aabe1f7acd89adba06596c5affbb6138 10-Sep-2014 Adam Connors <adamconnors@google.com> am 5e1fe70f: Merge "Add feature flags for verified boot and securely remove users." into lmp-dev

* commit '5e1fe70f82a58b3afe87ed14f5c44e02e05ddccb':
Add feature flags for verified boot and securely remove users.
c90f95c79ddd930c3fba13352f15ce7666eca402 10-Sep-2014 Adam Connors <adamconnors@google.com> Merge "Add feature flags for verified boot and securely remove users." into lmp-dev
7137ee38cbfeb01b6e19b5e4b2588e765b5a56c6 10-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 38bd55ff: Merge changes I79ba54d7,I224fb4b6 into lmp-dev

* commit '38bd55ffd7084d744e4e814593056e1e12ebfb00':
Make UsageStats API default on only for the system
ActivityManager shouldn't return null for getCurrentUser
1f43d44a07e69862867d966a3bb8ba898741ac55 10-Sep-2014 Jeff Sharkey <jsharkey@android.com> am c5d4ebd6: Merge "Missing manifest error should be NO_CERTIFICATES." into lmp-dev

* commit 'c5d4ebd640a0bca62fb52a42830c8646316ee386':
Missing manifest error should be NO_CERTIFICATES.
732edf098fe9728238bf3b69a3b3cfcb221edf35 10-Sep-2014 Adam Lesinski <adamlesinski@google.com> Merge changes I79ba54d7,I224fb4b6 into lmp-dev

* changes:
Make UsageStats API default on only for the system
ActivityManager shouldn't return null for getCurrentUser
ad5f44a68c70f783fb4be85f089f63bfdd63ec0c 10-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Missing manifest error should be NO_CERTIFICATES." into lmp-dev
bc09755e193c2802d2d88871ac3d1f182b260c30 09-Sep-2014 Jeff Sharkey <jsharkey@android.com> Missing manifest error should be NO_CERTIFICATES.

When META-INF/MANIFEST.MF is missing, treat as NO_CERTIFICATES
instead of CERTIFICATE_ENCODING. Also remove redundant layer of
debugging details when wrapping exceptions.

Bug: 15667982
Change-Id: I6e8216d5bf6e42da1feb70c89f991001380305be
m/PackageParser.java
f89e794a15006a4cb43f51ef9dc4dd0a13ce812b 09-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> am c3b392d0: Merge "Removing the NO_CROSS_PROFILE flag for intent forwarding" into lmp-dev

* commit 'c3b392d02693f8236fdc6ebc90412e3c4aaa5843':
Removing the NO_CROSS_PROFILE flag for intent forwarding
eddeb49a734a524347587e7654025c489fb6331e 09-Sep-2014 Adam Lesinski <adamlesinski@google.com> ActivityManager shouldn't return null for getCurrentUser

There was a race where ActivityManager would return null
for getCurrentUser() when switching between guest accounts.
This is because the Guest account was marked for deletion
while it was still active.

Bug:17290209

Change-Id: I224fb4b6836380e5acb7dbeb8f3343d74505f88a
m/UserInfo.java
76776943204fa5367d13948dba5b1e3de8916cd9 09-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Removing the NO_CROSS_PROFILE flag for intent forwarding" into lmp-dev
c788487ae5b28bb6f84410fcdb101f0bdfcd467e 09-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> Removing the NO_CROSS_PROFILE flag for intent forwarding

Bug: 17435289
Change-Id: Iffbecd3cf9338a8633bfcc5bc47247bfc50e7546
m/PackageManager.java
a90f97fabea172ebb6be4d91824b06cd4d60976b 09-Sep-2014 Nicolas Prevot <nprevot@google.com> am 7d1d9f77: Merge "Allowing a ContentProvider to have a null authority." into lmp-dev

* commit '7d1d9f774203522c98f65a3e3dceb9dc88be2129':
Allowing a ContentProvider to have a null authority.
f8a52c06674e3e215898ba4a390f7cc43b4c486a 09-Sep-2014 Nicolas Prevot <nprevot@google.com> Merge "Allowing a ContentProvider to have a null authority." into lmp-dev
e63c753f9a667b336d3c1edf5e3903e6999063c3 09-Sep-2014 Michael Wright <michaelwr@google.com> am d49dc106: Merge "Add FEATURE_GAMEPAD." into lmp-dev

* commit 'd49dc106aec6441f0db0c5a181b8ae578a76f927':
Add FEATURE_GAMEPAD.
8e3b4d41e3a70eef19e3928f6aca9b7e8712aa08 09-Sep-2014 Michael Wright <michaelwr@google.com> Merge "Add FEATURE_GAMEPAD." into lmp-dev
6faa6759cde497acbdf33cadbed74cd1c5e94471 06-Sep-2014 Michael Wright <michaelwr@google.com> Add FEATURE_GAMEPAD.

This allows micro-consoles or other devices to signify that there's a
game controller in the box, even if the user hasn't connected it.

Change-Id: Ie5e2cf69f777ebe84abb83f34c9ed63d9555deff
m/PackageManager.java
3e3fcdf742fad01132578538f0f6c7b69eebc2d3 08-Sep-2014 Kenny Guy <kennyguy@google.com> am 4e9c9518: Merge "Renaming of LauncherApps apis" into lmp-dev

* commit '4e9c9518f937377fab1afd78c09d5d47a1a11ed1':
Renaming of LauncherApps apis
d9037a48c6a3537b90c72fce9845fae182be62db 08-Sep-2014 Kenny Guy <kennyguy@google.com> Merge "Renaming of LauncherApps apis" into lmp-dev
6e412adaa70a25c6b47eb274736b67071e6e47c6 08-Sep-2014 Nicolas Prevot <nprevot@google.com> Allowing a ContentProvider to have a null authority.

In this case, it will not be possible to query it with any uri.

BUG: 17414813

Change-Id: I76e8ad91539904f3c52b5a3436b2f1bd5e4d0fdf
ontentProvider.java
47360438095eee342ac01c3bff8a41a7ca242b21 08-Sep-2014 Jeff Sharkey <jsharkey@android.com> am 2f0ed017: Merge "Delayed ASEC allocation, refine progress handling." into lmp-dev

* commit '2f0ed01789f305506426b67139146b634457fd5a':
Delayed ASEC allocation, refine progress handling.
19ccb5fd759dc9284da32320ed1219bee3e031be 08-Sep-2014 Adam Connors <adamconnors@google.com> Add feature flags for verified boot and securely remove users.

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

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

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

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

Avoid CloseGuard messages about leaking PFDs.

Bug: 17405741, 17402982
Change-Id: I6247a1d335d26621549c701c4c4575a8d16ef8c2
m/PackageInstaller.java
bbb3b4cf6c091906dbfcb0b8719acd815d2e576b 07-Sep-2014 Dianne Hackborn <hackbod@google.com> am 6a83e4d1: Merge "Work on issue #17357238: Recents is often slow if not used in a while" into lmp-dev

* commit '6a83e4d1c445658f1e489b744119755c976e9eb0':
Work on issue #17357238: Recents is often slow if not used in a while
66d557875dcb5955314dfadd0ee926ba90825982 07-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #17357238: Recents is often slow if not used in a while" into lmp-dev
95d18b709e7eb382647e57cd9ac74d08743b132d 07-Sep-2014 Unsuk Jung <unsuk@google.com> am 2ba17d31: Merge "Add a hardware feature definition corresponding to audio output support." into lmp-dev

* commit '2ba17d31623e05fbeb934d8def89aec9041ff15e':
Add a hardware feature definition corresponding to audio output support.
68c936f77d836285c255e98b73bdadb78025ade9 07-Sep-2014 Unsuk Jung <unsuk@google.com> Merge "Add a hardware feature definition corresponding to audio output support." into lmp-dev
a4e102ee580282dc7abeb22f4a025813e53b9431 05-Sep-2014 Dianne Hackborn <hackbod@google.com> Work on issue #17357238: Recents is often slow if not used in a while

Add a new activity attribute, resumeWhilePausing, that allows an
activity specifying it to immediately start running without waiting
for the previous activity to pause. The recents activity is updated
to use this.

The implementation of this is ultimately fairly simple -- if we are
in the path of resuming such an activity, and find that we first need
to pause the existing activity, then within the activity manager we
do the regular pause flow but act like it has immediately finished
pausing right then so that we can immediately go on to the resume.
To make this clean, we tell the activity when asking it to pause that
it should not come back and tell us it is done, because we aren't in
any way waiting for it.

One potentially important change I needed to make here is the pause
callback no longer provides the saved persistent state, because we
now can't count on that callback happening. I don't think there was
really any utility in this anyway -- all modern apps will have their
save state flow happen as part of stopping, not pausing, so we'll
only capture that saved state when the stop is reported back anyway.
And since we do send the saved state back when stopping, it would
always blow away whatever we had gotten at the pause.

Finally, update the documentation for AppTask.startActivity(), and
fix the implementation handling that to be cleaner -- we need to
deal with inTask first before getting in to "oh noes add NEW_TASK
if this isn't coming from a calling activity" flow.

Change-Id: Ia1da0fac90d7bdbaafdda2e34850d795ce17a39f
m/ActivityInfo.java
m/PackageParser.java
3068d14257e3a78c506301bb136e6a3871e5b9e1 06-Sep-2014 Jon Miranda <jonmiranda@google.com> am 9f7fee39: Merge "Added getStyleAttributes to access all Theme attributes." into lmp-dev

* commit '9f7fee392640eeba2922820e02d577a1a950702f':
Added getStyleAttributes to access all Theme attributes.
05cc48292b7c49be7aa11310173013cd3b656e08 06-Sep-2014 Jon Miranda <jonmiranda@google.com> Merge "Added getStyleAttributes to access all Theme attributes." into lmp-dev
16da11eb9e725a891f3d85a32904de83a8caf0b7 06-Sep-2014 Jeff Sharkey <jsharkey@android.com> am 89e86555: Merge "Separate active state from open/close." into lmp-dev

* commit '89e865552f42db5cc31ef48ad35f3392e4ed1ac2':
Separate active state from open/close.
5341f94a191ae57b138f97cd516842bcf04c0609 06-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Separate active state from open/close." into lmp-dev
042ad633bc68bdda2bb0c50216706d73575a5992 04-Sep-2014 Jon Miranda <jonmiranda@google.com> Added getStyleAttributes to access all Theme attributes.

ViewDebug uses getStyleAttributes to get the attributes, and then gets the
attribute name and value so that Hierarchy Viewer can display it.

Bug: 17407087
Change-Id: I3577e32ae99668383701dc908bb46db14a75c3c4
es/AssetManager.java
es/Resources.java
bc7bce38b2e4733a14f6296c75f983bd50f996d1 06-Sep-2014 Jeff Sharkey <jsharkey@android.com> Separate active state from open/close.

Also change name to setStagingProgress() to make it clearer that
system may adjust the range. Start throwing from openSession() in
preparation for ASEC allocation moving.

Bug: 17405741
Change-Id: Id7da51a32d5d89cb512ddafbd7ceaafbcd41cac6
m/IPackageInstallerCallback.aidl
m/PackageInstaller.java
0b4c65f577c413dc036b15972697e27889857e11 05-Sep-2014 Amith Yamasani <yamasani@google.com> am 221281ce: Merge "Rename getLocalApprovalIntent to createLocalApprovalIntent" into lmp-dev

* commit '221281ce8bf1a1c99806ca4cd6137e7b77fd82a3':
Rename getLocalApprovalIntent to createLocalApprovalIntent
4b278afa0dcfb7423054dca8a907a4895ef91134 05-Sep-2014 Amith Yamasani <yamasani@google.com> Merge "Rename getLocalApprovalIntent to createLocalApprovalIntent" into lmp-dev
f195dca3a1f37de5a3670a3b0baf1932700162cd 05-Sep-2014 Michael Wright <michaelwr@google.com> am e252525f: Merge "Add extra to ASSIST intent to indicate potential input type" into lmp-dev

* commit 'e252525f6fda8dad56566d78a4881ab35778e9a6':
Add extra to ASSIST intent to indicate potential input type
57b4ad9f5aea186e0bf1bee00371f02ed9d5eee4 05-Sep-2014 Michael Wright <michaelwr@google.com> Merge "Add extra to ASSIST intent to indicate potential input type" into lmp-dev
e167e433ba493a73fed22e1180c40a8c108b4277 05-Sep-2014 Jeff Sharkey <jsharkey@android.com> am a32e4e6b: Merge "Allow badging updates to install sessions." into lmp-dev

* commit 'a32e4e6b1fafed78546f8084eea78e641a92124d':
Allow badging updates to install sessions.
43a2d06166f9d5aa46371c6496ec99a9fba8df00 05-Sep-2014 Jeff Sharkey <jsharkey@android.com> Merge "Allow badging updates to install sessions." into lmp-dev
51a0e5b54680c659f333f186be1cf86d365e0db5 05-Sep-2014 Amith Yamasani <yamasani@google.com> Rename getLocalApprovalIntent to createLocalApprovalIntent

Based on API review.

Bug: 17389920
Change-Id: I84674f25a84d317f017473b6f4ac19c849079323
RestrictionsManager.aidl
estrictionsManager.java
ec9bad2015c6d3bc91bab66f0824043c1e24d013 05-Sep-2014 Jeff Sharkey <jsharkey@android.com> Allow badging updates to install sessions.

For the system restore use-case, an installer may need to enqueue
their sessions quickly before badging details, like icons, have been
downloaded. This change relaxes to allow an installer to update
their session badging after the session has been created. Notify
observers when badging changes.

Rename callback registration methods to match style guide. Relax
constraint that observers are home app. Fix bug around internal
progress reporting.

Bug: 17376797, 17389236, 17334199
Change-Id: I5fb88508baea2f08e89a1504fcf5ef972afad4a7
m/IPackageInstaller.aidl
m/IPackageInstallerCallback.aidl
m/PackageInstaller.java
59c1be6684a30cbadbf71e1faaded6fecb17a6bd 05-Sep-2014 Svetoslav <svetoslavganov@google.com> am 6f0cf112: Merge "Addressing API council comments for UserManager." into lmp-dev

* commit '6f0cf112a712cd1a9e77a9b2b66e5f771d4e061e':
Addressing API council comments for UserManager.
116b5865cf3a354405c2ea5a96f2f549bdbbb073 05-Sep-2014 Amith Yamasani <yamasani@google.com> am 3c0a511d: Merge "Remove class that was moved to a different package." into lmp-dev

* commit '3c0a511dee505d46ebab80a9b5a1579d39e597fd':
Remove class that was moved to a different package.
e2da374d6e7ec176bf682c1dd361e04751b23cb1 05-Sep-2014 Svetoslav <svetoslavganov@google.com> Merge "Addressing API council comments for UserManager." into lmp-dev
c7d62f02b8acfd0a6b31f8544ec2c07e780fe4bb 05-Sep-2014 Svetoslav <svetoslavganov@google.com> Addressing API council comments for UserManager.

bug:17390424

Change-Id: I498d2541289915cb7db16e5c3249ccc7a7dc5ee6
m/LauncherActivityInfo.java
m/PackageManager.java
36d8d2586082cf31f31768bfd01ef0d55d5b0aea 05-Sep-2014 Amith Yamasani <yamasani@google.com> Remove class that was moved to a different package.

Completes the API change.

Bug: 17006805
Change-Id: I5031e05df6b1a317a902482274eb056ecaf5dfbb
bstractRestrictionsProvider.java
de74c2c1d28fb9abd30bed80e3c2014d2a619d54 05-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> am e27eb3ec: Merge "Rename intent extra following API review" into lmp-dev

* commit 'e27eb3ec797a5a9621fc4eece3579bb4fcbf0363':
Rename intent extra following API review
f363bda252efe4201c60c0b042fee9e98bf4d48e 05-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Rename intent extra following API review" into lmp-dev
3315f6b5a36e984b1c24d6be07c155bf5108b4df 05-Sep-2014 Alexandra Gherghina <alexgherghina@google.com> Rename intent extra following API review

Bug: 17389968
Change-Id: Id2bd8d12019ad7a4c5a3ac8a7f76f55d06fc4dff
ntent.java
10a574fbf3c786791b84078f41932f83ad3e34ff 26-Aug-2014 Kenny Guy <kennyguy@google.com> Renaming of LauncherApps apis

Bug: 17008230, 17390765
Change-Id: Id03aa5fab0a88e9ca6f8279fa4e6c5f7d356c541
m/LauncherApps.java
8ab940ab9b25d5733bdfd7344a10010aba309890 01-Sep-2014 Michael Wright <michaelwr@google.com> Add extra to ASSIST intent to indicate potential input type

This lets Now and other assistance apps know to start up expecting a
specific type of input (e.g. keyboard).

Bug: 16355810
Change-Id: I158e416ef8310a01cb22b19fd5b6850d2429e266
ntent.java
58a31042065922209fbafdcd33ef82646853bb21 04-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 0c0fcce6: Merge "Add Configuration changes to UsageStats" into lmp-dev

* commit '0c0fcce6a5ce39df0161a78fbb0577d4c70a7a87':
Add Configuration changes to UsageStats
7f61e96db7c90c1f4418359672aa4656aebee500 03-Sep-2014 Adam Lesinski <adamlesinski@google.com> Add Configuration changes to UsageStats

Bug:17354208
Change-Id: I9b2f595e51b656607e30e798926cfb7e25134944
es/Configuration.java
50909f673268aaa477149d5db56379398f9a89db 03-Sep-2014 Unsuk Jung <unsuk@google.com> Add a hardware feature definition corresponding to audio output support.

Should also update/add xml files in platform/frameworks/native

Bug: 15318046

Change-Id: I5038ef38cd82977f257ec1499964d0bc291cbf59
m/PackageManager.java
1b5ea2cf9dad18998d05873654e81a0297baecaa 02-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> am cd46ad98: Merge "Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager" into lmp-dev

* commit 'cd46ad9833c8ed07d8a33e3925f7978d7d5c88a0':
Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager
5f4cfd3ab73f4d8173db05d7c94c098a06cd5f57 02-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager" into lmp-dev
8bce896373004f6a3d88957288b10793df7a3d62 02-Sep-2014 Dianne Hackborn <hackbod@google.com> am 4b9a934c: Merge "Hide the interaction part of VoiceInteractionService." into lmp-dev

* commit '4b9a934cef4de4985c0e316ef89ca41b3e720135':
Hide the interaction part of VoiceInteractionService.
76a65d5f00679e3a4f40c9509213c49990d60a1c 02-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Hide the interaction part of VoiceInteractionService." into lmp-dev
d7c0395d26694c594c3e64b16ab647c971aeb422 30-Aug-2014 Dianne Hackborn <hackbod@google.com> Hide the interaction part of VoiceInteractionService.

Also the ability to start voice activities is turned off,
though for testing purposes it can be turned back on with a system
property.

Change-Id: I867704d32c53beeb851ceea9b45c28bf5c01ef61
ntent.java
05e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851 01-Sep-2014 Wink Saville <wink@google.com> ksd to lmp-sprout-dev

Change-Id: I94eb65c62231b5831570bb0cbbbd9c916bee0a37
es/ResourcesKey.java
c5258433dd353769ccfa2e5e769a7379378a3a0b 28-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager

For ACTION_HEADSET_PLUG (already in SDK):
- duplicated definition in AudioManager and moved
javadoc there. Javadoc in Intent points to AudioManager.
- the String value is not changed

For ACTION_HDMI_AUDIO_PLUG (being added in SDK):
- moved defintion from Intent to AudioManager
- updated String value to reflect package name "android.media"
instead of using "android.intent"
- added definition of the extras, but removed "name".

For ACTION_ANALOG_AUDIO_DOCK_PLUG,
ACTION_DIGITAL_AUDIO_DOCK_PLUG,
ACTION_USB_AUDIO_ACCESSORY_PLUG,
ACTION_USB_AUDIO_DEVICE_PLUG, all hidden:
- moved definition from Intent to AudioManager,
- changed the value from "android.intent.*" to "android.media.*"

Updated AudioService, UsbDeviceManager and UsbHostManager
to refer to the actions in AudioManager, not Intent.

Bug 17289385

Change-Id: I61dd73140022d2bb9a676a57f595092c8fa89dcc
ntent.java
efb1f36f09cdada7c3b2677e6628492d8f256729 30-Aug-2014 dcashman <dcashman@google.com> Merge "Address KeySet API Review" into lmp-dev
e56665cd4eddf4666d4c0b53c65bc2cf1c9ab4ac 30-Aug-2014 Dianne Hackborn <hackbod@google.com> Merge "Oh sticky broadcasts, I'd like to do even worse to you." into lmp-dev
2c3530061fc3194fd1e654ae67ede91d45a1d3c4 30-Aug-2014 Dianne Hackborn <hackbod@google.com> Oh sticky broadcasts, I'd like to do even worse to you.

Change-Id: I36a7eae294d325d1bd88c15d52566dd4ee1f35be
ontext.java
dda003ffa84f986bfaba4344124eafa533f5039d 29-Aug-2014 Amith Yamasani <yamasani@google.com> Clean up apks installed for a removed user

When a user is removed, enumerate through all installed packages
to see if any of them are not installed for any user. Delete the
package if no user has it "installed".

Added a pm option to install an apk for a specific user.

Fixed a crash in UserManagerService when executing the above
cleanup - dying users generate a null UserInfo.

Bug: 15426024
Change-Id: I571decde1ae1c257d0da6db153b896aad6d6bcb4
m/IPackageManager.aidl
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
m/PackageInstaller.java
ca5186e9d53b81ba74039235827c79911f247aa5 28-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "Define EXTRA_SIZE for ContentProviders." into lmp-dev
5b836f29a3f56f9d13b6004417330c41ec0c18ae 27-Aug-2014 Jeff Sharkey <jsharkey@android.com> Define EXTRA_SIZE for ContentProviders.

Also make Size and SizeF parcelable.

Bug: 17205016
Change-Id: Ide397b84864f6cad7f8d89e66b6c8697a3ad335b
ontentResolver.java
cfd861ec15fe96143c61948d396e747b221a7f9d 27-Aug-2014 Jae Seo <jaeseo@google.com> Add android.software.live_tv feature

This feature will be listed by Android TV devices that allow displaying
contents from TV inputs implemented with the
android.media.tv.TvInputService API. (Note that not all leanback devices
support this feature.)

Bug: 17284986
Change-Id: Ic1f23f6f5955866e9f1db9229693d370576066a3
m/PackageManager.java
852975d5377bfe5f4abc9d2a28e301aa2fa99994 23-Aug-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17179314: Make recents limits consistent

The max limit is now 100 (or 50 on svelte devices), and that is
what everyone used.

Re-arranged things so we have a big expensive "fix the world!"
function for recents that we go in to at only select points:
when first initializing the system, when external storage comes
and goes, and if we detect something wrong with the recents
structure.

With that, now getRecentTasks() and addRecentTaskLocked() are
generally much simpler, doing very little work in most cases.
This will help a lot with scaling up to many more recents
entries.

Change-Id: I7b5ae89edc06568f68c8af54a4420aff7635581c
m/PackageParser.java
e7b6b1aae7bb5a2566ade373c21c44dff62d2768 27-Aug-2014 Jim Miller <jaggies@google.com> Merge "Hide fingerprint API until new API is ready" into lmp-dev
264a5f5b34d8c1169e81da4136e263344115e02d 26-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "Treat moving app as installing in new location." into lmp-dev
381d94b712605112b35d7f70064b0d18bd877877 24-Aug-2014 Jeff Sharkey <jsharkey@android.com> Treat moving app as installing in new location.

Moving apps to/from SD cards has historically been neglected, meaning
it can easily break. This happened most recently for split APKs,
64-bit native code, and multiArch support.

To make this easier to maintain, treat move as a no-op upgrade,
following the inheriting code path that split APKs depends on.

Also clean up scary places where different flavors of flags were
being combined, and remove unused flags. Fix media broadcasts to be
sent based on existing app storage location.

New API to abandon install session without opening it.

Bug: 17158495
Change-Id: Ia33bf8f6fdaae099124dfe534f0e320b37bc8e16
m/IPackageInstaller.aidl
m/PackageInstaller.java
d691f31e51e8f6eadb069a9d003fa9463f9b0699 26-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "Introduce anydpi density resource qualifier" into lmp-dev
51f6f52d9de011553bed9f624002b071f2b6c2f3 26-Aug-2014 Vinod Krishnan <vinodkrishnan@google.com> Merge "Fwk: Adding an ECG hardware feature" into lmp-dev
31245b4f06003f1c8cd44c31b387c96ab4e282f9 23-Aug-2014 Adam Lesinski <adamlesinski@google.com> Introduce anydpi density resource qualifier

This is meant to be used with scaleable vector
drawables, and are chosen as the best match unless
there is a configuration that matches the density
requested exactly.

Bug:17007265
Change-Id: Ic3288d0236fe0bff20bb1599aba2582c25b0db32
es/Configuration.java
e4b1d57dfd89035a67984e1a295d5ef5b97953be 26-Aug-2014 Nancy Chen <nancychen@google.com> Merge "API review PhoneManager -> TelecommManager. Rename methods (6/6)" into lmp-dev
777f5b2f47840357e95f3354b83cf500ba82f0ee 26-Aug-2014 Jim Miller <jaggies@google.com> Hide fingerprint API until new API is ready

Fixes bug 16487912

Change-Id: I7dff69a983fb0da4b41e23266a6ec92058e03dbc
ontext.java
6b2416492e78b8f8d7bcff58cbd2015e9b0ef59c 25-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "PM: Load all splits when parsing an app manifest" into lmp-dev
1ab7689ce8a4164a86cf472fa028d7b0f18f696f 20-Aug-2014 Vinod Krishnan <vinodkrishnan@google.com> Fwk: Adding an ECG hardware feature

Change-Id: I77e36b010a8ff0cce89a419b64a24f16d7e68caf
m/PackageManager.java
0eb1e402c7e612887e38dc5516f11506b11fd835 22-Aug-2014 Nancy Chen <nancychen@google.com> API review PhoneManager -> TelecommManager. Rename methods (6/6)

PhoneManager
- handlePinMMI docs should explain what a Pin is and what MMI is
- rename isInAPhoneCall to isInCall
- rename showCallScreen to showInCallScreen
- merge this class into TelecommManager, we don't need both

Bug: 16960458

Change-Id: I7d573e27ed093f2ddb7849703cc62f9916835393
ontext.java
3bcbd906bcf76267d7413297b9748c2cac0f9b82 23-Aug-2014 Adam Lesinski <adamlesinski@google.com> PM: Load all splits when parsing an app manifest

Previously the base APK would be considered without
any splits loaded into the same AssetManager. This would
prevent splits from overriding attributes in the
AndroidManifest.xml, such as enabled state based on
version, etc.

This CL loads all APKs in the cluster into a common AssetManager
from which the base AndroidManifest.xml is parsed.

Bug:17006358
Change-Id: Ib88096c49d0c4f743b7e6ba0921251459bee107c
m/PackageParser.java
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
m/PackageInstaller.java
m/PackageParser.java
ebc3e4cbf14f62a2134aded9068e147ea8cbc23b 21-Aug-2014 Adam Lesinski <adamlesinski@google.com> Report the right resource version in am get-config

Change-Id: I79ed3db45d91d8ec7e6f67608533ce3adf22ab27
es/Configuration.java
836c0a8b949d71293c996761691e065f0651acef 11-Aug-2014 Jon Miranda <jonmiranda@google.com> Exposes style and theme data, adds developer option.

Adds support for a String[] return type in ViewDebug; and in addition to that,
the hasAdjacentMapping method can use the String array as means to map a key to
its value.

Adds DEBUG_VIEW_ATTRIBUTES to Settings so that the heavy per-view
computations only affect those who opt in. This setting is used in
CoreSettingsObserver to avoid impacting start time.

Change-Id: I8f507e4e5361414c30d247e8d9815205feb5e91f
ontext.java
es/Resources.java
ed118e1e9f4da6ccab248983343a851e504ba000 20-Aug-2014 Jeff Sharkey <jsharkey@android.com> Merge "More progress towards split APKs in ASECs." into lmp-dev
bb7b7bea19223c1eba74f525c7fe87ca3911813b 20-Aug-2014 Jeff Sharkey <jsharkey@android.com> More progress towards split APKs in ASECs.

Teach DefaultContainerService to install split APKs, which will be
needed when moving to/from ASECs. Also support forward locking for
testing purposes, even though its deprecated.

Move native library unpacking code to NativeLibraryHelper location
where it can be shared by both DCS and PMS. Also update footprint
calculation logic to mirror the later unpack codepaths.

Immediately persist sealed sessions. When resolving install
locations, prefer location of any existing install of that
package. Lightweight parse requesting certificates now always
verifies that all contents are signed correctly.

Bug: 16514385
Change-Id: Ida1c4eb0f95b065104dd971e19126d4085ebf1f0
m/PackageInstaller.java
m/PackageParser.java
54130de7d2a0827179acaa35980dbce419cb4fca 20-Aug-2014 Adam Lesinski <adamlesinski@google.com> Fix crash when launching Activities in 'android' package

The LoadedApk for the 'android' package doesn't have a resource
directory set. This is fine since the AssetManager loads the
'android' package's resources by default.

This is a regression caused by https://googleplex-android-review.googlesource.com/#/c/525840/

Bug:17104110
Change-Id: I8a2158a75b4ff0e941837c11a2cb77a7aad09270
es/ResourcesKey.java
d1d7c022c6f83e836acb74eed1a5a201e495bd85 20-Aug-2014 Amith Yamasani <yamasani@google.com> Rename restrictions API class and method

AbstractRestrictionsProvider -> android.service.restrictions.RestrictionsReceiver
requestPermission->onRequestPermission

Bug: 17006805
Change-Id: I03b1626d6abcd2ad739a55b60b54fdbf9810ceca
bstractRestrictionsProvider.java
estrictionsManager.java
57137289a2798b8c19f1e9f16bd3f0a71f1b916a 18-Aug-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #17082301: replacePreferredActivity is ignoring userId" into lmp-dev
f2ac2761276e4972f6463d6818c9f5798bdc9a4d 16-Aug-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17082301: replacePreferredActivity is ignoring userId

It was being given the argument and just... ignoring it.

But the bulk of this change is to make replacePreferredActivity
better about replacing -- it now detects if the request will not
make a change and, in that case, just do nothing.

The reason for this?

It turns out that each time you install an app, the telephony
system is calling this function over 20 times to set the default
SMS app. This is almost always doing nothing, but before this
change it means we would re-write packages.xml over 20 times...!

There are definitely more improvements that can be made here (delaying
write of packages.xml to allow them to batch together, reducing
the amount of calls being made), but until then this is a big
improvement.

Change-Id: I02c4235b8ecd5c13ef53e65d13c7dc2223719cec
ntentFilter.java
ec4bb45a8c6ca4504483ce57577d8adc31cd0966 06-Aug-2014 Nicolas Prevot <nprevot@google.com> When notify uri changes, changing the way we retrieve the userId.

Changing from UserHandle.getCallingUserId() to UserHandle.myUserId().
This makes the DocumentProvider work across users.

BUG: 16126891

Change-Id: I8ede64f2087894bb85eff5286803cdebd57e7137
ontentResolver.java
545de86fcaeaf10534d9bf9c3a5fe0abfeccba28 19-Aug-2014 Kenny Guy <kennyguy@google.com> Merge "First part of renaming methods in LauncherApps." into lmp-dev
611f8f17f333f7702cd8c60e2f4908ae306a02db 19-Aug-2014 Jon Miranda <jonmiranda@google.com> Merge "Exposes style and theme data, adds developer option." into lmp-dev
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
m/PackageInstaller.java
2e365c805ad068ea311849062897f22a917235ce 18-Aug-2014 Nicolas Prévot <nprevot@google.com> Merge "Revert "Adding the requiredForProfile flag."" into lmp-dev
6d248493878b1280e13be82e3e02a5ea42949555 24-Apr-2014 Nicolas Prévot <nprevot@google.com> Revert "Adding the requiredForProfile flag."

This reverts commit 531270a4a177a9f245d328d9467c6d1adbd5354a.

BUG: 17102702

Change-Id: Iec5d047dc74bd4899662ede82c48fc024238427c
m/PackageInfo.java
m/PackageParser.java
34a14f967ab6c88829c9a36ce6e909c47b3ee398 16-Aug-2014 Alan Viverette <alanv@google.com> Better handling of unresolved theme attributes

Also adds a (very obviously wrong) default color to RippleDrawable

Change-Id: I6d29b371f4e59accbebf25eb059b1f372b9184b0
es/Resources.java
91306bccf16715f0867a10f3537122179527f7c3 16-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add FeatureGroup to PackageInfo" into lmp-dev
d3edfde51bd069a63e820282421d1a534fcf00ce 09-Aug-2014 Adam Lesinski <adamlesinski@google.com> Add FeatureGroup to PackageInfo

FeatureGroups replace top-level FeatureInfo objects.
FeatureGroups inherit top-level FeatureInfos but override
them if the feature names are the same.

Bug:16822121

Change-Id: I80b2cb778a0fbcb4521efce986fba641e0914290
m/FeatureGroupInfo.java
m/FeatureInfo.java
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
a0907436c01fd8c545a6b5c7b28bc3bc9db59270 15-Aug-2014 Jeff Sharkey <jsharkey@android.com> PackageInstaller API refactoring.

Switch to using IntentSender for results to give installers easier
lifecycle management. Move param and info objects to inner classes.

Bug: 17008440
Change-Id: I944cfc580325ccc07acf22e0c681a5542d6abc43
m/IPackageInstaller.aidl
m/IPackageInstallerSession.aidl
m/InstallSessionInfo.aidl
m/InstallSessionInfo.java
m/InstallSessionParams.aidl
m/InstallSessionParams.java
m/PackageInstaller.aidl
m/PackageInstaller.java
m/PackageInstallerParams.aidl
m/PackageManager.java
m/VerificationParams.java
f939dbaf766bd81b10bfc44fd493647180eabad8 15-Aug-2014 Kenny Guy <kennyguy@google.com> First part of renaming methods in LauncherApps.

Added new versions of the APIs that need
renaming.

Bug: 17008230
Change-Id: Ic74d21115dd250082f6dbc45d1301635cc176cfc
m/LauncherApps.java
c6f22499f3046684d7175e10ca42cce1492cd36f 14-Aug-2014 dcashman <dcashman@google.com> Address KeySet API Review

Hide KeySet API. Change getKeySetByAlias to not require aliases from the calling
package. Make KeySet parcelable. Add hashCode method.

Bug: 16895228
Bug: 17009318
Change-Id: I75951947dfc7a3cca9f8873bda72576d11abaaf0
m/IPackageManager.aidl
m/KeySet.aidl
m/KeySet.java
m/PackageManager.java
e9b78fdbbef558f5e84f88397daf990dcc2e29cb 13-Aug-2014 Jeff Sharkey <jsharkey@android.com> Fix javadoc on PROTECTION_FLAG_APPOP.

Change-Id: I36e339ac2c6e6842441fd2572b0b8cda24bd34ca
m/PermissionInfo.java
4d64746d6ac21d587653ac2018c9abd1071077ce 13-Aug-2014 Jim Miller <jaggies@google.com> Revert "Add new intent to prompt user for their device credential."

Move API to KeyguardManager.

Fixes bug 17006280

This reverts commit 2e7beadedeb7d41d8c2d1cc62956bdd9f5081d26.

Change-Id: I7b58bb4d9db828028c1021f17b01745c5ec2161e

Conflicts:
core/java/android/content/Intent.java
ntent.java
9f991a2f3e39bf248c972b83f582412ec41f8ff0 13-Aug-2014 Jeff Sharkey <jsharkey@android.com> Fix javadoc attr reference.

Change-Id: I330ba0cac66b4515388287c0ec4856e3ce6c93cb
ntent.java
3c9ad6ebd8804f0a2dbb0fc93c9e885bda59ac37 13-Aug-2014 Dianne Hackborn <hackbod@google.com> Merge "Fix some IntentFilter docs." into lmp-dev
dc894046beddcd60719011d1791b51be8cc2cb4d 13-Aug-2014 Dianne Hackborn <hackbod@google.com> Fix some IntentFilter docs.

Change-Id: I1dc6feb41bf275583d8b25ed5ca98d2b1432c752
ntentFilter.java
4903f64ba2478849e6c401f42f5a77c1d4f9f7df 11-Aug-2014 Narayan Kamath <narayan@google.com> Persist the cpuAbiOverride setting.

If an app is installed with an ABI override (adb install -r --abi)
we should remember this so that we don't revert to the scan derived
ABI on the next reboot.

bug: 16476618

Change-Id: I6085bc0099eb613dd9d3b07113c7c13859780697
m/PackageParser.java
37d7804627eecaf04e170793c2f5703d5d6d44e8 10-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> HDMI plug intent and associated information

Read HDMI device information from audio ports and add it as
extras in the connection intent.
Document the new extras in the connection intent.
Make Intent.ACTION_HDMI_AUDIO_PLUG public.

Bug 10549017

Change-Id: I6236b5363f00c433e443195fae8c43af2fc834f7
ntent.java
a6f4d58b9094e842b5fd41439db823b66b841393 08-Aug-2014 Amith Yamasani <yamasani@google.com> Allow singleton providers to accept connections from other users

This is required for singleton providers like sms log.

Change-Id: Icb18a764c27dc1b43f8b8bcc24c21c91274995fd
ontentProvider.java
d18a1da18d1f92acc2669f936da00cd66657e44b 08-Aug-2014 Nicolas Prevot <nprevot@google.com> Merge "Validate that the authority of incoming uris matches." into lmp-dev
f300babd25001898dfd8b8a92f1534e46bf50794 07-Aug-2014 Nicolas Prevot <nprevot@google.com> Validate that the authority of incoming uris matches.

BUG: 16864837

Change-Id: I2d4473985777b9525b101c1b02ad2395342b9722
ontentProvider.java
c3093eb86bdc02ecf30c32693abafdaa01568a41 08-Aug-2014 Nicolas Prevot <nprevot@google.com> Merge "Making getProviderMimeType work across users." into lmp-dev
1dddc7fc790f14208516b4551ff12b2db8528864 07-Jul-2014 Nicolas Prevot <nprevot@google.com> Making getProviderMimeType work across users.

For apps with cross-user uri grants, but without INTERACT_ACROSS_USERS.

BUG: 16128346

Change-Id: I0136cd274eaf457804d196c09f746f66c1fe599f
ontentResolver.java
6c0b9da65e36543bb50833d1b54ca532d0bd3aab 08-Aug-2014 Jeff Sharkey <jsharkey@android.com> Handle null IPackageDeleteObserver.

Bug: 16862614
Change-Id: I0c197a994b89d49123027f24fe46827c2b994ab6
m/PackageManager.java
f06009542390472872da986486d385001e91a2a7 08-Aug-2014 Jeff Sharkey <jsharkey@android.com> Logic to confirm uninstalls.

Prompt user for confirmation when caller doesn't have DELETE_PACKAGES
permission. Also extend uninstall events to return failure codes.

Bug: 16515814
Change-Id: I15b52190ff02dbeaaf038b92364264f64c57ba89
m/PackageInstaller.java
m/PackageManager.java
b1e1dbfb36b658bd2710fedf8c0381a5d89fa302 08-Aug-2014 Alan Viverette <alanv@google.com> Update disabled states to be less opaque

Also adds Resources method for retrieving floating-point values.

BUG: 16374059
Change-Id: I68c6a40cbe5badfad624548b9abf2d657dbc2019
es/ColorStateList.java
es/Resources.java
7328a1b39b3dae1c0cd390c0a3695c6a46b8e9d8 07-Aug-2014 Jeff Sharkey <jsharkey@android.com> Logic to confirm permissions on install sessions.

When an app without INSTALL permission attempts to commit a session,
we involve user to confirm permissions. We currently point at the
base APK, which defines all permissions for an app, handling the case
where a session may only be adding splits.

Add failure codes to represent rejection. Fix bug by ignoring stages
during initial boot scan.

Bug: 16515814
Change-Id: I702bb72445216817bcc62b79c83980c1c2bb0120
m/IPackageInstaller.aidl
m/InstallSessionInfo.java
m/PackageInstaller.java
m/PackageManager.java
d5cf722ae62d06d1fb6a9505c6f4c403a5d14a37 30-Jul-2014 Christopher Tate <ctate@google.com> Reify the transport lookup/selection API

Introduce a stable BackupTransport interface class for transport
implementations to derive from.

Make the interface for viewing/selecting the active backup transport
part of the stable API.

Make restore-related classes (RestoreSession, RestoreSet) stable API.

Express backup manager APIs needed for transport operation as
@SystemApi methods in BackupManager.

Bug 16661321

Change-Id: I423b87ae8f45c1b77831d4f8ffd97715484c2d2b
ontext.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
m/IPackageInstaller.aidl
65810072d6ad7c1c2a019cf37c3156e3971f491a 07-Aug-2014 Kenny Guy <kennyguy@google.com> Remove LauncherApps method left for compat.

Method was left while updating unbundled apps
which have now been updated.

Bug: 16864685
Change-Id: I687cb23a1b60b88eeb988f3cf2604dc24b739121
m/LauncherApps.java
fbd0e9fa37fc17ccd25e4c1f16195bbd27de3c4c 07-Aug-2014 Jeff Sharkey <jsharkey@android.com> Surface user action events when un/installing.

This will be used shortly to connect up with permissions
confirmation UI.

Bug: 16515814
Change-Id: If28cecc28549900d960ac107a1fba0b10ce5bd7b
m/IPackageDeleteObserver2.aidl
m/IPackageInstallObserver2.aidl
m/IPackageInstaller.aidl
m/IPackageManager.aidl
m/PackageInstaller.java
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
m/LauncherActivityInfo.java
e41ce995a0c2c6b167ed64b51e34865c5d58ea4d 29-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Add hidden API for removing cross-profile package filters

Bug: 16646591
Change-Id: Iaf6837fe4390ac1018c49df366ea434776ed7244
m/IPackageManager.aidl
m/PackageManager.java
f17e498fea935a389d88193dde2d236ea674d10b 06-Aug-2014 Amith Yamasani <yamasani@google.com> Merge "Allow phone UID to export singleton providers" into lmp-dev
41c1ded7f042a4cf303479550b38fa66d7a18906 05-Aug-2014 Amith Yamasani <yamasani@google.com> Allow phone UID to export singleton providers

Also add a user variant of replacePreferredActivity for use
by SmsApplication.

Map user restrictions for SMS/MMS to AppOps perms.

Bug: 16681533
Change-Id: I3dfed5fc754e33bb51c6f571851653a7c2770e46
m/IPackageManager.aidl
m/PackageManager.java
976e8bd2017d0263216c62111454438cc0f130e3 17-Jul-2014 Svetoslav <svetoslavganov@google.com> Allow adding widgets from user profiles.

The goal of this change is to enable support for appwidget from
user profiles to the user main profile. A user profile is a user
which is associated as a child of the main user profile. For example,
a user may have a personal (parent) and corporate (child) profile.
The device policy should be able to control whether adding a widget
from a child profile and given packages is allowed. This change
assumes that all packages from managed profiles are white listed.
Another change will add the device policy changes.

Change-Id: I267260b55d74c48b112a29979a9f59eef7a8194e
ontext.java
ontextWrapper.java
f174c6e6de6ba863179401aa7b3d55d91ceed707 05-Aug-2014 Jeff Sharkey <jsharkey@android.com> Stronger constraints around install session IDs.

Generate positive, non-zero session IDs, and don't recycle them
within a given boot. Guard against ID starvation by crazy apps.

Bug: 16792837
Change-Id: I6035afe4d942d358b5ca12b4f818c55885b74aba
m/PackageInstaller.java
504d78ea10b04baee2a1a65707dc7003c94d1ee4 26-Jun-2014 Nicolas Prevot <nprevot@google.com> Security fixes related to cross-user content.

Enforcing that only uri grants work across users (not permissions).
Fixing a security hole where malicious Apps could access a uri if they had uri grants to the same uri on another user.
Enforcing that userIds in uris, if they exist, are the one of the ContentProvider.

BUG: 16779492

Change-Id: Iaa5264bd6c3aa0e15be3a4a64f9dc88238e0cb2e
ontentProvider.java
a709314537164d959a18ee78768c69c4a9cb33c7 30-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Use the appropriate default icon

ComponentInfo subclasses and ApplicationInfo have different ways to retrieving
the default icon. Previously, in CL I2db300a69a08030eacc245ee91556f0443ba5878
we defaulted everything to the green Android. This makes sure that they get the
right default.

Bug: 16630068
Change-Id: Ifa499eac6f1543523d6ecf0831175bfd6b772edb
m/ApplicationInfo.java
m/ComponentInfo.java
m/PackageItemInfo.java
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
m/IPackageInstallerCallback.aidl
m/IPackageInstallerSession.aidl
m/InstallSessionInfo.java
m/InstallSessionParams.java
m/PackageInstaller.java
73915cf2ca01d4e822249641c4b73f512da93e10 30-Jul-2014 Jose Lima <joselima@google.com> Added LEANBACK_SETTINGS Intent category

- Added new Intent category (as a hidden/system API) to be
used to identify Leanback settings activities that should
be listed in the Leanback launcher.

Change-Id: Ia31244fb87a66f63ddad562e02e577111573d728
ntent.java
b42c89bfb0415d2a4b1d8b7247309f15fd348974 28-Jul-2014 Kenny Guy <kennyguy@google.com> Add optional handler to LauncherApps callback

Allow caller to pass in handler to LauncherApps
when adding a callback.
Stop apps adding callbacks twice.

Bug: 16401733
Change-Id: I2e192091c1b79acb905d899e96d6dacd45e561da
m/LauncherApps.java
783645e99f909ffc7a2d5d2fca9324cc0e9b7362 28-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Merge TvParentalControlManager into TvInputManager

This change addresses the following API council feedback.

TvParentalControlManager:
-- Replace the listener interface with a broadcast Intent with well-known
action, something like ACTION_BLOCKED_RATINGS_CHANGED.
-- TvParentalControlManager goes away, and two remaining methods move to
TvInputManager.

== Implementation changes ==
-- The user-selected rating preferences should be stored in an XML file, and
loaded at boot by your internal system service. It should _not_ be stored in
a Secure/Global setting.

Bug: 16542165
Change-Id: I278df963576652ec9163a66c1ef99419fcdb36c2
ontext.java
ad97b8b905bb6f0a30241bea27a56572068c39ab 30-Jul-2014 Amith Yamasani <yamasani@google.com> Potential fix for apps disappearing in launcher on system server crash

Throw RuntimeException to launcher if there was a RemoteException
from LauncherAppsService. This matches the behavior of previous
calls that were made to PackageManager that could have resulted
in a RemoteException if the system server was dying/dead.

Bug: 15687732
Change-Id: Ifda3fda209141b361a286fc033217acfa0ec196e
m/LauncherApps.java
60727e07c6ef72e2f494266939c02494a3df28f8 29-Jul-2014 Alan Viverette <alanv@google.com> Clean up TimePicker and DatePicker styling

Removes the time and date picker specific themes and defaults their
theme attributes to use the alert dialog theme attribute's value.

BUG: 14973897
Change-Id: Id5cc74ea0c1a379fc1ee76b354a1bb5ba329585a
es/ColorStateList.java
500c56089f7e3e2735a105954a05801025d56921 29-Jul-2014 Alan Viverette <alanv@google.com> Partial revert "Add better errors for unresolved attributes, remove unused code"

This reverts commit 0e42f4b98752b6457b04887e2a557fa007da73d7.

Change-Id: Ic3f0cb709c7aaa0a9892d728311886714ba73f22
es/TypedArray.java
216d3e6d8114a819758850c1be8d62fef59a107f 29-Jul-2014 Alan Viverette <alanv@google.com> Add better errors for unresolved attributes, remove unused code

Change-Id: Icf81a81b9ce97b5a5edff85569e6e3da93149436
es/TypedArray.java
a71e3903e5d3f38795c443c052125faede9d9ec7 25-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Return a default icon from the package manager directly

Bug: 16369104
Change-Id: I2db300a69a08030eacc245ee91556f0443ba5878
m/PackageItemInfo.java
8a9068573c8f2f038d1eebbe9ccad18bc291f5ce 28-Jul-2014 Jorim Jaggi <jjaggi@google.com> Merge "Fix status icon reappearing for legacy activities" into lmp-dev
e12a1259729c647c46023b34bc1aa2bbdee112dc 25-Jul-2014 Jeff Sharkey <jsharkey@android.com> am cf85d14e: am bf9964cb: am e52581f6: Offer force-dex-opt when running as root.

* commit 'cf85d14e12824bb51631b2a8d8cd79ff0d0e26fb':
Offer force-dex-opt when running as root.
20e0c50f601e5930a246d4556118423a49c12ca1 25-Jul-2014 Jeff Sharkey <jsharkey@android.com> Offer force-dex-opt when running as root.

Recently we removed the PackageManager inotify triggers, meaning the
only supported ways of installing apps were:

-- adb install -r Foo.apk
-- adb shell stop && adb sync && adb shell start

Iterating on most system apps (like Settings) can use the first
approach, but it doesn't work for "persistent" processes like
SystemUI. (ActivityManager is very particular about how it deals
with persistent apps, and it always sticks with the first
ApplicationInfo found at boot.)

So to enable rapid iteration on persistent apps, we now offer the
one missing piece of forcing a dexopt with a new pm force-dex-opt
command only available to -eng or -userdebug builds. Typical use
for iterating on persistent apps now looks like this:

$ mmm frameworks/base/packages/SystemUI/ && adb sync &&
adb shell pm force-dex-opt com.android.systemui &&
adb shell kill `pid systemui`

Yay!

Change-Id: I0ae2467f1d7cda56c70ba20953cd25fa8ee766ff
m/IPackageManager.aidl
b64fd1957f573ba649497c84c2cf5af9828ec5c0 25-Jul-2014 Jeff Sharkey <jsharkey@android.com> am 891d3aa9: am a475ef57: am 4d700a9c: Merge "PackageInstaller changes based on feedback." into lmp-dev

* commit '891d3aa977653fb79f544f69fab2d214e58cd2b3':
PackageInstaller changes based on feedback.
16c8e3f49497b6046972ae650772f65768366be8 25-Jul-2014 Jeff Sharkey <jsharkey@android.com> PackageInstaller changes based on feedback.

Mostly cosmetic changes from API council feedback.

Bug: 16543552
Change-Id: Ic926829b3f77c31f50a899c59b779353daf00d59
m/IPackageInstaller.aidl
m/IPackageInstallerCallback.aidl
m/IPackageInstallerObserver.aidl
m/IPackageInstallerSession.aidl
m/InstallSessionInfo.java
m/InstallSessionParams.java
m/PackageInstaller.java
m/PackageManager.java
b7aa6b22b256d5c34ac72b06e0a1fed0a44cbb32 25-Jul-2014 Kenny Guy <kennyguy@google.com> am 5984703a: am 2afedc82: am 0f151df6: Add method to launch settings app details page.

* commit '5984703aed48789a7aaa6dd0d1dd55a288f7529a':
Add method to launch settings app details page.
466d203c4ff032477d9a6bdb077ce3cd9b4fe070 23-Jul-2014 Kenny Guy <kennyguy@google.com> Add method to launch settings app details page.

Add a method to LauncherApps to allow launchers to
show application details for an app in a managed profile.

Bug: 16371359
Change-Id: I23acb4365c09e4a7b9fa742ae6fc7e04434f45aa
m/ILauncherApps.aidl
m/LauncherApps.java
73b941f761270c71616fe44fa0727aa79345604c 25-Jul-2014 Nicolas Prevot <nprevot@google.com> am c5435cdd: am e7469eca: am c50bbc02: Merge "Migrate extras to ClipData for image/video capture intents." into lmp-dev

* commit 'c5435cdd91f6778d753f99ee6ee8c5132e0ae962':
Migrate extras to ClipData for image/video capture intents.
ec1fb4184ecd2176587d1bda9093d0cea7ef627b 25-Jul-2014 Adam Lesinski <adamlesinski@google.com> am eebc0d09: am 1038bf1d: am 94499248: Merge "Add <feature-group> tag and change aapt badging" into lmp-dev

* commit 'eebc0d090d36f8d00b841faea1bb75444963272a':
Add <feature-group> tag and change aapt badging
d4bd75be4fda41f88a9478a9ec3f4019ba7ddf85 24-Jul-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add <feature-group> tag and change aapt badging" into lmp-dev
d1c99b1fe85ed03261a77a14ae52e7fa3a6e523a 04-Jul-2014 Nicolas Prevot <nprevot@google.com> Migrate extras to ClipData for image/video capture intents.

The intents ACTION_IMAGE_CAPTURE, ACTION_IMAGE_CAPTURE_SECURE and ACTION_VIDEO_CAPTURE are now handled in a way
similar to ACTION_SEND and ACTION_SEND_MULTIPLE.
Migrate the uri in the EXTRA_OUTPUT extra to clipData, and add the flag GRANT_WRITE_URI_PERMISSION.

The userIds are now added to extra uris in the process receiving the intent, (not in the system process), because the
system process may not be able to parcel/unparcel the extras.

BUG: 15534203

Change-Id: I8f79666b726bc6d7745bf777ad3c7518945c5cc3
lipData.java
ntent.java
3f7777fa4f1d392e18bad39edcd4539880c52ff9 24-Jul-2014 Nicolas Prevot <nprevot@google.com> Storing the app who sets a CrossProfileIntentFilter.

When we add a CrossProfileIntentFilter, we store the package and userId of the calling app
inside the CrossProfileIntentFilter.
When an app calls clearCrossProfileIntentFilters, we only remove the filters that the calling app
has set itself.

BUG: 16537557

Change-Id: I6e7bc859383ea66553d9f4230365df8ba27525f3
m/IPackageManager.aidl
m/PackageManager.java
cdd5fe98b67afe021dc55719e5727ac3d0103e7c 26-Jul-2014 Jay Civelli <jcivelli@google.com> Revert "Add new intent to prompt user for their device credential. DO NOT MERGE"

Breaks the JavaDoc generation.

This reverts commit c82a11573810ed4d1f40568d19afc27f726829af.

Change-Id: I9e38a0d6ba0935d4967b50023030c99727bfc839
ntent.java
3087e49667f0feaa1110f138d62d166ed5d03ffd 11-Jul-2014 Jay Civelli <jcivelli@google.com> Add new intent to prompt user for their device credential. DO NOT MERGE

Bug: 16242766
cherry-pick from master 2e7beadedeb7d41d8c2d1cc62956bdd9f5081d26

Change-Id: I76efb3bef888eb1e94c4e5455934816fb4acc5bc
ntent.java
b593e79436593b5b73416c65743c86118d03a6bc 24-Jul-2014 Nicolas Prevot <nprevot@google.com> am 498694c6: am 1b4a211d: am 4fe8fe2b: Merge "Making the clipboard work across users." into lmp-dev

* commit '498694c67112923f85f3572c4b7ad093283d1f68':
Making the clipboard work across users.
f6a5fd39a01c7a3fe49cb3d3c7d1c665059a4eb0 24-Jul-2014 Alan Viverette <alanv@google.com> am 8ec7d394: am 014089cd: am 82b83fb5: Merge "Use activity for brightness dialog" into lmp-dev

* commit '8ec7d394252ee801ded0bde940c8f7358cbc9099':
Use activity for brightness dialog
2c72b6822debb08fe997926eedc110f62d287d34 24-Jun-2014 Adam Lesinski <adamlesinski@google.com> Add <feature-group> tag and change aapt badging

A <feature-group> represents a set of features required
for an app to be compatible with a device. Multiple
<feature-group> elements represent a logical 'or'
of required features.

Features defined in the old way with <uses-feature> tags
under the <manifest> tag are automatically added to each
feature-group defined.

Defining a <feature-group> means that any default
features are not included (such as android.hardware.touchscreen)
and declared permissions do not imply any features.

Change-Id: I45626f0fdc546e47bcf2aead7ef05ebcca12b023
m/PackageParser.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
lipData.java
f84bc66b21212df5402982b1c1eca615e64f7e1e 23-Jul-2014 Alan Viverette <alanv@google.com> Merge "Use activity for brightness dialog" into lmp-dev
d73aa155168c0f191bd0685ee544b618afb3bfdd 23-Jul-2014 Jeff Davidson <jpd@google.com> am a98f35ba: am dfe72ae3: am 69c976c6: Merge "Expose NETWORK_SCORE_SERVICE as @SystemApi." into lmp-dev

* commit 'a98f35ba7e61f75123a8829a7e2368e6bc138a03':
Expose NETWORK_SCORE_SERVICE as @SystemApi.
5ad20790a155a9da1f1b3452966edba4be9fc751 21-Jul-2014 Jeff Davidson <jpd@google.com> Expose NETWORK_SCORE_SERVICE as @SystemApi.

Bug: 15833200
Change-Id: Ide17bf0065ca7f5ab13e913dd6078b6c62741243
ontext.java
4c6ce23816acdede6eb589cba07916a5340d0a38 18-Jul-2014 Narayan Kamath <narayan@google.com> Remove copy of Locale.adjustLanguageCode.

(cherry picked from commit 1d31a5f8243fd6befb14d8a2ba25d28e006511f8)

Change-Id: I7b30a153a44dc1f99a9ddfe256b770d7305a74b7
es/Resources.java
0e9ac20d7e0c9aca8cd342d97465adfac4c7e6e1 16-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Do Not Merge Per-user API for master sync

Change-Id: I6a8088eb3bfddae4c8e38904dd26baf3c7c09c9e
(cherry picked from commit 222aea8bd997807784dc99ca53f63280d384fdf0)
ontentResolver.java
ContentService.aidl
d6babbb6ce67d914c1f46dfbaf2a4ab284c2a16b 22-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Per-user API for master sync"
fbc5b48568488c1aa03423138877ea3687f55651 22-Jul-2014 Narayan Kamath <narayan@google.com> am acd4f7cf: am b5c714fc: am e242111c: Merge "Remove copy of Locale.adjustLanguageCode."

* commit 'acd4f7cf37487c55c6b15aa40f2da57b542dcebb':
Remove copy of Locale.adjustLanguageCode.
4944bc0c407b5afb267b5920533e2dece6bc9827 22-Jul-2014 Dianne Hackborn <hackbod@google.com> am 4db59328: am d8b0edbf: am 8f5105c6: Merge "Add permissions associated with app ops." into lmp-dev

* commit '4db593286f561ad5af1c32f9dbd12ebd8ca0d242':
Add permissions associated with app ops.
b0490cdefe9e58bb3c4839d969e1f9308097b153 22-Jul-2014 Narayan Kamath <narayan@google.com> am b5c714fc: am e242111c: Merge "Remove copy of Locale.adjustLanguageCode."

* commit 'b5c714fca79028116db0b00157dc09616efeaa95':
Remove copy of Locale.adjustLanguageCode.
91963bf51cb334d4c2c0073702407ce361c58b2e 22-Jul-2014 Amith Yamasani <yamasani@google.com> am 4fc62368: am ff053445: am f6feac69: API Review: Improvements to RestrictionsManager API

* commit '4fc623682a039650d86c4ccb87da66191573e2e3':
API Review: Improvements to RestrictionsManager API
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
bstractRestrictionsProvider.java
RestrictionsManager.aidl
estrictionsManager.java
d84e59c70f7adc48adbdfbba823a8083dfec7e38 22-Jul-2014 Amith Yamasani <yamasani@google.com> am 5d5fa324: am b0cae189: am f8b67f1f: Rename setApplicationBlocked to setApplicationHidden

* commit '5d5fa324871437c3bd240ae231adae9bbea6b0ba':
Rename setApplicationBlocked to setApplicationHidden
e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7 20-Jul-2014 Amith Yamasani <yamasani@google.com> Rename setApplicationBlocked to setApplicationHidden

This corrects the expected behavior of the app state. Hidden apps
can be installed by the store to be brought out of hidden state.

Bug: 16191518
Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
ee4c9ffb10d3b4c1750baf35acc856b3b73ea5f1 21-Jul-2014 Craig Mautner <cmautner@google.com> am ca30ccb5: am 28d5d4df: am 52cf4df1: Merge "Rename flag and attribute per API council" into lmp-dev

* commit 'ca30ccb556f6814c5ac4352adb95c7eb22652d6b':
Rename flag and attribute per API council
67877b6634e18c653873032ec339d5a095f3181f 21-Jul-2014 Jesse Hall <jessehall@google.com> am c7777484: am c623c94c: am 65c75169: Merge "Add FEATURE_OPENGLES_EXTENSION_PACK_ES31A" into lmp-dev

* commit 'c7777484547894a7817ac4428e5890dcf817262c':
Add FEATURE_OPENGLES_EXTENSION_PACK_ES31A
526e8434995dfe135660658e131f33e6cca0a5c4 21-Jul-2014 Dianne Hackborn <hackbod@google.com> am 65f62f23: am 39285ff1: am 1648dbb4: Merge "Fix issue #16400873: Apps that show ads as new tasks stay in recents..." into lmp-dev

* commit '65f62f236395b44a0c168f1ec72855197927a885':
Fix issue #16400873: Apps that show ads as new tasks stay in recents...
91d67f9c7d292e7aac67ec6258e51c7c39beef31 21-Jul-2014 Adam Powell <adamp@google.com> am bd90f0ce: am 186802ac: am d0cb5fd8: Merge "Add EXTRA_REPLACEMENT_EXTRAS for ACTION_CHOOSER" into lmp-dev

* commit 'bd90f0ce2d052d2e0d753e0cc7b10a1f658b496e':
Add EXTRA_REPLACEMENT_EXTRAS for ACTION_CHOOSER
1716baa6d3f0691087a7d512fc289bd88babda1c 21-Jul-2014 Craig Mautner <cmautner@google.com> Merge "Rename flag and attribute per API council" into lmp-dev
7f72f53704cbee26dc2a0be429b8446b2493226c 21-Jul-2014 Craig Mautner <cmautner@google.com> Rename flag and attribute per API council

ActivityInfo.DO_NOT_PERSIST => PERSIST_NEVER.
android:persistableMode="doNotPersist" => "persistNever".

Fixes bug 16400594.

Change-Id: I94d25f7d2e3dc453b1251c89bce8c210a65dc331
m/ActivityInfo.java
19eb5cb80e5deceaf24c869aad62d85980c33269 21-Jul-2014 Jesse Hall <jessehall@google.com> Merge "Add FEATURE_OPENGLES_EXTENSION_PACK_ES31A" into lmp-dev
33f5ddd1bea21296938f2cba196f95d223aa247c 22-Jul-2014 Dianne Hackborn <hackbod@google.com> Add permissions associated with app ops.

Change-Id: I575ad7a3ceea59486ca601f69760b14f6269511d
m/IPackageManager.aidl
m/PermissionInfo.java
7f51706265cab675ba139d2cfba5c01ce7dba077 18-Jul-2014 Jesse Hall <jessehall@google.com> Add FEATURE_OPENGLES_EXTENSION_PACK_ES31A

Bug: 15593761
Change-Id: Id1865cbf27c98a611cc6414fe47ee979c1d7cee2
m/PackageManager.java
1d31a5f8243fd6befb14d8a2ba25d28e006511f8 18-Jul-2014 Narayan Kamath <narayan@google.com> Remove copy of Locale.adjustLanguageCode.

Change-Id: Iba8c67890f95d50fadcd1245dc083d646fe6bcc1
es/Resources.java
e49d9393783f2789239f8da536abda9533ffadf0 18-Jul-2014 Adam Powell <adamp@google.com> Add EXTRA_REPLACEMENT_EXTRAS for ACTION_CHOOSER

This allows the calling app to supply a set of alternative extras to
be sent along with the target intent if the user chooses specific
items from the full set available on the device. When replacement
extras have the same key as extras in the initial intent, the
replacement extras dominate.

Change-Id: I5d64c80447386f22402b71291bb289a74015d619
ntent.java
13420f2311757554c314f620c83cb55153b67612 19-Jul-2014 Dianne Hackborn <hackbod@google.com> Fix issue #16400873: Apps that show ads as new tasks stay in recents...

...even when I hit back or close the activity in UI

Change the semantics of NEW_DOCUMENT to have the recents entry be
removed by default when its activity is finished, with various ways
to explicitly turn off this behavior.

Change-Id: Idc717706d27de80f28b53ad76f9e375d85118d71
ntent.java
c2809b7597e566ac4bbb1faa87656bffc426b59d 18-Jul-2014 Jae Seo <jaeseo@google.com> am cdc49c6c: am b719bf57: am 3245f3d7: Merge "TIF: Add TvParentalControlManager" into lmp-dev

* commit 'cdc49c6c4a9e106b220b29a7da68141489a0d175':
TIF: Add TvParentalControlManager
54a463498316594ba7e0567db5d4f541a7a1e827 18-Jul-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Add TvParentalControlManager" into lmp-dev
6057102dbb746593a7d59cf377c969b62e38c664 15-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add TvParentalControlManager

Each TV input service is now required to query the system whether the
user is allowed to watch the current program before showing it to the
user if the parental control is turned on, which can be checked by
calling TvParentalControlManager.isEnabled(). Whether the TV input
service should block the content or not is determined by invoking
TvParentalControlManager.isRatingBlocked() with the content rating for
the current program. Then the TvParentalControlManager makes a judgment
based on the user blocked ratings stored in the secure settings and
returns the result. If the rating in question turns out to be blocked,
the TV input service must immediately block the content and call this
method with the content rating of the current program to prompt the PIN
verification screen.

Each TV input service also needs to continuously listen to any changes
made to the parental control settings by registering a
TvParentalControlManager.ParentalControlCallback() to the manager and
immediately reevaluate the current program with the new parental control
settings.

Bug: 13172379
Change-Id: I8e1900d4b8d28c56798986d5c3906bd418ab97ac
ontext.java
1da8349645dde07ac20346d01b6469727a4df141 18-Jul-2014 Michael Wright <michaelwr@google.com> am a2ed68e5: am e9f933cd: am 4d2ee15a: Merge "Add MediaProjection APIs." into lmp-dev

* commit 'a2ed68e55381450b9259c8399082fd48155b0c64':
Add MediaProjection APIs.
c39d47a8e7c74bd539104b0efab898ef6fc43ddf 09-Jul-2014 Michael Wright <michaelwr@google.com> Add MediaProjection APIs.

The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.

The screen sharing case is implemented, but all of audio capturing
is still forthcoming.

Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
ontext.java
ef33384939d5499e708aef310735f7ca13889b10 17-Jul-2014 Eino-Ville Talvala <etalvala@google.com> am 9971ee27: am 7e6dd457: am 97bc6530: Merge "Add PackageManager features for differentiating camera2 devices" into lmp-dev

* commit '9971ee27026b799f7e09fabd53ba07c5b43bfd93':
Add PackageManager features for differentiating camera2 devices
9ab6dbc6242e64dab7a5c1d0661415c1be453cdf 17-Jul-2014 Martin Kosiba <mkosiba@google.com> am 6239ed0c: am fbb2246c: am 92486999: Allow for appending of resources to an AssetManager.

* commit '6239ed0c67b2e981e80e9eac29d9aecd01a99cda':
Allow for appending of resources to an AssetManager.
bf507a0cbaf646cf6f1b311a7d48debf56efec64 17-Jul-2014 Dianne Hackborn <hackbod@google.com> am 68f35ec2: am dbec91c0: Implement issue #16330060: Inform ActivityManager about WebView...

* commit '68f35ec2d2f9950f57afa9900f16a3b29a8d55b0':
Implement issue #16330060: Inform ActivityManager about WebView...
b42cf4ea560da4f4e0e64bf2e7c038e3909cccff 17-Jul-2014 Vinit Deshpande <vinitd@google.com> am ff5ceb0d: am 0b4d73dd: Merge "Introduce RTT Manager" into lmp-dev

* commit 'ff5ceb0d89c549682b498522f052d61c776bff03':
Introduce RTT Manager
909d1b5755d959aaae0ed2b9650050fe35d8edba 17-Jul-2014 Sailesh Nepal <sail@google.com> resolved conflicts for merge of 03e88771 to master

Change-Id: If55838968d008043f85a3cda1a2e0f76f357aec3
7df3625d5bb28d11cce9ac23429f5e3c6ebac030 16-Jan-2014 Martin Kosiba <mkosiba@google.com> Allow for appending of resources to an AssetManager.

BUG: 11505352
Change-Id: Ifa290580a6dc63c2f471d0bbf5f066db14aed4d7
m/PackageParser.java
es/AssetManager.java
fee756ff91ab4d8f0e09ddb050d22d88ebb66ae7 17-Jul-2014 Dianne Hackborn <hackbod@google.com> Implement issue #16330060: Inform ActivityManager about WebView...

...state changes.

Add a new API to tell the activity manager about a new dependency
one process has on another package. Start using it already for
when apps is Context.createPackageContext() to load code from another
app.

Also do some work on getting the monitoring of proc/uid states
in shape so it can be used by unundled code, along with an
AppImportanceMonitor class for doing so.

Some small fixes and additions to VoiceInteractionService.

Improve handling of unaccounted/overcounted battery use so that
they aren't shown to the user unless they are significant.

Change-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c
ontext.java
7040e9f7fe3e5c9fbd0084eff01b4ce8ae1a16b1 17-Jul-2014 Eino-Ville Talvala <etalvala@google.com> Merge "Add PackageManager features for differentiating camera2 devices" into lmp-dev
611fecec08eb9efeb4393b986d590369df5c812f 11-Jul-2014 Eino-Ville Talvala <etalvala@google.com> Add PackageManager features for differentiating camera2 devices

Also rename DNG capability to RAW.

Bug: 15415688
Change-Id: I1ea9f65b03c4fa06a5004f9d1d485935742001c8
m/PackageManager.java
7686c061b7c5c981c79e566e3b31f68b9e21c730 01-Jul-2014 Vinit Deshpande <vinitd@google.com> Introduce RTT Manager

Change-Id: Ic9a16d587897b272f85cdb2b8c52b51bca060d18
ontext.java
001bbbb239d4ef1005a87039c7c53e26d8f13ad6 15-Jul-2014 Sailesh Nepal <sail@google.com> TTY: frameworks/base changes

This CL makes the following changes:
1. New public APIs:
- TelecommManager.getCurrentTtyMode: This is used to
get current TTY mode. It's used by Telephony to set
the phone state before calls are created (which is why
it can't be a Conneciton API).
- TelecommConstants.TTY_MODE_*: These are constants
copied from Phone.java
- TelecommConstants.ACTION_CURRENT_TTY_MODE_CHANGED: This
action is fired when the current TTY mode changes.
Apps can listen to this before and during a call.
The old version of this was in TtyIntent.java which
I deleted.

2. New private API
- TelecommManager.isTtySupported: This is used by
Telephony to hide the TTY settings on devices
that don't support TTY

3. Various updates to use the constants renamed in this CL

Change-Id: I652b095af30cc2732a06829dc23492e5355660da
ontext.java
2631fda583791eb47db9090d0b368e1bc85fa878 16-Jul-2014 Narayan Kamath <narayan@google.com> am b6c2cce1: am baba92bd: Merge "Dexopt for Context.createPackageContext when code is included." into lmp-dev

* commit 'b6c2cce1233ce77565a7980752876ec73f10c537':
Dexopt for Context.createPackageContext when code is included.
b1b745790e14a2b921ab5f3abc6740d8cf9a3bbd 16-Jul-2014 Narayan Kamath <narayan@google.com> am 095a96b1: am 4adbb78f: Merge "Adjust nativeLibraryDir for package contexts of multiArch installs." into lmp-dev

* commit '095a96b1e0715e5a4436f093f6dd31eec6409ae8':
Adjust nativeLibraryDir for package contexts of multiArch installs.
faee1741db79cedce78d86052aa2a64b9d80782a 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> am 97308915: am 5ddccbd2: Merge "Add code cache directory for apps." into lmp-dev

* commit '9730891509b0c7bb50b0b2ecf498c3b993dcef39':
Add code cache directory for apps.
d0a2de06a7fb4daaf91a75e9e04a2cb54ebc6fba 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> Merge "Add code cache directory for apps." into lmp-dev
4d4d4dc4e0bdbe9cceac04b4b1d92c1c71b7bac0 16-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Per-user API for master sync

Change-Id: I6a8088eb3bfddae4c8e38904dd26baf3c7c09c9e
ontentResolver.java
ContentService.aidl
d75fd88ee5de1f0dad15eab4388558ce9ece24bb 16-Jul-2014 Andrew Solovay <asolovay@google.com> am 9053f216: am ebbabf28: am c8fcb3bc: am 57553775: am 63477e67: Merge "cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38" into klp-modular-docs

* commit '9053f216f1d1c5bf4b71281a3de77a665d060cf1':
cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
f7cecf8f4bd7e34c8c49ca8816ffe3966195b6da 16-Jul-2014 Andrew Solovay <asolovay@google.com> am c8fcb3bc: am 57553775: am 63477e67: Merge "cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38" into klp-modular-docs

* commit 'c8fcb3bcdb71fe16624bea146a67b13c150adb82':
cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
c8fcb3bcdb71fe16624bea146a67b13c150adb82 16-Jul-2014 Andrew Solovay <asolovay@google.com> am 57553775: am 63477e67: Merge "cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38" into klp-modular-docs

* commit '575537759222e0277c3979e33342407aa7ca1a78':
cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
4ed745d359ada6986ac15d8718452e5c55f40170 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> Add code cache directory for apps.

This provides a directory where apps can cache compiled or optimized
code generated at runtime. The platform will delete all files in
this location on both app and platform upgrade.

Bug: 16187224
Change-Id: I641b21d841c436247f35ff235317e3a4ba520441
ontext.java
ontextWrapper.java
6b5dbcbfc5e9deea5c517001cc361794756e1415 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> am 76014649: am 21c0fec8: Merge "Mark resource-only splits as hasCode=false." into lmp-dev

* commit '7601464965dd43b946fa8c0c29aff54da31aa3e5':
Mark resource-only splits as hasCode=false.
78a130144bdd047665f00782c481d31edb3e5fb7 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> Mark resource-only splits as hasCode=false.

PackageManagerService now skips dexopt for split APKs that don't
declare they have code. Also surface more detailed error messages
in logs.

Bug: 14975160
Change-Id: Ie6078dba724815020cee59b7fc52317e88ca097a
m/PackageParser.java
2c509a774d92661d41a8c1cb92bd39062af0c282 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> am beb50dd9: am 5417dd75: Merge "Parse more split APK manifest details." into lmp-dev

* commit 'beb50dd93279b18ebc07827b96a6a406da107af1':
Parse more split APK manifest details.
da96e137bcc8191c584ada7b5de31eaae92f244f 15-Jul-2014 Jeff Sharkey <jsharkey@android.com> Parse more split APK manifest details.

Allow split APKs to define activities, services, receivers,
providers, and metadata. However, support for many manifest items
are explicitly omitted.

Only dexopt split APKs that include code.

Bug: 14975160
Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
m/PackageInfo.java
m/PackageInstaller.java
m/PackageParser.java
es/AssetManager.java
2053168eb4506e2f8795afdbe9731c6451e1589c 14-Jul-2014 Narayan Kamath <narayan@google.com> Dexopt for Context.createPackageContext when code is included.

The package manager now keeps track of per ISA dex-opt state.

There are two important things to keep in mind here :

- dexopt can potentially be very slow. In cases where the target
package hasn't been dexopted yet, this can take multiple seconds
and may cause an ANR in the caller if the context is being
created from the main thread.
- We will need to remove the constraint that dexopt can only be
requested by the system (or root). Apps will implicitly be
requesting dexopt by asking for package contexts with code included.
It's important to note that unlike dalvik, the dexopt stage in ART
isn't optional. ART cannot load classes directly from dex files.

bug: 15313272
Change-Id: I0bd6c323a9c1f62f1c08f6292b7f0f7f08942726
m/IPackageManager.aidl
m/PackageParser.java
d8723bd3d68fc62134729a767ffead821add128e 16-Jul-2014 Narayan Kamath <narayan@google.com> Merge "Adjust nativeLibraryDir for package contexts of multiArch installs." into lmp-dev
7dba6eb3ac4fd6c8195cb0d0425866de50a9e114 16-Jul-2014 Narayan Kamath <narayan@google.com> Adjust nativeLibraryDir for package contexts of multiArch installs.

When we're creating a package context for a multi-arch app,
adjust the native library directory to match the bitness of
the process creating the context.

This change also removes apkRoot (which wasn't really being used)
and replaces it with a fully constructed secondary library path.
The secondary library path is a transitional measure until we
can reorganize the system image so that we can use nativeLibraryRoot
for system paths as well (nativeLibraryRootRequiresIsa will then
be true for all packages except for legacy installs).

bug: 16013931

Change-Id: I5ae090334b377b9e087aecf40075fab81b20b132
m/ApplicationInfo.java
2502d23aded7e86f6f63d6ec5fc333f0e92df849 16-Jul-2014 Amith Yamasani <yamasani@google.com> am 8f1d6eeb: am 6053e05a: Merge "App restrictions schema and parser" into lmp-dev

* commit '8f1d6eebaa8dd7c30b3ee318211aacb06603bc0d':
App restrictions schema and parser
cc0c78c98bb200c17efa064714f785d61bd1690f 16-Jul-2014 Deepanshu Gupta <deepanshu@google.com> am dbc322c7: am 0f71531f: Merge "Support Locale.toLanguageTag on Java 6" into lmp-dev

* commit 'dbc322c7b6d2da8e4dc24a85d8c2039a947e27ae':
Support Locale.toLanguageTag on Java 6
003582f2f4cbced895f0f8eb8f691f78889b58fd 15-Jul-2014 Craig Mautner <cmautner@google.com> am a60bb211: am 30636967: Merge "Launch activity behind launching task." into lmp-dev

* commit 'a60bb211f2a51036bb02942deca6f718001527ec':
Launch activity behind launching task.
3cc8b491bed9a86d91dcddf113c48deb433106b5 15-Jul-2014 Amith Yamasani <yamasani@google.com> am 83f39b51: am 1c44f4c7: Merge "Revert some new APIs for restrictions provider" into lmp-dev

* commit '83f39b510d6bd8237018500496aa8673b15e9332':
Revert some new APIs for restrictions provider
50a8891a6cceea53f503645b047043ea511a36b1 15-Jul-2014 Narayan Kamath <narayan@google.com> am b1bc099e: am 0928aa4c: Merge "Fix multiArch parsing for ApkLite." into lmp-dev

* commit 'b1bc099e0a18ab1ae7bb15be414f53b7dd762cd2':
Fix multiArch parsing for ApkLite.
5ae13354773911f2c1567332a846020ff93390e3 06-Jun-2014 Andrew Solovay <asolovay@google.com> cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38

Doc had inaccurately said that getLaunchIntentForPackage() throws an
exception if the package name is not recognized; in fact, it returns
null. Also cleaned up some style issues for that Javadoc item.

Doc is staged to:

http://asolovay.mtv:9655/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)

Bug: 15022655
Original SHA1: I2eab0956eaedac71289e19a3618a3553908f8c38

Change-Id: Ief8dfaac248ba03779c6f13237aff9b26d362fd9
m/PackageManager.java
c8c8425b51a4f68fae993e68b357679ca27d155d 14-Jul-2014 Amith Yamasani <yamasani@google.com> App restrictions schema and parser

Documented the restrictions schema in RestrictionsManager docs.
Added a parser to read the meta-data and XML file on the device.
Added more types and methods in RestrictionEntry to accomodate some
new types and construction modes.
Added a styleable for restriction attributes.

Slight tweak to permission response params.

Bug: 14582645
Change-Id: I193d1162741d110c100831cab33b48e2baf7426c
estrictionEntry.java
estrictionsManager.java
00e7ba05ac2c6b17005ef9cd61d49c595c899aa9 15-Jul-2014 Craig Mautner <cmautner@google.com> Merge "Launch activity behind launching task." into lmp-dev
bb742462781a73bb25516067c8fe6311c1c8a93e 08-Jul-2014 Craig Mautner <cmautner@google.com> Launch activity behind launching task.

Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.

Fixes bug 16157517.

Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
ntent.java
c97b4d399699766c13fc26f3a87f909cdfa157e9 15-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Support Locale.toLanguageTag on Java 6" into lmp-dev
5cd9dde5a2a77c5095f985186d8f03147fd22870 15-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Support Locale.toLanguageTag on Java 6

Change-Id: I255e79e2c288cd24b350b7c26128bbbb0b2cb9a3
es/Resources.java
4d922e6f7452d30f2f6085a292cf261d62a1de02 15-Jul-2014 Amith Yamasani <yamasani@google.com> Merge "Revert some new APIs for restrictions provider" into lmp-dev
5470bc184a17c0848ad68fdd50bd5bd0002bd237 15-Jul-2014 Amith Yamasani <yamasani@google.com> Revert some new APIs for restrictions provider

Simplify back to being a broadcast receiver and add an extra to
indicate that a new request is desired vs. returning a pending
response from before.

Change-Id: Iafd16ed98293a2cc09006d2cce097fc3d590bbe2
bstractRestrictionsProvider.java
PermissionResponseCallback.aidl
RestrictionsManager.aidl
RestrictionsProvider.aidl
estrictionsManager.java
5a399490c2185ebfd458b1a1d9394f3a68c5fde2 15-Jul-2014 Alan Viverette <alanv@google.com> Use activity for brightness dialog

Also fixes brightness controller failure to unregister callbacks.

BUG: 15512088
Change-Id: Ia665e006d93391d5a66d4ace614660c4e6d2d5b5
ntent.java
b45b2d55fcf573c98b683d9088bc0f202eeb0d13 15-Jul-2014 Jeff Sharkey <jsharkey@android.com> am 9b4ec01d: am 384b8a0a: Merge "Public API for PackageInstaller!" into lmp-dev

* commit '9b4ec01d60736513ec11ab64b52f49d2d9ce68c7':
Public API for PackageInstaller!
69ea974f1712c83a9ad194187237edf1169f9064 15-Jul-2014 Jeff Sharkey <jsharkey@android.com> Merge "Public API for PackageInstaller!" into lmp-dev
6c833e07a05c48ca60ee4d72421bf8b1e78dc710 15-Jul-2014 Jeff Sharkey <jsharkey@android.com> Public API for PackageInstaller!

Flesh out documentation and finalize first cut of API. Also surface
installLocation and splitNames through PackageInfo.

Bug: 14975160, 15348430
Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
m/InstallSessionInfo.java
m/InstallSessionParams.java
m/PackageInfo.java
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
749bd5d322e35b24d4a8fd42f40d865e1f88dac6 15-Jul-2014 Ying Wang <wangying@google.com> Fix docs build.

Change-Id: I03b87aedcd5aedd8be665aa480fdeae8eafbde0e
ntent.java
af8cf374f7009f2e7647f4963f49d7f741d73442 15-Jul-2014 Ying Wang <wangying@google.com> Fix build.

Change-Id: Ibb12a50823c6e1ea396a3f3dbf3d3b83ab762dac
ntent.java
915eade5dc42eebc88af8397782bb0eedb26af7a 15-Jul-2014 Jay Civelli <jcivelli@google.com> Merge "Add new intent to prompt user for their device credential."
42feda4229a7c14b86d479af73bb1c39fcd7ddd7 11-Jul-2014 Jay Civelli <jcivelli@google.com> Add new intent to prompt user for their device credential.

Change-Id: I152c5efda7186d59f63c341b046896c65e37de1b
ntent.java
a8755a8407d1583425cd9e69fb580bba26a66041 15-Jul-2014 Narayan Kamath <narayan@google.com> Fix multiArch parsing for ApkLite.

Two separate issues :
- We were not parcelling the value at all.
- We were looking for it in the wrong manifest attribute.

Note that this change has no observable effect on installs (which
is probably why it wasn't caught so far). This code path is only
used in FileInstallArgs.copyApk (where multiArch was effectively
false before this change) but the package manager extracts shared
libs *again* inside scanPackageLI where this was being done
correctly since the value there came from a "full" package
parse, and not a "lite" package parse.

Change-Id: I54c3efcf8f57e6970f8fbde8cd1f57d487b13114
m/PackageInfoLite.java
m/PackageParser.java
8b674abf4d83db29ae1e7488dbdb520edf970e67 15-Jul-2014 Aravind Akella <aakella@google.com> Merge "Add PackageManager feature strings for relative humidity and temperature sensors." into lmp-dev
a7835b6b6b00923b608a6bc3194e7840f67de7a8 12-Jul-2014 Christopher Tate <ctate@google.com> Add Context.getNoBackupFilesDir()

This is an app-private filesystem space exactly like the one
reported by Context.getFilesDir(), with one exception: files
placed here are never backed up by the full-backup infrastructure.
If an app attempts to back up any of its contents via the normal
API it's immediately ignored with a logged warning.

The restriction is also enforced on the restore side, because
apps using support libraries might wind up creating full backup
archives containing no_backup subdirs on pre-L devices (via
adb backup, Helium, &c.). We check for this before passing the
restore data to the app, and drop it if we detect the situation
so that the app never sees the bits.

Bug 16240573

Change-Id: I11216a391f1d32117ec7ce15aafc9cd93d0337de
ontext.java
ontextWrapper.java
9d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1 09-Jun-2014 dcashman <dcashman@google.com> Initial KeySet API.

Previously submitted but reverted due to doc-compilation bug.

Bug: 6967056
Change-Id: I9bd7ef299a4c92c4b327f5b5d7e951f0753b4c8a
m/IPackageManager.aidl
m/KeySet.java
m/PackageManager.java
8b8e74bd74e5a4bc4316d4bf0fc84cb46106e3ab 09-Jul-2014 Aravind Akella <aakella@google.com> Add PackageManager feature strings for relative humidity and temperature sensors.

Change-Id: I56351f37f1c51517a3384b6040df0ed2be0c95b0
m/PackageManager.java
a228ae95ea2f842c0e84f237c64bf032689410dd 09-Jul-2014 Craig Mautner <cmautner@google.com> Add task affiliation

Introduces new flag Intent.FLAG_ACTIVITY_LAUNCH_BEHIND which
causes the newly launched task to affiliate with the launching task.
(Later this flag will also launch the task behind the current task).
This shows up in a new member of the RecentTaskInfo class. This also
causes the recents list returned by getRecentsInfo to be rearranged
so that affiliated tasks are together.

Fixes bug 16157517.

Change-Id: Ia1386af50da2f01809278b62d249f05c6a0de951
ntent.java
f6e2fcc2eaf5e650237d3c6d79a2de49d2d4111e 10-Jul-2014 Amith Yamasani <yamasani@google.com> Improvements to Restrictions API

Convert restrictions provider to a service instead of a receiver.
Add a way to get pending responses from restrictions provider.
Add AbstractRestrictionsProvider.
Add a callback API for responses.

Removed some constants in RestrictionsManager.
Added new constants for errors and error codes.
Much improved javadocs.

Bug: 16176009

Change-Id: I838a50fabc80b94b632294b3a55cd5d8092acf55
bstractRestrictionsProvider.java
PermissionResponseCallback.aidl
RestrictionsManager.aidl
RestrictionsProvider.aidl
estrictionsManager.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
m/IPackageInstallerSession.aidl
m/InstallSessionParams.java
m/PackageInstaller.java
e0b0bef75b66f0a87039c8f58c17b1596a2baebe 13-Jul-2014 Jeff Sharkey <jsharkey@android.com> Surface detailed error messages from PMS.

We now both log detailed error messages and relay them back to any
observer. Start refactoring PMS to throw when errors are encountered
internally to make it easier to reason about flow control; already
uncovered a few instances of errors being silently ignored!

Change-Id: Ia335c5e31bd10243d52fd735c513ca828e83dca0
m/PackageParser.java
9726eeb2b01a0e5a3d52139f3bc48d4690af1ea9 12-Jul-2014 dcashman <dcashman@google.com> Merge "Revert "Initial KeySet API.""
5de7377feca5242fe7127e2d4dc7792d4886d365 12-Jul-2014 dcashman <dcashman@google.com> Revert "Initial KeySet API."

This reverts commit 9a643fe02bc960e266484547dda5572b094a4c72.
m/IPackageManager.aidl
m/KeySet.java
m/PackageManager.java
405912bce074e9e59a246e2357a108e50dffabf8 09-Jun-2014 dcashman <dcashman@google.com> Initial KeySet API.

Bug: 6967056
Change-Id: I47a01bd5dc25591cc70f58f38920ad0a021094ae
m/IPackageManager.aidl
m/KeySet.java
m/PackageManager.java
d2794789c8ddcdb5876bb7c609438aac6edd2bfe 12-Jul-2014 dcashman <dcashman@google.com> Merge "Initial KeySet API."
bb580670350b76fa2fcc5ee873f99b7970759cbf 10-Jul-2014 Jeff Sharkey <jsharkey@android.com> Progress toward installer public API: callbacks.

Instead of surfacing all the existing cryptic error codes, we're
going to classify them into broad categories when surfacing through
public API. This change introduces InstallResultCallback and
UninstallResultCallback, and wires them up to existing AIDL
interfaces.

Also start defining general SessionObserver for apps interested
in general progress details, such as Launcher apps. Details about
active sessions are returned through new InstallSessionInfo objects.

Bug: 14975160
Change-Id: I068e2b0c30135f6340f59ae0fff93c321047f8f9
m/IPackageInstallObserver2.aidl
m/IPackageInstaller.aidl
m/IPackageInstallerObserver.aidl
m/InstallSessionInfo.aidl
m/InstallSessionInfo.java
m/InstallSessionParams.aidl
m/InstallSessionParams.java
m/PackageInstaller.java
m/PackageInstallerParams.java
m/PackageManager.java
a0c4a06ba336df1c1775d3918f20ba14b4607052 10-Jul-2014 Yuncheol Heo <ycheo@google.com> Add the system feature for HDMI-CEC.

Change-Id: I2a985cedf49d50649c89f2ac5fbb80a81300156d
m/PackageManager.java
8219a25e31b52c701e45ebae82219c64ea18134b 11-Jul-2014 Kenny Guy <kennyguy@google.com> Merge "Enforce block uninstall in PackageManager"
84f1294a958b42000755dc6570e3eda72ab42140 11-Jul-2014 Jeff Sharkey <jsharkey@android.com> Always derive native library paths at runtime.

Over time, we've unpacked native libraries at various places with
respect to their source APK. Persisting this path in PackageSettings
has caused more pain recently with the switch to supporting multiArch
and cluster installs.

This change switches us to always derive the native library paths at
runtime based on the type of install. This also ensures that
transitioning between a bundled system app and an upgraded system
app will always build the right path.

We still persist the last generated path into PackageSettings to make
cleanup at uninstall time easier.

Bug: 16208505, 16206748, 16212206
Change-Id: Ieb82a424ca4a92b5674983453c50ba4b695abfb0
m/ApplicationInfo.java
m/PackageParser.java
989eb371bf8f572fed1e65c6d8aeeb2548be89a7 17-Jun-2014 dcashman <dcashman@google.com> Change key-set/public-key manifest relationship.

Separate definition of public keys and keysets in the manifest to better
represent their relationship. The 'key-set' tags should have nested additional
'public-key' tags that indicate which of the defined 'public-key' tags are
associated with them. The first use of a given 'public-key' name should define
its value; subsequent uses may refer to it only by name. 'key-set' and
'public-key' names may not intersect.

Also, change 'keys' tag to 'key-sets' to avoid issues with previous keysets
implementation.

Bug: 6967056
Change-Id: I7534e4a42326e97b67b55509187c0d3c21a2bb32
m/PackageParser.java
1b88da54a684cf12f36b74bbc7c9548f35180fbe 10-Jul-2014 Kenny Guy <kennyguy@google.com> Enforce block uninstall in PackageManager

Bug: 14127299
Change-Id: I144233b97e5774f6a5d1d2b49f3f0f8a360557ac
m/PackageManager.java
35d552f7adf0ccffbd78c4220862188a198dda7d 09-Jul-2014 Wei Wang <weiwa@google.com> Make WifiScanner System API

Change-Id: I0e2ebae998165abbb48a8cee0a3723ace2ca99e5
ontext.java
bc99305dae000d36f367378b0f88c81b8d82ba91 10-Jul-2014 Kenny Guy <kennyguy@google.com> Merge "Remove old listeners from LauncherApps."
44b6dee70eb2dfb7e26aeec9b2640d64e4f7d199 10-Jul-2014 Kenny Guy <kennyguy@google.com> Remove old listeners from LauncherApps.

Removed functions kept to support
transition from old api names to new.
Fix bug with attempting to remove from
listeners rather than callbacks list.

Bug: 15518265
Change-Id: Ief08a6bd8289608875c1cbf5af9a4389c6e9adfd
m/LauncherApps.java
ff110bd61a69f7ed8602ae14b27f7befec76b2e7 04-Jul-2014 Narayan Kamath <narayan@google.com> Multi-arch application installs.

Each application now has two ABIs, the primary
and the secondary. The app is always launched with
the primary, but the secondary might be used by other apps
that load the given applications code. This implies we
must:

- dex2oat the app both ways.
- extract shared libraries for both abis.

The former is relatively straightforward but the latter
requires us to change the layout for shared libs that we
unpack from applications. The bulk of this change deals
with the latter.

This change continues to fill in nativeLibraryPath during
scans for backwards compatibility. This will be removed in
a future patch.

Change-Id: Ia943dd11ef815c5cbfc60f17929eaa2a652a385a
m/ApplicationInfo.java
m/PackageInfoLite.java
m/PackageParser.java
30303faea63473003e3d038d987cebf9a63f31dd 10-Jul-2014 Jeff Sharkey <jsharkey@android.com> Merge "Extend pm to support sessions and split APKs."
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
m/IPackageInstaller.aidl
m/PackageInstaller.java
m/PackageInstallerParams.java
m/PackageParser.java
m/Signature.java
68d4acd205e8c2da524e62734ca42847306cc029 02-Jul-2014 Andres Morales <anmorales@google.com> Service for reading and writing blocks to PST partition

Permits apps with permission
android.permission.ACCESS_PERSISTENT_PARTITION to obtain
a read and write data blocks to the PST partition.

Only one block ever exists at one time in PST. When
a client writes another block, the previous one is
overwritten.

This permits storing a block of data that will live
across factory resets.

Change-Id: I8f23df3531f3c0512118eb4b7530eff8a8e81c83
ontext.java
404b8578c54c38d3658287030ae06c8221349534 09-Jul-2014 Narayan Kamath <narayan@google.com> Merge "Add manifest attribute for multiArch apps."
589a1bc0b00e570db079b4b157f60229ad8ef8f9 03-Jul-2014 Narayan Kamath <narayan@google.com> Add manifest attribute for multiArch apps.

bug: 16013931
Change-Id: Ie8b01d364eed0846deeddf11e0d6e4cc1fba3e61
m/ApplicationInfo.java
m/PackageParser.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
m/ApplicationInfo.java
m/PackageParser.java
5e6643c1376130e402d30da647fdfebd86b7f2fc 09-Jul-2014 Jeff Sharkey <jsharkey@android.com> Merge "Clean up IPackageManager install surface area."
513a074de68a4772a9900e90f38e74ff92c15e7c 09-Jul-2014 Jeff Sharkey <jsharkey@android.com> Clean up IPackageManager install surface area.

Also more removal of encryption support.

Change-Id: If525dc5a8422134515f225a8ac4731e968069468
m/IPackageManager.aidl
4bb015d90ae2aa3ce30778f3f584e0b7124f7505 05-Jul-2014 Joe LaPenna <jlapenna@google.com> CW on Master: Disable CaptivePortalTracker, EthernetService

BUG: 15143878

Change-Id: I6c534a28c1fcd475982ae70e7f3af69f3a219e24
m/PackageManager.java
8e5e11b99fac942122ee2d6cdd30af51564861ae 07-Jul-2014 Alan Viverette <alanv@google.com> Handle configuration changes in drawable attributes

Adds themeable attribute support to InsetDrawable, adds support
for attribute configuration changes to all themable drawables.

BUG: 16045735
Change-Id: I3dc62d28801760ac69d303be81b6c78bb9bb5aca
es/TypedArray.java
be520fba1e45c77ca20eb66005a0cf19e10939a1 05-Jul-2014 Jeff Sharkey <jsharkey@android.com> Teach DCS about cluster packages.

For the time being, DCS is going to still be doing heavy lifting for
some install tasks, so it need to know how to handle both monolithic
and cluster packages. This change is mostly plumbing work to
eventually handle any various splits APKs that we may encounter.

Bug: 14975160
Change-Id: I39848d5666f9083cb4eca493e5cdaa868f3f99fb
m/PackageParser.java
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
m/PackageParser.java
c13053bf1c05b980421611487ce67677c08db299 29-May-2014 Kenny Guy <kennyguy@google.com> Add package state to block uninstall.

Add package state to allow profile or device
owners to block uninstall of packages.
Add API to DevicePolicyManager to set/get the
state.

Bug: 14127299
Change-Id: I03528819850b42df7bafa7747bb9e4558d20c4e6
m/IPackageManager.aidl
m/PackageManager.java
m/PackageUserState.java
7482a8d08ea1270c8411ecd634eaf7c2a0fda7ee 17-Jun-2014 Marcin Kosiba <mkosiba@google.com> Preload the WebView package into all applications.

This is a temporary workaround to allow the WebView to move into
an APK.

BUG: 11505352
Change-Id: I0c446d44c3f94f70bced7f471ae6fb74f65d5ff9
m/PackageParser.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
m/ApplicationInfo.java
m/PackageParser.java
ca76cccb61d4d914abbb5079cb65455505494e2f 02-Jul-2014 dcashman <dcashman@google.com> Merge "Initial work for key rotation."
55b1078e2a1b56daa85edfd5000a5844d3c7914b 09-Apr-2014 dcashman <dcashman@google.com> Initial work for key rotation.

Introduces the upgrade-keyset tag to AndroidManifest.xml. This specifies a
KeySet by which an apk must be signed in order to update the app. Multiple
upgrade KeySets may be specified, in which case one of them must be used to
sign the updating apk. If no upgrade-keyset is specified, the current logic
involving signatures is used.

Current Key Rotation Design Decisions:
-Apps using a shared user id may not rotate keys.
-All acceptable upgrade keysets must be specified, including the key signing
the app. This enables key rotation in one update, but also 'locks' an app if
an incorrect upgrade keyset is specified.
-Minimal changes to existing KeySet code.

Bug: 6967056
Change-Id: Ib9bb693d4e9ea1aec375291ecdc182554890d29c
m/PackageParser.java
f90186d93effe424128bc0e39699ab05f80d025b 01-Jul-2014 Santos Cordon <santoscordon@google.com> Add PhoneManager to expose functionality to phone/dialer apps.

Eventually, this will house the TelecommManager methods.

Change-Id: Id8b08d88a06a7b4e90a4a7f702ba56526e108ca5
ontext.java
cb22807ffcf79db1b62162842d0a90251a463ea7 01-Jul-2014 Alexandra Gherghina <alexgherghina@google.com> Adds per-user APIs required by the Settings app

Bug: 15466880
Change-Id: Ic99fbf074564901b04d32b08f3a7a38555f330b3
ontentResolver.java
ContentService.aidl
7f7b0c759e2970178ef68805b21f06a26e24eb76 23-Jun-2014 Nicolas Prevot <nprevot@google.com> Returning badged icons for components of corporate apps.

So, corporate apps in disambiguation dialogs are badged.
And updating the way we show the icon of the personal space to this new design.

BUG: 14377051

Change-Id: Idc707773a64a8feb2d9d4df88c425d5100542636
m/PackageItemInfo.java
m/PackageManager.java
m/ResolveInfo.java
0363c3eb089afd4474bfd6ae6ee8a500d6e97614 23-Jun-2014 Alexandra Gherghina <alexgherghina@google.com> Expose per-user APIs for content services.

Bug: 15466880
Change-Id: Ib5a030e78559307627fe0d2e80ce6f1a7825109d
ontentResolver.java
ContentService.aidl
m/PackageManager.java
fa4533f3a07ebed479d2a0e7af7d6e03d4417d41 24-Jun-2014 Alexandra Gherghina <alexgherghina@google.com> Skip forwarding launcher intents

If we forward intents when looking up launcher icons, we end up
having an icon for a disambig activity instead of the apps for that user.

Bug: 15769854
Change-Id: Ia57525466dba57b6669b2b5cedf98f202d08f586
m/PackageManager.java
88cc346d0602e0b173b5076cd0051120682da601 14-May-2014 Nicolas Prevot <nprevot@google.com> Show the icon of the personal space.

In an intent disambiguation dialog from a managed profile,
when the intent can be forwarded to the personal space:
show the icon of the parent next to "Personal apps".
And put it at the bottom of the dialog.

Change-Id: I523222aac5dde9653e784eb26cf23cdaf018b86c
m/PackageManager.java
m/ResolveInfo.java
aeb0ed74670e0502a04b689fe1b4fe0f537f4a91 23-Jun-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Adds cross-profile intent filters for the Settings app"
9cd14fc710cf81cc6d1c47d599abe349d3aa87dc 20-Jun-2014 Alan Viverette <alanv@google.com> Add support for tint attribute in VectorDrawable

Fixes NPE from previous change. Also fixes docs reference in TypedArray.

BUG: 15375203
Change-Id: Icf3b5759780276b0875a4fb70b29522ab7c8cb90
es/TypedArray.java
85ef6ff60c0366ad0b56fc7ea75a83304567e282 20-Jun-2014 Christopher Tate <ctate@google.com> Merge "Collapse a bunch of verbose boilerplate"
63d9ae1e75a151a90a1e8bdf9c61f74a5ee340aa 20-Jun-2014 Christopher Tate <ctate@google.com> Collapse a bunch of verbose boilerplate

Objects.equals() is your friend!

Change-Id: I728bbff6c20309b42ec31f2d87748d9fa19aa00f
ntent.java
5ff885cd3b8013da4d122127bcf9c30b95e3aeb2 20-Jun-2014 Dianne Hackborn <hackbod@google.com> Revert "Add support for tint attribute in VectorDrawable"

This reverts commit ab41ea17e6b0407fa76bc9f9183190a9bbc7f560.

Was causing system UI to crash.
es/TypedArray.java
e93c90126b7eb2753392c2ac8474db3dc574fd55 20-Jun-2014 Alan Viverette <alanv@google.com> Merge "Add support for tint attribute in VectorDrawable"
9a77cb92da2b7d3d2c513c9fbc24955fdc0e0693 20-Jun-2014 Alan Viverette <alanv@google.com> Add support for tint attribute in VectorDrawable

Also fixes docs reference in TypedArray.

BUG: 15375203
Change-Id: I8cd2f43bd73f50084e21e5b986af9dc1c1447ad6
es/TypedArray.java
9d4e9bcebbd97ad51daa0ef15cfba5aabb399bbb 19-Jun-2014 Craig Mautner <cmautner@google.com> Allow a root activity to relinquish task identity

If a an acitivty with attribute android:relinquishTaskIdentity true
is the root activity of a task then the intent of that task will
be that of the first activity in the stack with
android:relinquishTaskIdentity set false.

The ability to set intent also includes the ability to set the
TaskDescription of the task.

Fixes bug 15675610.
Fixes bug 10428661.

Change-Id: Ib28a9eae3b9832eeeef9106adbebe344184ee5ae
m/ActivityInfo.java
m/PackageParser.java
0270cfb71df55c1d213340bf9b678a48cc7b8e6e 20-Jun-2014 Jeff Sharkey <jsharkey@android.com> Merge "Explicitly collect manifest digests."
032f2b246bd01653c592f2b148d6a0debfe164b2 20-Jun-2014 Jeff Sharkey <jsharkey@android.com> Explicitly collect manifest digests.

Previously it was a side effect of collectCertificates().

Bug: 15740334
Change-Id: I2e044fdcc1c86ce730b9570bfbecf873366325e1
m/PackageManager.java
m/PackageParser.java
6e2ae2590ded39f04f76d5ddca0f06fe01586e26 12-Jun-2014 Alexandra Gherghina <alexgherghina@google.com> Adds cross-profile intent filters for the Settings app

Bug: 15466742
Change-Id: Id9af588f2f3d51a562ef2a06fe7404c96123cc2e
m/IPackageManager.aidl
m/PackageManager.java
275e085d5a42ced54bb79e40ff76c77539e7d82d 18-Jun-2014 Jeff Sharkey <jsharkey@android.com> Stronger PackageParser contract, more split work.

Require that method callers always provide relevant paths, instead of
relying on constructor. Move DisplayMetrics to be an overall parser
parameter, and move PARSE_TRUSTED_OVERLAY to flags.

Parse split APKs and apply deterministic ordering based on split
names. Assert consistent package name and version code across all
split APKs in a package, and enforce unique split names and required
base APK.

Collect certificates for split APKs, enforcing they're all signed
consistently. Better flow control and resource cleanup when
collecting certs. Refactor validation code so it's easier to reason
about. Cleaner maintenance of read buffer when draining stream
contents.

Change-Id: I8bc8c62095fbb933227b9e76ad8771f4b1246fe8
m/PackageManager.java
m/PackageParser.java
e7cd37e6138c5e769cc6cb398e632bca24d2d1ab 19-Jun-2014 Nicolas Prevot <nprevot@google.com> Merge "Introducing crossProfileIntentFilters that skip the current profile."
63798c596dc757135950313eb4bb44ca58696c68 27-May-2014 Nicolas Prevot <nprevot@google.com> Introducing crossProfileIntentFilters that skip the current profile.

For these crossProfileIntentFilters, the activities in the current profile cannot
respond to the intent.
Only activities in the target profile can respond to the intent.

BUG: 14936725

Change-Id: I5e2704c2b56ff50a8339dd49284956391d7fad7e
m/IPackageManager.aidl
m/PackageManager.java
9c46e06478ddd821c9172c77f48fa7f64a870ad0 19-Jun-2014 Christopher Tate <ctate@google.com> Merge "Introduce <application> attribute android:fullBackupOnly={boolean}"
d1de2567c6758e81a87c0f5eff9ff53ffebab134 18-Jun-2014 Christopher Tate <ctate@google.com> Introduce <application> attribute android:fullBackupOnly={boolean}

It is quite possible for an application to be happy with having the OS
save full-data archives of its data, but still need to selectively
filter the set of saved files or otherwise participate in full-data
backup and restore. In general we assume that any app which provides
a backup agent implementation will be directly participating via the
incremental key/value backup API; this new attribute allows an app
to tell the OS "perform full-data backup/restore for me even though
I am supplying my own agent implementation to participate."

Change-Id: I810c50d44aa683b1f23604b7d1f3e96a1722103a
m/ApplicationInfo.java
m/PackageParser.java
c6543afd6b94671c99bd7a934da010918a015286 18-Jun-2014 Kenny Guy <kennyguy@google.com> Merge "Update API for launcher apps to use abstract class."
8a4c9721a9e09d20c63381c13fa29bd9f7cbc3e3 16-Jun-2014 Jeff Sharkey <jsharkey@android.com> Plumb split APKs into public API.

Introduces new ApplicationInfo fields to surface zero or more split
APKs for an application. Splice these APKs into both the class
loader and resource system. Cleaner building of these paths.

Run dexopt() on all split APKs found after a parse, and populate
into ApplicationInfo.

Change-Id: I4a376bf4492d84ea95aafa866e106ea43a43e492
m/ApplicationInfo.java
m/InstrumentationInfo.java
f62d690b00c3808496e6a5c35f3942c78fbb15d5 18-Jun-2014 Craig Mautner <cmautner@google.com> Merge "Fix persistent tasks and expand scope"
43e52ed32e2d55ef4aee18c4b4bc13b7fdef9cc4 17-Jun-2014 Craig Mautner <cmautner@google.com> Fix persistent tasks and expand scope

- Fixed missing tag closure on the xml for storing Intent categories.
- Shortened timeout for flushing tasks to persistent storage from
one minute to ten seconds.
- Made persistency the default except for those tasks on the home
stack and those tasks that exclude themselves from the recent task
list.
- Fixed deletion of tasks after restoring. Tasks now survive a second
reboot, not just the first reboot.
- Fixed sort order so most recent tasks will be restored at front.

Fixes bug 15672002.

Change-Id: I16d87d58c6fd2e879cfd0c0b18b2694432a79b71
ntent.java
m/ActivityInfo.java
m/PackageParser.java
c0154537b0b7926ce6a3c778597b3c2735ca5497 16-Jun-2014 Kenny Guy <kennyguy@google.com> Update API for launcher apps to use abstract class.

Leaving old API behind until unbundled launcher
has been updated.

Bug: 15518265
Change-Id: Ic26878224df51093d7d08651adda08f760b405be
m/LauncherApps.java
2c749d242759ea36c0229ea933f22b6363337b19 04-Jun-2014 Adam Lesinski <adamlesinski@google.com> New command to get device config

Change-Id: I7172a3a150fd83e2382ca3e4e4a0188758189f14
es/Configuration.java
8966fd383b6a91426871784590e2cc8a79f4fa5b 16-Jun-2014 Narayan Kamath <narayan@google.com> am 031dec4a: am bfa6ddd0: Merge "Support deprecated language codes."

* commit '031dec4acd384ae6c5ab183139c7f91289a05f62':
Support deprecated language codes.
e79c8ce682173671a9b086004bf4753169ca34c3 05-Mar-2014 Narayan Kamath <narayan@google.com> Support deprecated language codes.

Locale.toLanguageTag will transform the obsolete (and
deprecated) language codes "in", "ji" and "iw" to
"id", "yi" and "he" respectively.

All versions of android prior to "L" used the deprecated
language tags, so we will need to support them for backwards
compatibility.

bug: 13230947

(cherry-picked from commit 21fc8ba39c4799a346caf95)

(also contains a partial cherry-pick of 857ba4af because
including it is the easiest way to avoid conflicts.)

Change-Id: Ia1d0f2d8e20f5679ff3990506f6468ebf789c94a
es/Resources.java
b4ce1432c62a691111f1c355d744998a48b55a93 09-Jun-2014 Yorke Lee <yorkelee@google.com> Add TelecommManager to system services

Change-Id: I48a75c578a99aca1149fbae84a5d0f9ac0a457f3
ontext.java
c4858a2ba972e86436d629c4d3f18eb49116de14 16-Jun-2014 Jeff Sharkey <jsharkey@android.com> Switch PackageParser to reference single path.

It previously kept mPath separate from mScanPath for some very odd
edge cases around moving apps-on-SD. This changes it to always use
a single path, refactors moving to keep separate paths.

Refactors method names in PackageParser to be clearer about their
APK-versus-package relationship.

Beginnings of a split package parser. Instead of requiring that
callers check error codes when null, switch to always throwing on
parse errors, to require that callers deal with the error. Longer
term the entire parser should switch to this style, but its too
pervasive for a simple refactoring.

Change-Id: If071d8e55e46e56cc201fadfb51cb471713ae973
m/PackageManager.java
m/PackageParser.java
76f7e7ee20866c41b73f60d2195f34d9b8c542b3 13-Jun-2014 Amith Yamasani <yamasani@google.com> am 54b3006b: Merge "Undo some API changes that affect third party launcher writers" into lmp-preview-dev

* commit '54b3006b6340a2a311acb8f70d4602506e63b1ae':
Undo some API changes that affect third party launcher writers
992fdbeff296670e62078dd0c3d3b2b9bb2c95ec 12-Jun-2014 Amith Yamasani <yamasani@google.com> Undo some API changes that affect third party launcher writers

Remove hidden interface methods that were added temporarily for
launcher compatibility. These cannot be implemented by third parties
if they're hidden from the SDK.

Bug: 15574383
Change-Id: I976256da4278b7077f8d357e971e8cadb4d2d686
m/LauncherApps.java
0188bee2c526270c178a0b1f918b2a09999de25f 11-Jun-2014 Christopher Tate <ctate@google.com> am d8f71d34: Merge "Out with the old; in with the new" into lmp-preview-dev

* commit 'd8f71d34c3c7fb161a1586de8edb52161c32d672':
Out with the old; in with the new
7060b04f6d92351b67222e636ab378a0273bf3e7 10-Jun-2014 Christopher Tate <ctate@google.com> Out with the old; in with the new

Switch to the official "JobScheduler" etc naming.

Bug 14997851

Change-Id: I73a61aaa9af0740c114d08188bd97c52f3ac86b7
ontext.java
7b5c2340addcd636896b92bebef17d2fc93d898a 10-Jun-2014 Matthew Williams <mjwilliams@google.com> am e389d1ea: Merge "Remove SyncRequest.setPriority from public API" into lmp-preview-dev

* commit 'e389d1ea63b0a9caa6d069254ac661ca6420917f':
Remove SyncRequest.setPriority from public API
7683baad6c437af2931020423bf227f97a3ce0ba 10-Jun-2014 Craig Mautner <cmautner@google.com> am a7c5791a: Merge "Redefine FLAG_ACTIVITY_NEW_DOCUMENT without NEW_TASK" into lmp-preview-dev

* commit 'a7c5791a95bf732c2381f698d78930ee61efd36b':
Redefine FLAG_ACTIVITY_NEW_DOCUMENT without NEW_TASK
c2c1a39510a4785261c8972894ebc1aa5808df1a 10-Jun-2014 Matthew Williams <mjwilliams@google.com> Merge "Remove SyncRequest.setPriority from public API" into lmp-preview-dev
1a2f7a1e29e59e0c9140ac5d3f465dc110c70b48 10-Jun-2014 John Reck <jreck@google.com> resolved conflicts for merge of 2d2aa0cc to master

Change-Id: Ib7bb0e40569a8f6a7f856eef54980d70d9769cdc
d734c698e3d0f9e9b6313185af264a2aa786e355 10-Jun-2014 Jeff Sharkey <jsharkey@android.com> am 99f4fe07: Merge "Refactor directory API to "opening document tree."" into lmp-preview-dev

* commit '99f4fe0797adb8350f92c7d1ba11776d1947e768':
Refactor directory API to "opening document tree."
ac383e52a9c76dcc1a14a82848abb49b81c49f99 09-Jun-2014 Adam Connors <adamconnors@google.com> DO NOT MERGE : Api review: Make ACTION_MANAGED_PROFILE_REMOVED registered only.

And update the javadoc to explain use-case.

Bug: 15025562
Change-Id: I8eb2666c8480f873e042687223b1a1f82e7919c9
ntent.java
ef2b37ea87552f90af7bfb8d2b0e00d0e1091e0b 10-Jun-2014 Kenny Guy <kennyguy@google.com> Merge "Api review: Make ACTION_MANAGED_PROFILE_REMOVED registered only."
2368014073a7614820284f38025d926fd1699085 10-Jun-2014 Matthew Williams <mjwilliams@google.com> Remove SyncRequest.setPriority from public API

Bug: 15517262
Change-Id: If62b6f3bf339011dd504889aa24c71a22cb08ed8
yncRequest.java
df8e542a8a638c18074221f47c4e4afcd3502810 10-Jun-2014 Craig Mautner <cmautner@google.com> Merge "Redefine FLAG_ACTIVITY_NEW_DOCUMENT without NEW_TASK" into lmp-preview-dev
f357c0ca514d73273a18b3896e565b2272e608ad 09-Jun-2014 Craig Mautner <cmautner@google.com> Redefine FLAG_ACTIVITY_NEW_DOCUMENT without NEW_TASK

Change definition of FLAG_ACTIVITY_NEW_DOCUMENT from
FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET to
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET alone.

Also add new documentLaunchMode of "never" to allow activity
writers to keep their activity from being launched in document mode.

Fixes bug 15468528.

Change-Id: Ied11adf97e85c5d3f99f4c0bbbb4a2905dcfb24e
ntent.java
m/ActivityInfo.java
e44e754166ad8c53781f67b2e814012fb5dbeae3 10-Jun-2014 Jinsuk Kim <jinsukkim@google.com> Merge "Tag HdmiControlService API classes with @hide/@SystemApi" into lmp-preview-dev
f8f69b899f2979c8744c7ce77489cbad09d898fe 10-Jun-2014 Jeff Sharkey <jsharkey@android.com> Merge "Refactor directory API to "opening document tree."" into lmp-preview-dev
b9fbb7290b02de1ce621deaa2d28a5e42f2e0937 05-Jun-2014 Jeff Sharkey <jsharkey@android.com> Refactor directory API to "opening document tree."

Cleans up API so it consistently refers to opening or working with a
subtree of documents. Also separates isChildDocument() support from
the concept of directory tree selection.

Bug: 15429194
Change-Id: Ice66a751ff4bd0cc4d34c44c5da13a0dc4186dc9
ntent.java
66d1eb285b129836d1b3c392ed609283c0dbf830 06-Jun-2014 Jinsuk Kim <jinsukkim@google.com> Tag HdmiControlService API classes with @hide/@SystemApi

Bug: 15516329, Bug: 15516710
Change-Id: Ie814513a642660b6c5fdc9e891ad1eec1b2d689b
ontext.java
5c507c1371d273cdff61d2395d47bd54fa26d614 06-Jun-2014 Jeff Brown <jeffbrown@google.com> Rename PrivateApi annotation to SystemApi. (DO NOT MERGE)

Change-Id: I97b473884f81ad375d0733e4766afe091dfdd854
m/ContainerEncryptionParams.java
m/ManifestDigest.java
m/PackageManager.java
d343aff26d9ba820beffe166bb7b4fb22a3366c6 09-Jun-2014 Daniel Sandler <dsandler@android.com> am e7078cf9: Move CATEGORY_NOTIFICATION_PREFERENCES to Notification.

* commit 'e7078cf9c41f5e3581a80b2129ae77719b0f69a4':
Move CATEGORY_NOTIFICATION_PREFERENCES to Notification.
5adb67d4ce228a3afa6512e87d61c4d581dfd1e3 09-Jun-2014 Ed Heyl <edheyl@google.com> merge 4ce22057, regen api/current.txt

Change-Id: I39186b5c4d41753c729c5d1ee7ee96b03a45c514
01df1c680abdce58d873220cfce9163b59eacbd2 09-Jun-2014 Daniel Sandler <dsandler@android.com> Move CATEGORY_NOTIFICATION_PREFERENCES to Notification.

It sprouts an additional INTENT_ prefix to distinguish it
from the Notification.category constants in the same file.

Bug: 15022240
Change-Id: Icbc09bfc5ce78964272def66934fe4a7c848e12b
ntent.java
d4b584ea7f6da5c06b7ba9b1ea75428dcc5fe7b2 09-Jun-2014 Adam Connors <adamconnors@google.com> Api review: Make ACTION_MANAGED_PROFILE_REMOVED registered only.

And update the javadoc to explain use-case.

Bug: 15025562
Change-Id: I8eb2666c8480f873e042687223b1a1f82e7919c9
ntent.java
89b3b4a0b214eea12a5f48b61a021103cdc5c10e 05-Jun-2014 Adam Connors <adamconnors@google.com> API Review: rename FEATURE_MANAGEDPROFILES

To be FEATURE_MANAGED_PROFILES

Bug: 15025371
Change-Id: I2f818b4d8488fe7943fe5ff6051d6b1f84ca9e8c
(cherry picked from commit 687efd6f5c05dc1e4a9c284bf3edae901af45942)
m/PackageManager.java
f43cea009447cb2d3741de94c93c28e2fd413a43 09-Jun-2014 Jinsuk Kim <jinsukkim@google.com> Merge "Remove HdmiCecService" into lmp-preview-dev
3f48068d782b81dc1c8a0190b91fbb2862007244 06-Jun-2014 Jinsuk Kim <jinsukkim@google.com> Remove HdmiCecService

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

Change-Id: Ic7baaddffb9873613ddd1096e874f226da983939
ontext.java
82b3201a95063a1fe51842417c444c0dfd8cf780 07-Jun-2014 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 13ed83ee to master

Change-Id: Ia3739cfa7af60e6a47bf94d403df190f3f2cd082
3c9f70dc86842f78c00d19c9c266b324478bb001 07-Jun-2014 Craig Mautner <cmautner@google.com> Merge "Implement maxRecents and fix TaskPersister bug" into lmp-preview-dev
d5a5b5a547462f3e7c6315a501909bce2418ba86 06-Jun-2014 Jeff Brown <jeffbrown@google.com> Rename PrivateApi annotation to SystemApi.

Change-Id: I97b473884f81ad375d0733e4766afe091dfdd854
m/ContainerEncryptionParams.java
m/ManifestDigest.java
m/PackageManager.java
2c1de5b052d8c8f3779f11dbb86820f6ee2f5372 21-May-2014 Jim Miller <jaggies@google.com> Hide the fingerprint API for now. DO NOT MERGE

Change-Id: I78aadf8d03be74eb862c5fe120fa544a2483553c
ontext.java
ffcfcaadfefec2fb56f67a0a614a54bf4599d62b 05-Jun-2014 Craig Mautner <cmautner@google.com> Implement maxRecents and fix TaskPersister bug

Activities can now set the maximum number of times that they will
appear in the recent task lists when using DocCentric mode. The
default number is 15, the min 1, and the max 100.

Also a bug in TaskPersister that deleted files because it did not
properly parse their task ids is fixed.

Fixes bug 13736052.

Change-Id: I7ccb4e6f89d6202ff31c8577bb7b9d8d1b7e5e8d
m/ActivityInfo.java
m/PackageParser.java
7283f963d30c2cc9694e1a1a178641ac40dd3a07 05-Jun-2014 Adam Connors <adamconnors@google.com> Merge "API Review: rename FEATURE_MANAGEDPROFILES"
551c0789bcc6e2fe428d848f5845e6b939f81c47 05-Jun-2014 Adam Connors <adamconnors@google.com> API Review: rename FEATURE_MANAGEDPROFILES

To be FEATURE_MANAGED_PROFILES

Bug: 15025371
Change-Id: I2f818b4d8488fe7943fe5ff6051d6b1f84ca9e8c
m/PackageManager.java
64939ae385edf615ac2912060df5624dbaf57cab 04-Jun-2014 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Redact SyncService stuff from master

Cherry-pick over from master.
This changes the API surface area, deleting things we aren't releasing.
I'll do the internal clean-up at the same time I do the SyncManager
refactor to sit on top of the TaskManager.
Bug: 14997851

Change-Id: Ieebbbcd3324827098e88b36e45e6e82315a51e65
ontentResolver.java
ContentService.aidl
eriodicSync.java
yncInfo.java
yncRequest.java
yncService.java
4b8bb98d63c5a305d49d96f62eb72bda0ed1a191 05-Jun-2014 Matthew Williams <mjwilliams@google.com> Merge "Redact SyncService stuff from master"
a2d1454133405f5a031d5838a68159106f719720 05-Jun-2014 Elliott Hughes <enh@google.com> am ef3aeeca: am 38a5a257: am 759a8978: Merge "Minor javadoc improvements for PackageManager."

* commit 'ef3aeecacd4c47f6baeb96d06d69aad1ca4bcb1a':
Minor javadoc improvements for PackageManager.
ef3aeecacd4c47f6baeb96d06d69aad1ca4bcb1a 05-Jun-2014 Elliott Hughes <enh@google.com> am 38a5a257: am 759a8978: Merge "Minor javadoc improvements for PackageManager."

* commit '38a5a257a9aaf85606eb7117d943a877dc7d3c93':
Minor javadoc improvements for PackageManager.
5a9decd589f3f6a512168fd669ee2c5d8daa238b 04-Jun-2014 Matthew Williams <mjwilliams@google.com> Redact SyncService stuff from master

This changes the API surface area, deleting things we aren't releasing.
I'll do the internal clean-up at the same time I do the SyncManager
refactor to sit on top of the TaskManager.
Bug: 14997851
Change-Id: Ibefbb246f0e98d3159399151744279902468a23c
ontentResolver.java
ContentService.aidl
eriodicSync.java
yncInfo.java
yncRequest.java
yncService.java
1fa8b11d93691cfdd0ca38b34176b3ecd61c4eff 04-Jun-2014 Alan Viverette <alanv@google.com> am cd5b044e: Merge "Fix drawable cache, add quantum assets to preload list" into lmp-preview-dev

* commit 'cd5b044eaf38cc1fad926dff5d5d1b35c3c8b6a3':
Fix drawable cache, add quantum assets to preload list
dde24269c1eecb3ade2f625f4777492d4ef71526 04-Jun-2014 Amaury Medeiros <amaurymedeiros@gmail.com> Minor javadoc improvements for PackageManager.

- Removed duplicated use of the word "the".
- Changed @return and @param explanation of getApplicationEnabledSetting,
which should get the enabled state of an application and not just one component.

Change-Id: Ide07ec84ceb5b9b5caa28efa9ba838a40ee7b514
Signed-off-by: Amaury Medeiros <amaurymedeiros@gmail.com>
m/PackageManager.java
b6f9152b7027e78c7c0c07b1dc10ca4900b1fca7 03-Jun-2014 Alan Viverette <alanv@google.com> Fix drawable cache, add quantum assets to preload list

BUG: 15409352
Change-Id: Idb18fd99dc4229aace9082d6e26c88faf81d15bf
es/Resources.java
02a078d088cabe694a07e6f916fe8a0eda58f74c 03-Jun-2014 Alan Viverette <alanv@google.com> am 25931ade: Merge "Clean up drawable theming APIs" into lmp-preview-dev

* commit '25931adee5ba954220190f48901bb66c8c9dd462':
Clean up drawable theming APIs
4c9e57f156d3cbd86b38e9897dfdab81964efe90 03-Jun-2014 Jae Seo <jaeseo@google.com> resolved conflicts for merge of ebe661c4 to master

Change-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4
797b109c60bda8e122075b0c2101d3f2a0b67c07 03-Jun-2014 Narayan Kamath <narayan@google.com> am 7ed98c43: Merge "Add an --abi argument to "pm install""

* commit '7ed98c43f8cbcfbb4862205a72455ab39359a011':
Add an --abi argument to "pm install"
dad8f819a710510be28e9fdeee84f9b5b2ddacbf 03-Jun-2014 Narayan Kamath <narayan@google.com> Merge "Add an --abi argument to "pm install""
116bdbd823b607d860b039ec334a1f985eed7a7f 29-May-2014 Narayan Kamath <narayan@google.com> Add an --abi argument to "pm install"

This allows callers to force an install to a particular
ABI. This is intended only for testing (and CTS) and is
not meant for usage by the installer package.

bug: 14453227

(cherry picked from commit 6431d11cd420536aaa9d93ae510a3151ccc4df1d)

Change-Id: I85d4f8785deea02a6a4d3cb0b05e6ef8bf64826b
m/IPackageManager.aidl
6431d11cd420536aaa9d93ae510a3151ccc4df1d 29-May-2014 Narayan Kamath <narayan@google.com> Add an --abi argument to "pm install"

This allows callers to force an install to a particular
ABI. This is intended only for testing (and CTS) and is
not meant for usage by the installer package.

Change-Id: Icb1528c0cd35b1aa9323386cb35ff4aaba374fcb
m/IPackageManager.aidl
5a4af17e27cf0be613e42d44e421d532efb7a7f7 03-Jun-2014 Alan Viverette <alanv@google.com> Merge "Clean up drawable theming APIs" into lmp-preview-dev
6dbe51b50e82057af4d29882889444d22ac19c9c 03-Jun-2014 Alan Viverette <alanv@google.com> Clean up drawable theming APIs

Removes APIs for themed creation of a drawable from a stream, since
that doesn't involve any inflation. Also cleans up tinting methods
left over from previous clean up.

BUG: 15089957
Change-Id: I2af7aa9a6d351ae61b33ee1216c674fae1bffe11
Signed-off-by: Alan Viverette <alanv@google.com>
es/Resources.java
d5cc4a281e7ce29d1e8687ff3394b57a3a549260 31-May-2014 Jae Seo <jaeseo@google.com> Put TV Input Framework under android.media.tv, including TvContract

Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
ontext.java
f20d640fa2b155a971ddfe0965fc803a73b5e53c 25-May-2014 Amith Yamasani <yamasani@google.com> Restrictions Manager

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

Request format and response format constants.

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

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

Change-Id: I5a654d364e98379fc60f73db2e06bf9a8310263d
ontext.java
RestrictionsManager.aidl
estrictionEntry.java
estrictionsManager.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.
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
ontext.java
ontextWrapper.java
8407968db68f1838663118fd0b23576854b8c525 30-May-2014 Yuhao Zheng <yuhaozheng@google.com> Merge "DO NOT MERGE - Wifi Passpoint API change" into lmp-preview-dev
de8f11654f10cf9e7d6285a26680dda3ac757b5e 30-May-2014 Amith Yamasani <yamasani@google.com> am 651fcf79: Merge "Tweak LauncherApps API based on feedback" into lmp-preview-dev

* commit '651fcf798faf62f95bafaf3f1aaa1f05358254a2':
Tweak LauncherApps API based on feedback
fc2ae28f78a16bfb36564353165c38f16a236d8d 30-May-2014 Amith Yamasani <yamasani@google.com> Merge "Tweak LauncherApps API based on feedback" into lmp-preview-dev
0cb59f2c03daa056e2cb351bf2ee1c9338b61551 27-May-2014 Yuhao Zheng <yuhaozheng@google.com> DO NOT MERGE - Wifi Passpoint API change

- hide package android.net.wifi.passpoint
- extend android.net.wifi APIs for Passpoint credential management
> hide for preview

Bug: 15191967
Change-Id: Ic90818cf5c91e93dd7890774543e08b842edc594
ontext.java
e90a218cf17e12a208b542f8f9f9255ffa327d25 30-May-2014 Yuhao Zheng <yuhaozheng@google.com> Merge "Wifi Passpoint API change"
e781c81d3394642583d555e7a5d6f6f8f63bc538 29-May-2014 Amith Yamasani <yamasani@google.com> Tweak LauncherApps API based on feedback

UserHandle must be after packageName/componentName.
Improved javadoc for density.
Added getApplicationInfo().
Remove synchronized methods.

Temporarily @hide the old APIs to make sure they continue to work
for unbundled launchers.

Bug: 15025908
Change-Id: Iee6336b54e1b4d5c43f1e643062327ff463cb695
m/LauncherActivityInfo.java
m/LauncherApps.java
8a9eb81df1218884bf0c4cdb214d2f1ec0a5679c 27-May-2014 Yuhao Zheng <yuhaozheng@google.com> Wifi Passpoint API change

- hide package android.net.wifi.passpoint
- extend android.net.wifi APIs for Passpoint credential management
> hide for preview

Bug: 15191967
Change-Id: Ic90818cf5c91e93dd7890774543e08b842edc594
ontext.java
560ce61c598d9912c4adbd9c602f1a870fb478f4 28-May-2014 Christopher Tate <ctate@google.com> Merge "DO NOT MERGE - Run the task manager service at startup" into lmp-preview-dev
4b9d79c30eccb61645d98a4f0d49b7769e8c7ccc 22-May-2014 Amith Yamasani <yamasani@google.com> Fix singleUser attribute

Make it work correctly for singleton content providers.
Relax which apps can export singleton content providers.

Change-Id: I43d315c25ed76a876bfa6d5e0d1351bc19c9bdba
m/PackageParser.java
e282c97e21197d0fdf2c814fbe5716cb9630152e 27-May-2014 Nicolas Prevot <nprevot@google.com> Merge "Rename code related to cross-profile intents."
026596b938e4f078b2db95a523bf55dd0704c1dd 22-May-2014 Craig Mautner <cmautner@google.com> Improve DocCentric documentation. DO NOT MERGE

Fixes bug 15025461.

Change-Id: I34cc13105072cf054f125a7963294165258fec0e
ntent.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
ntent.java
dbcd3aa22a086472f0addff761d3d97e133557ba 24-May-2014 Craig Mautner <cmautner@google.com> Merge "Improve DocCentric documentation."
fa380e982e41b0dcbbcf2201803abf26808016b5 19-May-2014 Christopher Tate <ctate@google.com> DO NOT MERGE - Run the task manager service at startup

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

(Cherrypick from master)

Change-Id: Ic07a664bf54bc3e40aa0b892946edba4bf37262a
ontext.java
ask.java
askManager.java
6000a6c663467809cd89bb4e98b4e112553819da 24-May-2014 Christopher Tate <ctate@google.com> Merge "Run the task manager service at startup"
8f64f80888ab6cc2a4e3f8a65d8b54650e07fc5c 19-May-2014 Christopher Tate <ctate@google.com> Run the task manager service at startup

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

Bug 14993295
Bug 14997851

Change-Id: I9b5738d026ea2526cdfbc96d0239c74687c51611
ontext.java
ask.java
askManager.java
deec695253aa5856135be3ffdcd35eaafed9e526 24-May-2014 Craig Mautner <cmautner@google.com> Merge "Add code for persisting tasks and activities to disk"
2d74ce309fddebd208e7a8452d4d7e6c3b91e3e0 22-May-2014 Craig Mautner <cmautner@google.com> Improve DocCentric documentation.

Fixes bug 15025461.

Change-Id: I34cc13105072cf054f125a7963294165258fec0e
ntent.java
9c32f25eb6dec1360da5e0a912f6926b378daec8 24-May-2014 Alan Viverette <alanv@google.com> am 106210a7: Merge "Handle hybrid themes correctly in Drawable cache" into lmp-preview-dev

* commit '106210a703563cfb11c23ab80d8f29b990df7ec5':
Handle hybrid themes correctly in Drawable cache
0b723fdbaafe7503bc09d8c71bfee9c853adfd55 24-May-2014 Alan Viverette <alanv@google.com> Merge "Handle hybrid themes correctly in Drawable cache" into lmp-preview-dev
4daf2779f4e0ace25f1a4665af85aa531c8198b9 23-May-2014 Andrew Solovay <asolovay@google.com> am 59f61cc2: am 768a899f: am b5960898: am 9562863c: doc: Updated branding guidelines per request from @deniseamling.

* commit '59f61cc23d47f7ad714cf99be32fd70a66dba84e':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
8194899071e0a84c95ef10614bd1b9485b48f589 16-May-2014 Nicolas Prevot <nprevot@google.com> Rename code related to cross-profile intents.

For example, replace ForwardingIntentFilter by CrossProfileIntentFilter

Bug: 15023443

Change-Id: Iee8cdf578817ef9956bcdece803a49b0d07b67f7
m/IPackageManager.aidl
m/PackageManager.java
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
ntent.java
bd8a374016cd83c70fe2297770fbe13a5d460148 22-May-2014 Lorenzo Colitti <lorenzo@google.com> Fix Ethernet documentation.

1. Remove incorrect @return tag for void function.
2. Fix build breakage by removing the reference to
#ETHERNET_SERVICE, which is hidden.

Change-Id: Ia893464bafc8257e48e0bd710d27954b535fcece
(cherry picked from commit ff7e406df8a46256e47fff70abc9116ad3f94c23)
ontext.java
75257cefcd64cf5cc73083d9546d27825b29a595 23-May-2014 Alan Viverette <alanv@google.com> Handle hybrid themes correctly in Drawable cache

BUG: 15155868
Change-Id: I00326e6000027c2dae5305e816c80883119449c0
es/Resources.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
m/PackageInstaller.java
59f61cc23d47f7ad714cf99be32fd70a66dba84e 23-May-2014 Andrew Solovay <asolovay@google.com> am 768a899f: am b5960898: am 9562863c: doc: Updated branding guidelines per request from @deniseamling.

* commit '768a899f214dd2fcf4bf3857549fee81b22debc4':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
768a899f214dd2fcf4bf3857549fee81b22debc4 23-May-2014 Andrew Solovay <asolovay@google.com> am b5960898: am 9562863c: doc: Updated branding guidelines per request from @deniseamling.

* commit 'b59608981ff464b85a26987b8822913e41e72291':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
b59608981ff464b85a26987b8822913e41e72291 23-May-2014 Andrew Solovay <asolovay@google.com> am 9562863c: doc: Updated branding guidelines per request from @deniseamling.

* commit '9562863cf184fe99be223aff9700b3ceb8559e1a':
doc: Updated branding guidelines per request from @deniseamling.
Noted that OnSharedPreferenceChangeListener does not store a strong reference to the listener.
9c1ccc54a582d0ae4230dde249ba439921165e12 22-May-2014 Lorenzo Colitti <lorenzo@google.com> Fix Ethernet documentation.

1. Remove incorrect @return tag for void function.
2. Fix build breakage by removing the reference to
#ETHERNET_SERVICE, which is hidden.

Change-Id: Ia893464bafc8257e48e0bd710d27954b535fcece
ontext.java
521d8cdae0be5c7d33715e0fa7b5b85367c5de09 22-May-2014 Lorenzo Colitti <lorenzo@google.com> Merge "Make the EthernetManager available."
f9ff2c9ae5595a20d77b10a41386932de1fc2da2 22-May-2014 Lorenzo Colitti <lorenzo@google.com> Make the EthernetManager available.

Change-Id: I7a60e977d7a40a5d0367168f2f6633ccae591ac4
ontext.java
fb052926b84d69fdc4bebcb0373e33388c7bcbb7 21-May-2014 Dianne Hackborn <hackbod@google.com> Revert "Hide voice interaction APIs."

This reverts commit a677a9b9367bcf8c81c36dc59b53554cb347b438.
ntent.java
7fee7232ee2ae45fb3cd4fcce314e8f1101ae8db 15-May-2014 Roger Chang <roger.chang@mediatek.com> Hotspot 2.0 framework - add implementation

Bug: 5485670
Change-Id: I4d0f728f4c20676232f2d61bbf49691f6e21a100
ontext.java
3dfd5bae848bb7270de4652fa946cfc35cbb3fba 21-May-2014 Alan Viverette <alanv@google.com> Merge "Various API review fixes to resources and drawables"
3b5c4272db3e089c4a06d2db2ddf2aee5ebb6281 20-May-2014 Alan Viverette <alanv@google.com> Various API review fixes to resources and drawables

BUG: 15025565
Change-Id: If00c85816f8288338967f7a85453d21f858f5ca7
es/ColorStateList.java
es/Resources.java
f564c7fe86d2aa9a7622667771d9e4bbf5518ffa 20-May-2014 Ben Murdoch <benm@google.com> resolved conflicts for merge of ecf09321 to master

Change-Id: I7a440204dfc79f3b82bd95d3d1276158bf3d44a2
ecf09321c5604558b159057e430b7faf7e6a7352 20-May-2014 Ben Murdoch <benm@google.com> am e0d6a6b0: Merge "Add PackagManager flag for WebView system feature." into klp-modular-dev

* commit 'e0d6a6b05b0861a5aa6dd8189de61a4da8d39dae':
Add PackagManager flag for WebView system feature.
de0c99e89bfe2df43e363f2521c55d5da166ddad 13-May-2014 Andrew Solovay <asolovay@google.com> Noted that OnSharedPreferenceChangeListener does not store a strong reference
to the listener.

Because of this, the listener is susceptible to garbage collection unless the
caller preserves a strong reference to it. We suggest that the caller store a
reference to the listener in an instance field of an object that will exist as
long as the listener is needed.

Also fixed code sample formatting in Settings.jd (some lines were overlong).

Docs are staged in:

http://asolovay.mtv:8901/guide/topics/ui/settings.html#Listening

http://asolovay.mtv:8901/reference/android/content/SharedPreferences.html#registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener)

Bug: 10437648
Change-Id: I48f5b87fa2ca7a240661d0cc00114d225819d54d
haredPreferences.java
b19c19265448a6252b1c14f3da85d52e50be34c3 19-May-2014 RoboErik <epastern@google.com> Merge "Rename session classes to have media prefix, hide routes"
422c7a5834b4e0f1bbf56d00fb824c9bbbd3ead4 16-May-2014 Ben Murdoch <benm@google.com> Add PackagManager flag for WebView system feature.

Add a flag for PackageManager.hasSystemFeature to determine
if a functional webview is available on the device.

Bug: 13438487

Change-Id: I770f7e924b3e5fa6be0397904acf18c9306096e4
m/PackageManager.java
fc9c89f9aa53c61b3e832749f0a9e5f9ca86eed9 19-May-2014 Jinsuk Kim <jinsukkim@google.com> Merge "HdmiControlManager with HdmiPlaybackClient API definition"
91120c541ac0c8c5e256b75759c884b4d6d664fc 08-May-2014 Jinsuk Kim <jinsukkim@google.com> HdmiControlManager with HdmiPlaybackClient API definition

This is a rewrite of HdmiCecManager that exposes API for CEC Playback
device control. HdmiCecManager will be removed together with
HdmiCecService once the migration is completed.

Replaced direct access to CEC commands with the following 2 API:
- oneTouchPlay
- queryDisplayStatus

Each method requires communication with other device on CEC bus,
hence might take some time to finish. The result at the end of
protocol exchange is reported through a callback provided as a
parameter to the method.

The callback is based on interface not abstract class since
it has only one method 'onComplete'.

Change-Id: I41e9d4571f890303282a79a803c86530d0b46974
ontext.java
a4864472313208e4f1de02f45d3eadad237c54af 10-Apr-2014 Yuhao Zheng <yuhaozheng@google.com> Hotspot 2.0 framework APIs -- initial implementation

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

Bug: 5485670
Change-Id: If3250a2fae181a3774d3158e341220006ad6ebe5
ontext.java
42ea7eecd149161ed192d3029f0d77d1d08a4aa5 17-May-2014 RoboErik <epastern@google.com> Rename session classes to have media prefix, hide routes

This renames several of the core session classes to be prefixed
with Media. It also adds @hide to all route references for now.

Change-Id: Idb42897d490cf24626e4e93ca975b2cb93ec054c
ontext.java
dcff99598f16737e75278e8ea9dbfe92579ea234 16-May-2014 Dianne Hackborn <hackbod@google.com> Hide voice interaction APIs.

Change-Id: I961b6399a6edca239caaba9bbd1dd5e03bc612bd
ntent.java
3cf75729d5a27b8ddd1ea174626dbcf0349a1d07 16-May-2014 Amith Yamasani <yamasani@google.com> Variant of sendBroadcast with appOp flag for cross-user.

Needed for delivering SMS notifications to multiple users.

Change-Id: Ib772292699aba37144621742e6f0ee5c68aadd78
ontext.java
ontextWrapper.java
1dfa9d98bee6326fe53240dbe7e1b05a75aba109 15-May-2014 Alan Viverette <alanv@google.com> Merge "Simplify attribute extraction for themed Drawables"
5d5f19a339bc4a8f10f75b51625d8d50ee0729e0 15-May-2014 Narayan Kamath <narayan@google.com> am 6e2e6868: am 706b1d7e: Merge "Remove "required" prefix from ABI fields."

* commit '6e2e686889037711170ee145f9dfdb442cee85db':
Remove "required" prefix from ABI fields.
6e2e686889037711170ee145f9dfdb442cee85db 15-May-2014 Narayan Kamath <narayan@google.com> am 706b1d7e: Merge "Remove "required" prefix from ABI fields."

* commit '706b1d7ea0214b6858730e68c95c6a6d6d9a4c30':
Remove "required" prefix from ABI fields.
6e35a2ad05864e7dec5526d11c007efeec252706 30-Apr-2014 Narayan Kamath <narayan@google.com> Remove "required" prefix from ABI fields.

As per a comment on an earlier code review.

(cherry-picked from commit a9d64733421d6765eab5c2730fa912f068e26047)

Change-Id: I064cffc13c323b721f3a16c83e0e95ee348ef9f6
m/ApplicationInfo.java
1e74c37f8e1acb595f407e0f65744bb6b00c9314 15-May-2014 Narayan Kamath <narayan@google.com> Merge "Remove "required" prefix from ABI fields."
8b0cfb7dbde6f19a5dd5879fef3d16576f2eeba4 15-May-2014 Jeff Sharkey <jsharkey@android.com> Binder interfaces mean we can't use @PrivateApi.

Change-Id: Ie6d516b9ef8b7874160634b3b7b70d19481d1605
m/PackageManager.java
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
m/ContainerEncryptionParams.java
m/IPackageInstallObserver2.aidl
m/IPackageInstaller.aidl
m/IPackageInstallerSession.aidl
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageInstallerParams.aidl
m/PackageInstallerParams.java
m/PackageManager.java
m/PackageParser.java
m/Signature.java
m/VerificationParams.java
0cfb877f5a0a1bff82d9c3ee969195bf7812c0b5 15-May-2014 Alan Viverette <alanv@google.com> Simplify attribute extraction for themed Drawables

Also fixes a bug in GlowPadView that randomly popped up.

Change-Id: Id20508a44ea02b4a14c8f794de36e13a2c06587c
es/Resources.java
es/TypedArray.java
89b77cded638cab56a002c28da4d09f144f7c6cb 01-May-2014 Jeff Sharkey <jsharkey@android.com> Mark hidden PM APIs that bundled apps depend on.

Change-Id: I18f2561ee65888fee08c61babc956bb8c3285366
m/ContainerEncryptionParams.java
m/ManifestDigest.java
m/PackageManager.java
202259785972be771075dce8d3e43c29b8d8f1f1 13-May-2014 Nicolas Prevot <nprevot@google.com> Merge "Resolving resources across users."
d85fc72fb810858f7502e7e7f1bad53e1bf03edd 16-Apr-2014 Nicolas Prevot <nprevot@google.com> Resolving resources across users.

When an intent is sent to another profile:
For content uris contained in this intent:
The userId of the source user is added to the userInfo part.
The ActivityManagerService has been modified to resolve resources in the user specified by the uri.
The user id to which the uri belongs to is stored in the UriPermission.

Change-Id: I43dc76895aba692bf148d276253aeaf9c75fce34
lipData.java
ontentProvider.java
ontentProviderOperation.java
ontentProviderResult.java
ontentResolver.java
ntent.java
34f6084bc21b07ae9112be6e7a8f50c49828ac9c 30-Apr-2014 Narayan Kamath <narayan@google.com> Remove "required" prefix from ABI fields.

As per a comment on an earlier code review.

Change-Id: I3ae30f8a7bc90730068644f93b926e0e05a2cdfb
m/ApplicationInfo.java
c8b055aa8b406a4f10e1962ec0ec7d4131fe9d7d 13-May-2014 Brian Williammee <bwill@google.com> Correct comment on putStringSet

Works with both commit and apply.

Bug: 14838826
Change-Id: I86758139aca8fd06123c06544d1901bb394cbf15
haredPreferences.java
6de79e2b17fa0796ea4d39fd9555b563c484248d 01-May-2014 Matthew Williams <mjwilliams@google.com> First implementation of the TaskManager internals.

Sketching out the TaskManagerService, and provide an implementation
of the Connectivity & Time controllers to use as a basis for how the
IdleMode controller will function.

Change-Id: I9163b8b9df1f8a027354720b469a0fb4c8e37194
ask.java
82c93357d0b61a6e12dcfc5eee1101968b8cba22 12-May-2014 Tim Kilbourn <tkilbourn@google.com> am 05c581ac: Merge "DO NOT MERGE Hide more leanback stuff." into klp-modular-dev

* commit '05c581ac4d6f44263891eae94a41a3841634d89c':
DO NOT MERGE Hide more leanback stuff.
0ff8f796d968a45d26038e3a08ba9785f985a1ec 12-May-2014 Tim Kilbourn <tkilbourn@google.com> am d6fc5115: Merge "DO NOT MERGE Hide leanback packagemanager apis." into klp-modular-dev

* commit 'd6fc5115a656f9d06dd1d455f8bedd5f5eca943b':
DO NOT MERGE Hide leanback packagemanager apis.
05c581ac4d6f44263891eae94a41a3841634d89c 12-May-2014 Tim Kilbourn <tkilbourn@google.com> Merge "DO NOT MERGE Hide more leanback stuff." into klp-modular-dev
d6fc5115a656f9d06dd1d455f8bedd5f5eca943b 12-May-2014 Tim Kilbourn <tkilbourn@google.com> Merge "DO NOT MERGE Hide leanback packagemanager apis." into klp-modular-dev
8bfb3513ee8f0bd6ccd98f347a4cbdf99de703a1 09-May-2014 Eino-Ville Talvala <etalvala@google.com> am 1caeb10a: DO NOT MERGE: Add android.hardware.camera.external feature.

* commit '1caeb10a7a288d937195d925c52f441f454cbc9a':
DO NOT MERGE: Add android.hardware.camera.external feature.
6af7d62df8dcf991d41b341ef196cdeddbc631a2 08-May-2014 Dianne Hackborn <hackbod@google.com> Merge "Usage stats!"
1caeb10a7a288d937195d925c52f441f454cbc9a 08-May-2014 Eino-Ville Talvala <etalvala@google.com> DO NOT MERGE: Add android.hardware.camera.external feature.

This feature will be listed by Android devices that allow for an
external camera to be connected to it. Such camera devices may
not always be available or connected.

Also clarify that android.hardware.camera.any also encompasses
devices that list android.hardware.camera.external.

Change-Id: I57497758877e4286c1f0116961731d483b56808f
m/PackageManager.java
2e58d6de062fc48ad2a032d90d4956cf8041a894 08-May-2014 Eino-Ville Talvala <etalvala@google.com> Merge "Add android.hardware.camera.external feature."
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
ontext.java
9131da28e17856fa583d42ea23da211f7689487f 08-May-2014 Eino-Ville Talvala <etalvala@google.com> Add android.hardware.camera.external feature.

This feature will be listed by Android devices that allow for an
external camera to be connected to it. Such camera devices may
not always be available or connected.

Also clarify that android.hardware.camera.any also encompasses
devices that list android.hardware.camera.external.

Change-Id: I57497758877e4286c1f0116961731d483b56808f
m/PackageManager.java
256daf009336f46ea76adcc940c9f05b358c1fc0 08-May-2014 Vinit Deshapnde <vinitd@google.com> Remove reference to WifiScanner till the API is made public

Change-Id: I0cb2be4338ce59e1d12f83a94edc5de39810b18a
ontext.java
011e1b35a64180d6f0234af8a3c2b70777eb9f39 08-May-2014 Vinit Deshapnde <vinitd@google.com> Initial implementation of WifiScanner

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

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

Change-Id: Ieef75b96bdbbd3c7d9b9e698bd16e64d3b465254
ontext.java
7359b0b8856d317659bb0044df9f26c8570d6d4c 08-May-2014 Russ Schnapp <rschnapp@google.com> Merge "Fix erroneous javadoc example SyncRequest.Builder.setExtras"
7d3387bc13427b61708d5a39fc4f626ee869ecdc 08-May-2014 Vinod Krishnan <vinodkrishnan@google.com> am 03498d34: am b9d71fa1: Merge "Adding a HeartRate Feature" into klp-modular-dev

* commit '03498d349ae3aa5e429e999b97036d194981373f':
Adding a HeartRate Feature
03498d349ae3aa5e429e999b97036d194981373f 07-May-2014 Vinod Krishnan <vinodkrishnan@google.com> am b9d71fa1: Merge "Adding a HeartRate Feature" into klp-modular-dev

* commit 'b9d71fa1081dc318a811b60660009d0769c02971':
Adding a HeartRate Feature
6422abef786632e53337c6c298ffa64f7ddf4d90 07-May-2014 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 3bbef521 to master

Change-Id: I0bbb7c80f6c4f003779da784475d7acbfb898c94
b9d71fa1081dc318a811b60660009d0769c02971 07-May-2014 Vinod Krishnan <vinodkrishnan@google.com> Merge "Adding a HeartRate Feature" into klp-modular-dev
3bbef521d4b07f86010ba0729a36ff8b73bcb0ac 07-May-2014 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of f2db00fd to klp-modular-dev-plus-aosp

Change-Id: I745164033962f6222832f8f19fa316a2e2634fd0
c43a6bbe88d4e82cccf9fa74ddebc4954889b256 07-May-2014 Russ Schnapp <rschnapp@google.com> Fix erroneous javadoc example SyncRequest.Builder.setExtras

Change-Id: I2072a729b2db48d336590363509d9b8e9047c0bc
yncRequest.java
2dac05617952e1341f9c522e4c05936d7ef07399 06-May-2014 Craig Mautner <cmautner@google.com> Add attributes and flags for DocCentric.

Add Intent flag and attribute for auto removal of task from recents
once task completes.

Add manifest attribute for auto launching into doccentric. Equivalent
to Intent.FLAG_ACTIVITY_NEW_DOCUMENT.

Fixes bug 14586473.

Change-Id: I04acc9333c3725b4db94a954358eb78df507ff53
ntent.java
m/ActivityInfo.java
m/PackageParser.java
f2db00fdcd4e3dd97afd071f3af058d307a152f9 07-May-2014 Brian Carlstrom <bdc@google.com> am edb88bcd: Merge "Use package usage information to decide what dex files to optimize in PackageManagerService"

* commit 'edb88bcd232176e575f2dbee2cfdb1bfbe33faef':
Use package usage information to decide what dex files to optimize in PackageManagerService
08fa40c5cb5229b7969b2a5146855a337870f45a 30-Apr-2014 Jim Miller <jaggies@google.com> First pass at adding FingerprintManagerService

This adds a new service for monitoring and enrolling fingerprints
to the platform.

Fixed documentation links.

Change-Id: I66013be5e09be9c5f9746c46aacf32d3e26c3b73
ontext.java
7c433b3d9c7ca4486f392bb82f56251c69ba6cf4 07-May-2014 Tim Kilbourn <tkilbourn@google.com> DO NOT MERGE Hide more leanback stuff.

- leanback intent category
- FLAG_IS_GAME

Bug: 14116162
Change-Id: I5665dda4c47e24a06707df4989ee117b4e91c246
ntent.java
m/ApplicationInfo.java
ff1ec4d9e7b7eb1b6303d147c796f8767ee6715b 17-Mar-2014 Brian Carlstrom <bdc@google.com> Use package usage information to decide what dex files to optimize in PackageManagerService

Change-Id: Iac137311e2e9d5139b5aa8651c6f3d296802612a
m/PackageParser.java
eeeacab5d52dea25adcc5d3e40b5afe7dfa105de 06-May-2014 Tim Kilbourn <tkilbourn@google.com> DO NOT MERGE Hide leanback packagemanager apis.

Bug: 14116162
Change-Id: I410d720013ba4e2bc1b0f8a6973daba5ca9008c6
m/PackageManager.java
c79586ede6dcd6a167bc8360f058cb5cc655b33d 06-May-2014 Nicolas Prevot <nprevot@google.com> Cleaning code related to the forwarding intent filters.

Checking for INTERACT_ACROSS_USERS_FULL
Adding equivalent methods in the PackageManager

Change-Id: Iaa1328fa666613a78e67ca669ea045144275e895
m/PackageManager.java
6fee7d4cf991a8d39bdefb782937250c87f60f25 01-May-2014 Nicolas Prevot <nprevot@google.com> Introducing removable and non-removable ForwardingIntentFilters.

clearForwardingIntentFilters removes only non-removable IntentFilters.
The ForwardingIntentFilters set by the profile owner are always removable.

Change-Id: If950ccd7e69261b86360ea647fdb501c92f5440b
m/IPackageManager.aidl
fcd2aff48d06ff695a14359621c6dba4ae5366de 06-May-2014 Justin Koh <justinkoh@google.com> am 1e822a8f: Merge "Hide HDMI CEC from KKWT DO NOT MERGE" into klp-modular-dev

* commit '1e822a8fe1f3063aa0d3eb47a7afdda9702c1734':
Hide HDMI CEC from KKWT DO NOT MERGE
e5238f53f0fa478753384e545b3d655fc773f84f 05-May-2014 Justin Koh <justinkoh@google.com> Hide HDMI CEC from KKWT DO NOT MERGE

Hide HDMI CEC from KKWT.
Bug: 14116162

Change-Id: I086a5e51bd848a5097ccb0c47900fde30db2e7aa
ontext.java
5effd7e89f83824ac8982a6cbcebbf5cc331e436 05-May-2014 Alan Viverette <alanv@google.com> Partial revert "Load device default theme mapping from resources"

This reverts commit e4ab72d54cf41d16819b72e94d9b0d0d51289647.

Change-Id: Id17170312c75993fc1f7859d52c7e050b2aeaf80
es/Resources.java
8afb23cbf6506008d7724197d881979d8c29f17b 30-Apr-2014 Vinod Krishnan <vinodkrishnan@google.com> Adding a HeartRate Feature

Bug: 14140142

Change-Id: I080bf12995355eac7621ef46e1a4a64d1f865500
m/PackageManager.java
2f3c8d070a7511129f80b11b5916f2f3a4264f3e 01-May-2014 Alan Viverette <alanv@google.com> Merge "Load device default theme mapping from resources"
0810b63739c9981f993063749f804b54faed0ba5 01-May-2014 Alan Viverette <alanv@google.com> Load device default theme mapping from resources

Also adds a few missing styles and reorganizes some XML files. Makes
stackViewStyle public since it's defined in DeviceDefault.

Change-Id: I8f6a0f93410948b38619594474d60dc40ece5917
es/Resources.java
674bc2fca5146e371f4d506b361967e72ef1c229 01-May-2014 Matthew Williams <mjwilliams@google.com> Merge "TaskManager API first pass."
3c4d9c56db5b24699956de0a5a841196185363cc 01-May-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Adds an enabled state in UserInfo instead of DevicePolicyManager"
df35d570ed25257c6782e632ab1bae5e1603855a 09-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Adds an enabled state in UserInfo instead of DevicePolicyManager

Bug: 14377459
Change-Id: Ib4ec43d87da96c3dddaf9b7ae1796f261863a182
m/UserInfo.java
ff2e05e1f69eb0cbe9ba68cb1adbd2b2922eeeb7 01-May-2014 Nicolas Prevot <nprevot@google.com> Merge "Introduce forwarding intents across profiles."
10fa67c77e11699391e27975fc2d276a0b8c7cbb 24-Mar-2014 Nicolas Prevot <nprevot@google.com> Introduce forwarding intents across profiles.

The package manager service maintains, for some user ids, a list of forwarding intent filters.
A forwarding intent filter is an intent filter with a destination (a user id).
If an intent matches the forwarding intent filter, then activities in the destination can also respond to the intent.

When the package manager service is asked for components that resolve an intent:
If the intent matches the forwarding intent filter, and at least one activity in the destination user can respond to the intent:
The package manager service also returns the IntentForwarderActivity.
This activity will forward the intent to the destination.

Change-Id: Id8957de3e4a4fdbc1e0dea073eadb45e04ef985a
m/IPackageManager.aidl
7e5264ced758107d83da88d6e476d16028b3cc71 30-Apr-2014 Kenny Guy <kennyguy@google.com> Merge "Extend LauncherApps service to expose enabled state."
293513a59d36cd96a3e474dde5981380d372d8c9 30-Apr-2014 Bill Yi <byi@google.com> Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD
53fa4ec7f466e70fe3e33d15c4abfc9bb557eb10 29-Apr-2014 Kenny Guy <kennyguy@google.com> Extend LauncherApps service to expose enabled state.

Provide methods for checking if a package or activity
is enabled for a given profile.

Change-Id: If9cb15dc9398a709e60e7b689b664c24c49fcc16
m/ILauncherApps.aidl
m/LauncherApps.java
a8e65fd82a323e6065ae9ae6cc8eaa130d3c1efd 24-Apr-2014 Kenny Root <kroot@google.com> Only remember the signer certificates for Signatures

Previously we would use the JarEntry#getCertificates API which would
return a flattened array of all the signers and their certificate chain.
Since this isn't what was intended, switch to reading the certificate
chains and only paying attention to the signer certificate.

In order to migrate during upgrades of the platform, we'll scan on boot
with a compatibility mode which will check the stores signatures in the
old format by flattening the chains of the scanned packages then
comparing the two sets.

Bug: 13678484
Change-Id: I02a5c53121d8d6f70a51d7e3b98168a41e11482e
m/PackageParser.java
m/Signature.java
0150b48c4c4876a90b74826f864a4d864921166e 26-Apr-2014 Amith Yamasani <yamasani@google.com> Merge "Handle density request in LauncherActivityInfo"
30acde7e90105d15b1639a24db3f9978e664dded 26-Apr-2014 Amith Yamasani <yamasani@google.com> Handle density request in LauncherActivityInfo

Change-Id: I4e8dc8ef1454b3881bdb80ae118e2d0d306642f3
m/LauncherActivityInfo.java
86a6430e526efc9656c539f9d7e5dea34219ef44 25-Apr-2014 Kenny Guy <kennyguy@google.com> Provide access to ActivityInfo.name from LauncherActivityInfo

Change-Id: Ia34900f3e232b59f3879dbb3cb3131498023b8ac
m/LauncherActivityInfo.java
91097de49b0f683b00e26a75dbc0ac6082344137 05-Apr-2014 Dianne Hackborn <hackbod@google.com> Initial implementation of new voice interaction API.

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

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

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

Change-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9
ontext.java
ntent.java
m/IPackageManager.aidl
m/PackageManager.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
m/PackageParser.java
d2cc56ebb38b0b9e792e81ba9db8148a3a4b72f6 24-Apr-2014 Craig Mautner <cmautner@google.com> resolved conflicts for merge of f8a58208 to master

Conflicts:
core/java/android/content/pm/PackageParser.java
core/res/res/values/attrs_manifest.xml
core/res/res/values/public.xml

Change-Id: I747772e9dbc7ee1cf8993e574de4b3215f6833b2
f8a5820817eb59e0fe16e3ce0f10bb3dca090192 24-Apr-2014 Craig Mautner <cmautner@google.com> am 03981a4c: Merge "Add activity attribute allowEmbedded" into klp-modular-dev

* commit '03981a4c2e9689197e4d2c916c07ae16207b5276':
Add activity attribute allowEmbedded
ffd14a13ce7425562777152256ea7760d95f254d 24-Apr-2014 Craig Mautner <cmautner@google.com> Add activity attribute allowEmbedded

Activitys without allowEmbedded=true may not be launched in an ActivityView.

Fixes bug 13693121.

Change-Id: I431d554300fc3504ab1bc7d73a58d5dad24f8639
m/ActivityInfo.java
m/PackageParser.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
ntent.java
846318a3250fa95f47a9decfbffb05a31dbd0006 04-Apr-2014 Jeff Sharkey <jsharkey@android.com> Allow prefix-based Uri permission grants.

Define new FLAG_GRANT_PREFIX_URI_PERMISSION which indicates that a
Uri permission grant should also apply to any other Uris that have
matching scheme, authority, and path segments. For example, a prefix
grant for /foo/ would allow /foo/bar/ but not /foo2/.

Allow persistable and prefix grants to be issued directly through
grantUriPermission(). Relaxing persistable is fine, since it still
requires the receiver to actively take the permission.

Since exact- and prefix-match grants for the same Uri can coexist,
we track them separately using a new UriGrant key. (Consider the
case where an app separately extends READ|PREFIX and WRITE for
the same Uri: we can't let that become READ|WRITE|PREFIX.)

Fix revoke to always take away persisted permissions. Move prefix
matching logic to Uri and add tests. Add new flags to "am" tool, and
various internal uses around Intent and Context. Switch some lagging
users to ArraySet.

Bug: 10607375
Change-Id: Ia8ce2b88421ff9f2fe5a979a27a026fc445d46f1
ontentResolver.java
ontext.java
ntent.java
6e31c5c82bc5c9bddf9c01d254067ea5bebbd96b 12-Apr-2014 Matthew Williams <mjwilliams@google.com> TaskManager API first pass.

This is a very barebones first pass, meant to ensure we're all on the
same page, and also get feedback.

Change-Id: I7d5492dc5aafbe583f7c2d97ebf1444b6d2e068a
ask.java
askManager.java
89a086c16f669c5873b385bbadd2bcc9a0bf2a28 19-Apr-2014 Kenny Root <kroot@google.com> am cf677a37: am e00c9185: am 41ec218e: am 6888bee5: am 5a0cc789: am 2ed5f771: am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit 'cf677a37fb4560058fe29ebcac97f2c02bd55064':
Use hidden API to validate APK chains
cf677a37fb4560058fe29ebcac97f2c02bd55064 19-Apr-2014 Kenny Root <kroot@google.com> am e00c9185: am 41ec218e: am 6888bee5: am 5a0cc789: am 2ed5f771: am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit 'e00c9185262c675f1680920c258413299995042a':
Use hidden API to validate APK chains
e00c9185262c675f1680920c258413299995042a 19-Apr-2014 Kenny Root <kroot@google.com> am 41ec218e: am 6888bee5: am 5a0cc789: am 2ed5f771: am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '41ec218e5f92904fe99c74bc35b9f5e4003c777a':
Use hidden API to validate APK chains
41ec218e5f92904fe99c74bc35b9f5e4003c777a 19-Apr-2014 Kenny Root <kroot@google.com> am 6888bee5: am 5a0cc789: am 2ed5f771: am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '6888bee598b8c88f7a93ef2da06dd5659cc92dc6':
Use hidden API to validate APK chains
6888bee598b8c88f7a93ef2da06dd5659cc92dc6 19-Apr-2014 Kenny Root <kroot@google.com> am 5a0cc789: am 2ed5f771: am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '5a0cc78929bf56c153696ffa16b602acfcc40089':
Use hidden API to validate APK chains
5a0cc78929bf56c153696ffa16b602acfcc40089 19-Apr-2014 Kenny Root <kroot@google.com> am 2ed5f771: am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '2ed5f771c47c16e9c2be1f2025ef0a826f0290c3':
Use hidden API to validate APK chains
2ed5f771c47c16e9c2be1f2025ef0a826f0290c3 19-Apr-2014 Kenny Root <kroot@google.com> am 47231936: am 02bc4b04: am 4a62a6dc: am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '47231936c0593b87c3c9898767327f1516a7ec22':
Use hidden API to validate APK chains
4a62a6dce9a4b48f1c1c64e47a22d2319b852acd 19-Apr-2014 Kenny Root <kroot@google.com> am 451ed5f0: am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '451ed5f077b9f95deae809ae620bc210c253b922':
Use hidden API to validate APK chains
451ed5f077b9f95deae809ae620bc210c253b922 18-Apr-2014 Kenny Root <kroot@google.com> am 3ecaa88d: am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit '3ecaa88d83d04a0fd55b494829badbb41016f5a1':
Use hidden API to validate APK chains
3ecaa88d83d04a0fd55b494829badbb41016f5a1 18-Apr-2014 Kenny Root <kroot@google.com> am ecb013db: Merge "Use hidden API to validate APK chains" into jb-dev

* commit 'ecb013dbff5e33b95c49015fa375579e055911ae':
Use hidden API to validate APK chains
0a57a1112ff45507ef6361aabf42c97460405f47 18-Apr-2014 RoboErik <epastern@google.com> Merge "Add RouteProviders to the new Media APIs"
07c7077c54717dbbf2c401ea32d00fa6df6d77c6 20-Mar-2014 RoboErik <epastern@google.com> Add RouteProviders to the new Media APIs

Compiles and works with OneMedia. This currently is a rough test of
the system for finding, connecting to, and sending messages to routes.
This will just connect to the first route it finds when a request to
open the route picker is made (and disconnect when another request is
made).

Change-Id: I5de5521a079471b9e02664be4654c0591dfd9a6d
ontext.java
16c6b177eef8ab3ae3358bf6f8e7f7b018c32298 17-Apr-2014 Kenny Root <kroot@google.com> Use hidden API to validate APK chains

Bug: 13678484
Change-Id: I28dedab74b0e24d47ab9f2190298156c909e9d54
m/PackageParser.java
66e5d96cf9e689148b202787bdc269519c4b6f8f 09-Apr-2014 Robin Lee <rgl@google.com> Allow ProfileOwner apps to manage app restrictions

Simple wrapper around the UserManager.{get|set}ApplicationRestrictions
APIs. Also added a new Intent to signal to running apps that the set
of restrictions has changed since startup.

Change-Id: Ifd108108a73f87325b499d9de2e1b2aacc59b264
ntent.java
cf72f25981606b4e48130890f22f713d41e0d420 16-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Fix incorrect merge conflict to klp-modular-dev-plus-aosp

resolved conflicts for merge of ec6676dd to klp-modular-dev-plus-aosp
properly, originally fixed in 35d46778f49c962c990cfc17e521aa80b9e0c016

Change-Id: I5d1abf641564ea19d283f60385d39f7670a2f22e
es/Resources.java
35d46778f49c962c990cfc17e521aa80b9e0c016 16-Apr-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge of ec6676dd to klp-modular-dev-plus-aosp

Change-Id: I2fec735ba65f56da7d17022074f8924a259b4bbf
b51e0a6c4b249e0d6f404fafef007645221be0d3 09-Apr-2014 Jeff Davidson <jpd@google.com> Stub APIs for network scoring.

NetworkScoreManager defines all interactions between the framework and
the scorer app. An ACTION_SCORE_NETWORKS broadcast is sent to the
default scorer with any unscored networks, which responds by calling
updateScores() with scores for those networks. An app may also check
whether they are currently the default scorer with
getDefaultScorerPackage() and request to become the default via the
ACTION_CHANGE_DEFAULT broadcast.

Bug: 13786258
Change-Id: Id3dc0f7c1109f0e3afd73356e2475b7f34167419
ontext.java
ec6676ddf682e22dfb56aa54359c9480dfa661d3 16-Apr-2014 Deepanshu Gupta <deepanshu@google.com> am 86384880: am f1e71876: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '863848808d005fe1d2fd84a2982adfc02a3fbb9f':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
863848808d005fe1d2fd84a2982adfc02a3fbb9f 16-Apr-2014 Deepanshu Gupta <deepanshu@google.com> am f1e71876: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit 'f1e7187645f0b0388f7b97d742395efd228b347a':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
f1e7187645f0b0388f7b97d742395efd228b347a 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib [DO NOT MERGE]

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
(cherry picked from commit bfec73c2db5a34ced248213edf5519c80727a65f)

Conflicts:
core/java/android/content/res/Resources.java
tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
es/Resources.java
9187e40b16b60b7d4ea62b0607b16089161cad09 16-Apr-2014 Christopher Tate <ctate@google.com> Merge "Don't crash if a null key is passed for verification/parsing"
99f7e125b091f494eb1cff5fd43e035c7b20ada4 16-Apr-2014 Todd Poynor <toddpoynor@google.com> Context: fixup wrong Javadoc link for BatteryManager

Change-Id: I3dec0a359185fd9bfc78d98f8232ff64e6a784dd
ontext.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
ontext.java
3014733c8c10de1875de98922e03698416f94e7a 15-Apr-2014 Christopher Tate <ctate@google.com> Don't crash if a null key is passed for verification/parsing

Change-Id: I77c496d9d86d2831a4166a924afe1493aa0ac0ce
m/PackageParser.java
68b9d97593d2ec79892813ab06f1b89c41de64b0 11-Apr-2014 Jose Lima <joselima@google.com> am 9e99cab7: am 970417c7: Added getLeanbackLaunchIntentForPackage()

* commit '9e99cab7d9a0ec2315140c21bb1958eb7ff76a09':
Added getLeanbackLaunchIntentForPackage()
9e99cab7d9a0ec2315140c21bb1958eb7ff76a09 11-Apr-2014 Jose Lima <joselima@google.com> am 970417c7: Added getLeanbackLaunchIntentForPackage()

* commit '970417c7d3e33ccbd6918e28d9bc5da24651f5b3':
Added getLeanbackLaunchIntentForPackage()
970417c7d3e33ccbd6918e28d9bc5da24651f5b3 10-Apr-2014 Jose Lima <joselima@google.com> Added getLeanbackLaunchIntentForPackage()

Change-Id: I23be3bfa59be812a915adc37e08fdf59be8ad90f
m/PackageManager.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
ntent.java
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
m/ApplicationInfo.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>
m/PackageManager.java
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
m/LauncherApps.java
5784b39843bd3d6112352ff3b736a6498107911c 09-Apr-2014 Amith Yamasani <yamasani@google.com> Merge "Launcher APIs and broadcasts for managed profiles"
3957091ba8f08c02b5e781098cb955a5f697a1ff 21-Feb-2014 Jae Seo <jaeseo@google.com> Initial round of Television Input Framework

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

Change-Id: I6866d28e78175a1bff2c32a85c5d77e94d0cd60c
ontext.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
ontext.java
m/ILauncherApps.aidl
m/IOnAppsChangedListener.aidl
m/LauncherActivityInfo.java
m/LauncherApps.java
e9abc279fd0e1cd3a7c0bfb878c9b5ae22840b9b 08-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Fix theme/style resolution in Layoutlib"
45849beb3bd0d9f4494bdcce919dcf995bcb881b 07-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Merge "Introduces intents for adding and removing a managed profile."
c17d7e0d6470e1141314c00e4a1ea66cf21643af 04-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Introduces intents for adding and removing a managed profile.

Change-Id: I6b8b7a314ea52bfd0c750da94066156e73a0f2f5
ntent.java
bfec73c2db5a34ced248213edf5519c80727a65f 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
es/Resources.java
0a0454fdcc7aeac6e57f9466da8f39bcf5f3f6ec 04-Apr-2014 John Spurlock <jspurlock@google.com> am 642421aa: am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev

* commit '642421aa7f284817cc1a972a7f9c7a64696a0116':
Introduce new UI_MODE_TYPE_WATCH and qualifier.
642421aa7f284817cc1a972a7f9c7a64696a0116 04-Apr-2014 John Spurlock <jspurlock@google.com> am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev

* commit '5c31e487c4577e1c47ee7c949325d6a13f0d462e':
Introduce new UI_MODE_TYPE_WATCH and qualifier.
5c31e487c4577e1c47ee7c949325d6a13f0d462e 04-Apr-2014 John Spurlock <jspurlock@google.com> Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev
6c191299a73388cd593809c0b66bafbd08fd2982 03-Apr-2014 John Spurlock <jspurlock@google.com> Introduce new UI_MODE_TYPE_WATCH and qualifier.

Default ui mode to watch if we have FEATURE_WATCH.

Bug:13395758
Change-Id: Ie5ff95de60e69e91ad3612c7d2f1fca7f49061bd
es/Configuration.java
1e9b3f645e72d28073ef1c5dffde33aeec9f0c4b 04-Apr-2014 Ricardo Cervera <rcervera@google.com> am 8f81d295: am d10b6543: am 5df82523: am ff3d89c0: Merge "docs: Added permissions note for Context.getFilesDir. Bug: 13716053" into klp-docs

* commit '8f81d29558bb0c97187d5ae3a7ee696ec13b264a':
docs: Added permissions note for Context.getFilesDir. Bug: 13716053
8f81d29558bb0c97187d5ae3a7ee696ec13b264a 04-Apr-2014 Ricardo Cervera <rcervera@google.com> am d10b6543: am 5df82523: am ff3d89c0: Merge "docs: Added permissions note for Context.getFilesDir. Bug: 13716053" into klp-docs

* commit 'd10b65431547d66b41e4e282e9261453bb0658ff':
docs: Added permissions note for Context.getFilesDir. Bug: 13716053
d10b65431547d66b41e4e282e9261453bb0658ff 04-Apr-2014 Ricardo Cervera <rcervera@google.com> am 5df82523: am ff3d89c0: Merge "docs: Added permissions note for Context.getFilesDir. Bug: 13716053" into klp-docs

* commit '5df825237afd016c48dd3577d839825e5161d3e7':
docs: Added permissions note for Context.getFilesDir. Bug: 13716053
90a5f9851ad778a7ce8e06b20f137d2d47e829e6 04-Apr-2014 Ricardo Cervera <rcervera@google.com> docs: Added permissions note for Context.getFilesDir. Bug: 13716053

Change-Id: I02e17c358630ab298bb99731723405cdeae701fc
ontext.java
d423986e68d76958441c3bec1584a86f7f390988 04-Apr-2014 Adam Connors <adamconnors@google.com> Merge "Add android.software.managedprofiles feature flag."
4cfa8dc77ad0d74b214477ba5be28632fb3ff031 03-Apr-2014 Craig Mautner <cmautner@google.com> Add the persistable attribute for Activities

This is used for documents to allow them to be persisted across
reboots.

Fixes bug 13735406.

Change-Id: I5655ac99589d58ed5716429cf7a1ffeee677aee1
m/ActivityInfo.java
m/PackageParser.java
b325345ef0adf2849350d339de1ec5f92b67b7ae 03-Apr-2014 Alan Viverette <alanv@google.com> Merge "Switch framework Holo references to Quantum.Light"
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
m/UserInfo.java
6259933ec99dee566f200c5fdfe1756ee72b1513 01-Apr-2014 Alan Viverette <alanv@google.com> Switch framework Holo references to Quantum.Light

Change-Id: Ib545a143f1959b6104adbc9d594dd626851d90b3
es/Resources.java
23cc04e598cfb1c7f10e3fab05b188a8738edb35 01-Apr-2014 Adam Connors <adamconnors@google.com> Add android.software.managedprofiles feature flag.

Change-Id: I108d2952996d3a74596337ee2294fb33f1e28ee4
m/PackageManager.java
53ab5174d5009786dc58da3011181b77e325c130 31-Mar-2014 Adrian Roos <roosa@google.com> Merge "Define trust agent framework components"
82142c21dd333307682d5f4bb09de3ab3ccfa06c 27-Mar-2014 Adrian Roos <roosa@google.com> Define trust agent framework components

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

Bug: 13723878
Change-Id: I7d0d2ea86fd755702d31aa5d49cac038a6cd4301
ontext.java
883e04b3c9ec3e3e976661c7accfc530c2d0e21e 31-Mar-2014 Alan Viverette <alanv@google.com> Merge "Remove unthemed drawable cache, since canApplyTheme != isThemed"
93627ac86c3805aaf545501b586bbca4fbc259e9 28-Mar-2014 Yuhao Zheng <yuhaozheng@google.com> Merge "Wifi hotspot stack initial hook up"
351f0c1d26999af7b86f9e0c7eca707121739ee0 28-Mar-2014 Alan Viverette <alanv@google.com> Remove unthemed drawable cache, since canApplyTheme != isThemed

Change-Id: I460673bfa491e67ea239f8ebb03898a0633e7565
es/Resources.java
6c3051c4224e72e58e217d9080c9ce3599ff5740 28-Mar-2014 Dan Sandler <dsandler@android.com> Merge "Introduce CATEGORY_NOTIFICATION_PREFERENCES."
7c495dcd11d64f1630bd1ebaa9259508c1175621 27-Mar-2014 Alan Viverette <alanv@google.com> Merge "Enforce restrictions on recycled TypedArrays"
fd274a0d4ab5a6777213fecb8ddf6e8099675283 27-Mar-2014 Alan Viverette <alanv@google.com> Enforce restrictions on recycled TypedArrays

No calls may be made to recycled TypedArrays, and we'll throw a
detailed exception if developers attempt to do so. Also fixes the
place where we were doin' it wrong.

BUG: 13673783
Change-Id: Ia7a382d90fce8aef7741d926028b2d01b57435ae
m/PackageParser.java
es/TypedArray.java
f1977b4500e82b72ea6aa5c46d97406a20017caf 25-Mar-2014 Christopher Tate <ctate@google.com> Expand install observer semantics

...and now fail conservatively when two apps both attempt to define
the same permission. Apps signed with the same certificate are
permitted to redefine permissions.

We also finally have a (hidden) interface class for observing package
installation so that we can now rev the interface without breaking
existing callers.

Bug 13551375

Change-Id: Ifa4e59154dcccbb286ee46a35a6f25e4ad0f0f01
m/IPackageInstallObserver2.aidl
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
776abc24cdd18610232a50b997cce3cffa74609b 07-Mar-2014 Adam Lesinski <adamlesinski@google.com> Uses VMRuntime.newUnpaddedArray for ideal array sizes

Bug:13028925

Change-Id: I0a9301248b10a339afbdc5e4ffe3310ac4fa1fb7
es/ColorStateList.java
a55734aaed35bc15dd604d9364b1aec4f191cb7a 26-Mar-2014 Dan Sandler <dsandler@android.com> Introduce CATEGORY_NOTIFICATION_PREFERENCES.

Allows applications to advertise to the system an Activity
where the user can configure the app's notifications. Will
be used by the Settings app.

Change-Id: Iafe7de79e20046d5655fda3f3a3cba9f5db059c4
ntent.java
79867f598108e8c3f088bd69d3f042d72a3d8655 26-Mar-2014 Matt Casey <mrcasey@google.com> Update doc for ACTION_HEADSET_PLUG to mention explicit register.

Copied the documentation from other similar actions that have the
same behavior.

AudioService.java has
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
for this action.

Change-Id: I79736f8146bd6b72d01034be428e83b5841c73fa
ntent.java
1ee4eb074c2d85148658e93e865a18834bdced72 26-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Revert "Expand install observer semantics""
7629a18a3f190368e6268d3f2827824905683268 26-Mar-2014 Glenn Kasten <gkasten@google.com> Revert "Expand install observer semantics"

This reverts commit ab8a501f255b272af887acb0e66eb71cdf24c755.

Change-Id: I4ab4ae1a96efa2adf9d5a513793d8b84eef38b4e
m/IPackageInstallObserver2.aidl
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
460572b22fe8fe5880ad099090b38765e2f8a2f6 26-Mar-2014 Alan Viverette <alanv@google.com> Merge "Fix attribute extraction, use color attrs in Quantum drawables"
1cd4612cc04ee715a916de3c437fc52d76d166cb 26-Mar-2014 Alan Viverette <alanv@google.com> Fix attribute extraction, use color attrs in Quantum drawables

Removes some unused entries in the Quantum themes and styles and
collapses identical styles since we don't have separate drawables
anymore. Adds some Quantum text appearances as styles.

BUG: 12368046
Change-Id: I9334feb87391cd54ad3b77b297d135de436e1417
es/TypedArray.java
9067dc03ffc76c5210d26d5a53a211eff046d412 26-Mar-2014 Christopher Tate <ctate@google.com> Merge "Expand install observer semantics"
ab8a501f255b272af887acb0e66eb71cdf24c755 25-Mar-2014 Christopher Tate <ctate@google.com> Expand install observer semantics

...and now fail conservatively when two apps both attempt to define
the same permission.

We also finally have a (hidden) interface class for observing package
installation so that we can now rev the interface without breaking
existing callers.

Bug 13551375

Change-Id: I3a286d024a30e812ee4b098f345401df3c00e178
m/IPackageInstallObserver2.aidl
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
10bf6354a536152719bf4524429aa5739836c541 25-Mar-2014 Yuhao Zheng <yuhaozheng@google.com> Wifi hotspot stack initial hook up

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

bug: 5485670
Change-Id: Ica58de445dd050a9f0b817f8e4accaa2478299c5
ontext.java
de898ff42912bd7ca1bfb099cd439562496765a4 30-Jan-2014 Adam Lesinski <adamlesinski@google.com> Shared library resource support

Shared libraries can now export resources for applications
to use.

Exporting resources works the same way the framework exports
resources, by defining the public symbols in res/values/public.xml.

Building a shared library requires aapt to be invoked with the
--shared-lib option. Shared libraries will be assigned a package
ID of 0x00 at build-time. At runtime, all loaded shared libraries
will be assigned a new package ID.

Currently, shared libraries should not import other shared libraries,
as those dependencies will not be loaded at runtime.

At runtime, reflection is used to update the package ID of resource
symbols in the shared library's R class file. The package name of
the R class file is assumed to be the same as the shared library's
package name declared in its manifest. This will be customizable in
a future commit.

See /tests/SharedLibrary/ for examples of a shared library and its
client.

Bug:12724178
Change-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7
es/AssetManager.java
es/TypedArray.java
es/XmlBlock.java
9bbbee116e5d480c56676686b96e86e2ef7d83ca 25-Mar-2014 Alan Viverette <alanv@google.com> Merge "Implement APIs for obtaining, caching themed Drawables"
52b999f0721b53e9c6e18a4bd664e89aeb65b2d5 25-Mar-2014 Alan Viverette <alanv@google.com> Implement APIs for obtaining, caching themed Drawables

When Drawables are inflated during preload (or otherwise without a theme)
they cache their themeable attributes in their constant state as an array
keyed on attribute index. Drawables inflated with a theme will simply
resolve theme attributes as part of normal inflation, and they will not
cache any themeable attributes.

Drawables obtained from Resources are pulled from theme-specific cache
when possible. If an unthemed Drawable exists in the preload cache, a
new constant state will be obtained for the Drawable and the theme will
be applied by resolving the cached themeable attributes and overwriting
their respective constant state properties. If no cached version exists,
a new Drawable is inflated against the desired theme.

Constant states from themed drawables may be cached if the applied theme
is "pure" and was loaded from a style resource without any subsequent
modifications.

This CL does not handle applying themes to several Drawable types, but it
fully supports BitmapDrawable, GradientDrawable, NinePatchDrawable,
ColorDrawable, and TouchFeedbackDrawable.

BUG: 12611005
Change-Id: I4e794fbb62f7a371715f4ebdf946ee5f9a5ad1c9
es/AssetManager.java
es/Resources.java
es/TypedArray.java
e9118138402b5631e7bea74b1b8b5cbfe24ca097 24-Mar-2014 Jose Lima <joselima@google.com> resolved conflicts for merge of 6c45157c to master

Change-Id: I95d7f927f4321405318b44a21172b99f3f16e00a
1c855178e497f7ba788dadb87167f1e6735d10cb 24-Mar-2014 Jinsuk Kim <jinsukkim@google.com> am 775a097f: am 3c34e5db: am c01e1aeb: Merge "Add HdmiCecManager" into klp-modular-dev

* commit '775a097f01a349548d2124ae9d7dd562c72eaa27':
Add HdmiCecManager
d13d701681220cdcb61b5a62669e88bb77d156aa 24-Mar-2014 Jose Lima <joselima@google.com> am eb2c85df: Merge "Added isGame application tag to the manifest" into klp-modular-dev

* commit 'eb2c85df4b2d8ea5dd3cd08cb0367d5ff666afe6':
Added isGame application tag to the manifest
eb2c85df4b2d8ea5dd3cd08cb0367d5ff666afe6 24-Mar-2014 Jose Lima <joselima@google.com> Merge "Added isGame application tag to the manifest" into klp-modular-dev
3c34e5dbbb99d3d66f71eea5db6e001cc5495263 24-Mar-2014 Jinsuk Kim <jinsukkim@google.com> am c01e1aeb: Merge "Add HdmiCecManager" into klp-modular-dev

* commit 'c01e1aeb0d86bd626684c97d709d4a8e995fddfb':
Add HdmiCecManager
fbcd503645d9527fd7c700b3e4e8f170c46a7eba 21-Mar-2014 Jinsuk Kim <jinsukkim@google.com> Add HdmiCecManager

Introduces HdmiCecManager/HdmiCecClient to provide apps/system components
with the way to access HdmiCecService via Context.getSystemService(HDMI_CEC_SERVICE).

Change-Id: I39da071a328074a4b7b049947943688bd7779c26
ontext.java
12d0b4cd960e18493b1dc237adbfabed432c9df5 15-Mar-2014 Jose Lima <joselima@google.com> Added isGame application tag to the manifest

Added the ability to flag applications as Games in the manifest,
so they can receive a different treatment in the UI.

Change-Id: I4c36bc1a96757030fad58ee050cd68491b31bb6c
m/ApplicationInfo.java
m/PackageParser.java
f0f94d129b6eb3c48624e915898d86d4f2de59ff 18-Mar-2014 Dianne Hackborn <hackbod@google.com> Treat IME processes as hosting activities

When we stop using an IME process, we still treat that
process as if it is hosting activities (in the activity part
of the LRU list), to try to keep it around. This is intended
to help the experience of switching between IMEs, reducing
the chance of your previous IME process being killed and thus
requiring much more time to switch.

Change-Id: Ie5793fd9b40d980fa18f80246326511ed6ae0597
ontext.java
421a1dd197a78b014cb9a899a75c0fa43510a59a 14-Mar-2014 Craig Mautner <cmautner@google.com> Merge "Launch new tasks with Doc Centric flag."
d00f47402cb886a43a3448128bdcd9dd2f348a2a 12-Mar-2014 Craig Mautner <cmautner@google.com> Launch new tasks with Doc Centric flag.

Introduction of new Intent flag FLAG_ACTIVITY_NEW_DOCUMENT. When
this flag is set the target activity will be launched in its own
task. This is the start of the new Doc Centric mode of working.

Change-Id: I719168532134ab2c5ea3300df676c2b2a0e81795
ntent.java
9b18001ab53c8c78aee0647983adf3ad8a1ee97c 14-Mar-2014 Tim Kilbourn <tkilbourn@google.com> am ec033943: am 9873e099: am 55740325: Merge "Add leanback device features." into klp-modular-dev

* commit 'ec0339437869ebb42a67a2811dc6de31239d5d62':
Add leanback device features.
9873e099c32513cdb28c3ffb8c2306ad87f0b052 14-Mar-2014 Tim Kilbourn <tkilbourn@google.com> am 55740325: Merge "Add leanback device features." into klp-modular-dev

* commit '557403250b9accf4f17ab87f636f1722949960a3':
Add leanback device features.
5e0e7b56a98ecf8e13100b4b6c7e2c2a64c3d938 14-Mar-2014 Christopher Tate <ctate@google.com> Merge "Make RegisteredServicesCache understand ASEC-based updates"
92703e62c1dc88a410a32b05c2d44f391c193140 14-Mar-2014 Jose Lima <joselima@google.com> resolved conflicts for merge of 4882ddfa to master

Change-Id: I179899697c148ac34a67b195e2dbd3df2f9138de
f94b6a93a4afa910f4ee4869f001183f7b4c1de7 08-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Add leanback device features.

android.software.leanback - the device supports leanback UIs.
android.software.leanback_only - the device ONLY supports leanback UIs.

leanback_only is a hidden feature for now.

Change-Id: I497bd96464125ad81212c804e150f210f3e95af2
m/PackageManager.java
53ac5ef2141c7e7d99d5c00195bc65e86e7fc403 13-Mar-2014 Jose Lima <joselima@google.com> am 91726f4e: Merge "Add banner attribute to app manifest" into klp-modular-dev

* commit '91726f4ea7b60025490209ccb2637d712e8d75fd':
Add banner attribute to app manifest
932d98a0137bdf7093839a1c24994172cde97791 13-Mar-2014 Jeff Brown <jeffbrown@android.com> am 33282d66: am a41ddccd: Merge "Fixed typo errors in documentation"

* commit '33282d66155e8d68acea512989ec61cb15fae1ce':
Fixed typo errors in documentation
f78e312db2aa7653ddc021e7dc58ce48f95ba047 06-Mar-2014 Jose Lima <joselima@google.com> Add banner attribute to app manifest

Change-Id: I28b0dc6dee9623ec7534bb0e741b88f439b48c9f
m/ComponentInfo.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
0598d7075ed739c9fcf115b4f3a417483ee32f84 12-Mar-2014 Christopher Tate <ctate@google.com> Make RegisteredServicesCache understand ASEC-based updates

Specifically, when the ASEC container has been unmounted as part
of updating the app we mustn't immediately conclude that any
services hosted there have become invalid until after we see the
matching remount result and have a chance to re-evaluate in the
proper new state.

Bug 12422464

Change-Id: I27794c6e4348f6a72d64bd2f44b4da7938cc567b
m/RegisteredServicesCache.java
9d50ea90f7072a7fa87d022663f2d25b906ed2ad 12-Mar-2014 Jose Lima <joselima@google.com> am c770e064: am dd0db799: am 5f0c0498: Merge "Added LEANBACK_LAUNCHER Intent category" into klp-modular-dev

* commit 'c770e064effb79c33472f54652bd95aa14a8d6ec':
Added LEANBACK_LAUNCHER Intent category
dd0db799ee25833a8989a823299f039ac31fef58 11-Mar-2014 Jose Lima <joselima@google.com> am 5f0c0498: Merge "Added LEANBACK_LAUNCHER Intent category" into klp-modular-dev

* commit '5f0c0498a1382ef955cccca95920ec878fe2a64c':
Added LEANBACK_LAUNCHER Intent category
59ed568fa5f723588de8ed0e2309b5d309931a2d 11-Mar-2014 Narayan Kamath <narayan@google.com> am cd4874cf: am d265bcc4: Merge "Inform libcore of time format pref. changes."

* commit 'cd4874cfdc00d17454529b5dca85a487c7c2de77':
Inform libcore of time format pref. changes.
9a25b94430905d512add055deac34bfa103bbd4e 11-Mar-2014 Narayan Kamath <narayan@google.com> am f61add84: am 2000fe58: Merge "Make getAssetInt throw unconditionally."

* commit 'f61add84c28be06c190d5594a41a7ef84b7666fe':
Make getAssetInt throw unconditionally.
38b75b6126de76b68ac64cfa15f559148ba85e76 11-Mar-2014 Jose Lima <joselima@google.com> Added LEANBACK_LAUNCHER Intent category

Change-Id: I4f5ccfa9725106f558972c73abbe3f9435267c75
ntent.java
e769cdf017bb5a8e45648ef1bdd657f5320b2691 11-Mar-2014 Jeff Brown <jeffbrown@android.com> am 1491aaf5: am 14006523: am 33282d66: am a41ddccd: Merge "Fixed typo errors in documentation"

* commit '1491aaf503de47491bc97457c77bb51c0320793e':
Fixed typo errors in documentation
140065230900b465f85f64c5da5181d124076e1d 11-Mar-2014 Jeff Brown <jeffbrown@android.com> am 33282d66: am a41ddccd: Merge "Fixed typo errors in documentation"

* commit '33282d66155e8d68acea512989ec61cb15fae1ce':
Fixed typo errors in documentation
a41ddccdc67ace7c9363efebbf6e51710928ce12 11-Mar-2014 Jeff Brown <jeffbrown@android.com> Merge "Fixed typo errors in documentation"
be59a211644d17b00bc24b3359f5ffc8723a4be0 08-Mar-2014 Elliott Hughes <enh@google.com> am 29d60b95: am 8d41e653: Merge "Miscellaneous small documentation fixes."

* commit '29d60b95fa8019c0542f46551057c4d376bb8a7a':
Miscellaneous small documentation fixes.
d5b9bcb60d7d20e3e32edcef7d9b235e0ccccf82 07-Mar-2014 Narayan Kamath <narayan@google.com> am 28879bbf: am be57fca4: Merge "Extended locales in AAPT / AssetManager."

* commit '28879bbfe89dc4bf2067a7183975ecffb82f68e6':
Extended locales in AAPT / AssetManager.
ca35c18a374c143831cc282987c762507c0ffc34 07-Mar-2014 Narayan Kamath <narayan@google.com> am cd4874cf: am d265bcc4: Merge "Inform libcore of time format pref. changes."

* commit 'cd4874cfdc00d17454529b5dca85a487c7c2de77':
Inform libcore of time format pref. changes.
2d171a5bce5592adc391a95c2939d05f72906b7e 07-Mar-2014 Jorim Jaggi <jjaggi@google.com> Merge "Change appearance of notifications to light theme."
ccb2a086fe0de77a4e3277454cb4a66f8e7dc57d 19-Dec-2013 Narayan Kamath <narayan@google.com> Inform libcore of time format pref. changes.

- Introduce a boolean extra for intent TIME_CHANGED that
specifies if the user wants a 24 hour format or not.
- Have the ActivityManagerService inform running processes
of changes to this preference.
- Add plumbing in ActivityThread to inform j.t.DateFormat

(cherry-picked from dd491cc756233c088fd26eba4918671fcc9cfc30)

Change-Id: Ib90636bda4bc8332cfa22def831877b524b5c486
ntent.java
27ad525c7e91bde38d6c9e3e67ab38b97eb7eed0 19-Dec-2013 Narayan Kamath <narayan@google.com> Inform libcore of time format pref. changes.

- Introduce a boolean extra for intent TIME_CHANGED that
specifies if the user wants a 24 hour format or not.
- Have the ActivityManagerService inform running processes
of changes to this preference.
- Add plumbing in ActivityThread to inform j.t.DateFormat

Change-Id: I05fafb903ae54e39c03a048b7a219dc5a93fd472
ntent.java
39fa59fc4907d3c8faad41bf20e1f855dbcda5e6 25-Feb-2014 Jorim Jaggi <jjaggi@google.com> Change appearance of notifications to light theme.

Change-Id: Ic15e96582d6b46b4dc195b1c7c0cef38f25f0d38
es/ColorStateList.java
c1349a9601b0d48eab74ef6a40026c086dfd90fd 07-Mar-2014 Dianne Hackborn <hackbod@android.com> am 4ad93639: am 67754d93: Merge "Runtime resource overlay, iteration 2"

* commit '4ad93639d210297764db3ffcd870ff38464943de':
Runtime resource overlay, iteration 2
ad7c2c2d8d8fa38d56a61aedb4ce158cb69a2d01 07-Mar-2014 Narayan Kamath <narayan@google.com> am 77a1986c: am 49b7ba4d: Merge "AArch64: Make AssetManager and related classes 64-bit compatible"

* commit '77a1986c69760583f05eabbf7dac7c25dd8b7e7b':
AArch64: Make AssetManager and related classes 64-bit compatible
21fc8ba39c4799a346caf95218d2bd60ee42ca1a 05-Mar-2014 Narayan Kamath <narayan@google.com> Support deprecated language codes.

Locale.toLanguageTag will transform the obsolete (and
deprecated) language codes "in", "ji" and "iw" to
"id", "yi" and "he" respectively.

All versions of android prior to "L" used the deprecated
language tags, so we will need to support them for backwards
compatibility.

bug: 13230947

Change-Id: Ib63567786bcbe780ceb0487d8f583b75a5452aea
es/Resources.java
9abfa111a37689f6b0374286513ffd2a995d82eb 03-Mar-2014 John Spurlock <jspurlock@google.com> am 388eece1: am d708b2f1: am e3a6a7b4: am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.

* commit '388eece1eae65d460d1cd29afe1ac9df79bf2885':
Doc fixups to ContentResolver, MediaRouter.
d708b2f12bb8e85e34ac28d3d905e9701a554cfd 03-Mar-2014 John Spurlock <jspurlock@google.com> am e3a6a7b4: am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.

* commit 'e3a6a7b4693e6efd29f973c8cfe91f5778f847f4':
Doc fixups to ContentResolver, MediaRouter.
e3a6a7b4693e6efd29f973c8cfe91f5778f847f4 03-Mar-2014 John Spurlock <jspurlock@google.com> am 841aa8db: am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.

* commit '841aa8db20d09d80cd71ef2ed8eaebd4ebccfcc5':
Doc fixups to ContentResolver, MediaRouter.
841aa8db20d09d80cd71ef2ed8eaebd4ebccfcc5 03-Mar-2014 John Spurlock <jspurlock@google.com> am 5237a792: am 8c44c394: Doc fixups to ContentResolver, MediaRouter.

* commit '5237a792aabaa49063b15cefa26f0341ea9cd311':
Doc fixups to ContentResolver, MediaRouter.
5237a792aabaa49063b15cefa26f0341ea9cd311 03-Mar-2014 John Spurlock <jspurlock@google.com> am 8c44c394: Doc fixups to ContentResolver, MediaRouter.

* commit '8c44c394bf82a9a8b30bef32ddf46aeed31d8ae4':
Doc fixups to ContentResolver, MediaRouter.
8c44c394bf82a9a8b30bef32ddf46aeed31d8ae4 03-Mar-2014 John Spurlock <jspurlock@google.com> Doc fixups to ContentResolver, MediaRouter.

Change-Id: Ie821f971adf8fbbbbb6347713ae658e421d81cb8
ontentResolver.java
a393735a5d637d211713b2b580bdd16f8eba2f7d 27-Feb-2014 Narayan Kamath <narayan@google.com> am 2589067d: am 9fc8e6fe: am f61add84: am 2000fe58: Merge "Make getAssetInt throw unconditionally."

* commit '2589067d10b5f6a67eb1f789b4cf5943914dd9d2':
Make getAssetInt throw unconditionally.
9fc8e6fe8f6c89f5ebcda4b569cab10988e1fa3f 27-Feb-2014 Narayan Kamath <narayan@google.com> am f61add84: am 2000fe58: Merge "Make getAssetInt throw unconditionally."

* commit 'f61add84c28be06c190d5594a41a7ef84b7666fe':
Make getAssetInt throw unconditionally.
8fb4cf1ef4ca3b3c5ea1897cc1a4f9f5dc454877 26-Feb-2014 RoboErik <epastern@google.com> Merge "Move Session apis to android.media.session"
2f5b057da7d05d5d699a272aa24fd7c97cdda820 21-Feb-2014 RoboErik <epastern@google.com> Move Session apis to android.media.session

This is to make it easier to distinguish the new apis from the old
ones.

Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
ontext.java
2d19d202bdf6c16b8e01b73f3a742b2670bff907 25-Feb-2014 Narayan Kamath <narayan@google.com> Make getAssetInt throw unconditionally.

All callers have been moved over to getNativeAsset, and
this method has been hidden from the public API internally.

Change-Id: I5f29b5ddb4449adadf426e49a4085c7320289a15
es/AssetManager.java
e21c52a8c9ef27c348f784daa8ec384152c3264e 25-Feb-2014 Kenny Guy <kennyguy@google.com> Merge "Hide managed profiles from user switchers."
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
m/UserInfo.java
531270a4a177a9f245d328d9467c6d1adbd5354a 14-Feb-2014 Nicolas Prevot <nprevot@google.com> Adding the requiredForProfile flag.

Enabling to use requiredForProfile in application manifests
It determines which applications will be installed for managed profiles
and for restricted profiles

Change-Id: I14b4de2c9f41c2bbf5cd9fd0ca6caf5ce2d04131
m/PackageInfo.java
m/PackageParser.java
627de95925b58e7602374a66ceba76200592ec11 24-Feb-2014 Sander Alewijnse <salewijnse@google.com> Merge "Enables a profile owner or device owner to set and clear default intent handler activities."
cc3f33853b8ea5ce56ebfb14fdc3c000a45e0d78 23-Feb-2014 Alan Viverette <alanv@google.com> Allow alpha modulation in ColorStateList items

This makes it much easier to define a disabled state color as an alpha
modulation of some base color.

Change-Id: Ie2ecf40b1f6560fcd8eda208d780616dddfc0d08
es/ColorStateList.java
449e46600f75a21975ceb1c991f768f833ed7fbf 21-Feb-2014 Elliott Hughes <enh@google.com> am 0047d3e0: am e253b514: am 29d60b95: am 8d41e653: Merge "Miscellaneous small documentation fixes."

* commit '0047d3e025b43fd2dc05734f7ea6229291445046':
Miscellaneous small documentation fixes.
e253b514f4ef74a23c784d2cd893eb035d1c793f 21-Feb-2014 Elliott Hughes <enh@google.com> am 29d60b95: am 8d41e653: Merge "Miscellaneous small documentation fixes."

* commit '29d60b95fa8019c0542f46551057c4d376bb8a7a':
Miscellaneous small documentation fixes.
8d41e653bae240488281d430309e2d501e9524e5 21-Feb-2014 Elliott Hughes <enh@google.com> Merge "Miscellaneous small documentation fixes."
f475ca33d9232785710aaa438f17915029dfa83b 17-Feb-2014 Sander Alewijnse <salewijnse@google.com> Enables a profile owner or device owner to set and clear default intent handler activities.

Those intent handlers are persistent preferences. They will remain the default intent
handler even if the set of potential event handlers for the intent filter changes
and if the intent preferences are reset.

Change-Id: Id0cfae46f93c10d89e441f272096a205ec518dd0
m/IPackageManager.aidl
59270bffe51de6c9c1ba9e88a6fd5215b717b25c 21-Feb-2014 Matt Casey <mrcasey@google.com> Merge "Add more MediaStore constants for playback intents"
bd7bcf0fba1a991e80ea279b090aa584707fdabf 06-Feb-2014 Matt Casey <mrcasey@google.com> Add more MediaStore constants for playback intents

Constants are derived from this doc:
https://docs.google.com/a/google.com/document/d/1lmlFcTeefLDRp_bpMrXk3yK9nKxoTVfpcShanpLxiMg/edit#heading=h.b16863tyyjzv

That doc contains the full explanation of these changes.

I'm making this change on behalf of {elmas,pengr} who don't have
android source access but designed this in collaboration with
rharagutchi on the play music team. I'll probably have to route any
significant questions through them.

Bug: 12874557
Change-Id: I85a4bee57a2bde519da0dc6de2cad9d036da225c
ontentResolver.java
0be0a5039b60ae4c1c8c0b6a1a2c0e7400d372d5 21-Feb-2014 Justin Koh <justinkoh@google.com> am 7206ac56: am a79ac472: am 744d3473: Merge "Add hardware feature describing a watch." into klp-modular-dev

* commit '7206ac561291298f08809614be95963966a72ca8':
Add hardware feature describing a watch.
a79ac472d71de6d13f3561012ca0e870bd9fe04b 20-Feb-2014 Justin Koh <justinkoh@google.com> am 744d3473: Merge "Add hardware feature describing a watch." into klp-modular-dev

* commit '744d3473f8a0f9f95e3fdf83670faf6d1551839e':
Add hardware feature describing a watch.
332886854438809e956fb232b69879e33b5dc2bb 20-Feb-2014 RoboErik <epastern@google.com> Merge "Initial round of MediaSession APIs"
01fe661ae5da3739215d93922412df4b24c859a2 13-Feb-2014 RoboErik <epastern@google.com> Initial round of MediaSession APIs

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

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
ontext.java
b5731f091c711a617e24ceb04cd7a1cc4ef1f717 14-Feb-2014 Justin Koh <justinkoh@google.com> Add hardware feature describing a watch.

Add hardware feature describing a watch so that hardware can specify that
it is a device that is worn on the body (perhaps the wrist).

Change-Id: I9d4cb7e86067f6ad41b39bcc545222b3b0fbf890
m/PackageManager.java
5441745effb885589c03050b59885e8a3ad96ad6 19-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 019b1f26: am 2ea983a5: am 3d9bcb90: Create FEATURE_ constants for print and backup

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

* commit '3d9bcb90ee6c0ffff93642539ae64fb672c7f14a':
Create FEATURE_ constants for print and backup
3d9bcb90ee6c0ffff93642539ae64fb672c7f14a 18-Feb-2014 Adam Lesinski <adamlesinski@google.com> Create FEATURE_ constants for print and backup

Bug:13079822

Change-Id: I6f4b759951d45989e8aad4011fae431ee2ecae0c
m/PackageManager.java
857ba4af8519479298a671461cd6f5cace35b99b 15-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Fix layoutlib by avoiding Java7 calls

This change also fixes a NPE in TypedArray caused by changes in the
framework.

Change-Id: Ie64237c567fa16c35c807db22ce9a4b609ee411d
es/Resources.java
8c1fc83445f8dce7e6d0789feeed8bf98d33bf01 17-Feb-2014 Narayan Kamath <narayan@google.com> am 28879bbf: am be57fca4: Merge "Extended locales in AAPT / AssetManager."

* commit '28879bbfe89dc4bf2067a7183975ecffb82f68e6':
Extended locales in AAPT / AssetManager.
788fa41482b9d398591b7db8b0b01839029611ad 21-Jan-2014 Narayan Kamath <narayan@google.com> Extended locales in AAPT / AssetManager.

Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

(cherry-picked from commit 91447d88f2bdf9c2bf8d1a53570efef6172fba74)

Change-Id: I1b43086860661012f949fb8e5deb7df44519b854
es/Resources.java
d5c8044e7e1f1402fdd4a035690329294ab07b33 12-Feb-2014 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 1cbea39f to master

Change-Id: Ib33484546c6a03cbc4cd96e97d9d785d68e10700
dd3d95f182a634acdcc1b1e8e4954234d048eb54 12-Feb-2014 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 4ad93639 to klp-modular-dev-plus-aosp

Change-Id: I7ad222301ec0b863d48a1a9a839469436c385ea0
826e51c4da2beac50c0ed1e1359787a0b69c878c 11-Feb-2014 Kenny Guy <kennyguy@google.com> Merge "Add concepts of related users and managed profiles to user manager."
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
m/UserInfo.java
91447d88f2bdf9c2bf8d1a53570efef6172fba74 21-Jan-2014 Narayan Kamath <narayan@google.com> Extended locales in AAPT / AssetManager.

Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

Change-Id: I899a56a9a182ee6be52b9389d1ae59266f5482e9
es/Resources.java
8eea3ea5591e59f55cbb4f6b2b7e9363a285ced3 04-Feb-2014 Alan Viverette <alanv@google.com> Add APIs for obtaining themed Drawable from Theme, Context

BUG: 12611005
Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
ontext.java
yncActivityTooManyDeletes.java
es/Resources.java
es/TypedArray.java
48d22323ce39f9aab003dce74456889b6414af55 31-Jan-2014 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> Runtime resource overlay, iteration 2

Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

<overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
Initial AssetManager object created
+ idmap --scan creates idmaps for overlays targeting 'android', \
stores list of overlays in /data/resource-cache/overlays.list
AssetManager caches framework-res.apk
+ AssetManager caches overlay packages listed in overlays.list

Android boot
New AssetManager's ResTable acquired
AssetManager re-uses cached framework-res.apk
+ AssetManager re-uses cached 'android' overlays (if any)

App boot
ActivityThread prepares AssetManager to load app.apk
+ ActivityThread prepares AssetManager to load app overlays (if any)
New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

<overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

+------+------+- -+------+------+
| 0x01 | | ... | | 0x7f |
+------+------+- -+------+------+
| |
"android" Target package A
|
Pre-installed overlay B (priority 1)
|
Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
m/PackageInfo.java
m/PackageParser.java
es/AssetManager.java
edc4664d60af1f124d05f0a2b6ba58b837630f51 01-Feb-2014 Alan Viverette <alanv@google.com> Fix broken build in BridgeResources

Change-Id: Iec58a2acda6b9538bcb5974d3d5c45ea6e53eac5
es/Resources.java
624e98f53962377f00104a50d9fc8e3044cbcd79 31-Jan-2014 Craig Mautner <cmautner@google.com> am d5f1fcb7: am 56bf2f67: Merge "Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage" into klp-modular-dev

* commit 'd5f1fcb7a4d6cc11b727bdf79fab7693a5dd7117':
Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage
d5f1fcb7a4d6cc11b727bdf79fab7693a5dd7117 31-Jan-2014 Craig Mautner <cmautner@google.com> am 56bf2f67: Merge "Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage" into klp-modular-dev

* commit '56bf2f670c800f569fc72102e79fd555b6102677':
Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage
e1f3fa2482a00274a632384a388c7dda8c10a49f 25-Jan-2014 Craig Mautner <cmautner@google.com> Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage

Fixes bug 12592453.

Change-Id: Ib64559727d59b3433c3753f9fda88329effc7e26
ntent.java
562a6a8d834dbc7490d9580afc591f6cd521f20c 31-Jan-2014 Alan Viverette <alanv@google.com> Improve encapsulation of Resources

Change-Id: Ic408915d2695ac8906231da1d2dc127f94bdd0cc
es/Resources.java
es/TypedArray.java
90b8eaa68bda6beaf2ff886c3ed642e7050e3ff6 31-Jan-2014 Narayan Kamath <narayan@google.com> am 797b5adc: am 77a1986c: am 49b7ba4d: Merge "AArch64: Make AssetManager and related classes 64-bit compatible"

* commit '797b5adcb4ead3c687db3d9fd831dff93760dd4a':
AArch64: Make AssetManager and related classes 64-bit compatible
797b5adcb4ead3c687db3d9fd831dff93760dd4a 31-Jan-2014 Narayan Kamath <narayan@google.com> am 77a1986c: am 49b7ba4d: Merge "AArch64: Make AssetManager and related classes 64-bit compatible"

* commit '77a1986c69760583f05eabbf7dac7c25dd8b7e7b':
AArch64: Make AssetManager and related classes 64-bit compatible
896043d67d3ac75760bd99db8a1561e31ebee1e1 17-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make AssetManager and related classes 64-bit compatible

Following changes have been done:

[x] Long is used to store native pointers as pointers can be
64-bit.

[x] AssetManager openAsset native function returned -1 if
file name was empty and java function considered any
non-zero value as success. This has been fixed by native
function throwing Illegal Argument Exception as well.

[x] AssetManager incRefsLocked and decRefsLocked now accept
long as input to support 64-bit native references.

[x] AssetManager incRefsLocked method incorrecly used
'this.hashCode()' instead of the passed parameter id.
This has been fixed.

[x] 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: I095b9f900d49e51f43ad6afc47cbc23116a6a64a
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>
es/AssetManager.java
es/Resources.java
es/StringBlock.java
es/XmlBlock.java
31d9989e75f3e72d4240f18392939a23dd6375da 25-Jan-2014 Dianne Hackborn <hackbod@google.com> Merge "Add app version codes to procstats."
01664b3709451d287f30a68fcb8f599e8dc484a5 24-Jan-2014 Narayan Kamath <narayan@google.com> am 5d094b94: am aa43eb51: am 7866f2fc: am 8005b9af: am 3c30eff6: Merge "Remove unused field from AssetManager."

* commit '5d094b947b328d2631a0203c1527b0c7c20ce219':
Remove unused field from AssetManager.
7866f2fcfa753154a492bfb3fb21061f6fcce709 24-Jan-2014 Narayan Kamath <narayan@google.com> am 8005b9af: am 3c30eff6: Merge "Remove unused field from AssetManager."

* commit '8005b9af11ea366672d739769510240f931f3050':
Remove unused field from AssetManager.
8472e6189cd4e0520c047bdb28457abc728b373f 24-Jan-2014 Dianne Hackborn <hackbod@google.com> Add app version codes to procstats.

Now the per-package proc stats data is also per-app-version-code.

In addition to changing the data structure to have one more
SparseArray and passing a version code all over, this also required
improving how we reset the stats so that we can prune a multi-package
process record back to a single package. Otherwise, as you install
updates to apps, the proc stats data would continue to explode as
the data for each of those app's processes got turned to a
multi-package due to tracking the old and new versions at the
same time.

This also bumps the checkin version code, since the package entries
also include a new field for the app version code.

Change-Id: I80de36addb0a75c7b08aef747c6f6c8012d01ee4
m/ApplicationInfo.java
m/PackageParser.java
2f756cbb5aeb1f4dcbcb28baa0fbd0a478e7371b 22-Jan-2014 Narayan Kamath <narayan@google.com> Remove unused field from AssetManager.

This field was introduced in commit 4bdd33b81a17 but wasn't
used there (or since).

Change-Id: I0615e98b8990d42da6b85f8094ab19eb0465fd9e
es/AssetManager.java
2ba4efff8bece69f95401768e48db1b20afd077d 16-Jan-2014 Narayan Kamath <narayan@google.com> Hide AssetInputStream.getAssetInt (Take 2)

This reverts commit b1bd1fe7fd9ed6b6e4518713ef5f5716a84d97e8.
es/AssetManager.java
6606d16e097480e061546306cc95a729f5dccae8 16-Jan-2014 Narayan Kamath <narayan@google.com> am 6706888e: am 775667c0: am 03e8be75: am 8796ab7f: am bb35356d: Merge changes Id54087dd,I946325e4,I2a2b2e68

* commit '6706888e24aee04c2c914c44e5ef5b1510cf8013':
AArch64: Use long for pointers in BitmapRegionDecoder
AArch64: Use long for pointers in Movie class
AArch64: Add AssetInputStream.getNativeAsset
03e8be757d2703d52fad3fd153c6bcf0b13ed1d1 16-Jan-2014 Narayan Kamath <narayan@google.com> am 8796ab7f: am bb35356d: Merge changes Id54087dd,I946325e4,I2a2b2e68

* commit '8796ab7f22d3e9f5b85571e8851851c023416f96':
AArch64: Use long for pointers in BitmapRegionDecoder
AArch64: Use long for pointers in Movie class
AArch64: Add AssetInputStream.getNativeAsset
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
ontext.java
a0545dd54fdab5b284b509b7121515f15f4d728a 14-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Add AssetInputStream.getNativeAsset

This patch adds AssetInputStream.getNativeAsset. This function
returns asset pointer, which can then be passed to JNI functions.
Note that this function is hidden and not part of Android API.

This function will eventually replace getAssetInt,
once all the classes that use getAssetInt are changed
to use getNativeAsset instead.

Change-Id: I2a2b2e6864f1f57ae2b3a10c45559b3635266ed5
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
es/AssetManager.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 */*.
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 */*.
3a248a14938cc723942e68fc06ed2589efb53a4b 14-Jan-2014 Narayan Kamath <narayan@google.com> am ec70f809: am d34950cf: am 80b0496a: am 2db26788: am e71afc2e: Merge "Revert "Hide AssetInputStream.getAssetInt.""

* commit 'ec70f8091185cd68afd4fcda42b513111eae70e4':
Revert "Hide AssetInputStream.getAssetInt."
80b0496abeb03fe4c5086430218c7e4bcf3773db 14-Jan-2014 Narayan Kamath <narayan@google.com> am 2db26788: am e71afc2e: Merge "Revert "Hide AssetInputStream.getAssetInt.""

* commit '2db26788ab367f08cb5378d77e22e8939e7a28c2':
Revert "Hide AssetInputStream.getAssetInt."
b1bd1fe7fd9ed6b6e4518713ef5f5716a84d97e8 14-Jan-2014 Narayan Kamath <narayan@google.com> Revert "Hide AssetInputStream.getAssetInt."

This reverts commit 842d44ec1765e01f4a37af99cc1935b4d0399758.

Change-Id: I188e49d3651fd4941491c239b6a7c9f475995187
es/AssetManager.java
271b28ac3121e8bcc46e15bd15b13bfbc1e1be89 14-Jan-2014 Narayan Kamath <narayan@google.com> am 80213160: am ac8ccc3c: Merge "Hide AssetInputStream.getAssetInt."

* commit '8021316010fb4bd18a29751949eb2cda66199b6e':
Hide AssetInputStream.getAssetInt.
842d44ec1765e01f4a37af99cc1935b4d0399758 10-Jan-2014 Narayan Kamath <narayan@google.com> Hide AssetInputStream.getAssetInt.

It returns a pointer to a private data structure, so there's
no sensible use for it. Also, the emergence of 64 bit processors
means that the return value isn't wide enough to represent
values in the native heap.

(cherry picked from commit f8f09a15a409f373f22aa475bb0defd264088e4f)

Change-Id: I9c9b5bae6db8638e65dda60f924aa3dddd06813a
es/AssetManager.java
f8f09a15a409f373f22aa475bb0defd264088e4f 10-Jan-2014 Narayan Kamath <narayan@google.com> Hide AssetInputStream.getAssetInt.

It returns a pointer to a private data structure, so there's
no sensible use for it. Also, the emergence of 64 bit processors
means that the return value isn't wide enough to represent
values in the native heap.

Change-Id: If02d42a528b9d90f11cb25c3342404b7d5f7b625
es/AssetManager.java
1f5ca7fed219f35d9219e6e88791fdce356b627d 10-Jan-2014 Christopher Tate <ctate@android.com> am 7b3cfebc: am f1fbe113: am 4ba1bbad: am 5fbcb134: am 35b7de4c: Merge "Cursor leakage due to cancellation signal"

* commit '7b3cfebce3ab51e96d6c89317ea48b8bce640d9d':
Cursor leakage due to cancellation signal
4ba1bbadb784e365f443b0272b111d384f4f2229 09-Jan-2014 Christopher Tate <ctate@android.com> am 5fbcb134: am 35b7de4c: Merge "Cursor leakage due to cancellation signal"

* commit '5fbcb1347494e17dc9e9cd66d8e47a3972a8b90d':
Cursor leakage due to cancellation signal
3390018c6b45acffa6edf97a4174ca49f1e8c76d 02-Jan-2014 John Spurlock <jspurlock@google.com> Docfixes: three typos and escape */*.

Change-Id: I418d855b5d08a1a20eaca3d8e4d2e5d0fca23dd5
lipDescription.java
ontentProvider.java
ontentResolver.java
ntent.java
9525f2a72e2786f1b53927878dd8234859ea5c39 02-Jan-2014 Mark Doliner <markdoliner@google.com> Miscellaneous small documentation fixes.

Most of these I noticed on my own. The change to docs/html/tools/testing/testing_ui.jd is mentioned in a bug report:
https://code.google.com/p/android/issues/detail?id=56324

Signed-off-by: Mark Doliner <markdoliner@google.com>
oader.java
55eda43af9f71b098c434cab831795d7ca8842ac 28-Jun-2013 Peter Eliasson <peter.eliasson@sonymobile.com> Cursor leakage due to cancellation signal

If a query call was cancelled, the cursor adaptor might leak. The
adaptor is now closed if any exception is thrown during query.

Change-Id: Ic4c2edeaf2fcef56b4ef59484a36d3233aa12dbc
ontentProviderNative.java
28635ca3e3815ca01417ef03dd9debd938e34307 16-Dec-2013 Narayan Kamath <narayan@google.com> am 44291d9c: Merge "Use StrictJarFile instead of JarFile for cert collection."

* commit '44291d9c2722e0d22dc6f909585f4302abdce205':
Use StrictJarFile instead of JarFile for cert collection.
1f0299a9cb9566fd89047569388bb2612e8bd445 12-Dec-2013 Narayan Kamath <narayan@google.com> Use StrictJarFile instead of JarFile for cert collection.

This ensures that we use the same underlying zip
processing code as the runtimes.

bug: 10193060

(cherry picked from commit eb565dc527eda8c0a43df0d1f30132638ca4ba20)

Change-Id: Iaaa26b02678278394619d0a41613d9ceeae3203c
m/PackageParser.java
eb565dc527eda8c0a43df0d1f30132638ca4ba20 12-Dec-2013 Narayan Kamath <narayan@google.com> Use StrictJarFile instead of JarFile for cert collection.

This ensures that we use the same underlying zip
processing code as the runtimes.

bug: 10193060

Change-Id: I0f287dd6fa95207cd02f648528ef6c08dd360a72
m/PackageParser.java
cce137733bf9e28e430826a4bdaaf9ab84951845 25-Nov-2013 John Spurlock <jspurlock@google.com> am e4f96e28: am 56979b22: am 125d133b: Fix bad @see links in Intent.java.

* commit 'e4f96e281f85078d5420fdc52e00da3c6392ba1a':
Fix bad @see links in Intent.java.
56979b22346e186ebd804c4d7e05e0c74741f384 25-Nov-2013 John Spurlock <jspurlock@google.com> am 125d133b: Fix bad @see links in Intent.java.

* commit '125d133bcce56403a9b4d1cdbbc61a7cb1d7f8e1':
Fix bad @see links in Intent.java.
125d133bcce56403a9b4d1cdbbc61a7cb1d7f8e1 25-Nov-2013 John Spurlock <jspurlock@google.com> Fix bad @see links in Intent.java.

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

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
lipboardManager.java
ontextWrapper.java
ursorLoader.java
ntity.java
estrictionEntry.java
yncInfo.java
yncRequest.java
yncService.java
m/FeatureInfo.java
m/XmlSerializerAndParser.java
es/AssetManager.java
es/Resources.java
es/TypedArray.java
63e1883d96d635ce7085c46c8a29af34d521076a 15-Nov-2013 Christopher Tate <ctate@google.com> am a5acd62b: am 6e5cf573: am 99437f25: Merge "Ensure recipient can be launched before attempting broadcast delivery" into klp-dev

* commit 'a5acd62bdefe5b616c0ea080434e9dd221169527':
Ensure recipient can be launched before attempting broadcast delivery
99437f252b728f4946940f232c4b73b9dda76cfb 14-Nov-2013 Christopher Tate <ctate@google.com> Merge "Ensure recipient can be launched before attempting broadcast delivery" into klp-dev
ba629da331d01d74067afdda5d4255682d4b24d7 14-Nov-2013 Christopher Tate <ctate@google.com> Ensure recipient can be launched before attempting broadcast delivery

User removal or eviction inherently races with broadcast delivery. This
patch introduces a latest-possible recheck of the availbility of the
target application before attempting to send it a broadcast.

Once the process has actually been spun up the system is essentially
committed to presenting it as a running application, and there is no
later check of the availability of the app: the failure mode for
continuing to attempt delivery is a crash *in the app process*,
and is user-visible.

We now check the app+userid existence of the intended recipient
just prior to committing to launch its process for receipt, and
if it is no longer available we simply skip that receiver and
continue normally.

Bug 11652784
Bug 11272019
Bug 8263020

Change-Id: Ib19ba2af493250890db7371c1a9f853772db1af0
m/IPackageManager.aidl
m/PackageParser.java
ee7081d1ed2a2029ceca8fd608b0dd69533be0ec 14-Nov-2013 Matthew Williams <mjwilliams@google.com> Resolve build breakage for merge of fix to b/11559103

Change-Id: Ib42eb48a234f53d34d23f5c661331b2f37be4209
yncInfo.java
bef1f9a3704176fa1f53ea403b9d337107a5671a 14-Nov-2013 Matthew Williams <mjwilliams@google.com> am 72402f9d: am 09d8e3cf: am c68bb182: Merge "SyncManager now returns copy on getCurrentSyncs()" into klp-dev

* commit '72402f9de7b108d77316e3c93399b07a2f98c42a':
SyncManager now returns copy on getCurrentSyncs()
a7456e46f4cb64524386b22e2596ea93c244c16f 12-Nov-2013 Matthew Williams <mjwilliams@google.com> SyncManager now returns copy on getCurrentSyncs()

Bug:11559103
Added a new getCurrentSyncsCopy() that is public. The other version
is needed for internal SSE calls.

Change-Id: I0287f039a6f75abf04b65b85cb30f78353aeef4f
yncInfo.java
fadfbf1ae0fdad87a2e8ed31904e59251ff9ffad 05-Nov-2013 Alan Viverette <alanv@google.com> Merge "Add support for using ColorStateList as GradientDrawable's stroke"
a211dd28b93473c452d68432c602d5209b01c178 04-Nov-2013 Alan Viverette <alanv@google.com> Add support for using ColorStateList as GradientDrawable's stroke

Refactors isOpaque() so that ColorStateList APIs previously added
on master branch are no longer needed.

Change-Id: I104c9a14ef81db6c4cf141e8fd0ebbd20bd52ee9
es/ColorStateList.java
e11b6b036bb66a72ba2386641811dbd09fe7e5e5 01-Nov-2013 Jeff Sharkey <jsharkey@android.com> am b9c28ce9: am 2903d6fa: am c09b6a46: Merge "Better enforcement in DocumentsProvider.call()." into klp-dev

* commit 'b9c28ce9d4f5539e2118822750fa008d5fe77c29':
Better enforcement in DocumentsProvider.call().
8a2998eade93032a78d681c66ebadbfa6f802f76 31-Oct-2013 Jeff Sharkey <jsharkey@android.com> Better enforcement in DocumentsProvider.call().

Use ContentProvider.enforceWritePermissionInner() to handle all edge
cases around checking if caller has write permissions. This fixes
bug where call() would throw if caller and provider were the same app.

Bug: 11464234
Change-Id: Iace8e0e4243d56ed1cdcc9680383103975107036
ontentProvider.java
bd88de46a126c1e6dfc84ba6c1f942f51fe57582 28-Oct-2013 Taeho Kim <jyte82@gmail.com> Fixed typo errors in documentation

Fixed some type errors in developer documentation.

Change-Id: I92629a4350508fb96fda1842741c5ced64171464
Signed-off-by: Taeho Kim <jyte82@gmail.com>
ontentProvider.java
519494e207322581075c8ea884fde9d33bb9209e 28-Oct-2013 Alan Viverette <alanv@google.com> Add support for using ColorStateList in GradientDrawable

BUG: 11373225
Change-Id: Ie62f1546e8694822aadafe9ef1e57ce458a363d6
es/ColorStateList.java
47d2b61ddb250eafbdd1eb43890f06ebab0d7057 19-Oct-2013 Nick Kralevich <nnk@google.com> fix javadoc building.

Change-Id: I2f20b026f5438539ad459a5962da950598158728
yncRequest.java
69002ae2a2afd0f759c22ea47d669ddc33b3255a 19-Oct-2013 Nick Kralevich <nnk@google.com> Fix build.

Change-Id: Icf14e63d759b021b5f9f79f09efa1d101764b9b7
ontentResolver.java
yncRequest.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.
0e4655800b96caa297d2dc55e064ee061c8c0f89 16-Oct-2013 Jeff Sharkey <jsharkey@android.com> am f53c1a68: am f82a387c: am e3924ca4: Merge "Improve OPEN/CREATE_DOC docs." into klp-dev

* commit 'f53c1a6841b4c6a1541e9548f425e54c486031d1':
Improve OPEN/CREATE_DOC docs.
98f7422e6a168b014d2860b2ad982824d45de83e 16-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 9f81a1a4: am 84c8603d: am 3cf56085: Merge "Improve external storage docs on Context." into klp-dev

* commit '9f81a1a49c4ae01fd815a5ee801764b1362b242e':
Improve external storage docs on Context.
e8c00d8ed477e199b7f8d1b1e2f37e9cf8593372 16-Oct-2013 Jeff Sharkey <jsharkey@android.com> Improve DocumentsProvider and contract docs.

Bug: 10567557
Change-Id: I71e7f7ad172e9986e58b9c9533b1c948c5530397
ontentProvider.java
adef88a0a9d65e7f5ae812594e8c039747388cdd 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> Improve OPEN/CREATE_DOC docs.

Bug: 10936473
Change-Id: I4378aaaf927f114982191efd4f9887dad075390d
ontentResolver.java
ntent.java
6feb50b8261c79dce1d626c74e382fdddc11bcd5 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> Improve external storage docs on Context.

Bug: 10461652
Change-Id: I42a3d887418e126f9dc2a9be8060a8eedd425f8e
ontext.java
d70d2d8ee3f4c31aa78474fd9efb865395b2249e 15-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 25b99efb: am ac0cb359: am 8e656df0: Merge "Add extras to AFD, send orientation metadata." into klp-dev

* commit '25b99efb3259c9f6d7bcdacd3cb2bafd6b1a0e63':
Add extras to AFD, send orientation metadata.
c1c8f3f97d344a24bfddcb56a8be05e7e2fabe9e 14-Oct-2013 Jeff Sharkey <jsharkey@android.com> Add extras to AFD, send orientation metadata.

AssetFileDescriptor augments a ParcelFileDescriptor with details
about how it should be interpreted, so extend it to support a Bundle
of extras. Then use these extras to share thumbnail orientation
metadata.

The raw image data of EXIF thumbnails matches the orientation of
the enclosing image, but the thumbnail data doesn't repeat the EXIF
flags. This meant that receivers of openDocumentThumbnail() would
get an image that needed to be transformed, but without enough
context to actually transform it.

Instead of transforming and recompressing the image on the fly on
the provider side, send a transformation hint that the receiver
side can interpret.

Bug: 11205688
Change-Id: Ibc5a7ad002377a55e6ffcb5ac5c8829841002e06
es/AssetFileDescriptor.java
45484ee6bb45604d90454f56bd09a44d81691148 14-Oct-2013 Aravind Akella <aakella@google.com> am 67af9ce3: am c73810de: am 45ca531e: Merge "Adding stepcounter & stepdetector feature strings." into klp-dev

* commit '67af9ce31e7642ffc5737b9c29812c4bfdf789e0':
Adding stepcounter & stepdetector feature strings.
d08d6686c5e16cedc23cd9bc836a28d629b8622c 14-Oct-2013 Matthew Williams <mjwilliams@google.com> resolved conflicts for merge of 94b51810 to master

Change-Id: Ida818f066b66c356a84c80e5eab0a4e2cf4ebd49
45ca531e77c6f12062bfa7f3e369172582caebe6 14-Oct-2013 Aravind Akella <aakella@google.com> Merge "Adding stepcounter & stepdetector feature strings." into klp-dev
d38b1302b7506ae7eef6c6680228c0f07f6e1895 13-Oct-2013 Eino-Ville Talvala <etalvala@google.com> Merge "DO NOT MERGE: Hide new camera API." into klp-dev
068b0c05fe089f58d96f71a82d57b87c5ebc1894 13-Oct-2013 Aravind Akella <aakella@google.com> Adding stepcounter & stepdetector feature strings.

Change-Id: Ic8cc95612f776db7cb1d1c13a228d5cd8ed64f56
m/PackageManager.java
32551ae5197744425d3057dc5d449e7943d35ba2 11-Oct-2013 Matthew Williams <mjwilliams@google.com> Merge "Fix infinite boot-loop bug in SM." into klp-dev
632515b9d0960749ddb1636677d7f12f196d73f7 11-Oct-2013 Matthew Williams <mjwilliams@google.com> Fix infinite boot-loop bug in SM.

Bug:11064918
If the ContentResolver sync API is used with the empty ("")
string as a provider, the ContentService will throw an RTE.
This cl addresses all the entry points of the API that could
allow this, as well as adds an ifEmpty check at the point of
failure.
Also removed RTE throws from public functions(no point in
crashing the phone).

Change-Id: I57427d12a6cafb3e6d7a32ca0c10b05315b20580
ontentResolver.java
yncRequest.java
cd925885283396c0379ec2dcaa94e318993f40f8 07-Oct-2013 Eino-Ville Talvala <etalvala@google.com> DO NOT MERGE: Hide new camera API.

Not yet ready.

Bug: 11141002

Change-Id: I4704bffb9ba36af47a66dc5b49cbba00be623aae
ontext.java
57de7efbf071010355ce9e9d68fed56ca848cf2a 11-Oct-2013 Dianne Hackborn <hackbod@google.com> am 61ef6e0f: am 41920afa: am 0b713a09: Merge "Small IntentFilter docs improvement." into klp-dev

* commit '61ef6e0f202032843e4158f047d126c275f3bd01':
Small IntentFilter docs improvement.
0ea920d8396e4c8596ddeaa5bd130fd012d9c4b9 11-Oct-2013 Dianne Hackborn <hackbod@google.com> Small IntentFilter docs improvement.

Change-Id: I52522e1c007c02d2c4fae8665369d92971689fd2
ntentFilter.java
c64ff3782c71ce7b5a92b7d91199a922ea0a37d9 10-Oct-2013 Jeff Brown <jeffbrown@google.com> Minor code cleanup in loaders.

Change-Id: I38147eb9e494b53d41ca3cad042d804631916941
syncTaskLoader.java
ontentResolver.java
oader.java
0fae349f19e2f4738c12f4849054c72a007770b0 10-Oct-2013 Dianne Hackborn <hackbod@google.com> am 353ec474: am 8029493f: am f012b777: Merge "Fix some doc issues." into klp-dev

* commit '353ec47422cbd1bb40f19e7ec9ec6b4f300ee3ab':
Fix some doc issues.
ebc15ef80ff1b4354be99a45d348537f094d6b59 10-Oct-2013 Dianne Hackborn <hackbod@google.com> Fix some doc issues.

Bug: 11079621
Bug: 10461610
Bug: 10461369
Bug: 10461417
Change-Id: I7fd966f3cda0660ba20fa15d7164dcac95efadd3
ntentFilter.java
6699ae2b76fabaf179738c853f29ac21d5caf1be 10-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 45d23585: am 11591b73: am b3da3db3: Merge "Surface outgoing Uri permission grants." into klp-dev

* commit '45d2358510f9670ddf25cc49ee2639e3d41708f7':
Surface outgoing Uri permission grants.
bcaac0adecc8f9d7e66548df39e0f5c9f759e38c 09-Oct-2013 Jeff Sharkey <jsharkey@android.com> Surface outgoing Uri permission grants.

This enables apps to discover and clean up persisted Uri grants when
the underlying Uri becomes invalid, such as when an account is
removed.

Bug: 11142566
Change-Id: Ieeb36cb1155acf226327ebe91cdd30b822d69d1b
ontentResolver.java
5b6372171c5ee06dc0ce00644008297e7a14bb38 08-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 9d1383c6: am 5e02e0a9: am bcc77b50: Merge "Add <intent-filter> support to <provider>." into klp-dev

* commit '9d1383c61ca0932cb36b104a89c32db15de6a10e':
Add <intent-filter> support to <provider>.
bcc77b502b56d4b91610adfa10c657003c9c820d 07-Oct-2013 Jeff Sharkey <jsharkey@android.com> Merge "Add <intent-filter> support to <provider>." into klp-dev
85f5f8132015d8a5043ea4413702420d0d157c9f 07-Oct-2013 Jeff Sharkey <jsharkey@android.com> Add <intent-filter> support to <provider>.

For the new documents work, we're only interested in the subset of
ContentProviders that actually implement DocumentsContract. Instead
of returning all providers, add <intent-filter> support to make it
easier to limit the set of returned ProviderInfo.

Define a well-known action for DocumentsProviders, and start using it
when querying for roots. Continue supporting the old <meta-data>
approach until all apps have been updated.

Bug: 8599233
Change-Id: I05f049bba21311f5421738002f99ee214447c909
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
m/ProviderInfo.java
m/ResolveInfo.java
1ac74b74fffd2897046b895eff3e9c6636955a33 04-Oct-2013 Alex Ray <aray@google.com> am 849ef427: am 2bbf0bfc: am 0ab7c883: Merge "Add Consumer IR feature" into klp-dev

* commit '849ef427b804c3d308e2d74eebd64e19144ef976':
Add Consumer IR feature
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.
0c9d61f0989e5a85674fbbc24cf06dd3de1fc326 03-Oct-2013 Alex Ray <aray@google.com> Add Consumer IR feature

Bug: 10676690
Change-Id: Id2c118225dc6ef259f5ed97da4071e9b6de3a83a
m/PackageManager.java
6bc3789b3982d25bf3fc09d257efa6cdb628e7f2 03-Oct-2013 Dianne Hackborn <hackbod@google.com> KLP/KitKat is now API 19.

Bug: 10348975

Change-Id: I19bf1a56064deda2e59085520960aac8ce3a825b
ontext.java
ba0591c9e3e22b975567011df784a825a49dcf4f 02-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 21d8e96d: am ef4c3790: am 27d3c0fe: Merge "Isolate calls to each remote DocumentsProvider." into klp-dev

* commit '21d8e96d840be42fae56483a2e291fc10677b2d9':
Isolate calls to each remote DocumentsProvider.
b6ab3b982b98a34e6af59adbfb7e85db7da7392c 02-Oct-2013 Jeff Sharkey <jsharkey@android.com> am 7f60e70e: am 666b998b: am 364fc14f: Merge "Detect wedged ContentProviders, treat as ANR." into klp-dev

* commit '7f60e70e815d381035b141843395830407c198d9':
Detect wedged ContentProviders, treat as ANR.
d01571e6d4e1c403534e19142720530d324eac9b 02-Oct-2013 Jeff Sharkey <jsharkey@android.com> Isolate calls to each remote DocumentsProvider.

All background work is going through AsyncTasks, which uses a shared
thread pool. Even with the new ContentProviderClient logic to detect
ANRs, the UI can still appear to be unresponsive for 20 seconds, even
if the user attempted to switch to a different backend. In the worst
case, a backlog of thumbnail requests would end up wedging Loaders
for a long time, since they all share the same THREAD_POOL_EXECUTOR.

This change isolates calls to each provider onto their own thread,
which they're free to wedge and recover from over time.

It also means we no longer need a dedicated thread pool for recents
loading, and can use a simpler Semaphore instead.

Disables thumbnails in recents on svelte devices.

Bug: 10993301, 11014856
Change-Id: I7f8a5bbb5f64437e006cb2c48b7e854136d5c38c
syncTaskLoader.java
7aa7601c09ab5d87cc15a0ed9a8f511d494a4cbc 30-Sep-2013 Jeff Sharkey <jsharkey@android.com> Detect wedged ContentProviders, treat as ANR.

All ContentProvider calls are currently blocking, making it hard for
an app to recover when a remote provider is wedged. This change adds
hidden support to ContentProviderClient to timeout remote calls,
treating them as ANRs. This behavior is disabled by default.

Update DocumentsUI to use a 20 second timeout whenever interacting
with a storage provider.

Bug: 10993301, 10819461, 10852518
Change-Id: I10fa3c425c6a7225fff9cb7a0a07659028230cd3
ontentProviderClient.java
ontentResolver.java
5023a4df732693fdaff64da551f6b088e7ba4456 26-Sep-2013 Jeff Sharkey <jsharkey@android.com> resolved conflicts for merge of 687c6221 to master

Change-Id: I9e8a24d9151f31bc3284ad7f8686fa7f3c25c0d9
e66c1778f80f4b18e29e018eca3a338f125f23b9 20-Sep-2013 Jeff Sharkey <jsharkey@android.com> Require that persistable Uri permissions be taken.

Change our Intent flag to indicate that a Uri permission grant is
persistable, but don't actually persist it until explicitly taken by
the receiving app. This prevents apps from spamming each other if
persisted permissions aren't really required.

Remember the last time a persisted grant was taken by an app, and
use this to prune away the oldest grants when the number of grants
grows too large. Allow apps to query persisted grants they are
holding, and allow them to release previously persisted grants. Add
public UriPermission class to return grant details and timestamp.

Track various permission strengths separately, and combine together
after each mutation pass. Persistable grants are currently treated
like global grants, but they could be moved to have owners in the
future. Require that grant holders trying to extend a persistable
permission actually hold a persistable permission themselves.

Bug: 10835779
Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
ontentResolver.java
ntent.java
riPermission.java
23ff9f6128b5d28a99eca87bf03b221145951988 24-Sep-2013 Dianne Hackborn <hackbod@google.com> am 9b7d1484: am 5f86b90b: Merge "Fix issue #10848916: "Always" button is not working." into klp-dev

* commit '9b7d148466b1aedb24187294e0c59718afb104a0':
Fix issue #10848916: "Always" button is not working.
6d8dfbd8149942f25f2b9643a12f1fb38f3be834 24-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10848916: "Always" button is not working.

The problem was that the ResolverActivity filters some activities
out of the list it shows, but it uses that display list as the
list of components the preference is set against when ultimately
setting it on the package manager... but that filtered list is *not*
the right component set, since it is not the same as the package
manager's view on it.

The fix here is to retain the original set of matching components
and use that when setting the preferred activity. Note that this
does mean that in very unusual cases where filtering is happeing
(such as one of the activities not being exported but being seen
as a possible completion from another app), then you will be setting
the preference for the complete set. Ultimately we probably need
to have the package manager apply these filtering rules up-front so
this is all consistent, but this is a very rare case so not that
important.

And then most of the change here is just improving the debug
output for intent resolution.

Change-Id: Ie35ac2c05a45946439951bbf41433c8b7de79c05
omponentName.java
m/PackageParser.java
m/ResolveInfo.java
a440a0dd64c596991af6c860c1083c38ed4dc443 22-Sep-2013 Jeff Sharkey <jsharkey@android.com> am b8a48da2: am 5e1a5e5b: Merge "Create unique files, root ordering, UI bugs." into klp-dev

* commit 'b8a48da2a707720a105584f1b8dc087a6dd9c887':
Create unique files, root ordering, UI bugs.
5e1a5e5bad475696e842addceb7dd6a519879f98 22-Sep-2013 Jeff Sharkey <jsharkey@android.com> Merge "Create unique files, root ordering, UI bugs." into klp-dev
5545f56f7561810187545a1817b6001dd1f9931b 21-Sep-2013 Jeff Sharkey <jsharkey@android.com> Create unique files, root ordering, UI bugs.

When a file already exists on disk, try adding a counter suffix to
make a unique name. Move services near top of roots list, just below
recents. Remove "Documents" root.

Increase number of recents allowed from single provider, and add more
logging to diagnose wedged loaders.

When launching GET_CONTENT apps, wait for successful result before
relaying result; canceled requests now return to DocumentsUI.

Add CloseGuard to ContentProviderClients, since leaked instances can
keep the remote process alive.

Fix UI bug around trailing breadcrumbs. Fix bug that dropped Recents
from roots list. Add up action to Settings activity. Give our
activity a default icon while waiting for async roots to load.

Bug: 10818683, 10819461, 10819461, 10819196, 10860199
Change-Id: I7b9e26b1cf8353dd3175458b23da2b4bda6c5831
ontentProviderClient.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
d473ebb7c4f212cb9f74fe748bb8b95d7d126417 21-Sep-2013 Adam Lesinski <adamlesinski@google.com> Merge "Surfaces ParcelFileDescriptor#parseMode() as API" 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
ontentProvider.java
ontentResolver.java
e6ed04a7ec5bbb643bc912ec8fcd4d23ec486fca 20-Sep-2013 Adam Lesinski <adamlesinski@google.com> am 2dc3c739: am ff5cbab5: Merge "Ensures that CompatibilityInfo is always set in Resources" into klp-dev

* commit '2dc3c7398b2d8965f8017bc25f2e9a29c6b83c3d':
Ensures that CompatibilityInfo is always set in Resources
79a8ffe54f9c99ffc34f7b5b73c22eea2673424a 20-Sep-2013 Adam Lesinski <adamlesinski@google.com> Ensures that CompatibilityInfo is always set in Resources

- Adds null checks when setting mCompatibilityInfo and uses default no-op
CompatibilityInfo object instead of null
- Removes null checks when calling methods on mCompatibilityInfo since it is never
null

bug:10204942

Change-Id: I36e88f5cdceb46b8b19fb902270ef74023a81546
es/Resources.java
b5a14f0fc9c17f1543315f83f01f099bd53faf52 18-Sep-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of 1995a7de to master

Change-Id: I9915ae06d460696b24cbee935738267911baa580
b9466db4a56564101a26865962dda87aaeab56ff 18-Sep-2013 Dianne Hackborn <hackbod@google.com> Merge "Finish issue #10779747: Calendar Storage crash observed..." into klp-dev
6285a32f74890b761579b4f67afde1b08763fd0a 18-Sep-2013 Dianne Hackborn <hackbod@google.com> Finish issue #10779747: Calendar Storage crash observed...

...while setting up a new user from settings.

We can now delay broadcasts when there are enough background services
currently starting (still set to 1 for svelte devices, 3 for normal
devices).

Add new intent flag to not allow receivers to abort broadcasts, which
I use to fix an issue with the initial BOOT_COMPLETED broadcast not
actually requesting pss data at the right time -- it can now be sent
as an ordered broadcast without the ability for the receivers to cancel
it.

Change-Id: I51155bbbabe23e187003f3e2abd7b754e55d3c95
ntent.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
840b3bd61185456ccb574c2be115ea78ec418327 18-Sep-2013 Amith Yamasani <yamasani@google.com> Merge "Fix provider leak in PFD" into klp-dev
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
ontentResolver.java
c697e6c84a0af29f5f2f57ae3e05314b00109327 18-Sep-2013 Jeff Sharkey <jsharkey@android.com> am cf4052f6: am e48569a8: Merge "Guard against null Context in attachInfo()." into klp-dev

* commit 'cf4052f6b519dd5720a08d2e42ccb8b23af018ea':
Guard against null Context in attachInfo().
10cb312ecd2e62600758e0270f977d0db585d393 18-Sep-2013 Jeff Sharkey <jsharkey@android.com> Guard against null Context in attachInfo().

Some CTS tests were running into this.

Bug: 10805216
Change-Id: I425d2a0064612af70a64f457e159498cb6257a28
ontentProvider.java
000ecdd3f5e38c8135cfc3caffea2327c668fbc1 17-Sep-2013 Amith Yamasani <yamasani@google.com> am 6484c42e: am 33caca5c: Merge "Add a feature to specify if device admins are supported on the device" into klp-dev

* commit '6484c42eb44bfe8fc8d2972bfc564b96f0f7f16c':
Add a feature to specify if device admins are supported on the device
33caca5cd56ff41142cea121fabf5e30bebfb39f 17-Sep-2013 Amith Yamasani <yamasani@google.com> Merge "Add a feature to specify if device admins are supported on the device" into klp-dev
4b8dd603cf2f0ca56ee2f7538cf1ebbe805d15a7 17-Sep-2013 Christopher Tate <ctate@google.com> am cf611b77: am 60fcce6c: Merge "Introduce maxSdkVersion for <uses-permission>" into klp-dev

* commit 'cf611b776ed5163008fdad87452f3047c966ec08':
Introduce maxSdkVersion for <uses-permission>
60fcce6cb1bbe720634ae5e3d94aeae5e4c1e53e 17-Sep-2013 Christopher Tate <ctate@google.com> Merge "Introduce maxSdkVersion for <uses-permission>" into klp-dev
44a01b742c2ad2ebc6185425be887b4bc987c4d0 16-Sep-2013 Amith Yamasani <yamasani@google.com> Add a feature to specify if device admins are supported on the device

Bug: 9520957

DevicePolicyManagerService will play dumb if the feature is not installed.

Continue to keep track of failed password attempts for keyguard's use.

Change-Id: I28d258dc09a8b4976b188da6f453d8daabcc4bdd
m/PackageManager.java
fb0676a902dd1195e3e35790d137bc1b90e390ba 17-Sep-2013 Christopher Tate <ctate@google.com> Introduce maxSdkVersion for <uses-permission>

This way an application can automatically sunset its permission requests
when running on later versions of the OS where those permissions are no
longer relevant, but may be alarming to the user. A canonical example
is WRITE_EXTERNAL_STORAGE, which as of KLP becomes unnecessary for an app
to use the external storage volume solely for its own large-data needs,
without the need for actual file-system sharing among multiple apps.

Bug 9761041

Change-Id: I60130af3a108fe4a750c356038a1c8cb897e9c8b
m/PackageParser.java
68ba583b79701c43eb81c9a20869410d1c8b2753 17-Sep-2013 Dianne Hackborn <hackbod@google.com> am 366894b5: am 0a6a80f4: Fix build.

* commit '366894b544e723b11f591a3071599066d0ada2da':
Fix build.
0a6a80f43de1b64b452aff2cbb6bdbfc9915c2a9 17-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I2b2168ff3b2826a60353fd137a2fa255b1ace4bb
ontext.java
df2dae01b065ef18b7de7f76b29a9857bf70f443 16-Sep-2013 Dianne Hackborn <hackbod@google.com> am 40489be9: am 61158244: Merge "Implement issue #10691359: Kill long-running processes" into klp-dev

* commit '40489be90b7c145da75034f793932500f0e5d380':
Implement issue #10691359: Kill long-running processes
35f72be50b8a2d11bce591dcdac5dc3fa336dac0 16-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement issue #10691359: Kill long-running processes

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

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

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

Change-Id: Iceaa7ffb2ad2015c33a64133a72a272b56dbad53
ontext.java
86f4b37d196bb9a72a22f706f89f3066ab2bf287 16-Sep-2013 Matthew Williams <mjwilliams@google.com> Merge "Refactor SyncManager rename authority->target"
8ef2204c8f5f9744a2ff7abdbbf2d26a5ea02837 26-Jul-2013 Matthew Williams <mjwilliams@google.com> Refactor SyncManager rename authority->target

fix bug that was stopping any sync service sync from
from taking place.
Change-Id: Ib3f46d43be630d4196fbf0ca32da03b6e7a6a5b9
yncService.java
26c5baf41df82d6148757917939129e099f9aa13 14-Sep-2013 Scott Main <smain@google.com> am 7e876482: am 296fbce8: am bb3b431d: am 8bf0c9ae: am a23fd887: more javadocs for onTrimMemory()

* commit '7e87648232e955629375c6ae047b9c2faceaa67e':
more javadocs for onTrimMemory()
296fbce89c066099bbf4f3828cf8ed797acebdfb 14-Sep-2013 Scott Main <smain@google.com> am bb3b431d: am 8bf0c9ae: am a23fd887: more javadocs for onTrimMemory()

* commit 'bb3b431dc6b5786bed7cc988f44c35df21408a93':
more javadocs for onTrimMemory()
bb3b431dc6b5786bed7cc988f44c35df21408a93 14-Sep-2013 Scott Main <smain@google.com> am 8bf0c9ae: am a23fd887: more javadocs for onTrimMemory()

* commit '8bf0c9ae604e5114260159077bfafbdd9d16a7ea':
more javadocs for onTrimMemory()
a23fd88729bd10c02a9d631c9954616b3a1d0f6f 15-Aug-2013 Scott Main <smain@google.com> more javadocs for onTrimMemory()

Change-Id: I52a99bc1b07732e474d1c632f3021c6c4db8c5ab
omponentCallbacks.java
omponentCallbacks2.java
9b6c9a15922ccb1518b8147f7bd05cae754c8c3c 14-Sep-2013 Christopher Tate <ctate@google.com> am fcda3283: am 7560c256: Merge "Add hidden API for querying available \'home\' activities" into klp-dev

* commit 'fcda3283d27f8dfaa812fb735af43eea2e077c64':
Add hidden API for querying available 'home' activities
a2a0850de8e7324db37e0595d5374bb9c9903461 06-Sep-2013 Christopher Tate <ctate@google.com> Add hidden API for querying available 'home' activities

To support improved home-app selection UX in Settings.

Bug 9958444

Change-Id: I106090784618bf7bea6fce28f4f9b9fb8480d310
m/IPackageManager.aidl
m/PackageManager.java
b6a3ef18342e6671d9674312b66a015d6caa80ed 13-Sep-2013 Tor Norbye <tnorbye@google.com> Merge "Add typedefs and nullness annotations."
d4aa10d5bec64261df85c23f9f9794dfd156623f 12-Sep-2013 Jeff Sharkey <jsharkey@android.com> am c3414dc4: am 357f9e34: Merge "Handle pipe thumbnails, acquire unstable refs." into klp-dev

* commit 'c3414dc4baf2bb2c3ef5761912fea7f44d804ebc':
Handle pipe thumbnails, acquire unstable refs.
357f9e34ca4f0336e406044db35834530379db47 12-Sep-2013 Jeff Sharkey <jsharkey@android.com> Merge "Handle pipe thumbnails, acquire unstable refs." into klp-dev
de2b22fbc60b29dd8af60cf05862066c04559dc0 12-Sep-2013 Jeff Sharkey <jsharkey@android.com> Handle pipe thumbnails, acquire unstable refs.

Support decoding thumbnails delivered over pipes by wrapping in a
buffered stream. Also switch to using unstable provider references
to avoid crashing DocumentsUI.

Bug: 10516148, 10510851
Change-Id: I85f6eeaca70c97742bf79656d1d0c6da381fdd47
ontentProviderClient.java
4c980cc6aede622b165d7936a89aae507a317cd3 12-Sep-2013 Alexander Ray <aray@google.com> am b0049151: am 7563d423: Merge "Add consumer IR framework" into klp-dev

* commit 'b0049151f7c1f2ffa7481ac7c6f6baf7a548c5e8':
Add consumer IR framework
7c3c23114b08f656b08c86d1c4ea8e1b366f5207 12-Sep-2013 Dianne Hackborn <hackbod@google.com> am 33f92b6f: am c1cf491d: Merge "More on issue #10130785: Restore silence and vibrate settings..." into klp-dev

* commit '33f92b6fe249db2ae822c6702955c7b987ff87f9':
More on issue #10130785: Restore silence and vibrate settings...
8d717b917cfe0b7d47743e2c80fd22131048ef3a 12-Sep-2013 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 03422d26 to master

Change-Id: I5d012fb122224c949a0039450bf0a9a475dc8e82
d9273d6f289d9b55da3fd0db2f659fdfb48106a8 31-May-2013 Tor Norbye <tnorbye@google.com> Add typedefs and nullness annotations.

This changeset adds in typedef annotations (custom annotations
marked with @IntDef) for various int parameters and return values
in the API. It also adds nullness annotations for cases where the
documentation explicitly mentioned null policy, or where it was
blindingly obvious from the context. Also fixed some typos in the
documentation.

Change-Id: Ica27c01368895818e26237544edd8483007155bb
ontext.java
ntent.java
m/ActivityInfo.java
m/PackageManager.java
7563d42331ed7df7f026c8921ae990ce2fca9efd 11-Sep-2013 Alexander Ray <aray@google.com> Merge "Add consumer IR framework" into klp-dev
c1cf491d160f8feb74b24d4ebb4e39324850cf61 11-Sep-2013 Dianne Hackborn <hackbod@google.com> Merge "More on issue #10130785: Restore silence and vibrate settings..." into klp-dev
b3ac67a0ece71bcf484dd92914dc3599dadffb05 11-Sep-2013 Dianne Hackborn <hackbod@google.com> More on issue #10130785: Restore silence and vibrate settings...

...in settings > sound

ContentResolver.uncanonicalize needs to be able to fail.

Change-Id: I347ef60fc3619aae203b87079579597c60be8b90
ontentProvider.java
ontentResolver.java
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
lipboardManager.java
ontentResolver.java
ontext.java
ontextWrapper.java
51e95df8f24e9ea30775686b9e324b9a671213dc 26-Jun-2013 Erik Gilling <konkers@android.com> Add consumer IR framework

Change-Id: I786c00db0cce61ef75e4edc24e90f2cdcba6dbfb
ontext.java
a7cda03a4747bd224cd304324abc270fa1609bbc 11-Sep-2013 Adam Skory <skory@google.com> resolved conflicts for merge of 7d17de35 to master

Conflicts:
core/res/res/values/public.xml

Change-Id: I14b4e332be7ef27e76a2773a504cb942bd0642ef
7140a25f0135f473b66d01eb042471b2f0ebc836 11-Sep-2013 Adam Skory <skory@google.com> Revert services assist context in KitKat

Reverts extension to assist context API to query
foreground services for assist context data.

Also hides Intent.ACTION_VOICE_ASSIST because
nobody's actually using it yet.

Bug: 10461702
Change-Id: Idf6836adc659b434e11ebb2b98e8b814c94a7227
ntent.java
m/PackageParser.java
m/ServiceInfo.java
9a60acd77c80f4e82a04ba6cb0b23a19653b1d62 10-Sep-2013 Jeff Sharkey <jsharkey@android.com> am 7b69c566: am 9e2c661b: Merge "Fix getCallingPackage() to handle reentrance." into klp-dev

* commit '7b69c566fd1cb1242e805462fdb6ceb6d9bef0a7':
Fix getCallingPackage() to handle reentrance.
9e2c661b3ba26fa8de1299608e27aa95e124a413 10-Sep-2013 Jeff Sharkey <jsharkey@android.com> Merge "Fix getCallingPackage() to handle reentrance." into klp-dev
72e2e3577b6891d8805bc9c3e4ff0f4d65173ebd 10-Sep-2013 Jeff Sharkey <jsharkey@android.com> Fix getCallingPackage() to handle reentrance.

Keep any previous value in the stack frame and restore when the
current call is finished.

Bug: 10659409
Change-Id: I02b760ae9ca06a4b3602725e02f649f1ada460a0
ontentProvider.java
0b4c23efd9775bb43af60a545b4f9596715bcaac 10-Sep-2013 Jeff Sharkey <jsharkey@android.com> am 6874b17d: am ff44ed58: Merge "Disabled states, more UX work, bug fixes." into klp-dev

* commit '6874b17d7937a4616a119aea58c8a9c8acef4e7f':
Disabled states, more UX work, bug fixes.
ff44ed58a1e38ff830e74b0d73549ff01725852d 10-Sep-2013 Jeff Sharkey <jsharkey@android.com> Merge "Disabled states, more UX work, bug fixes." into klp-dev
3f4c205fd3110345241e690f2a2e7c1b477eac76 10-Sep-2013 Jeff Sharkey <jsharkey@android.com> Disabled states, more UX work, bug fixes.

Fix drawable state to correctly show dimmed disabled state. Update
disabled state for all children to grey out text.

Block multi-selection of documents not matching MIME filter. Load
thumbnails in parallel. Show thumbnails in list mode based on MIME
type to match spec.

Give each footer a unique view type to avoid recycler crashes.

Show breadcrumb icons in recent create paths. Fix timestamp bug when
querying/updating recent paths.

Make ContentProviderClient.closeQuietly() really be quiet.

Bug: 10668364, 10510022, 10668701, 10534224, 10667726
Change-Id: I3c705412fb211519f15ad41a273a7533b878e9e5
ontentProviderClient.java
43afbe5842d88602b8da9868dfa778d669e6462f 10-Sep-2013 Matthew Williams <mjwilliams@google.com> am 22902f54: am bec23ea9: Merge "Preserve CTS fail behaviour on null bundle for old API" into klp-dev

* commit '22902f541e61bf9a1030fd87683102fe125ec135':
Preserve CTS fail behaviour on null bundle for old API
d8abd6a163f8ab4332b88035e77080c48b4b71b9 09-Sep-2013 Matthew Williams <mjwilliams@google.com> Preserve CTS fail behaviour on null bundle for old API

For ContentResolver.requestSync() a null bundle should not be
allowed. However we don't want to enforce this for the new API,
so we remove this check from the SyncRequest.Builder#build()

Change-Id: I69353d24edbd686da6ded2856c0920315cb76e85
ontentResolver.java
0033539a4338055734bab1c3f265f2d2b3af7787 09-Sep-2013 Narayan Kamath <narayan@google.com> resolved conflicts for merge of ab98aec6 to master

Change-Id: I773bce338ebc42f7428d9942d22ed140bcfbf3d9
38ed2a471a2291383821fb187bfa18450f0581c2 07-Sep-2013 Dianne Hackborn <hackbod@google.com> Work on issue #10130785: Restore silence and vibrate settings...

...in settings > sound

Add a new ContentProvider API to canonicalize URIs, so they can
be transported across backup/restore.

Change-Id: Ie5af3662f6822a32310e49c7f1e1ff084986c56e
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
1d0d403bc5f359eff06607f8cadac9af8abc1b3a 06-Sep-2013 Dianne Hackborn <hackbod@google.com> am ce277b51: am 298cbe9c: Merge "Fix issue #10560472: ApplicationInfo.manageSpaceActivity not parsed..." into klp-dev

* commit 'ce277b51475a53970f6cd2ff8456883884381cef':
Fix issue #10560472: ApplicationInfo.manageSpaceActivity not parsed...
1d0b177754c81a20e272b91c6f703a634fe5c856 06-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10560472: ApplicationInfo.manageSpaceActivity not parsed...

...correctly with overloaded resources

Change this attribute and a few other manifest attributes to allow
them to change based on platform SDK version.

Clean up a little more the whole mess with native vs. java config
bit masks.

Change-Id: Ia0baa3f7aed00bcb432701bcf99a9112124d6519
m/ActivityInfo.java
m/PackageParser.java
es/Configuration.java
es/TypedArray.java
a53fb42f31e509ed175cbbc5a7474502f8a205b6 06-Sep-2013 Jeff Sharkey <jsharkey@android.com> am 775bdbdb: am dc8d7048: Merge changes I7277880e,Ia5584bd6 into klp-dev

* commit '775bdbdb11ad790f45ee66e8fdf8dca3fcba969a':
Provide calling package to ContentProviders.
Separate root and document management.
6484c0e0139dbdfd890f3142c1e333a4fc09f629 06-Sep-2013 Michael Wright <michaelwr@google.com> Merge addition of supports-input tag into master

aapt has been moved out of f/b which caused merged conflicts in
the original commit

Conflicts:
tools/aapt/Command.cpp

Change-Id: I181ac6a3382eb4858110b30c64fc734a8af4929b
abc1d89950aec7efed2e39dee7b13453050d1d5a 06-Sep-2013 Matthew Williams <mjwilliams@google.com> Merge "Fix broken javadocs"
911d7f411f36f2279aae44c89ff1d33a29140046 06-Sep-2013 Jeff Sharkey <jsharkey@android.com> Provide calling package to ContentProviders.

The calling package is important for ContentProviders that want to
grant Uri permissions as a side effect of operations, so offer it
through a new API. Validates the provided package against the
calling UID before returning.

Bug: 10626527
Change-Id: I7277880eebbd48444c024bcf5f69199133cd59e4
ontentProvider.java
86974463e9e28108e14fa255efd3c429358c0605 06-Sep-2013 Michael Wright <michaelwr@google.com> Merge "Added support for supports-input manifest element" into klp-dev
eaeb19048672337714c1724de7992be8cb3f2124 06-Sep-2013 Michael Wright <michaelwr@google.com> Added support for supports-input manifest element

Change-Id: Ifa7c87908081585c1940b5a47fdf5138a287d9ea
m/PackageParser.java
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
56dbf8f23677d28615e61ef2fbb0e738cca02528 26-Jul-2013 Matthew Williams <mjwilliams@google.com> Fix broken javadocs

Change-Id: Ibf7f2ed92919efd36fffa963447b1a443c0bb9db
ontentResolver.java
AnonymousSyncAdapter.aidl
ContentService.aidl
SyncServiceAdapter.aidl
eriodicSync.java
yncInfo.java
yncRequest.java
yncService.java
f1eebfc2cf47b7fb6ed8dfd06fb124f78ca3519e 06-Sep-2013 Amith Yamasani <yamasani@google.com> Merge "Remove unused APIs and rename others based on API review" into klp-dev
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
ntent.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
ontext.java
1014f3373a61fc7e75bb44b877c8f4121ace2ed8 05-Sep-2013 John Spurlock <jspurlock@google.com> am 25d81a4c: am eebf6895: Merge "Revert "Re-@hide activity-level FLAG_IMMERSIVE and helpers."" into klp-dev

* commit '25d81a4c613a30f55217036dfba92a3c895f8d88':
Revert "Re-@hide activity-level FLAG_IMMERSIVE and helpers."
eebf6895fde7ef0d87c91d31b3abb36d4a98df66 05-Sep-2013 John Spurlock <jspurlock@google.com> Merge "Revert "Re-@hide activity-level FLAG_IMMERSIVE and helpers."" into klp-dev
322d77185d6e8fe79642f27b653bb51677873cba 05-Sep-2013 John Spurlock <jspurlock@google.com> Revert "Re-@hide activity-level FLAG_IMMERSIVE and helpers."

This reverts commit 5e777f668526104e7dd97d3972d35eb7b9eef5a2.

Change-Id: I6dc00f376cbbe34dafde3470d8e06c9123f81d8d
m/ActivityInfo.java
f4490f4018a8dbd48fe309930e1f4d0dca4afc7b 05-Sep-2013 John Spurlock <jspurlock@google.com> am e82f1ce5: am 631228b0: Merge "Re-@hide activity-level FLAG_IMMERSIVE and helpers." into klp-dev

* commit 'e82f1ce53e51b129eddbc3fea27fe72cb402736b':
Re-@hide activity-level FLAG_IMMERSIVE and helpers.
631228b0249de11b5dad37e7a09a251a5558430a 05-Sep-2013 John Spurlock <jspurlock@google.com> Merge "Re-@hide activity-level FLAG_IMMERSIVE and helpers." into klp-dev
3facfed942f837b33082faa6e18fd42408f68cb4 05-Sep-2013 Dianne Hackborn <hackbod@google.com> am a7a8cdfa: am 7f71206d: Merge "Fix issue #10461600: KLP API Review: UndoManager" into klp-dev

* commit 'a7a8cdfab3af29d4bdec95abd6bde96824129e4e':
Fix issue #10461600: KLP API Review: UndoManager
b811e64cb325c8b9c46a2e8e97ef1aa86ac8664b 05-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10461600: KLP API Review: UndoManager

Hide, hide, hide!

Change-Id: Ie04825723d9392a4258e2d738828201ee387f7c6
ndoManager.java
ndoOperation.java
ndoOwner.java
5e777f668526104e7dd97d3972d35eb7b9eef5a2 04-Sep-2013 John Spurlock <jspurlock@google.com> Re-@hide activity-level FLAG_IMMERSIVE and helpers.

Un-@hidden in api 18, but probably should not have been.

The framework currently takes no action based on the flag,
making the docs misleading.

Bug:10460791
Change-Id: If6cc8791a85710897c8fe77cf6682d1460e3416e
m/ActivityInfo.java
d3effc39412d86be3a115873c92c410ace2f16aa 04-Sep-2013 Adam Skory <skory@google.com> am 1b6d0891: am 11254ade: Merge "Add provideAssistData attr to public.xml" into klp-dev

* commit '1b6d08916c88827839416afd2ac264d422c469e7':
Add provideAssistData attr to public.xml
16731d4dc02a335cf96edfa4055cbb6039ec78f5 31-Aug-2013 Adam Skory <skory@google.com> Add provideAssistData attr to public.xml

http://ag/323631 added the provideAssistData
attribute to the Service manifest tag.

It did not, however, add that attribute to
public.xml - making it impossible to actually
build a service that defines said tag.

So, add it.

Now that the attribute is where it should be,
restore @link notation to ServiceInfo.java
without breaking the offline docs build
( see http://ag//340279 ).

Also, make some log warnings related to
providing assist data slightly more verbose.

Bug: 10573008
Change-Id: Ie2bcb411c182d69738a2fa4a74de3171b9b9c455
m/ServiceInfo.java
801a7fc41c53da5aeff0d86f21bfe62423eccb5c 04-Sep-2013 Dianne Hackborn <hackbod@google.com> am 2f3a88b4: am f0abed57: Merge "Fix issue #10461469: KLP API Review: EXTRA_SHUTDOWN_USERSPACE_ONLY" into klp-dev

* commit '2f3a88b4df96b1557439609c91907ade44d44f2c':
Fix issue #10461469: KLP API Review: EXTRA_SHUTDOWN_USERSPACE_ONLY
d318e0b19f44697712b2824b8d685349a5b92000 03-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10461469: KLP API Review: EXTRA_SHUTDOWN_USERSPACE_ONLY

Maybe adding more words will make it more clear. :)

Change-Id: Ie729eaba1df542d4ffcd0502ccba3807d641fd72
ntent.java
9d7c4d4a6e4683862931b3a11c974715073514ab 30-Aug-2013 Matthew Williams <mjwilliams@google.com> Merge "DO NOT MERGE. Remove service component for KLP." into klp-dev
083199efed839274619eb7a003a7d7c9229e5ffc 30-Aug-2013 Alan Viverette <alanv@google.com> Merge "Update captioning APIs" into klp-dev
6222288bfbae46550b4914ef1eb12c69dc1f716c 21-Aug-2013 Matthew Williams <mjwilliams@google.com> DO NOT MERGE. Remove service component for KLP.

1) As discussed, lack of internal clients -> remove SyncService
component from KLP. This CL reverts that addition.
2) Also includes javadoc cleanup of existing API.
3) Fix naming of allowMetered() -> disallowMetered() in API
4) Removed one-off sync in the future, as it doesn't make sense
for sync adapters.

Change-Id: I1b17094e6edafb2955cdfb99f39b44274fbe86f9
ontentResolver.java
eriodicSync.java
yncRequest.java
yncService.java
79a45c6f1837d5921e512213904c96660b1a80b1 29-Aug-2013 Amith Yamasani <yamasani@google.com> Merge "Improve Intent disambig dialog behavior" into klp-dev
c9c5d57e4e900573b8f8b65af4215cb45b48ce93 29-Aug-2013 Martijn Coenen <maco@google.com> Merge "Add requireDeviceUnlock attribute for NFC HCE." into klp-dev
69ce69b0e1500bcf0bfa87eaf0b89ae47f552f5c 29-Aug-2013 Alan Viverette <alanv@google.com> Update captioning APIs

CaptioningManager is now a first-class service in Context and can
have listeners added to it to monitor changes.

BUG: 10260603, 10461210
Change-Id: I2df5b2997537bb343d902b7ace3343ad483f3717
ontext.java
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
ontentProviderClient.java
ntent.java
df4d1d624d44008e919755c7a212d9e2feb4f00b 28-Aug-2013 Martijn Coenen <maco@google.com> Add requireDeviceUnlock attribute for NFC HCE.

Also added AID description, and renamed PackageManager
feature. The old name has to stay at least for a bit,
because we are already deploying apps in our builds that
use the constant.

Bug: 10461409
Bug: 10461753
Change-Id: I7a5bb023bb567dd8b0a17e8e54e9559d7fcf64f5
m/PackageManager.java
e9ecc8b49992840249bfb9d5d52b8824dd5de39b 22-Aug-2013 Amith Yamasani <yamasani@google.com> Improve Intent disambig dialog behavior

Keep track of last chosen activity for a particular intent, similar
to how it is tracked for "Always" choices.
Pre-select the last chosen activity if previously the user picked
"Just once".
Downgrade "Always" to "Last chosen" if there's a new kid on the block,
instead of removing it entirely.
Add methods to set and get last chosen entry.

UI - switch from Grid to List.

Bug: 9958096

Change-Id: Ied57147739a3ade1d36c3a7ec1e8ce77e5c5bb16
m/IPackageManager.aidl
94366313331a789440a3c077173aafcb85cabe78 24-Aug-2013 Ying Wang <wangying@google.com> Fix docs build.

Change-Id: I3299e59fd90141fee324129ff3b251bdf8f60f10
ontentResolver.java
511cd35fcc0b8ab048f284a6af374de8ccc69865 24-Aug-2013 Jeff Brown <jeffbrown@google.com> Docs changes pursuant to API review feedback.

Change-Id: I74c51791192f7fefad4e299d25c91438cbf6ab73
ontext.java
ntent.java
bd3b902567b09379e1b62c60b3319ad82102efad 21-Aug-2013 Jeff Sharkey <jsharkey@android.com> Add CancellationSignal support to file operations.

Since ContentProvider file operations can end up doing substantial
network I/O before returning the file, allow clients to cancel their
file requests with CancellationSignal.

Ideally this would only be needed for openFile(), but ContentResolver
heavily relies on openAssetFile() and openTypedAssetFile() for common
cases.

Also improve documentation to mention reliable ParcelFileDescriptors
and encourage developers to move away from "rw" combination modes,
since they restrict provider flexibility. Mention more about places
where pipes or socket pairs could be returned.

Improve DocumentsContract documentation.

Bug: 10329944
Change-Id: I49b2825ea433eb051624c4da3b77612fe3ffc99c
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
ntent.java
d1da67017f0e1c8a47cb61050c8d7a753efc918c 17-Aug-2013 Jeff Sharkey <jsharkey@android.com> Merge "Richer ParcelFileDescriptor close events." into klp-dev
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
ontentResolver.java
a5599ef636e37cb0b6474349936999be1afe6987 16-Aug-2013 Jeff Sharkey <jsharkey@android.com> Documents management mode; API adjustment.

Create documents manage mode to support Downloads and transient
storage devices. Locks user into requested backend root, and forces
file sizes on and sorting by last modified.

Separate API constants for Documents versus Roots, and give concrete
MIME types for roots.

Treat null sizes as unknown. Documents are always enabled in list
so that divider is drawn. Mark external storage file as writable.

Bug: 10329983, 10332993, 10332952
Change-Id: I05f4fdf5b04041a38e1ba7fb30202a3b0c615bf6
ntent.java
31678b52e4b65e8e4d22ef5dced713424e5deada 13-Aug-2013 Craig Mautner <cmautner@google.com> Fix Configuration layout direction comparison.

If the Configuration layout direction is not changing don't indicate
that it has changed. When the indication is made incorrectly it
causes the window manager to believe that the configuration has
changed and it will start freezing the screen and setting up
animations. Bad jank is the result.

In Configuration.updateFrom() anytime that the screenLayouts were
different the code was setting ActivityInfo.CONFIG_LAYOUT_DIRECTION
in the return bitmask. Even if the only difference was between
UNDEFINED fields. This fix makes sure that the layout direction
field has actually changed before setting
ActivityInfo.CONFIG_LAYOUT_DIRECTION in the return bitmask.

In Configuration.diff() if the passed Configuration had
SCREENLAYOUT_LAYOUTDIR_UNDEFINED the code was setting
ActivityInfo.CONFIG_LAYOUT_DIRECTION in the return bitmask. This fix
makes sure that if the passed Configuration has fields set to
SCREENLAYOUT_*_UNDEFINED then corresponding bits will no longer be set
in the returned bitmask.

Fixes bug 10291622.
Fixes bug 10247094.

Change-Id: If26de662206fe85dc4671adbae39dfb99dc1038c
es/Configuration.java
08da7a1143b0c9cfb703971d882e0886bbd7d9de 12-Aug-2013 Jeff Sharkey <jsharkey@android.com> API to discover granted Uri permissions.

Now that granted Uri permissions can be persisted across reboots,
offer APIs to discover them. Returns incoming or outgoing grants
matching the requested flags and mask. Add helper method to discover
"open" documents using this new API and filtering for non-documents.

Require that callers own at least of the filtering packages to avoid
exposing all grants. Switch internal grant tracking to use ArrayMap.

Change-Id: I0a755f221d0d160b411f8d3cfc48279b64345733
ontentResolver.java
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
ontext.java
ontextWrapper.java
d8415f4bf061000b049143b4f48b96b2005450bb 08-Aug-2013 Amith Yamasani <yamasani@google.com> Developer option to force RTL layout

Make sure screen layout changes are taken into account in Configuration diffs.
Initialize the SystemProperty from Global settings on startup of
ActivityManagerService.

TextUtils checks the override flag to decide if the default layout direction
should be forced to RTL.

Bug: 10244047
Change-Id: I23a2583d790a355060d0d898ba44e5f7dc896b46
es/Configuration.java
365038217553e192d011861422715f8a87b30618 08-Aug-2013 Ben Murdoch <benm@google.com> Fix the build

Change-Id: If34523c4b25b3d60edc00b0f37b636bedfc756c2
m/ServiceInfo.java
77ece7b192d45351b313ee23270caab373d3c477 08-Aug-2013 Matt Casey <mrcasey@google.com> Merge "Extend assist context to foreground services"
e64ff1b31a72162a9179eb13f917b3bf67ae9142 08-Aug-2013 Ben Gruver <bgruv@google.com> Merge "Improve the logic for determining whether the caller is a system app"
dd72c9ed558158f889a8cdfed8a108553ba5a562 06-Aug-2013 Ben Gruver <bgruv@google.com> Improve the logic for determining whether the caller is a system app

Bug: 10024554
Change-Id: I742e918840a98dd83d713bdf7a43a919674e65fe
m/IPackageManager.aidl
f45c9a0c6a3572b672ac5e531397516ec1e05c8a 07-Aug-2013 David Christie <dnchrist@google.com> Unhide Context.APP_OPS_SERVICE

Change-Id: Iab3e3fb2a32c3407c61abb694e21d84b50579d4f
ontext.java
dfc7fd7818cda46b914c8a9d69d1ba00443ffe5b 06-Aug-2013 Adam Skory <skory@google.com> Extend assist context to foreground services

Add Service.onProvideAssistData(Bundle) which will be
called on foreground Services that have the new attr
in their manifest of provideAssistData = true;

Rename private reference to e.g. "getTopActivityExtras"
as "getAssistContextExtras" - do not rename the relevant
permission, since it is already public.

In ActivityManagerService, request extras both from the
top activity and from any foreground services with the
above attribute. Extend PendingActivityExtras as
PendingAssistExtras with a list of Services from which
extras are expected.

Reduce the timeout to or reporting extras from 4 sec to
just 500 ms.

Bug: 9526331
Change-Id: Ia03b96e8189033a68ae9c514c8cea0199a19bce8
ntent.java
m/PackageParser.java
m/ServiceInfo.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
ontext.java
ntent.java
89a8250e242ee1d0b5b853154723b448d732b356 03-Aug-2013 Elliott Hughes <enh@google.com> am 710f3e2c: am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."

* commit '710f3e2cc6bc2cdc2f2cddb2190823ea31efd52a':
If frameworks wants ASCII casing, it should explicity ask for it.
cb64d430627b71221c588ef5f23599dd34a89ee9 02-Aug-2013 Elliott Hughes <enh@google.com> If frameworks wants ASCII casing, it should explicity ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
ntent.java
7e258b31e70464bb6d80b8b42f0cef8e4417bd6a 01-Aug-2013 Jeff Sharkey <jsharkey@android.com> XML metadata for storage backend; custom icons.

Introduce XML metadata for storage backends, used to indicate if
custom roots should be queried, and provide any custom MIME type
icons inside that backend.

Parse metadata and resolve custom icons in UI.

Change-Id: Iec026c0b10845edff7a345d9389691ddf2c87a0e
es/XmlResourceParser.java
cb9accefb19ba6ae6fd449dc9ab62e972b51335c 31-Jul-2013 Jean-Baptiste Queru <jbq@google.com> am 46aae98b: am f2d643cf: Merge "Fixed a leaked partial wakelock in AbstractThreadedSyncAdapter."

* commit '46aae98b41fe6e6b61aeddff3ad3f41bc4ceace3':
Fixed a leaked partial wakelock in AbstractThreadedSyncAdapter.
f2d643cfc7405c1f771cacab365a0a5d9b547f36 31-Jul-2013 Jean-Baptiste Queru <jbq@google.com> Merge "Fixed a leaked partial wakelock in AbstractThreadedSyncAdapter."
f2c89b9ed65116888f1d4a863b7c10c007a49c5d 30-Jul-2013 Wink Saville <wink@google.com> am 9516ed45: am cfc23ac6: Merge "Add support for MNC=00"

* commit '9516ed4598948eea5623c57e443bce08c1f48ab6':
Add support for MNC=00
2f1a2e423e0fbb64467d6fcfa4e82c6384f31210 26-Jul-2013 Eino-Ville Talvala <etalvala@google.com> Camera2 API: Rename package to android.hardware.camera2

Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
ontext.java
1d766b53217f9e45472a01e84d2f1b02af36dec7 07-Oct-2011 Mattias Petersson <mattias.petersson@sonyericsson.com> Add support for MNC=00

This adds support for operators with MNC (Mobile Network Code) zero
to add customized resources. For example, it makes it possible to
add a folder called "/res/values-mnc00/" in an application. This will
cause resources in that folder to be used when MNC is zero.
(There is a total of 14 countries that have an operator with MNC
zero.)

Without this fix, the resource framework gets confused, because MNC 0
is normally used when the MNC is undefined (not set).

Bug: 7170488
Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
es/Configuration.java
8014cbffad1e74814ddd0a98ee5954d8bf3a6c03 15-Aug-2012 Daniel Karlberg <daniel.karlberg@sonymobile.com> Fixed a leaked partial wakelock in AbstractThreadedSyncAdapter.

This fix ensures that onFinished() is always called in a syncClient
even if the application lacks the READ_SYNC_SETTINGS permission.

Change-Id: I944717e71ceae06a665f8a3b1199b41d73e12da4
bstractThreadedSyncAdapter.java
68e39c3411d97ba2fe3ef5e33260b31fc73c934f 26-Jul-2013 Matthew Williams <mjwilliams@google.com> Fixed NPE in SyncRequest for Bundle.EMPTY

Writing to bundle caller provides causes app to crash if bundle
is Bundle.EMPTY, which is backed by an unmodifiable map.

Change-Id: Ia9bdf12cddea9673bb84e0458cce8bc8027fbba5
yncRequest.java
c81891c1257895220c00e9ee99968ce305cfdd3b 25-Jul-2013 Matthew Williams <mjwilliams@google.com> Fixes to javadoc

That was breaking sdk(linux) and aosp_mips-eng (linux)

Change-Id: I1d6737baf68e004a2764d1dbee816f98a1a49be8
yncRequest.java
8cf4e13e466bf7a9dc9a3bee73c8a74f3fc4bb85 25-Jul-2013 Ying Wang <wangying@google.com> Fix docs build.

Change-Id: I5bf25f6f1681a66f63798a9a0d5112b2a32f747b
yncRequest.java
f7e843e3a27774b59860aa46913309b7c0683f18 25-Jul-2013 Matthew Williams <mjwilliams@google.com> Merge "AnonymousSyncService & SyncRequest."
fa77418134c6f1f80af225a78819f069e9c974fb 19-Jun-2013 Matthew Williams <mjwilliams@google.com> AnonymousSyncService & SyncRequest.

Changes to the way bundles are parcelled broke SM,
this update writes out the bundle as xml. This circumvents
the need for parcel, and makes it easier to debug whats
happening.
Change-Id: I6cd5d3a2eb80bfa5b3ae0c7f2d2ff91a65daaa34
bstractThreadedSyncAdapter.java
ontentResolver.java
AnonymousSyncAdapter.aidl
ContentService.aidl
eriodicSync.java
yncRequest.aidl
yncRequest.java
yncResult.java
yncService.java
57a7f5954cf1f9cbe99c70133863049a4be2e983 23-Jul-2013 Dianne Hackborn <hackbod@google.com> Add "adb shell am restart" command.

So you can restart the system without being root.

Change-Id: I89770f497833ecbe2b69e3a0cfafae7ef472a9f5
ntent.java
5cf6663c80a9b6039cc70cc9b4041af64f671571 23-Jul-2013 Dianne Hackborn <hackbod@google.com> Merge "Add new facility for apps to declared their preferred intents."
b09491f271c0a647632e5a99bfe280cbb7106195 23-Jul-2013 Dianne Hackborn <hackbod@google.com> Add new facility for apps to declared their preferred intents.

This is an extension from the existing data/etc/perferred-apps
facility. Now applications pre-installed on the system image
can declare which intents they would like to be considered the
preferred app for. When the system firsts initializes, or the
application settings are reset, these are used to configured
the current preferred app settings appropriately.

You use this with a new <preferred> tag under your activity,
which indicates which intents you would like to be the preferred
handler for. The syntax for this is written much like an
intent filter, however semantically it is not really an intent
filter and so has some important differences:

- You can not use globbing patterns (for SSPs or paths).
- You can use only one action (if you use more than one it
will only use the first one, so be careful).

Semantically what this is actually used for is a template
from which to generate a set of Intent objects, which are used
to probe the current environment in order to see if there are
multiple activities that can handle the Intent and, if so,
generate a new preferred setting for that pointing to your app.

As an example, here is how the preferred tag might be written
for the Maps application:

<preferred>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="maps.google.com" />
<data android:path="/" />
<data android:pathPrefix="/maps" />
</preferred>
<preferred>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="geo" />
</preferred>

From this, we generate the following set of potential Intents
to be matched, all with ACTION_VIEW, CATEGORY_DEFAULT+CATEGORY_BROWSABLE:

Change-Id: I7fd42aec8b6109c7dd20012529662362f1b7437a
http://maps.google.com/
http://maps.google.com/maps
https://maps.google.com/
https://maps.google.com/maps
geo:
ntentFilter.java
m/PackageParser.java
ce1279686b17940127292aa815d46dc1cc4d71af 23-Jul-2013 Martijn Coenen <maco@google.com> Merge "Add host-based card emu feature to PackageManager."
f4bf158328fd1bcb171baab043460efd5c58152c 22-Jul-2013 Martijn Coenen <maco@google.com> Add host-based card emu feature to PackageManager.

Change-Id: Id55025e5ab8443be1e6ac23ac5d9ab93565a53f0
m/PackageManager.java
4231185a2e7cf246be5f63dcf0d9509d7a542571 19-Jul-2013 Kenny Root <kroot@google.com> Merge "KeySets: better rejection for badly-formed manifest"
add005cf94dcc815d29b54588c76fd87929075b3 18-Jul-2013 Dianne Hackborn <hackbod@google.com> Mmmmmmm... lovely, lovely ArrayMap.

And ArraySet, too.

Change-Id: I72ea28cbb2286b01b6e1be082f8e7ec17e99074e
ntent.java
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
ontext.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
ontext.java
ntent.java
37dca155aaaecd79d801f53851d1d319d7ff0726 10-Jul-2013 Kenny Root <kroot@google.com> KeySets: better rejection for badly-formed manifest

During testing, I typed in a <publicKey> tag incorrectly and it
clobbered the previously defined key entry since it still parsed the
subsequent <keyset> tag defining an alias.

This gives more information in the log when running into such parsing
errors.

Change-Id: Id3c8e85530b1a5e39f4a2cb6ea8bd5521cb6918f
m/PackageParser.java
88c0589969b17e66559cd2f132094cdaa0ee351d 28-Jun-2013 Craig Mautner <cmautner@google.com> Refactor ActivityThread cache - Baby step 1.

Introduce ResourcesManager and ResourcesKey as standalone classes.
Move DisplayMetrics and Resources HashMaps from ActivityThread to
ResourcesManager.

Change-Id: I20cc6c0dd1b74667354839e5ac9a660f4ee2d00d
es/Resources.java
es/ResourcesKey.java
2758e291c82901e8e22258e519dc5af228d44dcf 08-Jul-2013 Kenny Root <kroot@google.com> KeySetManager: fix indentation

Change-Id: I4fe67143bce30a7592c6a0f5a094172112bdfe43
m/PackageParser.java
5fa9f2b127c2d7c40da419540f3425ac45a89439 27-Jun-2013 Amith Yamasani <yamasani@google.com> Merge "Single-user restrictions"
dbe846b02e6f6f715787cf8621587f7bc25deaac 25-Jun-2013 Georgi Nikolov <geonik@google.com> Bugfix 9373708
JBMR2 runtime restart (system process crash in the sync manager) during setup

The fix is to ensure that all access to SyncStatusInfo and related objects happens
while holding the mAuthority lock or is on a per-thread copy of the objects

Also, includes an unrelated fix for a bug I just noticed in the way
dumpSyncState() prints the periodic sync info

Change-Id: Id9e4dff41029412e133bdabc843d555434d9a12f
(cherry picked from commit 182ff3acbad9850b40d37ad1c23106be6eda8476)
yncStatusInfo.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
ntent.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
4ce55a3987c14b939cd416e24116c6ab3c760b82 25-Jun-2013 Christopher Tate <ctate@google.com> Fix FLAG_PRIVILEGED numbering

Change-Id: Ia04326acb51a76c0f1931fce94f0501d4ce7faba
m/ApplicationInfo.java
07f36c738e65b8cc2484107b4f8e3386d45d065d 24-Jun-2013 Craig Mautner <cmautner@google.com> Merge "Add activity token to display system."
48d0d1886731ff19ed3fb47a5997be5df0d1bba8 11-Jun-2013 Craig Mautner <cmautner@google.com> Add activity token to display system.

First step in adding activity specific information to displays.
Replace CompatibilityInfoHolder with DisplayAdjustmentsHolder that
holds an activity token in addition to the CompatibilityInfo.

Change-Id: Ie113cd8dd9c62e0b5311204e039a4829096bea68
ontext.java
ontextWrapper.java
es/CompatibilityInfo.java
es/Resources.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
ontext.java
3b8b276644c5ee1ebcd73b5b1981d7e54a29561b 21-Jun-2013 Georgi Nikolov <geonik@google.com> Merge "Add javadoc comments explaining SYNC_EXTRAS that did not have documentation"
b3395575a3441d9339423a4e624cb9806dd07a49 19-Jun-2013 Georgi Nikolov <geonik@google.com> Add javadoc comments explaining SYNC_EXTRAS that did not have documentation

Change-Id: I3500f03076694fe5981fd5ec82e7f29062dfec53
ontentResolver.java
ccbf84f44c9e6a5ed3c08673614826bb237afc54 09-May-2013 Christopher Tate <ctate@google.com> Some system apps are more system than others

"signatureOrSystem" permissions are no longer available to all apps
residing en the /system partition. Instead, there is a new /system/priv-app
directory, and only apps whose APKs are in that directory are allowed
to use signatureOrSystem permissions without sharing the platform cert.
This will reduce the surface area for possible exploits of system-
bundled applications to try to gain access to permission-guarded
operations.

The ApplicationInfo.FLAG_SYSTEM flag continues to mean what it is
says in the documentation: it indicates that the application apk was
bundled on the /system partition. A new hidden flag FLAG_PRIVILEGED
has been introduced that reflects the actual right to access these
permissions.

At some point the "system" permission category will be
renamed to "privileged".

Bug 8765951

Change-Id: I6f0fd9cdb9170e076dfc66d83ecea76f8dd7335d
m/ApplicationInfo.java
m/PackageParser.java
439e9bc85d854cec5ca89e8947a17693e84cb4ae 13-Jun-2013 Dianne Hackborn <hackbod@google.com> Fix some things.

Change-Id: I7dacf11cdb356cad5f9bc013b19f2e14f31cb75f
ntentFilter.java
df1c0bf7744d4abd3e2000fcfec01c119b857c75 13-Jun-2013 Dianne Hackborn <hackbod@google.com> Add scheme specific part to IntentFilter.

Change-Id: I063d086cdc742800b8e31ddf2942f2e9230e2785
ntentFilter.java
m/PackageParser.java
b2675542c2f414154125b534767ae0903fba581e 12-Dec-2012 Eino-Ville Talvala <etalvala@google.com> Initial commit of new camera API, mostly just the interface.

- New core API classes in android.hardware.photography
- android.media.Image and android.media.ImageReader classes for
application access to direct hardware image buffers.
- Additions to android.graphics.ImageFormat to describe new image
types needed by new camera API.
- Some documentation included; very little implementation.

Bug: 9111736
Change-Id: I0680f35944d1cb8845b7dc0c67edc8c0f0864573
ontext.java
05d60beb89700925df2a4965000f8f2c5ade6ff4 06-Jun-2013 Trevor Johns <trevorjohns@google.com> docs: Fix minor typo in android.content.SyncResult

Change "storage later" to "storage layer" in docs for
SyncResult.databaseError.

Change-Id: I5fa07c2e58c65dbe00b1341f0cca99d47d2dd264
yncResult.java
eb47aac14c584bb7326f48082b37cb0e0d0b500f 01-Jun-2013 Dirk Dougherty <ddougherty@google.com> am 0f70bcfc: am 8ebfb8c9: am fdc0c861: am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit '0f70bcfce3eb291e95e2a70f9d353efa862796da':
Doc change: restore warning not to abort NEW_OUTGOING_CALL.
0f70bcfce3eb291e95e2a70f9d353efa862796da 01-Jun-2013 Dirk Dougherty <ddougherty@google.com> am 8ebfb8c9: am fdc0c861: am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit '8ebfb8c9c34caa80cd0d2451d950170c1b522f2a':
Doc change: restore warning not to abort NEW_OUTGOING_CALL.
8ebfb8c9c34caa80cd0d2451d950170c1b522f2a 01-Jun-2013 Dirk Dougherty <ddougherty@google.com> am fdc0c861: am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit 'fdc0c8618b4e51c322f747202ff94508124e7c9c':
Doc change: restore warning not to abort NEW_OUTGOING_CALL.
fdc0c8618b4e51c322f747202ff94508124e7c9c 01-Jun-2013 Dirk Dougherty <ddougherty@google.com> am b18c7254: am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit 'b18c725442e498a6447de37c3b9428b09837eda9':
Doc change: restore warning not to abort NEW_OUTGOING_CALL.
b18c725442e498a6447de37c3b9428b09837eda9 01-Jun-2013 Dirk Dougherty <ddougherty@google.com> am a404a629: am 6fe992d8: am 4fad5c17: Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit 'a404a62951ad8a2d657a587feb12780e725296e3':
Doc change: restore warning not to abort NEW_OUTGOING_CALL.
04fe6ebb9f919f196ec06a19bebc09b8e943f95b 31-May-2013 Adam Powell <adamp@google.com> Fix a bug resolving the correct icon/logo in action bars

Remove some abstraction-breaking magic in ActionBarView and replace it
with proper resolution of the icon/logo when creating a window. The
old implementation relied on the ActionBarView's context being an
Activity.

Bug 9171554

Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
m/ComponentInfo.java
4fad5c176a245203c1f8d26397ef6cc838753357 31-May-2013 Dirk Dougherty <ddougherty@google.com> Merge "Doc change: restore warning not to abort NEW_OUTGOING_CALL." into jb-mr1.1-docs
087d2b2df78e44b92e02a241ba6e7f917f63bac6 30-May-2013 Adam Powell <adamp@google.com> Merge "Optimizations for ResolverActivity"
0256c6f8d31c95f730d286b9e2ebae94736f7098 30-May-2013 Adam Powell <adamp@google.com> Optimizations for ResolverActivity

Load app icons using AsyncTask instead of during list item binding.

Make sorting resolved components by display name case insensitive.

Change-Id: I8e69781ed021035b9f0dac349791b3d8a674cf60
m/ResolveInfo.java
8f114bb2ae9e84c53bb6eaaf6d0641dff09cb0e3 30-May-2013 Dirk Dougherty <ddougherty@google.com> am 2bf15756: am 91ea7882: am f64588a2: am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit '2bf15756cc416644a4777d76a94947bee75d8b3b':
Doc change: adjust description of NEW_OUTGOING_CALL.
932fbcc817caba5e0825d13b800c423980910ca2 30-May-2013 Dirk Dougherty <ddougherty@google.com> Doc change: restore warning not to abort NEW_OUTGOING_CALL.

Change-Id: Icdd4ae184b2a989ac2967420cb5b471aac70808f
ntent.java
2bf15756cc416644a4777d76a94947bee75d8b3b 30-May-2013 Dirk Dougherty <ddougherty@google.com> am 91ea7882: am f64588a2: am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit '91ea7882cdba6bef7918fcd4ff645a9693fdc861':
Doc change: adjust description of NEW_OUTGOING_CALL.
91ea7882cdba6bef7918fcd4ff645a9693fdc861 29-May-2013 Dirk Dougherty <ddougherty@google.com> am f64588a2: am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit 'f64588a2ce6a0e4e76d7d48c47f82785553b13f3':
Doc change: adjust description of NEW_OUTGOING_CALL.
f64588a2ce6a0e4e76d7d48c47f82785553b13f3 29-May-2013 Dirk Dougherty <ddougherty@google.com> am de8ac602: am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit 'de8ac602e3d74dbcb87dfc4c1cc54fb0553e5f17':
Doc change: adjust description of NEW_OUTGOING_CALL.
de8ac602e3d74dbcb87dfc4c1cc54fb0553e5f17 29-May-2013 Dirk Dougherty <ddougherty@google.com> am 963e3ec5: am 71d1af4a: am a284e201: Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs

* commit '963e3ec55f2ecbb132a627c8d0f6c19d83bc60b8':
Doc change: adjust description of NEW_OUTGOING_CALL.
57f0de12912c7412820b74e119c4a5e3ad2bc203 29-May-2013 Santos Cordon <santoscordon@google.com> am d8754689: am c72949c6: am 7999c228: am 7fb15ce7: Update documentation of NEW_OUTGOING_CALL

* commit 'd8754689595ab4b5e4e43a89178080d344374869':
Update documentation of NEW_OUTGOING_CALL
d8754689595ab4b5e4e43a89178080d344374869 29-May-2013 Santos Cordon <santoscordon@google.com> am c72949c6: am 7999c228: am 7fb15ce7: Update documentation of NEW_OUTGOING_CALL

* commit 'c72949c6bc6f5654f09482309d9d3ac03aadd67d':
Update documentation of NEW_OUTGOING_CALL
a284e2013af9624f0093d58ea8d14994c8eda316 29-May-2013 Dirk Dougherty <ddougherty@google.com> Merge "Doc change: adjust description of NEW_OUTGOING_CALL." into jb-mr1.1-docs
367ce906c84f68621663aa8bbcf24af7e024adfa 29-May-2013 Dirk Dougherty <ddougherty@google.com> Doc change: adjust description of NEW_OUTGOING_CALL.

Change-Id: If2bcfa7410759e08958029578a9b3d0a60a1de4e
ntent.java
7fb15ce74bbc06c88660440f84845a1f3108c3d3 17-May-2013 Santos Cordon <santoscordon@google.com> Update documentation of NEW_OUTGOING_CALL

Adds call-handling as a use case for NEW_OUTGOING_CALL

Change-Id: Ie511438bd8d9aa245881f050d32221c81e898745
ntent.java
f8b8521598f8ffb5e899e750b3b137dfc79b8c87 28-May-2013 Dianne Hackborn <hackbod@android.com> am 89eed125: am c7322005: am f9b41efe: Merge "Don\'t include flags in configuration change if their value hasn\'t changed."

* commit '89eed125590c6286fa64e9074e95196c8cc4bd27':
Don't include flags in configuration change if their value hasn't changed.
c73220050efa7420974850ee9a80a965d807c7ce 26-May-2013 Dianne Hackborn <hackbod@android.com> am f9b41efe: Merge "Don\'t include flags in configuration change if their value hasn\'t changed."

* commit 'f9b41efe17718a21df115d95c47a94d97a767076':
Don't include flags in configuration change if their value hasn't changed.
f4bf0ae2a7c2d9d92c5c8abdb82baa53b4c9ccda 21-May-2013 Dianne Hackborn <hackbod@google.com> New ArrayMap class.

This is a new kind of key/value mapping that stores its data
as an array, so it doesn't need to create an extra Entry object
for every mapping placed in to it. It is also optimized to reduce
memory overhead in other ways, by keeping the base object small,
being fairly aggressive about keeping the array data structures
small, etc.

There are some unit and performance tests dropped in to some
random places; they will need to be put somewhere else once I
decided what we are going to do with this for the next release
(for example if we make it public the unit tests should go in
to CTS).

Switch IntentResolver to using ArrayMap instead of HashMap.

Also get rid of a bunch of duplicate implementations of binarySearch,
and add an optimization to the various sparse arrays where you can
supply an explicit 0 capacity to prevent it from doing an initial
array allocation; use this new optimization in a few places where it
makes sense.

Change-Id: I01ef2764680f8ae49938e2a2ed40dc01606a056b
m/RegisteredServicesCache.java
es/Resources.java
5c6370a405581e1e4da084dac1ca0e5171ce6574 18-May-2013 Santos Cordon <santoscordon@google.com> am 8e3f01e9: am c1de2404: Merge "Update documentation of NEW_OUTGOING_CALL" into jb-mr2-dev

* commit '8e3f01e90ed51b055e0addb7d5114b732bd514b9':
Update documentation of NEW_OUTGOING_CALL
ba70136713ce121acede4e97af996e7fb4de14fd 17-May-2013 Santos Cordon <santoscordon@google.com> Update documentation of NEW_OUTGOING_CALL

Adds call-handling as a use case for NEW_OUTGOING_CALL

bug: 8987211
Change-Id: Icd9c53a2dd1a5948a749e133600db21c2560fd1f
ntent.java
e7123a660182c6a5869f46579e596e2b90983a6b 15-May-2013 Danny Baumann <dannybaumann@web.de> Don't include flags in configuration change if their value hasn't changed.

This makes the check in updateFrom() match the logic in diff().

Change-Id: I3ab4e8460f7fbf985ef55b9514a8aa90d401d486
es/Configuration.java
ecd5afe1ef4aa2a5d11ad4fa356fb6d5f461efb4 10-May-2013 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 069d7e9b to master

Change-Id: Ia8fd5de3d4cc275fd358132bcb2c198d1e7b6877
6fc1d4e8e6549b0d58ea23b4dd3f26329ec19f38 09-May-2013 Amith Yamasani <yamasani@google.com> Cache the scaled avatar drawables in the keyguard user switcher

Loading the avatar icons and drawing them into the sized bitmap
turns out to be quite expensive and the cost increases with number
of users. Caching them shaves off several hundred milliseconds from
Keyguard inflation time during user switching on the lockscreen.

For instance, 15ms vs. 750ms with 3 avatars on a certain 7" tablet.

Bug: 7986933
Change-Id: I3e2065bfa25aa263133ba204ca364c3b04d7c0ff
ntent.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
ndoManager.java
ndoOperation.java
ndoOwner.java
100ed154b79b96348087222550a59a8f3b944fa1 06-May-2013 Svetoslav <svetoslavganov@google.com> am b0675df8: am faa47b52: Merge "Idle maintenance scheduling broken." into jb-mr2-dev

* commit 'b0675df8fd377230edc392e02ba0eba275b57992':
Idle maintenance scheduling broken.
faa47b526fc35be01b1bc46a78679adde87f6701 04-May-2013 Svetoslav <svetoslavganov@google.com> Merge "Idle maintenance scheduling broken." into jb-mr2-dev
6a08a12b8e8ef6fa04932c7a1c5255e3f158a3c8 03-May-2013 Svetoslav <svetoslavganov@google.com> Idle maintenance scheduling broken.

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

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

bug:8688454

Change-Id: I17b421b09823cb46ec218cabda19e02432d94f8c
ntent.java
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 18-Apr-2013 Romain Guy <romainguy@google.com> Pack preloaded framework assets in a texture atlas

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

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

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

WHAT IS THE ASSETS ATLAS

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

HOW IS THE ASSETS ATLAS GENERATED

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

There are several steps that lead to the atlas generation:

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

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

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

HOW PROCESSES USE THE ATLAS

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

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

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

Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
es/Resources.java
821b58a93df5edcdaaad49582b4a6726770214cd 02-May-2013 Amith Yamasani <yamasani@google.com> am f5a553a4: am 55a08c5a: Merge "Allow requiredForAllUsers to work on updates to system apps" into jb-mr2-dev

* commit 'f5a553a4278a68fda9795dea759840d4f93546d7':
Allow requiredForAllUsers to work on updates to system apps
9ab3fd4565c105a983c61a0598b75b81323b4437 02-May-2013 Jeff Sharkey <jsharkey@android.com> Unhide extra to fix docs build.

Change-Id: Ib757b5d62e6ff7f4623680fb5faba337de46aa02
ntent.java
9ecfee03fa188aebfbd9778b4e020323903495ee 19-Apr-2013 Jeff Sharkey <jsharkey@android.com> Start fleshing out new storage APIs.

Introduces new DocumentsContract which storage backends must
implement. Backends surface a simple directory-like organizational
structure that enables a document to appear at multiple locations in
that hierarchy. Querying a document or the contents of a directory
will return a Cursor populated with DocumentColumns, which includes
simple metadata.

Adds new OPEN_DOC and CREATE_DOC Intents, and permission to protect
storage backends.

Change-Id: Ib4984bc980182b2cedbe552908e5be94604ef085
ntent.java
0d8750d771c8ad4db6f1f590ecda4ac23f783a84 02-May-2013 Amith Yamasani <yamasani@google.com> Allow requiredForAllUsers to work on updates to system apps

Bug: 8736380

Also set the default type as the constructor docs imply in RestrictionEntry.

Change-Id: I446504fad8822804d68f09b45ef62f6d79c4b8df
estrictionEntry.java
m/PackageParser.java
32559e191fd2580393d77161a32bcaeaa49fbe5d 29-Apr-2013 Jeff Sharkey <jsharkey@android.com> Decorate AssetFileDescriptor with Closeable.

Change-Id: I1f5f462b781a6e8fad77337006febd9c54694c0b
es/AssetFileDescriptor.java
2b4d22cda3c44f5d731c15306b85045417071408 26-Apr-2013 Jeff Sharkey <jsharkey@android.com> Disable various sampling event logs.

They're unused at the moment.

Change-Id: Ib629b405e7b6666d38fcd0ebaa16490bfb0e95f0
ontentResolver.java
4699b68859d1c40eaabb5ea0ee625f0c745e6538 25-Apr-2013 Amith Yamasani <yamasani@google.com> am 269c068d: am df181185: Merge "Hide TYPE_CHOICE_LEVEL since there\'s no visual representation for it yet." into jb-mr2-dev

* commit '269c068de9ffb44aefa0bca99c77636263f8b8fb':
Hide TYPE_CHOICE_LEVEL since there's no visual representation for it yet.
d5e946a52c5095c05a4621073f428649ad626430 25-Apr-2013 Amith Yamasani <yamasani@google.com> Hide TYPE_CHOICE_LEVEL since there's no visual representation for it yet.

Bug: 8704663
Change-Id: Ia9931e3844305c8f84c127506ffedf3a17eeb80d
estrictionEntry.java
ae8ffa0f4e3ecf91c2d0aa51e8f8c3801d323153 24-Apr-2013 Matthew Xie <mattx@google.com> am 2e0a94d2: am b442d074: Merge "Add hardware feature android.hardware.bluetooth.le" into jb-mr2-dev

* commit '2e0a94d22b1bd25c4fa9442e03c596bd0cb3fe76':
Add hardware feature android.hardware.bluetooth.le
b442d07469aebc07d1d13b5b64b40aa152022e13 24-Apr-2013 Matthew Xie <mattx@google.com> Merge "Add hardware feature android.hardware.bluetooth.le" into jb-mr2-dev
a722772b284c8a9889e59fcb28aa0aa87c0e8b46 19-Apr-2013 Matthew Xie <mattx@google.com> Add hardware feature android.hardware.bluetooth.le

The feature is used to differ platforms that support bluetooth low
engery radio
bug 8369273

Change-Id: Ibe23da73f7ecfa854bdb8b8bfc1a32b8e3aeee56
m/PackageManager.java
dfe49e9c9f62d55f72f65e84effcdf647e30f77e 23-Apr-2013 Nick Pelly <npelly@google.com> am 09e9e1a5: am edced26f: Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev

* commit '09e9e1a5e7e3dd161b73f4254f239cab0410438a':
Add ContentValues & CursorWindow to framework.aidl
edced26f162b0232338064e569fe651b8c805f93 23-Apr-2013 Nick Pelly <npelly@google.com> Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev
bb392ba5f72fac676d5a1454846d4713d2cd7ef5 22-Apr-2013 Nick Pelly <npelly@google.com> Add ContentValues & CursorWindow to framework.aidl

By adding these stubs, they will be automatically added to framework.aidl
in sdk builds.

This makes it easier for unbundled apps to pass these objects across
AIDL calls.

ContentValues & CursorWindow are already public Parcelables. It is an
oversight that they were not already in framework.aidl.

There are a lot of other public Parcelables that are missing from
framework.aidl. This just fixes two commonly requested ones.

Change-Id: If61e19b1206da1680413d9ea03de87a90b6d233e
ontentValues.aidl
4c2b007b5e1c617026e3a1926c5c867eff574f73 21-Apr-2013 Dianne Hackborn <hackbod@google.com> am 5b00f558: am b3bffa80: Merge "Follow up on issue #8159072: Spinner widget should be RTL\'ized" into jb-mr2-dev

* commit '5b00f5584a7894bb79f9ce369d88cea5d886ff22':
Follow up on issue #8159072: Spinner widget should be RTL'ized
f1ae269c0665f266b904db7c9ef4511e11459f44 19-Apr-2013 Dianne Hackborn <hackbod@google.com> Follow up on issue #8159072: Spinner widget should be RTL'ized

Only allow through changing direction configs for drawables.

Explicitly map layout direction values to an index in the
preload arrays.

Drawables that don't vary by configuration should go in to both
the rtl and ltr preloads.

Change-Id: Ib92dd11738082a795e02d1d4191adb54702d651c
es/Configuration.java
es/Resources.java
8dc25e068071759fc57629f3ea112083e6ac6f2c 19-Apr-2013 Amith Yamasani <yamasani@google.com> am ba567014: am e37c8f78: Merge "Improve API and documentation" into jb-mr2-dev

* commit 'ba56701493ede3f5f338a03173da0327a215b223':
Improve API and documentation
e37c8f781abb045ec4a0b872e5e6afe48eee021a 19-Apr-2013 Amith Yamasani <yamasani@google.com> Merge "Improve API and documentation" into jb-mr2-dev
3b458ad9ee5f2d6b7cf28a13bc29123cdf540763 19-Apr-2013 Amith Yamasani <yamasani@google.com> Improve API and documentation

API for querying accounts visible to a specific package.

Improve API and docs for device owner.

Bug: 8657158
Change-Id: I01b8701534f64b383391508a49ae93ed21f22ae0
ntent.java
789ac6c97575be168c2955cea9236638c838d62a 19-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> am 07fedf58: am b08aa235: Merge "Improve fix for bug #8159072 Spinner widget should be RTL\'ized" into jb-mr2-dev

* commit '07fedf58dd6d6e4759f7dbe7a492e5318f1655cb':
Improve fix for bug #8159072 Spinner widget should be RTL'ized
b08aa2354ff3b1bd1c7d705b82a7c1e62674ee50 19-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve fix for bug #8159072 Spinner widget should be RTL'ized" into jb-mr2-dev
b9a13b892ef3da521d428f144e4048aac8a63017 15-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> Improve fix for bug #8159072 Spinner widget should be RTL'ized

- populate the preloaded drawable cache with only LTR drawables
when the layout direction during preloading is LTR. Populate
the cache with only RTL drawables when the layout direction during
preloading is RTL
- only preload drawables that dont have a dual LTR/RTL version

Change-Id: I7807bdc031b99102609efda75042a9500d96065c
es/Resources.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
ontext.java
ntent.java
18197ec438ea57b2b0bc2847e7f6d903137f9e8c 15-Apr-2013 Amith Yamasani <yamasani@google.com> am 460071f8: am 919e36d5: Merge "Allow non-system apps to use restricted accounts" into jb-mr2-dev

* commit '460071f806337f09ff789892979935916323e6a1':
Allow non-system apps to use restricted accounts
e993ae197be29e16fc54f6abf2552cf4973d64bf 15-Apr-2013 Amith Yamasani <yamasani@google.com> Allow non-system apps to use restricted accounts

Anyway they need to request account access and user will be asked to approve access to the account
at runtime.

Bug: 8617168
Change-Id: I31de852b9bb25f496becc3e6470265b5c330e6ad
m/PackageParser.java
328ebf222167ee1d25a54fd34c8293e183303752 22-Mar-2013 Jeff Sharkey <jsharkey@android.com> Support persistable Uri permission grants.

When granting a Uri permission with new PERSIST_GRANT_URI_PERMISSION
flag, persist that grant across device reboots until explicitly
revoked. Adds new persistedModeFlags dimension to UriPermission,
and moves all flag mutation into UriPermission for clarity. Adds
flag documentation. Only inflate HashSet as needed.

Write persisted grants into XML file, saving based on source and
target package name and user handle. Sanity check grants when
parsing.

Wipe all grants from/to a package when uninstalled, and wipe any
transient grants when a package or user is force stopped.

Persistable grants are always considered "needed."

Change-Id: I3f001571b498fd607456a1257a6383f904d19497
ontext.java
ntent.java
362c4ddff3d4278e4545e597f21477f87ebef385 14-Apr-2013 Amith Yamasani <yamasani@google.com> am 19c95bcc: am e188c984: Merge "Introducing manifest flag requiredAccountType" into jb-mr2-dev

* commit '19c95bcc76cd68e241e3d29a5e49fc892521527d':
Introducing manifest flag requiredAccountType
e188c984ddd4ae4b109c3f204b03a8f798f7e9e8 14-Apr-2013 Amith Yamasani <yamasani@google.com> Merge "Introducing manifest flag requiredAccountType" into jb-mr2-dev
de1fae77b6947c8696229ca113a812bc0b79e821 13-Apr-2013 Dianne Hackborn <hackbod@google.com> am 00c4c670: am 301e95f2: Merge "Add a little more resource load tracing." into jb-mr2-dev

* commit '00c4c67069b9d13005ae072b8744c728aa73f99a':
Add a little more resource load tracing.
ccbe389b4d2cee16da77685c88fa1475bc08cdb9 13-Apr-2013 Amith Yamasani <yamasani@google.com> Introducing manifest flag requiredAccountType

This can be used by apps that won't work without an account of that
type in the limited user environment. This way we can avoid letting
users select these apps when setting up a limited user.

Bug: 8600261
Change-Id: Iaa0dd5ff88e89fa7a1d8a4e70317290268411bdb
m/PackageInfo.java
m/PackageParser.java
0acc1931d364fabb32e2051f58bfbbc5f2505176 13-Apr-2013 Dianne Hackborn <hackbod@google.com> Add a little more resource load tracing.

Change-Id: Id797adb67ab411d5b1a1c223863d3bb4655d10b1
es/Resources.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.
f7be4800df28d7cb6a96003046bf90245e7054ab 12-Apr-2013 Dianne Hackborn <hackbod@google.com> Add new resources trace, also trace apk dex loading.

Change-Id: Ia48566efb21ee018659bd976ddb3a0f4997b9a3a
es/AssetManager.java
58c15bfcdfa3ef27deb400f3a840275bd7cdc06a 12-Apr-2013 Christopher Tate <ctate@google.com> am f6a2503d: am 5adae45a: Merge "Document the behavior of \'null\' values in SharedPreferences" into jb-mr2-dev

* commit 'f6a2503d4ad50e22d0e32ade59bb0f73fae5273f':
Document the behavior of 'null' values in SharedPreferences
5adae45addad702de4393a68b6236b1d528c58d6 12-Apr-2013 Christopher Tate <ctate@google.com> Merge "Document the behavior of 'null' values in SharedPreferences" into jb-mr2-dev
b735e1d426d65007011a3d915ea8e2cdd0002ecb 12-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> am 70d2c773: am f5c757c6: Merge "More fix for bug #8159072 Spinner widget should be RTL\'ized" into jb-mr2-dev

* commit '70d2c77320287d97fa2d90cc60f85e1706bffb1b':
More fix for bug #8159072 Spinner widget should be RTL'ized
f5c757c6292fb2623757ef73020d3730ead063d7 12-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "More fix for bug #8159072 Spinner widget should be RTL'ized" into jb-mr2-dev
b999d370090ae23290e907cec5094ba840afebf7 12-Apr-2013 Dianne Hackborn <hackbod@google.com> am d9d9c17d: am 77216642: Merge "Implement #7341342 API request: way to determine current orientation..." into jb-mr2-dev

* commit 'd9d9c17dda9a343b8b5386d1b9233c89ab6f3419':
Implement #7341342 API request: way to determine current orientation...
77216642884d5131290803776b0fce4d68128e97 12-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Implement #7341342 API request: way to determine current orientation..." into jb-mr2-dev
b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3 11-Apr-2013 Dianne Hackborn <hackbod@google.com> Implement #7341342 API request: way to determine current orientation...

...to allow for orientation locking

This doesn't add an API to get the current orientation, since that is
inherantly racy. Instead there is a new "locked" orientation mode that
locks the screen into whatever the current rotation is.

While at it, added a few other useful orientation modes.

Change-Id: I5c369e6511cb72294e9e922ea8acffd770df9440
m/ActivityInfo.java
9a413f8ffa74bf00333a9ace75b890bdeb7a8c2d 09-Mar-2013 Christopher Tate <ctate@google.com> Document the behavior of 'null' values in SharedPreferences

Bug 7892422

Change-Id: Ib898fd0921d57871d4caecb9042c479271c7ad60
haredPreferences.java
6e2157456a38c7b4db37ddba8c14caed2f0576c2 11-Apr-2013 Nick Kralevich <nnk@google.com> am c5931edb: am c65e4633: Merge "Optional <uses-permission> not yet supported." into jb-mr2-dev

* commit 'c5931edb4c8d95e90ac739ec88d8fca2610a57f1':
Optional <uses-permission> not yet supported.
dc25d25333d3fac96dccfb9bd31d2474d6bc2d78 10-Apr-2013 Fabrice Di Meglio <fdimeglio@google.com> More fix for bug #8159072 Spinner widget should be RTL'ized

- fix DrawableContainerState.getChangingConfigurations() to take care about its children
- make Resources.verifyPreloadConfig() return false when the changing configuration
contains layout direction bits (this is when a Drawable is having different version
for LTR and RTL layout directions)
- use constant state instead of the resource type value for checking if we can
preload the drawable
- fix typo

Change-Id: Idd64caf0fbe0f5cfd5ffe09343e84bafa9446ea5
m/ActivityInfo.java
es/Resources.java
32eb5b182458c05f744f9ab2963a13ef620ce069 11-Apr-2013 Nick Kralevich <nnk@google.com> Optional <uses-permission> not yet supported.

Change-Id: Ieaa97a29db75161f35905ff340b2c525bbf50612
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.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
ontext.java
ef36045f9619a6bf735ddb4d75e6a9f3260f7ede 05-Apr-2013 Nick Kralevich <nnk@google.com> am 1fdaace1: am 80fdc962: Merge "Error on conflicting <uses-permission>" into jb-mr2-dev

* commit '1fdaace1b17ad651d1e5266bb227a26e76b91a50':
Error on conflicting <uses-permission>
73f2d3c79e57cac58fa0499accb1fb1192b7103f 04-Apr-2013 Nick Kralevich <nnk@google.com> Error on conflicting <uses-permission>

Don't install packages where we have multiple, conflicting
<uses-permission> lines for the same permission.

For example, a package which contains:

<uses-permission android:name="android.permission.INTERNET" android:required="false" />
<uses-permission android:name="android.permission.INTERNET" android:required="true" />

will now fail to install.

In addition, this change slightly refactors the code, and creates a new
parseUsesPermission() method.

Change-Id: I0f4bb8b51dc4a0c5b73458a70f706e19829275d2
m/PackageParser.java
7b22af2c31deea3925262c842446bb821d1048d7 04-Apr-2013 Nick Kralevich <nnk@google.com> am 2c0283f5: am b2c3aa8e: Merge "PackageParser: ignore <uses-permission> android:required on older apps" into jb-mr2-dev

* commit '2c0283f5d1bc43892b2e1e6ad3b111e4933bbe34':
PackageParser: ignore <uses-permission> android:required on older apps
38f130e19ac3bb4590d400c61af8a4e5bd6c30ce 04-Apr-2013 Nick Kralevich <nnk@google.com> PackageParser: ignore <uses-permission> android:required on older apps

Don't honor <uses-permission android:required="false"> on older apps.
Lots of apps in the wild are improperly using this, and we don't
want to break them.

Bug: 8528162
Change-Id: I6e0a10bc9feac58d13ef624239c6b91e9fc34590
m/PackageParser.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.
0f8e8b03ebb35040c299079adc1c351f37ce4885 04-Apr-2013 Jeff Sharkey <jsharkey@android.com> Merge "Warn when exposing file:// Uris beyond a process." into jb-mr2-dev
de1175db67da94dc3bb2c1bf2cf20b961f67ccc0 03-Apr-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of 0afa8b36 to master

Change-Id: I09a453ab5dbad58e3dc0858972e222a34d53b282
75827d4a3155c190f455329a67c84ac8fbb9bda0 03-Apr-2013 Kenny Root <kroot@google.com> Merge "Add direct API to get ManifestDigest" into jb-mr2-dev
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
roadcastReceiver.java
lipData.java
lipboardManager.java
ntent.java
ab089d48704b2ff5f89adca8c51d87b983a9c6c9 03-Apr-2013 Justin Koh <justinkoh@google.com> am 9d4ed1ec: am ddd168d6: Merge "Add global key configuration file" into jb-mr2-dev

* commit '9d4ed1ec62a392e4b73ab7d3cd548e09bc792ab2':
Add global key configuration file
d378ad74c61b9bd3fdaa32951c4c470fcd579ade 01-Apr-2013 Justin Koh <justinkoh@google.com> Add global key configuration file

Add global key configuration file. A global key is one that is handled by
PhoneWindowManager before dispatching and sent to a given component via
broadcast instead of going to the foreground app.
Bug: 8510681

Change-Id: Ic6a8e559680d005613ed22874b27eb78bbfc4499
ntent.java
6c918cec31f396bb19597d107856122173c90594 02-Apr-2013 Kenny Root <kroot@google.com> Add direct API to get ManifestDigest

This makes it faster for applications that don't want to collect all the
certificates but do want the AndroidManifest.xml digest.

Bug: 8528639
Change-Id: Ide9498d0981188960af194a9568387337c075bcc
m/ManifestDigest.java
m/PackageParser.java
8d01846130f3631eb12b6b322bf71a80aa620be5 30-Mar-2013 Amith Yamasani <yamasani@google.com> am 5c98b904: am 9e8ba8f2: Merge "Improve RestrictionEntry API" into jb-mr2-dev

* commit '5c98b9046506cc69b261dd6ac2ae39b2de0afacb':
Improve RestrictionEntry API
9e8ba8f27316c793578e68fcc6632a6ea6240f4a 30-Mar-2013 Amith Yamasani <yamasani@google.com> Merge "Improve RestrictionEntry API" into jb-mr2-dev
86118baa4fef80c485ba51c6985a6fa082b7310c 28-Mar-2013 Amith Yamasani <yamasani@google.com> Improve RestrictionEntry API

More getters and setters, better naming.
New extra defined for returning a custom intent that handles showing the
restrictions UI.

Change-Id: I2ee0cdb4edd99e71a9004ff5e929dbe243b45557
ntent.java
estrictionEntry.java
3f9560261fec3aab9571df594fe72f9870bf86ec 29-Mar-2013 Matthew Xie <mattx@google.com> am e4eb23ec: am 84e594f7: Merge "Unhide Bluetooth Low Energy public APIs" into jb-mr2-dev

* commit 'e4eb23ecc232c508974976844df2ea8c44025fe9':
Unhide Bluetooth Low Energy public APIs
84e594f7dbe6108a2c6c57d5d9d941d0b0563b4b 29-Mar-2013 Matthew Xie <mattx@google.com> Merge "Unhide Bluetooth Low Energy public APIs" into jb-mr2-dev
adf7fa3d28df7a4cfd45f35b20f52e48b94d9b1c 28-Mar-2013 kmccormick <kmccormick@google.com> am ce2db15d: am 80ab68ce: am 5c3ddcd1: am 425c3d5f: am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs

* commit 'ce2db15d702dd4a27f860214ae2bfcf2693ee683':
Doc update: superceeded > superseded
ddf7e4756c31d0ed90802f98abeaa79df6d16b2a 02-Mar-2013 Matthew Xie <mattx@google.com> Unhide Bluetooth Low Energy public APIs

Updated API headers. Add BluetoothManager to be retrieved by
context.getSystemService(Context.BLUETOOTH_SERVICE).
LE scan functions are placed in BluetoothAdapter
The GATT API are device driven instead of a profile-driver.
bug 8450158

Change-Id: I424a4cedaac3ef8120a05996500008dd210d2553
ontext.java
80ab68ce233598ab13a9875fe17d4ec51aa5517b 28-Mar-2013 kmccormick <kmccormick@google.com> am 5c3ddcd1: am 425c3d5f: am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs

* commit '5c3ddcd14b79c4737ea06f68d8efd39543d60382':
Doc update: superceeded > superseded
5c3ddcd14b79c4737ea06f68d8efd39543d60382 28-Mar-2013 kmccormick <kmccormick@google.com> am 425c3d5f: am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs

* commit '425c3d5f59f1e315cdbdd5f7530c4380aabf76ab':
Doc update: superceeded > superseded
425c3d5f59f1e315cdbdd5f7530c4380aabf76ab 28-Mar-2013 kmccormick <kmccormick@google.com> am 99049335: am 3ed65cb3: am 689e827a: Merge "Doc update: superceeded > superseded" into jb-mr1.1-docs

* commit '99049335a604cae3f515fce32bc5f1b27fe8d29b':
Doc update: superceeded > superseded
ac66b85a0454793502a12926bddf70b16a0dfd7d 28-Mar-2013 kmccormick <kmccormick@google.com> Doc update: superceeded > superseded

"Bug: 5935672"

Change-Id: Ie2324d00d454cf3f3f3ed422dea2017b8a7a4c54
m/PackageManager.java
b54a93adafd37b615ed0e11c5d4c2c87466a26d3 28-Mar-2013 Amith Yamasani <yamasani@google.com> am 1438d67e: am e494a81f: Merge "Restricted account visibility" into jb-mr2-dev

* commit '1438d67e7ddaba1133f181bc70cd706acf57a520':
Restricted account visibility
e494a81f9b2727edd1c537f34bf0ea83b2fb0097 28-Mar-2013 Amith Yamasani <yamasani@google.com> Merge "Restricted account visibility" into jb-mr2-dev
34ba179091be99a32f6c6d205e30cb8e28631ff1 28-Mar-2013 kmccormick <kmccormick@google.com> am d805e374: am 24b8947f: resolved conflicts for merge of 603f987f to jb-mr2-dev

* commit 'd805e374c22ce7d0426efb08b38aa44a3633027b':
Doc change: Fix typo DONT_DELTE
24b8947f62d9bdb91aae408894faa5fe59564e46 28-Mar-2013 kmccormick <kmccormick@google.com> resolved conflicts for merge of 603f987f to jb-mr2-dev

Change-Id: I4a130dad9d4669799f5d477f67e0f9a6a04381ca
603f987f14d52111f8ee76eb2c6c593ec3d10918 28-Mar-2013 kmccormick <kmccormick@google.com> am 418172bf: am 19840a8d: am 65c66c74: am 6e6e861a: Merge "Doc change: Fix typo DONT_DELTE" into jb-mr1.1-docs

* commit '418172bf8823016785526b433801d44a4630f276':
Doc change: Fix typo DONT_DELTE
418172bf8823016785526b433801d44a4630f276 28-Mar-2013 kmccormick <kmccormick@google.com> am 19840a8d: am 65c66c74: am 6e6e861a: Merge "Doc change: Fix typo DONT_DELTE" into jb-mr1.1-docs

* commit '19840a8d40139a12469ef92c3541f2a433d5ae85':
Doc change: Fix typo DONT_DELTE
0ac1fc9d233b8671f371a71e2a6374b47ef069a9 28-Mar-2013 Amith Yamasani <yamasani@google.com> Restricted account visibility

When accounts are shared to a restricted/limited user, apps can
opt-in to viewing accounts of a certain type. Other shared accounts
are not visible to the app.

App would specify the account type in the manifest <application> tag
with the attribute restrictedAccountType="foo.bar", where "foo.bar"
is the account type as defined by the authenticator.

Change-Id: I7586da04d6d6d32aae15adc6b1366f325bb07384
m/PackageInfo.java
m/PackageParser.java
30498b41827b67a320360e1cc308064bab9d23f1 28-Mar-2013 kmccormick <kmccormick@google.com> Doc change: Fix typo DONT_DELTE

"Bug: 8273156"

Change-Id: I6ba2e780d1a8c2b7d1771e93125a10b228227020
m/PackageManager.java
adb2578a05199730d1b48b7e092b94113122d381 28-Mar-2013 Nick Kralevich <nnk@google.com> am 96e44a2c: am 98ea19ed: Merge "Reenable optional permissions parsing and expose APIs" into jb-mr2-dev

* commit '96e44a2c2ce0579177c50a4fb710adc83530e968':
Reenable optional permissions parsing and expose APIs
0655ade016e4b0b41e93455e4df5209be622d7c4 28-Mar-2013 Nick Kralevich <nnk@google.com> am e536ba7e: am 59928987: Merge "Add buildPermissionRequestIntent to PackageManager" into jb-mr2-dev

* commit 'e536ba7ecbb609ec9ada1bf39455ca0ba94163f6':
Add buildPermissionRequestIntent to PackageManager
98ea19ed247b9a2e598e2b66b84806313884a4d3 28-Mar-2013 Nick Kralevich <nnk@google.com> Merge "Reenable optional permissions parsing and expose APIs" into jb-mr2-dev
5992898755dc60d2d220a0870f76cf4f1fb27ed8 28-Mar-2013 Nick Kralevich <nnk@google.com> Merge "Add buildPermissionRequestIntent to PackageManager" into jb-mr2-dev
828c16f140eadb9265f2bf53469902dc7cdb2284 27-Mar-2013 Nick Kralevich <nnk@google.com> Reenable optional permissions parsing and expose APIs

Modify the package parsing code to understand optional permissions
(android:required="false"). This is essentially a rollback of
e824120016248bcfe3962883fe9f3b0481dd1c3d with some minor changes.

Expose the requestPermission API to third party apps. This allows
an app to request an Intent which, when passed to
startActivityForResult, will prompt the user to approve permissions
for an app.

In the event we decide to not launch with this feature, this change
can be rolled back.

Change-Id: Ie3626deae9b16e510323f94a2c80377f7c84b26f
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
035f80d7c75b282f33ab10a33a3019f614ffd67d 27-Mar-2013 Nick Kralevich <nnk@google.com> Add buildPermissionRequestIntent to PackageManager

Add the buildPermissionRequestIntent API to PackageManager. This allows
an app to request an Intent which, when passed to
startActivityForResult, will prompt the user to approve permissions
for an app.

Currently, the API is @hide. It will be unhidden in a future change.

Change-Id: I4ec677002afa799a6eb5c2657c28452c91012436
m/PackageManager.java
d734b4f285dff25ed5fed63349d259ff15a07d60 28-Mar-2013 Dianne Hackborn <hackbod@google.com> am 6b8e7b35: am bf20aa76: Merge "Keep track of who has disabled applications." into jb-mr2-dev

* commit '6b8e7b35ef763d29a30c87a5a95ef941d39a8ee9':
Keep track of who has disabled applications.
bf20aa767e7a56b3c1e05c6d2a8b140fd1c18dd0 28-Mar-2013 Dianne Hackborn <hackbod@google.com> Merge "Keep track of who has disabled applications." into jb-mr2-dev
3fa3c28a356108a6558b6b54a0b10e1a5cc4f1b6 27-Mar-2013 Dianne Hackborn <hackbod@google.com> Keep track of who has disabled applications.

Change-Id: I2640d3dc2200b589e2beb42a43cc93efd090f06e
m/IPackageManager.aidl
m/PackageUserState.java
23f59035c2ce3f161e6d38f351c7dc16ae760c81 27-Mar-2013 Chiao Cheng <chiaocheng@google.com> am efb7a924: am 972a9255: Merge "Allow leading slash in path argument for addURI() method." into jb-mr2-dev

* commit 'efb7a924f9ce9a216ef3acfb606c6ea3e7174478':
Allow leading slash in path argument for addURI() method.
972a9255a7e2c75cf13dab74121cb367c03e2809 27-Mar-2013 Chiao Cheng <chiaocheng@google.com> Merge "Allow leading slash in path argument for addURI() method." into jb-mr2-dev
ef23bf198d14bea183c0dabd5b4fcd0a5d07d738 20-Mar-2013 Chiao Cheng <chiaocheng@google.com> Allow leading slash in path argument for addURI() method.

The original documentation for this class indicated a leading slash was possible
but the code did not support it. Since then, the docs were changed to reflect
what the code does.

The purpose of this change is to allow the use of uri.getPath() as an argument.
With this change, the following can be done

matcher.addURI(ContactsContract.AUTHORITY,
ContactsContract.CONTENT_FILTER_URI.getPath(), CONTACTS_FILTER)

instead of

matcher.addURI(ContactsContract.AUTHORITY,
"contacts/filter", CONTACTS_FILTER)

Change-Id: I76a9e3133365be9fe7a8de86eae57f9eea1cd2a3
riMatcher.java
98157242e231d6415672dec751f81f8e32e43563 26-Mar-2013 Geremy Condra <gcondra@google.com> am d6c1394d: am 51163e3b: Merge "Add seinfo parsing to PackageManagerService." into jb-mr2-dev

* commit 'd6c1394dd0046944e66d391ff0e099fb5ac57751':
Add seinfo parsing to PackageManagerService.
0f40dc923c67e8822f9157aec4f786f73848af07 25-Mar-2013 Robert Craig <rpcraig@tycho.ncsc.mil> Add seinfo parsing to PackageManagerService.

This patch set allows the PMS to parse the
mac_permissions.xml file which contains the
seinfo values. Each package that is installed
on the device will be assigned an seinfo value
based on policy. This seinfo value will help label
the app process and data directory. Modifications
include adjustments to ApplicationInfo.java
to store the seinfo tag per package as well as
adjustments to installd to communicate the seinfo
tag to libselinux.

Change-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
m/ApplicationInfo.java
40a85bbc8449fe36bee287ae030f7f779c4a979f 25-Mar-2013 Geremy Condra <gcondra@google.com> am 4bcea122: Merge "Add seinfo parsing to PackageManagerService."

* commit '4bcea1222ce447d9969d12927995ffdfad7c8322':
Add seinfo parsing to PackageManagerService.
d3f8d0333cf4d9d2e47b5b082a6f70460adcf5ff 25-Mar-2013 Robert Craig <rpcraig@tycho.ncsc.mil> Add seinfo parsing to PackageManagerService.

This patch set allows the PMS to parse the
mac_permissions.xml file which contains the
seinfo values. Each package that is installed
on the device will be assigned an seinfo value
based on policy. This seinfo value will help label
the app process and data directory. Modifications
include adjustments to ApplicationInfo.java
to store the seinfo tag per package as well as
adjustments to installd to communicate the seinfo
tag to libselinux.

Change-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
m/ApplicationInfo.java
97bf092e6132dee3e7c8a718f8780faedf3f73ae 23-Mar-2013 Dianne Hackborn <hackbod@google.com> am dd24a32b: am 37f180b4: Merge "App ops: don\'t crash when provide read access is off." into jb-mr2-dev

* commit 'dd24a32b7c14337a20071ac8afe23c48157c32aa':
App ops: don't crash when provide read access is off.
37f180b4a52e4c1d0b6a7b400b6579b7ff25f307 23-Mar-2013 Dianne Hackborn <hackbod@google.com> Merge "App ops: don't crash when provide read access is off." into jb-mr2-dev
9fa39bd255f2bc248941ae5924a0a70cc25de19e 23-Mar-2013 Dianne Hackborn <hackbod@google.com> App ops: don't crash when provide read access is off.

If the caller supplied an empty selection string (instead
of null) we would crash due to creating a bad SQLite statement.

Change-Id: I462803b80c81815ed9a3a320c23060daa28e8114
ontentProvider.java
ac6331be6ff6d757c44aad6497f3ea0c63804d5f 23-Mar-2013 Dianne Hackborn <hackbod@google.com> am 8277f248: am b685faa2: Merge "Implement #8323587, #8323342, #8323590: new features." into jb-mr2-dev

* commit '8277f24865e52915b4825517860629c0385f79ed':
Implement #8323587, #8323342, #8323590: new features.
119bbc378d3c836f1196e14b847e564205a29728 23-Mar-2013 Dianne Hackborn <hackbod@google.com> Implement #8323587, #8323342, #8323590: new features.

8323587: Add feature for supporting app widgets
8323342: Add feature for replacing the home screen
8323590: Add feature for supporting input methods

The app widget service looks for the app widget feature
and refuses to work if it doesn't exist. I didn't do
this for the input method service because some devices
will probably want to still make use of that mechanism
without supporting third party input methods.

Change-Id: Ie3b089105e104f4d767cdb03cdbe4fdb1c17382e
m/PackageManager.java
4ed21d76e218b2b1898e6efd33f904513fe09b05 21-Mar-2013 Amith Yamasani <yamasani@google.com> am 1641f86b: am 1eab5f26: Fix javadoc breakage

* commit '1641f86bb0771c761d09bfd31562c001bdd40c0b':
Fix javadoc breakage
e32011e8c06b994d840e6d568b5ffa8915320909 21-Mar-2013 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 99755cd3 to master

Change-Id: I752c387c013c3deaad836df9b0c2294e7149a32a
1eab5f26939748dea5e94bf019804a68d2a2b161 21-Mar-2013 Amith Yamasani <yamasani@google.com> Fix javadoc breakage

Change-Id: I72df82a8855322145c870bd8db64da81533be4cc
estrictionEntry.java
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
ontext.java
ntent.java
estrictionEntry.aidl
estrictionEntry.java
m/PackageInfo.java
m/PackageParser.java
1545d7c5f76eceb90db4304efb9b9160e21e09c3 16-Mar-2013 Dianne Hackborn <hackbod@google.com> am 5e2552bd: am d468df73: Merge "Fix a bug where we could lose a loader content change." into jb-mr2-dev

* commit '5e2552bd16ae09da826270363ac0f3f56af91922':
Fix a bug where we could lose a loader content change.
d468df73d59635aa0f3e0661b84093d02c4c6ca0 16-Mar-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix a bug where we could lose a loader content change." into jb-mr2-dev
47d07fde90fa4e9c5eb68f91e858b0a8c208e247 15-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 20a1cf34: am 93b04b91: Merge "Avoid warnings about synthesized IDs." into jb-mr2-dev

* commit '20a1cf345f5f7952677d5f9cd97efe1a9a197930':
Avoid warnings about synthesized IDs.
93b04b91bc58f31e5900999849b3555065e4faa0 15-Mar-2013 Jeff Sharkey <jsharkey@android.com> Merge "Avoid warnings about synthesized IDs." into jb-mr2-dev
47b50333c110194565498011379988e5c05f7890 15-Mar-2013 Jeff Sharkey <jsharkey@android.com> Avoid warnings about synthesized IDs.

Bug: 8153518
Change-Id: I5d638e17581f63c6d4a10ff6bc2c1bf9997a78b3
es/Resources.java
ca614f78bed7eebf9dbfd77ba5720a0b5eeed816 15-Mar-2013 Dianne Hackborn <hackbod@google.com> Fix a bug where we could lose a loader content change.

If AsyncTaskLoader starts a background update due to a
content change, and that update is cancelled, we drop the
data when it finally arrives and forget that the content changed.
If we later come back to the loader, we then end up showing
stale data because we don't know that we still need to update
due to the old content change.

This change adds a couple new APIs to Loader to deal with the
time between when you ask for whether there is a content change
and finally either commit the data or cancel the update.
AsyncTaskLoader is changed to make use of this so that it doesn't
lose changes.

Change-Id: I3866236b1c22bb9138f2d9f6032b126aeaee2e6e
syncTaskLoader.java
oader.java
d2bd0a2fa4f005188bb3b73d67bbb944be9bc668 14-Mar-2013 Scott Kennedy <skennedy@google.com> am 1a5bbe46: am e0e448f1: Merge "Remove a method" into jb-mr2-dev

* commit '1a5bbe4675b0496c07a241a94640142795dde22a':
Remove a method
da2223f8975cab9048d554eb5229cc5ff5a1e6c1 13-Mar-2013 Scott Kennedy <skennedy@google.com> Remove a method

It was only being called in one location, and the parameter was being
ignored.

Change-Id: Ia853dd8d3898ac3e4c4b2fb3a51d103844b57ca1
ursorLoader.java
fc68ed14ffb2e824e3040176dbd14ecdb071d314 14-Mar-2013 Dianne Hackborn <hackbod@google.com> am f1ebd1bd: am 5d122d96: Better documentation on permission checking in ContentProvider.call().

* commit 'f1ebd1bd6799f4e2c5734ab372a9c78cd724b27e':
Better documentation on permission checking in ContentProvider.call().
5d122d96a5bf3bbaccaca2765b45716efe7ee2ef 13-Mar-2013 Dianne Hackborn <hackbod@google.com> Better documentation on permission checking in ContentProvider.call().

Change-Id: I4a85fd17362c2a32e2b1365fcc07ef0336521616
ontentProvider.java
133e2db8732df5135675e1a06cab63e66ffdc875 13-Mar-2013 Bjorn Bringert <bringert@android.com> Merge "Hide VOICE_ASSIST intent DO NOT MERGE" into jb-mr2-dev
dc37c5f2e32d167059382ec4bba68d4f12922516 13-Mar-2013 Dianne Hackborn <hackbod@google.com> am 0c42b580: am 53149acf: Merge "Implement limited shared libraries in apks." into jb-mr2-dev

* commit '0c42b58041dc0ede9865335fa48637fb6b677cd3':
Implement limited shared libraries in apks.
c895be7bc68b6f5b37fbb9881f464dd5ea0eb017 12-Mar-2013 Dianne Hackborn <hackbod@google.com> Implement limited shared libraries in apks.

You can now declare shared libraries in apks that are
on the system image. This is like the existing mechanism
of using raw jar files as shared libraries, but since they
are contained in an apk the library can actually be updated
from the Play Store. And this even (mostly) works.

There are some deliberate limitations on this feature. A
new shared library *must* be declared by an apk on the system
image. Installing an update to a system image apk does not
allow you to add new shared libraries; they must be defined
by everything on the base system image. This allows us to
get rid of a lot of ugly edge cases (shared libraries that were
there disappearing after an update is uninstalled for example)
and give some brakes on apps that happen to be pre-installed
on devices from being able to throw in new shared libraries
after the fact.

In working on this, I ran into a recently introduced bug where
uninstalling updated to system apps would fail. This was done
to allow for the new restricted users that don't have all
system apps, but conflicts with the existing semantics for
uninstalling system apps. To fix this I added a new uninstall
flag that lets you switch on the new mode if desired.

Also to implement the desired logic for limitations on declaring
new shared libraries in app updates, I needed to slightly tweak
the initial boot to keep the Package object for hidden system
packages associated with their PackageSetting, so we can look at
it to determine which shared libraries are allowed. I think
this is probably more right than it was before -- we already
need to parse the package anyway, so we have it, and when you
install an update to a system app we are in this same state
until you reboot anyway.

And having this fixed also allowed me to fix another bug where
we wouldn't grant a new permission to an updated app if its
system image version is updated to request the permission but
its version is still older than whatever is currently installed
as an update. So that's good.

Also add new sample code showing the implementation of an apk
shared library and a client app using it.

Change-Id: I8ccca8f3c3bffd036c5968e22bd7f8a73e69be22
m/PackageManager.java
m/PackageParser.java
964e7d2549bc321236565dfb4c3f2c492e5a68b4 12-Mar-2013 Bjorn Bringert <bringert@android.com> Hide VOICE_ASSIST intent DO NOT MERGE

Bug: 8289964
Change-Id: I49874f379647ff4e85402a298b4181923212a0aa
ntent.java
345fc4cc92a08c2aa51938a05f36af8f8c5b8845 11-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 1b48ecf8: am f2afddb5: Merge "Handle corrupt RegisteredServicesCache XML." into jb-mr2-dev

* commit '1b48ecf89a13a104820d5ccf52ba7f5dd622d3a6':
Handle corrupt RegisteredServicesCache XML.
f2afddb57dfbcbe35ccbeb4d66bfff99eb3e4c65 11-Mar-2013 Jeff Sharkey <jsharkey@android.com> Merge "Handle corrupt RegisteredServicesCache XML." into jb-mr2-dev
293ad6c6749044d97ea2a5f3fbd5c6ad58124584 11-Mar-2013 Jeff Sharkey <jsharkey@android.com> Handle corrupt RegisteredServicesCache XML.

Avoid getting stuck in infinite loop.

Bug: 8360183
Change-Id: I81728dcfbc35b456c9166cf5c5175d0a376df56f
m/RegisteredServicesCache.java
fb61c5368fb64405ad13fffefa21bf8b0bcfb2b2 08-Mar-2013 Elliott Hughes <enh@google.com> am 387f446e: am 5043dc20: am bf8a663c: am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."

* commit '387f446eb98f0d7b932257b1cd68d89996197478':
Improve the Resource.getQuantityString/getQuantityText documentation.
5043dc20633a05c429de3ae469dc7d74bfb92451 08-Mar-2013 Elliott Hughes <enh@google.com> am bf8a663c: am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."

* commit 'bf8a663c53454f8b8cd7e07344316981022efa10':
Improve the Resource.getQuantityString/getQuantityText documentation.
bf8a663c53454f8b8cd7e07344316981022efa10 08-Mar-2013 Elliott Hughes <enh@google.com> am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."

* commit '3f7a49904cef7ea14808590b63b115a4381537a1':
Improve the Resource.getQuantityString/getQuantityText documentation.
95d5ab30f2f91b63af2f493548dc67e90c052831 08-Mar-2013 Elliott Hughes <enh@google.com> Improve the Resource.getQuantityString/getQuantityText documentation.

Natural languages differ so much and in such odd ways that you can't
use getQuantityString as an "if" statement. It's really just for grammaticality.
This is explained well in
http://developer.android.com/guide/topics/resources/string-resource.html#Plurals
but we need to make more of an effort to motivate people to read that, and to
at least get the most important point across if they don't read it.

Change-Id: I549b9f3563462c45f2dea34c558185e0714127cd
es/Resources.java
99438af8924b6881caabcccffe76d68dddf13290 07-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 73a3754c: am 4861966c: Merge "ArrayUtils.indexOf(), containsAll() with tests." into jb-mr2-dev

* commit '73a3754c6766b7220878983317b3d56ce7fc6e58':
ArrayUtils.indexOf(), containsAll() with tests.
94c91dca55de9ffdbe072fcc5dd6dbf1efe5e4c1 07-Mar-2013 Jeff Sharkey <jsharkey@android.com> ArrayUtils.indexOf(), containsAll() with tests.

Change-Id: I040164d4e45126e4a6c1df54bd114f47951da560
m/Signature.java
adb8e146a5eec041d6c8543e17182efe5bec276c 06-Mar-2013 Amith Yamasani <yamasani@google.com> am 3eb3774f: am 67df64b3: Shared accounts and sharing of apps

* commit '3eb3774f8e54a6f43dcf4f27e1b7a62676791ff6':
Shared accounts and sharing of apps
67df64b3a48a8157d08a98fa90135d0ac0ee621c 14-Dec-2012 Amith Yamasani <yamasani@google.com> Shared accounts and sharing of apps

API and preliminary implementation for sharing primary user accounts with a secondary user.
AbstractAccountAuthenticator has new methods to retrieve and apply a bundle of credentials
to clone an account from the primary to a restricted secondary user. The AccountManagerService
initiates the account clone when it starts up the user and detects that the user has
a shared account registered that hasn't been converted to a real account.

AccountManager also has new hidden APIs to add/remove/get shared accounts. There might be
further improvements to this API to make shared accounts hidden/visible to select apps.

AccountManagerService has a new table to store the shared account information.

Added ability in PackageManager to install and uninstall packages for a secondary user. This
is required when the primary user selects a few apps to share with a restricted user.

Remove shared accounts from secondary users when primary user removes the account.

Change-Id: I9378ed0d8c1cc66baf150a4bec0ede56f6f8b06b
m/IPackageManager.aidl
m/UserInfo.java
237940a0923ff7642cf2a043e65950297e91cf75 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 2048fbb1: am c807070c: am 1e5e3748: am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.

* commit '2048fbb1106a639c6b66298b94ab98eb4c650542':
Tighten enforcement of file modes.
2048fbb1106a639c6b66298b94ab98eb4c650542 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> am c807070c: am 1e5e3748: am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.

* commit 'c807070cb54228f1039cd0a3f2fe14efbe46df3e':
Tighten enforcement of file modes.
f9ed7dc96a242d2c583065dfb31a8dafc7825bd0 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.

* commit '67f2957331a63474879f68bf1a8d17b60b2188cd':
Tighten enforcement of file modes.
1e5e3748d4d431e48bd4b6a461ab3a9127beff7d 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> am 67f29573: am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.

* commit '67f2957331a63474879f68bf1a8d17b60b2188cd':
Tighten enforcement of file modes.
67f2957331a63474879f68bf1a8d17b60b2188cd 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> am bb2aa63b: am a2e929e1: Tighten enforcement of file modes.

* commit 'bb2aa63be4a9328403a4daa2f93b42a4a7b0b65d':
Tighten enforcement of file modes.
bb2aa63be4a9328403a4daa2f93b42a4a7b0b65d 02-Mar-2013 Jeff Sharkey <jsharkey@android.com> am a2e929e1: Tighten enforcement of file modes.

* commit 'a2e929e1df62947b7967258f21fd05b27a571878':
Tighten enforcement of file modes.
a2e929e1df62947b7967258f21fd05b27a571878 01-Mar-2013 Jeff Sharkey <jsharkey@android.com> Tighten enforcement of file modes.

Bug: 8275867
Change-Id: I4da14f2dd0049aca69636999696c1f3c02b3b792
ontentProvider.java
8d628f0c695545abe75a293aa7d3015390a770ac 01-Mar-2013 Bjorn Bringert <bringert@android.com> am bc086862: Declare VOICE_ASSIST intent

* commit 'bc086862e216bbe8ffc2dfb68f09a872505d9d48':
Declare VOICE_ASSIST intent
bc086862e216bbe8ffc2dfb68f09a872505d9d48 01-Mar-2013 Bjorn Bringert <bringert@android.com> Declare VOICE_ASSIST intent

Bug: 8289964
Change-Id: I241b5166a98a7a462691f0169bf1b6f4fe7b2e0f
ntent.java
ce43e009e648687993c7ee85c0cb9be1b60319a8 01-Mar-2013 Jeff Sharkey <jsharkey@android.com> am f5e04717: Merge "Tighten enforcement of file modes." into jb-mr2-dev

* commit 'f5e0471703d73a1285601928b790cdf0ab028fa5':
Tighten enforcement of file modes.
f5e0471703d73a1285601928b790cdf0ab028fa5 01-Mar-2013 Jeff Sharkey <jsharkey@android.com> Merge "Tighten enforcement of file modes." into jb-mr2-dev
ba761979ee883237b8e0143973ba5b6032f37d05 01-Mar-2013 Jeff Sharkey <jsharkey@android.com> Tighten enforcement of file modes.

Bug: 8275867
Change-Id: I4da14f2dd0049aca69636999696c1f3c02b3b792
ontentProvider.java
bf2798b3872d9c7aeed4b868a8bbd20029a59793 28-Feb-2013 Dianne Hackborn <hackbod@google.com> am 9ad66541: Merge "New ContentProvider initialization for testing." into jb-mr2-dev

* commit '9ad665417713398524d425f63b0d6fa751244237':
New ContentProvider initialization for testing.
334d9aebc28f7d5213b1671997488b3e3f118e29 27-Feb-2013 Dianne Hackborn <hackbod@google.com> New ContentProvider initialization for testing.

Using this turns off app ops checks.

Change-Id: If29d4ca2fe9ddf1a1663d3a824b2f0afe7375862
ontentProvider.java
2223e52a214de4220d0c0b07630f3dc7391ba5bf 26-Feb-2013 Dianne Hackborn <hackbod@google.com> am d0d209ed: Merge "App ops: turn off content provider ops when running under test." into jb-mr2-dev

* commit 'd0d209ed4d6280b6e1203eebe823f04f9db766c0':
App ops: turn off content provider ops when running under test.
7e6f976c87714d9c42c376fca5b6c8ef7865e672 26-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: turn off content provider ops when running under test.

Change-Id: I3a5084d195de29122b2f5f2a13b5d4f92f22fa92
ontentProvider.java
91adc045911a9202d719c381c87044a8e646b015 26-Feb-2013 Dianne Hackborn <hackbod@google.com> am 305dbea8: Merge "App ops: adding operations for reading/writing clipboard." into jb-mr2-dev

* commit '305dbea8e39608b61810637944b6ffbbe6c07d2f':
App ops: adding operations for reading/writing clipboard.
efcc1a23a1f731390ef8506b3536b9562d18ed78 26-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: adding operations for reading/writing clipboard.

Change-Id: Ic4cade153618fe86954754a3b3edde64a52a0a9c
lipboardManager.java
Clipboard.aidl
61f542ab95d31991b55dcd8b453968f98a1238f8 25-Feb-2013 Geremy Condra <gcondra@google.com> Merge "Added the KeySetManager."
f1bcca82158c39da3c3696f9af954be2c0be1809 08-Jan-2013 Geremy Condra <gcondra@google.com> Added the KeySetManager.

Bug: 7554291
Change-Id: Ic693a544f1e2cab20f6540b3fc4ff673e35bd2c6
m/KeySet.java
m/PackageParser.java
ab8e936e852b984624087c97dffc4c74b250fc68 21-Feb-2013 Jim Miller <jaggies@google.com> Merge "Add explicit userId to AppWidget binder calls"
a75a883fe9ea1790803148f0a561473073e3f264 08-Feb-2013 Jim Miller <jaggies@google.com> Add explicit userId to AppWidget binder calls

Keyguard currently relies on being in the system process to grab the
given user's widgets. When we split keyguard into a new process,
it will need to have access to user-specific info to instantiate a
specific user's widgets. In order to accomplish this, we add an
explicit userid to each binder call as well as new permission
check to allow keyguard access.

This also fixes a potential race condition of having an incorrect user id
due to an async call to change the user. Every binder call now has a specific
user id. The user id is either the calling process user's id or an explicit
one passed by applications like keyguard. It is created once when an
AppWidgetManager is instantiated and remains for the lifetime of the object.

Fixed bug where widgets sometimes didn't show up for secondary users.

Moved permission check in AppWidgetService into getImplForUser()

Refactored to use userid from context associated AppWidgetManager instance.

Clean up AppWidgetHost to use userId from Context.

Remove redundant userId check in checkPermission since it's handled by
ActivityManager.handleIncomingUser()

Removed redundant userid check.

Upload after rebase...

Change-Id: Iae3e20f2b342c323bb58768b3d22051510f8268b
ontext.java
ontextWrapper.java
c49f47220ae21efe8888537d5403b8bfa011715a 21-Feb-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #8228463: contradicting public documentation on what..."
a53ee35754d22e58978c9fd81396e599e00bac18 20-Feb-2013 Dianne Hackborn <hackbod@google.com> Fix issue #8228463: contradicting public documentation on what...

...Intents match an IntentFilter that has no action specified

And various other doc improvements.

Change-Id: I6d881c8aed56c552e36d5db5df4f74c6aa718da7
ontentProvider.java
ntent.java
ntentFilter.java
1fd2ed58da3e578df0cd0c326c719cf1c282b793 21-Feb-2013 Michael Wright <michaelwr@google.com> Merge "Add brightness dialog to SystemUI"
0087a14d4b4bcfe57c6f6e36c70eec966088d7bb 06-Feb-2013 Michael Wright <michaelwr@google.com> Add brightness dialog to SystemUI

Change-Id: If31406c9144bb2583876f08dd54b259d1dfa3601
ntent.java
b3038ec7cfc5d26eb0be18ae65c62825556bca0f 13-Feb-2013 Svetoslav <svetoslavganov@google.com> Adding idle maintenance service.

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

bug:8056794

Change-Id: I708bad9d3ce6c8f1d5a1c05c0abf46f81a3d464b
ntent.java
681533e0005200a3e55782f7ffe8ef516c7099c3 12-Feb-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #8176917: Stabillity : Native Crash :"
e5b50a65ad26a32f6e58588ffdcbc0389eac9257 12-Feb-2013 Dianne Hackborn <hackbod@google.com> Fix issue #8176917: Stabillity : Native Crash :

/system/lib/libandroidfw.so

Change-Id: I235470fac7ad0f5a5d3432006f4dfa69620e30d8
es/Resources.java
636c61ed41f08b4a8de11ab9146903a8125a4aa0 12-Feb-2013 Amith Yamasani <yamasani@google.com> Merge "Starting point for User Restrictions API"
50707cc8206f0d257ba83de2f1f99c3eaa13a4bd 09-Feb-2013 Dianne Hackborn <hackbod@google.com> Fix issue #8133857: Tracking ANR in Gallery

Reworking the locking in resources so that we never hold the
state lock while calling in to potential long running operations.
This means the mTmpValue can no longer be final (since we need
to use it while the lock isn't held), so a new field needs to
be added as the lock and everything that touches mTmpValue must
deal with it being null, restoring the value in there when
possible, etc.

Change-Id: Ie5ffd0f66e5f2d0e869a62d72e7a55b1c74fe872
es/Resources.java
es/TypedArray.java
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
m/PackageManager.java
92afa5aa3ec33bc07af527d2c80d41433470a1d3 07-Feb-2013 Alon Albert <aalbert@google.com> Merge "COnvert sync error to int"
5c113faba6b644d1851c9281614aa0edd175fc48 07-Feb-2013 Alon Albert <aalbert@google.com> COnvert sync error to int

Bug: 8152259
Change-Id: I99fc99f70796c70ec0566c40ba350e10c36b90b7
ontentResolver.java
yncStatusInfo.java
961321fe4ed4431a6362d729d9e4ea26bdecde61 06-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: add op for writing settings.

Also fix a build.

And fix a bug that I think was introduced in the multi-user work
that removed the permission check for writing to settings...!

Change-Id: I5945682faa789ffc78fd3546c0df7d03693f106d
ontentProvider.java
f51f61269aacdfcf737b2c32b6b216c48ab61e65 05-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: new operations for SMS.

Implementation required a new framework feature
to associate an app op with a broadcast.

Change-Id: I4ff41a52f7ad4ee8fd80cbf7b394f04d6c4315b3
ontext.java
ontextWrapper.java
35e832730c87144b9d8ccb1774ee45ff54d6a3d6 05-Feb-2013 Kenny Root <kroot@android.com> am 3789b2fb: am ace72f6a: Merge "Function uri.getAuthority is called twice. Minor doc corrections."

# By Yury Zhauniarovich
# Via Gerrit Code Review (2) and Android Git Automerger (1)
* commit '3789b2fb823b7632e410c0191ddf77dc1e875196':
Function uri.getAuthority is called twice. Minor doc corrections.
3789b2fb823b7632e410c0191ddf77dc1e875196 04-Feb-2013 Kenny Root <kroot@android.com> am ace72f6a: Merge "Function uri.getAuthority is called twice. Minor doc corrections."

# By Yury Zhauniarovich
# Via Gerrit Code Review
* commit 'ace72f6a37ffc232172346b3385494ef10195583':
Function uri.getAuthority is called twice. Minor doc corrections.
f9c5176a51a49fea18712338429b4d125e550a4a 12-May-2012 Yury Zhauniarovich <y.zhalnerovich@gmail.com> Function uri.getAuthority is called twice. Minor doc corrections.

Function uri.getAuthority was called twice in methods acquireProvider
and acquireExistingProvider was called twice although a parameter
representing the value had existed. The second call to the function is
changed to the parameter. The parameter's modifier changed to final.
Minor corrections in function descriptions in the file.

Signed-off-by: Yury Zhauniarovich <y.zhalnerovich@gmail.com>
Change-Id: Id003aa38c17d644357873c41a8f5ec455e46a4b7
ontentResolver.java
d7960d19c1e5dfdbe8c793472ce792e8526c0e40 30-Jan-2013 Dianne Hackborn <hackbod@google.com> Improve revoking access to content providers.

Providers can now hook into the revoked query and insert
calls, and the default implementation of query is a little better.

Change-Id: I29592a579aaf4a98686c6cf43e57f73275c58922
ontentProvider.java
e8ae8b8982da37ca77bbaed8e98349d51dec824a 30-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge "Add GET_CONTENT protocol for allowing multiple selection."
7f54ffd0296ce6008b5ea949796e60248a85e2d8 30-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge "Improve configuration of default preferred apps."
8a2ed1d7c0c4f6476e39cc37d9ebd29c7562ce01 30-Jan-2013 Dianne Hackborn <hackbod@google.com> Improve configuration of default preferred apps.

The file that defines default preferred apps is now more
robust. It is no longer a raw dump of the package
manager settings, but instead a more general list of a
target activity and filter. When reading it, the remaining
information (match value, set of potential matches) is
determined dynamically.

Change-Id: I0edc6e0d2ed3dd2a6e2238992f18f7fc1f51d8d4
m/IPackageManager.aidl
e564a325bec501fd66a163d32312e93981f3fe91 29-Jan-2013 Jeff Sharkey <jsharkey@android.com> Use the resolved Context in ContentResolver.

Change-Id: If62b34a9f6d6305657a02d3f807a24eee63aecf6
ontentResolver.java
fdb3f094ca967f8267f5bd30635063dc294d176f 29-Jan-2013 Dianne Hackborn <hackbod@google.com> Add GET_CONTENT protocol for allowing multiple selection.

Change-Id: I4c14d32112523d7ab603b2a4e374849dd1c3eff6
ntent.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
ontentProvider.java
d8ba6cc9217e2e042106870e9d2e70cfd80426d6 23-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge "Add new API to propagate contextual data to the assist action"
f9c5e0fe837a3090820da502ecaabc5accc00ace 23-Jan-2013 Dianne Hackborn <hackbod@google.com> Add new API to propagate contextual data to the assist action

When launching an assist, we have a new API allowing the
current foreground activity/application to provide additional
arbitrary contextual information that is stuffed in the
assist intent before it is launched.

Change-Id: I0b2a6f5a266dc42cc0175327fa76774f814af3b4
ntent.java
fd7adedebf88427162a3ce27fcc9cfd3893c869d 23-Jan-2013 Dianne Hackborn <hackbod@google.com> Add new disabled state for "optional" built-in apps.

The disabled state allows you to make an app disabled
except for whatever parts of the system still want to
provide access to them and automatically enable them
if the user want to use it.

Currently the input method manager service is the only
part of the system that supports this, so you can put
an IME in this state and it will generally look disabled
but still be available in the IME list and once selected
switched to the enabled state.

Change-Id: I77f01c70610d82ce9070d4aabbadec8ae2cff2a3
ntent.java
m/PackageManager.java
m/PackageParser.java
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
ontentResolver.java
ontext.java
ontextWrapper.java
m/IPackageManager.aidl
m/ParceledListSlice.java
66a017b63461a22842b3678c9520f803d5ddadfc 18-Jan-2013 Jeff Sharkey <jsharkey@android.com> Always give ContentResolver a valid Context.

Also add MockContentResolver constructor to provide a Context, and
move to singleton ActivityThread, since there is only one inside
each process. This makes ActivityThread accessible from threads like
InstrumentationThread.

Change-Id: Ib8b18f1b9bba8820ff412d782a43511066eabf24
ontentResolver.java
2125dd57cc3c1c43da9793a2ee4bb8a7bf19f083 17-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge "AppOps: fix nested op tracking, new API to get apps using permissions."
e799175b6ba3aadd972f4b861758d675d1f93987 17-Jan-2013 Dianne Hackborn <hackbod@google.com> AppOps: fix nested op tracking, new API to get apps using
permissions.

Change-Id: I20c7bd58febc01d6911a90440867eaacd133c464
m/IPackageManager.aidl
m/PackageManager.java
d4fe37bee7c7433f32c23cee100c6e05ba0f3b2b 17-Jan-2013 Amith Yamasani <yamasani@google.com> Merge "Rename bindService to bindServiceAsUser to follow convention."
27b89e6658a0d233a53f5d7ca20dc57fec82d955 16-Jan-2013 Amith Yamasani <yamasani@google.com> Rename bindService to bindServiceAsUser to follow convention.

This is for the multi-user version of bindService, not the original.

Change-Id: Ib2de35941196accf387b1a276a77e6f9af805ec0
ontext.java
ontextWrapper.java
35654b61e8fe7bc85afcb076ddbb590d51c5865f 15-Jan-2013 Dianne Hackborn <hackbod@google.com> More work on App Ops service.

Implemented reading and writing state to retain information
across boots, API to retrieve state from it, improved location
manager interaction to monitor both coarse and fine access
and only note operations when location data is being delivered
back to app (not when it is just registering to get the data at
some time in the future).

Also implement tracking of read/write ops on contacts and the
call log. This involved tweaking the content provider protocol
to pass over the name of the calling package, and some
infrastructure in the ContentProvider transport to note incoming
calls with the app ops service. The contacts provider and call
log provider turn this on for themselves.

This also implements some of the mechanics of being able to ignore
incoming provider calls... all that is left are some new APIs for
the real content provider implementation to be involved with
providing the correct behavior for query() (return an empty
cursor with the right columns) and insert() (need to figure out
what URI to return).

Change-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
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
ontext.java
57b59e025bc10056daf42cd741b626843ff344f5 14-Jan-2013 Scott Kennedy <skennedy@google.com> am aebeea4c: am 5d6d6aab: am 8e45679a: am 026f9191: am 08342698: Merge "docs: Fix a bunch of issues" into jb-mr1-dev

* commit 'aebeea4cf39acae833b1b7f27a4c08d3b55dee37':
docs: Fix a bunch of issues
aebeea4cf39acae833b1b7f27a4c08d3b55dee37 14-Jan-2013 Scott Kennedy <skennedy@google.com> am 5d6d6aab: am 8e45679a: am 026f9191: am 08342698: Merge "docs: Fix a bunch of issues" into jb-mr1-dev

* commit '5d6d6aab255aa17fde979d954c839402837b4243':
docs: Fix a bunch of issues
5d6d6aab255aa17fde979d954c839402837b4243 14-Jan-2013 Scott Kennedy <skennedy@google.com> am 8e45679a: am 026f9191: am 08342698: Merge "docs: Fix a bunch of issues" into jb-mr1-dev

* commit '8e45679adfe03271dd1cc627d6c4542649a0446a':
docs: Fix a bunch of issues
026f91915f2ad710b93284b9a604d3c39161b2ed 14-Jan-2013 Scott Kennedy <skennedy@google.com> am 08342698: Merge "docs: Fix a bunch of issues" into jb-mr1-dev

* commit '083426980dbe6607a0cfc8b4ec5944d5b414ecbe':
docs: Fix a bunch of issues
7ed189e457b16c06b0425bd28aeeb1df5c8ff5b8 12-Jan-2013 Scott Kennedy <skennedy@google.com> docs: Fix a bunch of issues

External tracker 42609
External tracker 42607
External tracker 42604
External tracker 42600
External tracker 42574
External tracker 42450
External tracker 41050
External tracker 40995
External tracker 40970
External tracker 40935
External tracker 40507
External tracker 40481
External tracker 40435
External tracker 40406
External tracker 40297
External tracker 40281
External tracker 39978
External tracker 39929
External tracker 39803
External tracker 39715
External tracker 39441

Change-Id: If4215cef850ba8e4e8df356a68192566806e7914
roadcastReceiver.java
6b0fb368707a2d47dd3fbeaf01c214de5227baa0 10-Jan-2013 Nick Kralevich <nnk@google.com> Merge "Revert "App home directories are now 0700 for targetSdkVersion > 17""
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
ontext.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
ontext.java
m/PackageManager.java
c21b5a019c1da00b6d861cd2859e3c349a44b3a7 08-Jan-2013 Jeff Brown <jeffbrown@google.com> Fix cursor window leak when query execution fails.

Ensure that the Cursor object is closed if a query on a
content provider fails due to an error or is canceled during
execution. There are several places in the code where
similar problems can occur.

To further reduce the likelihood of leaks, close the cursor
window immediately when a query fails.

Bug: 7278577
Change-Id: I8c686c259de80a162b9086628a817d57f09fdd13
syncTaskLoader.java
ontentProviderNative.java
ontentResolver.java
ursorLoader.java
017129481b50b41a6ed102c76efe8b12d617a5ea 07-Jan-2013 Dianne Hackborn <hackbod@android.com> am 449f006f: am 2a8de804: am 350d5168: Merge "Correcting typo in doc of MEDIA_XXX intents"

* commit '449f006f9391b8c42d6d95ba06970216e8ef9f84':
Correcting typo in doc of MEDIA_XXX intents
2a8de804a2a8313fc4571a73c625d8213237b825 07-Jan-2013 Dianne Hackborn <hackbod@android.com> am 350d5168: Merge "Correcting typo in doc of MEDIA_XXX intents"

* commit '350d5168e495c642873ee511d4e8dc27ac5377ce':
Correcting typo in doc of MEDIA_XXX intents
be7af838295044462b2b0f9fc11ba89c7e97889e 04-Jan-2013 suyi Yuan <yuan.suyi@gmail.com> Correcting typo in doc of MEDIA_XXX intents

Correcting typo in documents of MEDIA_MOUNTED,
MEDIA_UNMOUNTED,MEDIA_UNMOUNTABLE intents, which
may be confusing to APP developers.

Change-Id: Id909b7bfad98e305b8054978f054f4fb9b705311
ntent.java
2bc6eb8c175a6f913d379959bd71c6c09c601e82 03-Jan-2013 Christopher Tate <ctate@google.com> Document ContentProvider's API a bit more explicitly

In particular, call out parameters that must not be null.

Change-Id: I67af73163e36efefefa7df86499937f998be5b00
ontentProvider.java
330dd534848562515c6c67cb3de13067e86866a1 18-Dec-2012 John Spurlock <jspurlock@google.com> Remove remaining doc references to StyledAttributes.

It appears StyledAttributes was renamed to TypedArray
prior to fw 1.0. Leaving references to the old name
around in the public docs is confusing.

Deliberating leaving...
tests/coretests/src/android/widget/LabelView.java
... as is - it's clearly unused.

Change-Id: I3f66e5f9cbe945d9d86530d37b88369b401f054d
es/Resources.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
ontext.java
1423fa30c216ccdbbebbfa3fb120b3a7d17b073a 12-Dec-2012 Christopher Tate <ctate@google.com> am 1de62393: am 534de491: Merge "Make immersive mode public & imply update locking" into jb-mr1-aah-dev

* commit '1de623939090993d03a7c398d09e2d13950d682b':
Make immersive mode public & imply update locking
1de623939090993d03a7c398d09e2d13950d682b 12-Dec-2012 Christopher Tate <ctate@google.com> am 534de491: Merge "Make immersive mode public & imply update locking" into jb-mr1-aah-dev

* commit '534de491e6522465a7ad12d7cba9b2f80deab364':
Make immersive mode public & imply update locking
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
ontentResolver.java
ontentService.java
eriodicSync.java
yncAdaptersCache.java
yncInfo.java
yncManager.java
yncOperation.java
yncQueue.java
yncStatusInfo.java
yncStorageEngine.java
73c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2 16-Mar-2012 Christopher Tate <ctate@google.com> Make immersive mode public & imply update locking

Activity.setImmersive(boolean) / android:immersive="bool" are now public.
In addition, if the foreground activity is immersive then an update lock
will be held on its behalf. This lets applications such as movie players
suppress the display of intrusive notifications, OTA-availability dialogs,
and the like while they are displaying content that ought not to be
rudely interrupted.

The update lock aspect of this mode is *advisory*, not binding -- the
update mechanism is not actually constrained; it simply uses this information
in deciding whether/when to prompt the user. It's more a guideline than
a rule.

Bug 7681380

Change-Id: I3c412a84cbf3933e3bf0168f2c71c54a86e4b7e5
m/ActivityInfo.java
42e06c8d6bc66e40cdddf5ed2aa675cbd009311c 29-Nov-2012 Dianne Hackborn <hackbod@google.com> am 5007dea9: am bac91ebd: am 860d0cd4: Merge "Cleaner initial boot." into jb-mr1.1-dev

* commit '5007dea96e357e11316f5c9a4aea1123ba9dd4c1':
Cleaner initial boot.
36893b16ce8f7e4525685721eb336e114ae11958 29-Nov-2012 Dianne Hackborn <hackbod@google.com> am 221d59f7: am afdd978c: am 68e0da7e: Merge "Quiet down a lot of logging." into jb-mr1.1-dev

* commit '221d59f723584d316ea225bdaf1bc75cbfd7a794':
Quiet down a lot of logging.
5007dea96e357e11316f5c9a4aea1123ba9dd4c1 29-Nov-2012 Dianne Hackborn <hackbod@google.com> am bac91ebd: am 860d0cd4: Merge "Cleaner initial boot." into jb-mr1.1-dev

* commit 'bac91ebdd0ae310a6b92a8b4bb91613025238356':
Cleaner initial boot.
221d59f723584d316ea225bdaf1bc75cbfd7a794 29-Nov-2012 Dianne Hackborn <hackbod@google.com> am afdd978c: am 68e0da7e: Merge "Quiet down a lot of logging." into jb-mr1.1-dev

* commit 'afdd978ccd8d45ac789873dd4cf0ab0dd3f46d20':
Quiet down a lot of logging.
13579ed3305bf89b41a9fa88e1347f0e0769d279 29-Nov-2012 Dianne Hackborn <hackbod@google.com> Cleaner initial boot.

This does some cleanup of the initial boot, especially when
booting in "no core apps" mode for encryption/decryption.

Change-Id: Ifb3949f580e52f54559e603c4b0b104f6bac2f6c
m/IPackageManager.aidl
40e9f2922cae76ffcbc521481e5be8e80e8744ef 28-Nov-2012 Dianne Hackborn <hackbod@google.com> Quiet down a lot of logging.

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

Change-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41
yncStorageEngine.java
m/RegisteredServicesCache.java
a8f6d5f0720f400b6f59b0809aaefea83c5f51d4 27-Nov-2012 Romain Guy <romainguy@google.com> Add support for face attribute to HTML string resources
Bug #7480719

This change also adds the alias "color" for the attribute "fgcolor".
This change also unifies HTML colors parsing between the Html class
and StringBlock for consistency.

Change-Id: I696a6e080387901d88e9baf7cb989b892f14b9db
es/StringBlock.java
8e2ffc76a9363bd7a7d61c8ba432ab537eab7467 16-Nov-2012 Jeff Sharkey <jsharkey@android.com> am 9634e970: am bfea4f04: am f5377a72: Merge "Useful annotations for code documentation." into jb-mr1.1-dev

* commit '9634e970679c687572e2da84250adc8baf91a8c3':
Useful annotations for code documentation.
9634e970679c687572e2da84250adc8baf91a8c3 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> am bfea4f04: am f5377a72: Merge "Useful annotations for code documentation." into jb-mr1.1-dev

* commit 'bfea4f04f226f1adf374412628d5945c380382a7':
Useful annotations for code documentation.
8b2c3a14603d163d7564e6f60286995079687690 12-Nov-2012 Jeff Sharkey <jsharkey@android.com> Useful annotations for code documentation.

Bug: 6537978
Change-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f
yncManager.java
yncStorageEngine.java
m/RegisteredServicesCache.java
7b172a49a90ea6784dbfe0002474f9d4fd4ace1a 07-Nov-2012 Kenny Root <kroot@google.com> am 58ed5d74: am 768d9e1a: Merge "Correct executable bit for source files"

* commit '58ed5d748c0b9b64845975ef5844ad313de7c3f6':
Correct executable bit for source files
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
IntentReceiver.aidl
es/Configuration.aidl
es/ObbInfo.aidl
es/Resources.java
252b262f253a24fbcaa880eae75181b94bb6425b 23-Oct-2012 Jeff Sharkey <jsharkey@android.com> am d6d2ac80: am c4715678: am 1c8135ad: Merge "Update docs for multi-user storage behavior." into jb-mr1-dev

* commit 'd6d2ac8042350b2949f0d0369cb7bc22bb1c55f0':
Update docs for multi-user storage behavior.
1c8135adba37ac09fe661180237df446611daa4b 23-Oct-2012 Jeff Sharkey <jsharkey@android.com> Merge "Update docs for multi-user storage behavior." into jb-mr1-dev
8c16579994a58c5763788b4f6be864e8a8219575 22-Oct-2012 Jeff Sharkey <jsharkey@android.com> Update docs for multi-user storage behavior.

Define external storage as being isolated for each user, with the
caveat for shared OBB files. Also mention external storage
permissions.

Bug: 7384941
Change-Id: Ib156b5874c5587749d7bc066791e9e88d931b174
ontext.java
6861a6147c2cb021218ae0216c9a541f0d2f2b33 22-Oct-2012 Amith Yamasani <yamasani@google.com> am e78d50b4: am 6eb9844c: am 22788981: Merge "System server should always send broadcasts to a specific or all users" into jb-mr1-dev

* commit 'e78d50b4a02a8242a99dea4cfacee2a7c9e7f122':
System server should always send broadcasts to a specific or all users
cd75706117432e33d11639e675bcff50479a6bb9 20-Oct-2012 Amith Yamasani <yamasani@google.com> System server should always send broadcasts to a specific or all users

Bug: 7368245

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

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

Change-Id: I17f15c8be9adf7becd456d6abbab606f19befdbf
yncManager.java
0ad9356bdc2d6901a477a0faccbb809dab12193b 21-Oct-2012 Amith Yamasani <yamasani@google.com> am 283d1409: am f624d72c: am 8074e98b: Merge "Fix crashes when quickly adding and removing users" into jb-mr1-dev

* commit '283d1409ddadd35cd41b5496659d3a24dc365fb0':
Fix crashes when quickly adding and removing users
8074e98b20ac04fdc032a1ed00dd6763b7e04147 21-Oct-2012 Amith Yamasani <yamasani@google.com> Merge "Fix crashes when quickly adding and removing users" into jb-mr1-dev
db6a14cc85cede0769735fdac4da70766989a3ce 18-Oct-2012 Amith Yamasani <yamasani@google.com> Fix crashes when quickly adding and removing users

Make USER_REMOVED an ordered broadcast and send it before the user's
state is completely removed from the system. This gives services the
opportunity to clean up their state, while still having access to the
user's directory and UserInfo object (such as serial number).

Tell SyncManager to skip over dying/partially created users.

Improve UserManager tests, waiting for users to be removed fully.

Bug: 7382252

Change-Id: I93cfb39c9efe6f15087bf83c569a2d154ef27168
ntent.java
yncManager.java
58fc8e5adaa49633ea8f262613aa5da8dd19dccb 19-Oct-2012 Christopher Tate <ctate@google.com> am 9fffd565: am e9472f29: am 935415a0: Merge "Document immutable requirement of SharedPreferences return objects" into jb-mr1-dev

* commit '9fffd565a927f03d10c2009b741e7222ddd4967e':
Document immutable requirement of SharedPreferences return objects
935415a050be75f582f632dd168be9fbb047137b 19-Oct-2012 Christopher Tate <ctate@google.com> Merge "Document immutable requirement of SharedPreferences return objects" into jb-mr1-dev
01ed79c5786c527628544828abf8b70d02b989cd 19-Oct-2012 Christopher Tate <ctate@google.com> Document immutable requirement of SharedPreferences return objects

In particular, make it quite clear that the set returned by
getStringSet() must not be modfied by the app, period; and
add a similar caution about the map returned via getAll().

Also, fix a bug that could lead to unexpected data being committed
if the set instance passed to putStringSet() was mutated by the
app after that call (including mutations after commit() was
invoked).

Bug 7312641

Change-Id: If9a1be1b0669ac879ff7a7dc67a8805548ea10cc
haredPreferences.java
57286f970641493b315b0b42aba7ac6b672cc8b8 09-Oct-2012 Alon Albert <aalbert@google.com> Add sync reason to dumpsys

Also:
* add a second history section that logs
* log mesg as text instead of number
* dump Sync Status as a table

Sample log:
Recent Sync History
#1 : 2012-10-11 15:06:11 USER 0.4s aagmtest1@gmail.com/com.google u0 com.android.calendar com.google.android.calendar
#2 : 2012-10-11 15:06:11 USER 0.1s aagmtest1@gmail.com/com.google u0 subscribedfeeds android.uid.system:1000
mesg=parse-error
#3 : 2012-10-11 15:06:11 USER 0.0s aagmtest1@gmail.com/com.google u0 com.google.android.apps.uploader.PicasaUploadProvider android.uid.system:1000
#4 : 2012-10-11 15:06:10 USER 0.1s aagmtest1@gmail.com/com.google u0 com.google.android.gms.plus.action android.uid.system:1000

Recent Sync History Extras
#1 : 2012-10-11 15:06:11 USER aagmtest1@gmail.com/com.google u0 com.android.calendar Bundle[{feed=aagmtest1@gmail.com, force=true, ignore_settings=true, ignore_backoff=true}]
#2 : 2012-10-11 15:06:11 USER aagmtest1@gmail.com/com.google u0 subscribedfeeds Bundle[{ignore_backoff=true, force=true, ignore_settings=true}]
#3 : 2012-10-11 15:06:11 USER aagmtest1@gmail.com/com.google u0 com.google.android.apps.uploader.PicasaUploadProvider Bundle[{ignore_backoff=true, force=true, ignore_settings=true}]
#4 : 2012-10-11 15:06:10 USER aagmtest1@gmail.com/com.google u0 com.google.android.gms.plus.action Bundle[{ignore_backoff=true, force=true, ignore_settings=true}]

Sync Status
Account aagmtest1@gmail.com u0 com.google
=======================================================================
Authority Syncable Enabled Delay Loc Poll Per Serv User Tot Time Last Sync Periodic
-------------------------------------------------------------------------------------------------------------------------------------------------------------
com.google.android.apps.currents 1 true 0 2 1 2 1 6 0:35 PERIODIC SUCCESS 86400
2012-10-12 14:59:40 2012-10-13 14:58:13
com.google.android.music.MusicContent 1 true 0 0 1 2 1 4 0:09 PERIODIC SUCCESS 86400
2012-10-12 14:59:18 2012-10-13 14:58:13
com.google.android.gms.plus.action 1 true 0 0 1 1 1 3 0:00 PERIODIC SUCCESS 86400
2012-10-12 14:59:15 2012-10-13 14:58:13
com.google.android.apps.magazines 1 true 0 1 1 2 1 5 0:14 PERIODIC SUCCESS 86400
2012-10-12 14:59:00 2012-10-13 14:58:13

Change-Id: Iffeb825e4b4f6217940a39b0dd71e06856f08f3f
ontentResolver.java
ontentService.java
yncManager.java
yncOperation.java
yncQueue.java
yncStorageEngine.java
09a5321c60c02d944684abb98e0daec9dd810fab 19-Oct-2012 Dave Burke <daveburke@google.com> Merge "Revert "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.""" into jb-mr1-dev
579e14016c4a972e70cd2bd0c6d89bbd7e9e941c 19-Oct-2012 Dave Burke <daveburke@google.com> Revert "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.""

This reverts commit 57fca90ac65ecfe97acd4c93d442c3db8f815e11

Change-Id: I21b007a7d150a4c23f25a706cdba5cb86198198f
es/TypedArray.java
bd4f2181077ab35a26bcca115c1337e78814bb9d 18-Oct-2012 Jeff Sharkey <jsharkey@android.com> Merge "Defer more Account actions until user starting." into jb-mr1-dev
871a6d7d4fb3bffaff37e45f0b4f5e3c862239d2 18-Oct-2012 Justin Ho <justinho@google.com> Merge "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."" into jb-mr1-dev
4e360f06003dd31da25dc8529fa1876ab573d0aa 18-Oct-2012 Justin Ho <justinho@google.com> Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."

This reverts commit f49d835dfe1bd21920ff8a48cbdfb9c1fd632fd9

Change-Id: If0093f23d6458e53619220fbf0aa5f844ad2c790
es/TypedArray.java
4db3165793a837ffc8197184fbc13ef2217e3dfc 18-Oct-2012 Justin Ho <justinho@google.com> Merge "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height." into jb-mr1-dev
f49d835dfe1bd21920ff8a48cbdfb9c1fd632fd9 18-Oct-2012 Justin Ho <justinho@google.com> This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.

This reverts commit 57fca90ac65ecfe97acd4c93d442c3db8f815e11

Change-Id: I0fe25056cd54b8852b32ae4621e048d3f5c7d555
es/TypedArray.java
e4996bbd519a088927180c2eed2941fe59a4cd40 17-Oct-2012 Jeff Sharkey <jsharkey@android.com> Defer more Account actions until user starting.

Instead of explicitly scanning OWNER accounts, move to using the
"user starting" call path for consistency.

Bug: 7358086
Change-Id: Ied3289a074aafa48259d828db1d68804912589b3
yncManager.java
yncQueue.java
144d405511e9ed685568e50db87b22cc42b6a252 17-Oct-2012 Justin Ho <justinho@google.com> Merge "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."" into jb-mr1-dev
57fca90ac65ecfe97acd4c93d442c3db8f815e11 17-Oct-2012 Justin Ho <justinho@google.com> Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."

This reverts commit dcf59629beed8182759a1068ab8ee997935bef82

Change-Id: I27426a0ffe993973ffb0b05ce1ed3afe73fcd87d
es/TypedArray.java
8e6145013a6533ca6a33e03c8a5e45ad2de431e4 17-Oct-2012 Jim Miller <jaggies@google.com> Merge "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height." into jb-mr1-dev
dcf59629beed8182759a1068ab8ee997935bef82 17-Oct-2012 Jim Miller <jaggies@google.com> This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.

Revert "Revert "Revert "Fix for bug 6050753."""

This reverts commit 6868d6f349610c15256471cc3d5fa708cbfd5f1d

Change-Id: I8843d92dba14c82f06d9ee59517cf11b2abbbf04
es/TypedArray.java
69b0c974b5abb38a4443410cf09f7d5f28cf2c7f 17-Oct-2012 Christopher Tate <ctate@google.com> Merge "Fix ApplicationInfo copy ctor" into jb-mr1-dev
bcb0255770caa6b053da100de13beb840da71b21 17-Oct-2012 Christopher Tate <ctate@google.com> Fix ApplicationInfo copy ctor

Need to copy ALL the fields!

Bug 7360899

Change-Id: Ie6ed2d6f41c2efaf793ebf111adc8fa5e8b57d7c
m/ApplicationInfo.java
a706e2fd0059b1bb86c487722dbc9fc0fda9c980 16-Oct-2012 Jeff Sharkey <jsharkey@android.com> Lock SyncQueue when user starting, copy RSC list.

Document SyncQueue locking policy and protect in onUserStarting()
and clearAllBackoffs(). Return copy of ServiceInfo list from
RegisteredServicesCache instead of exposing locking externally.

Bug: 7357776, 7352537
Change-Id: I6a32ca98a355b639d4207a88bde572179beae359
yncManager.java
yncQueue.java
yncStorageEngine.java
m/RegisteredServicesCache.java
6868d6f349610c15256471cc3d5fa708cbfd5f1d 16-Oct-2012 Mathias Agopian <mathias@google.com> Revert "Revert "Fix for bug 6050753.""

Emergency revert -- fix reboot loop.

This reverts commit 8e63bcc63fd002231f8391af8982eeb235d096c8.

Change-Id: I4373b867d756de09cdf6aa0aba9e6ff8f47bcdbc
es/TypedArray.java
8e63bcc63fd002231f8391af8982eeb235d096c8 15-Oct-2012 Romain Guy <romainguy@google.com> Revert "Fix for bug 6050753."

This reverts commit c29f031598811486d83f418fd08fbfe1fc41788a.
es/TypedArray.java
8f55d112983aa922687de7e3581f73913c06e37a 11-Oct-2012 Jeff Sharkey <jsharkey@android.com> Database cleanup needs to happen for all users.

Bug: 6970084
Change-Id: I9a6f1cbaf095b245ec9707a90c518256e0aa1f5f
yncManager.java
9535c915b61c43d7b4bdb2b35d53774cfb16bfbb 11-Oct-2012 Amith Yamasani <yamasani@google.com> Fix a runtime restart when cycling between 4 users

Some refactoring in Sync Manager caused mUserManager to be initialized too late.
Make sure this is initialized in the constructor now.

Bug: 7328386
Change-Id: Ic67915e172c3b8ef368852147667287e38c0213b
yncManager.java
6eb9620ff289105c3fc4a1be28a8eebb17d044e0 10-Oct-2012 Jeff Sharkey <jsharkey@android.com> Include all accounts in dumpsys.

Allow accounts to be loaded when a user is stopped, but always
validate accounts against a freshly queried PMS cache when the user
actually starts.

Bug: 7276595
Change-Id: I0382064c73123c243bc6f6e5da8fc3d0a8b73442
yncManager.java
6ab72d74b86e5f4ec3c3909366fd46c225a66bd7 09-Oct-2012 Jeff Sharkey <jsharkey@android.com> Make RegisteredServicesCache multi-user aware.

RegisteredServicesCache is used to track account authenticators and
sync adapters, which can vary based on user. This change requires
that callers now provide a userId when making cache requests. It
continues persisting into a single file for now, which is keyed based
on UID.

It now watches for package broadcasts from all users, and scans
packages on-demand. It changes cache callers to provide a relevant
userId, and evicts cache entries when users are stopped.

Changes SyncManager to only work with accounts from running users,
only kicking off pending syncs once a user is started.

Bug: 7276595, 7316150
Change-Id: I79466a84aa69aa37e4bd9691c5d6221d3662ff29
ontentService.java
yncManager.java
yncQueue.java
m/RegisteredServicesCache.java
m/RegisteredServicesCacheListener.java
36d337adffa6d1c4c953e83730ad58747f554877 08-Oct-2012 Dianne Hackborn <hackbod@google.com> Framework side of issue #7302511: GCM client needs to use new framework API...

...to fix background->shutdown delivery race

Add ACTION_STOPPING and ACTION_STARTING to allow such apps to keep track of
which users are started/stopped, and be involved in the process of stopping
a user.

Also get rid of the scale part of the wallpaper transitions, since it seems
like I have still failed at getting the user switch to wait until the new
wallpaper is displayed.

Change-Id: If7e8fdae3544a9d7987a1b9274dc8b49022f6f62
ntent.java
9c2a38ed10592a54d9bb753ef882632f7a8cd446 08-Oct-2012 Amith Yamasani <yamasani@google.com> Merge "Fix resource reading for secondary users" into jb-mr1-dev
64442c11555d828a41af0b8a58ab933357889061 07-Oct-2012 Amith Yamasani <yamasani@google.com> Fix resource reading for secondary users

Bug: 7086881

Load resources for the correct user.

Also clean up package monitoring and locking.
Added dump method to SearchManagerService.

Sneaking in a change to make crash dialogs visible to current user.

Change-Id: Id56dd15428d66084de995e28be242db27c15fda3
m/PackageItemInfo.java
5962b12bedc4a1d0354816c1cd6b06ba04f6d807 05-Oct-2012 Craig Mautner <cmautner@google.com> Adds showWhenLocked attribute to Activities.

The new attribute allows an Activity such as the alarm to appear
on all users screens.

Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
m/ActivityInfo.java
m/PackageParser.java
afccaa84c8d1b9aa45040ddeb0edd42ba80e80d6 04-Oct-2012 Christopher Tate <ctate@google.com> Use myUserId() only in registerContentObserver()

The reason for this is a bit subtle: we want to guarantee that
when a content observer is registered using the public API, it
is *always* bound to the host user's view of the data behind the
observed Uri, never the calling user's. Now, the reason it was
the calling user in the first place is that the Settings provider
(and potentially any singleton provider) needs the observers
underlying Cursors returned from query() to be tied to the caller's
user, not the provider's host user.

In order to accomplish that now that the public-facing behavior is
always tied to the host user, the concrete class that implements
the Cursor type handled by the Settings provider has been extended
with a new hidden API for setting a notification observer tied to
an arbitrary user; and then the provider explicitly downcasts the
query result's Cursor to that class in order to register the
notification observer. We can do this safely because this is platform
code; if we change the way that these underlying cursors are constructed,
we can just fix this point of call to follow along. If they get out
of sync in the future, the Settings provider will scream bloody
murder in the log and throw a crashing exception.

Bug 7231549

Change-Id: I0aaceebb8b4108c56f8b9964ca7f9e698ddd91c8
ontentResolver.java
5bc54bf354f6e674a129b2e286b4bd3eefe91c2b 03-Oct-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7272775: Auto Start Apps Not Starting" into jb-mr1-dev
4a9f071f3d3fdd20615167cda6f22da912bc60c7 03-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7272775: Auto Start Apps Not Starting

Bad defaults were causing stopped state to be set at each
boot.

Change-Id: I49b04e9c62f6ac391054201b508fddb6c7985615
m/PackageUserState.java
2e7d25b91f6f9185d447c99b2eabeab6bf735079 01-Oct-2012 Daniel Sandler <dsandler@android.com> Introduce ACTION_QUICK_CLOCK for the QS time tile.

By default it will still go to Date/Time Settings (see
change Ib430f0c5) but 3Ps can hook it for other useful
things.

Bug: 7264806
Change-Id: Ic561dbeb5cc0738372c079b3eb52749c44b3cf0d
ntent.java
fe37f8f51d90fc4c6230e54dcd1270df5fcc6be3 30-Sep-2012 Dianne Hackborn <hackbod@google.com> Work on issue #6949468: android.dpi.cts.ConfigurationScreenLayoutTest...

...#testScreenLayout failures on JO

This doesn't actually fix it; I have concluded that the test is broken
(the platform is correctly reporting that this is a NOT LONG device
because in portrait once you account for the status bar and system
bar our size is 880dp high and 600dp wide, which is not enough for us
to be in the LONG config).

However while working on this I noticed that the code for computing
the configuration of the external display was wrong. I have fixed
that by putting this code for computing these parts of the configuration
in a common place that both the window manager and external display
code can use.

Change-Id: Ic6a84b955e9ec345a87f725203a29e4712dac0ad
es/Configuration.java
c36c49ee83123d6083c05a3e333ac43a13f664cd 30-Sep-2012 Craig Mautner <cmautner@google.com> Changing debug for b/7094175.

Fixes bug 7094175 (but not really).

Change-Id: Ice2abb93f479ea0bda931e9643710668c25aa285
es/Resources.java
be87e2f5885b28145a788fd31d1fb5ae88a71100 29-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7255954: API Review: rename Dream to DreamService

Change-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872
ntent.java
3ff8e1a80058e5557d13693d3223e1aa011c0038 29-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7211769 and #7244492, thrash around on #7226656." into jb-mr1-dev
d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1 28-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7211769 and #7244492, thrash around on #7226656.

Issue #7211769: Crash dialog from background user has non-working "report"

The report button now launches the issue reporter for the correct user.
Also for crashes on background users, either disable the report button,
or simply don't show the dialog depending on the build config.

Issue #7244492: Bugreport button in Quick Settings doesn't actually do anything

Now they do.

Issue #7226656: second user seeing primary user's apps

I haven't had any success at reproducing this. I have tried to tighten up
the path where we create the user to ensure nothing could cause the
user's applications to be accessed before the user it fully created and thus
make them installed... but I can't convince myself that is the actual problem.

Also tightened up the user switch code to use forground broadcasts for all
of the updates about the switch (since this is really a foreground operation),
added a facility to have BOOT_COMPELTED broadcasts not get launched for
secondary users and use that on a few key system receivers, fixed some debug
output.

Change-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021
m/ActivityInfo.java
m/PackageParser.java
m/PackageUserState.java
m/UserInfo.java
9dbbfcda81f251f23aded866f7f9d49d8a744c75 28-Sep-2012 Ben Gruver <bgruv@google.com> Merge "Pass the originating uid to the package verifier" into jb-mr1-dev
625239a05401bbf18b04d9874cea3f82da7c29a1 27-Sep-2012 Jeff Sharkey <jsharkey@android.com> Migrate more Secure settings to Global.

Migrate networking, storage, battery, DropBox, and PackageManager
related Secure settings to Global table.

Bug: 7232014, 7231331, 7231198
Change-Id: I772c2a9586a2f708c9db95622477f235064b8f4d
yncManager.java
37d83a3caf138e35fa1a355787d20c351f6b37a6 27-Sep-2012 Ben Gruver <bgruv@google.com> Pass the originating uid to the package verifier

Bug: 6923241
Change-Id: I85a3e0d53b469543cb0551d3a440d2663b5d0697
ntent.java
m/VerificationParams.java
38796fe16266e22c56d2eee3eb63fac0cb926aaa 27-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Fix sync problems when setting up a new user and account" into jb-mr1-dev
d648a605e8249219ce60ac93e074758ebb6fc4ab 27-Sep-2012 Amith Yamasani <yamasani@google.com> Fix sync problems when setting up a new user and account

Bug: 7197445

The listener on AccountManager is not sufficient since it only triggers when
primary user's accounts change.

Switch to watching for LOGIN_ACCOUNTS_CHANGED_ACTION for all users.

Change-Id: I63f526aebd70f0ad777490f3e0b6e6894220d26c
yncManager.java
b12e1354f25f04e9c9a71da76c6fca858b7d39d0 26-Sep-2012 Dianne Hackborn <hackbod@google.com> Maybe fix issue #7211766: bindService() to User u0 While u10 is...

...Forground Sometimes Doesn't Take

The main change here is a one-liner in ActiveServices to check the
uid when deciding whether to remove an item from mPendingServices.
This could cause the problem being seen -- if the same service for
two users is starting at the same time, the second one would blow
away the pending start of the first one. Unfortunately I have had
trouble reproducing the bug, so I don't know if this is actually
fixing it. It's a bug, anyway.

The reason so much has changed here is because I spread around
logging and printing of the user ID associated with operations and
objects to make it easier to debug these kind of multi-user things.

Also includes some tweaks to the oom manager to allow more background
processes (I have seen many times in logs where we thrash through
processes because the LRU list is too short), plus to compensate an
additional time-based metric for when to get rid of background processes,
plus some new logic to try to help things like Chrome keep around
their service processes.

Change-Id: Icda77fb2a1dd349969e3ff2c8fff0f19b40b31d3
ontext.java
98edc951712823dbf5db2b7e9c203a0e98fc616b 25-Sep-2012 Amith Yamasani <yamasani@google.com> Load resources for the correct user

For apps that are only installed on secondary users, the SystemUI is
unable to see them by default. Added some methods to explicitly pass the
userId of the user the resources are requested for by the StatusBarIcon

Bug: 7214384

Also fix binding to remote views

Bug: 7192802

Change-Id: I5d6c5f624aa37fb231f3467f9764c8d99077a91d
m/PackageManager.java
ea7e91514ee1968d15713e82a5cca745e2c46a05 25-Sep-2012 Amith Yamasani <yamasani@google.com> AppInfo from Notifications for secondary users

Required wiring up startActivitiesAsUser()

Bug: 7224950

Also fix a bug in navigateUp in secondary user

Change-Id: I114ae2de0457362d62e899fdb94b12239a3eb778
ontext.java
ontextWrapper.java
7451f15e7464fe8dd117b74c6dcff780785e0007 24-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6926562: Ensure all multi-user cache files are managed correctly" into jb-mr1-dev
556b09e184b891d9542092962ed248616810e054 24-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6926562: Ensure all multi-user cache files are managed correctly

Now we correctly iterate through the different user cache dirs.

Also update documentation to describe the new cache pruning behavior,
and deprecate the file modes for making files world readable/writable
which we really don't want people using any more.

Change-Id: I3708df3ddc697b1f5c511143cce7cc40a5a3d0bd
ontext.java
fcf0061ebf2a56f76f207460b39fb14f25779bfd 24-Sep-2012 Alon Albert <aalbert@google.com> Merge "Skip operations for users who are not running" into jb-mr1-dev
752cd922f7091dfd5401faf70dc248934a9dbb6d 24-Sep-2012 Jeff Sharkey <jsharkey@android.com> Always bind to DefaultContainerService as OWNER.

When PackageManagerService deals with external storage, always bind
to DefaultContainerService as USER_OWNER. This avoids binding to a
stopped user, which would fail.

Bug: 7203111
Change-Id: I8e303c7558e8b5cbe4fea0acc9a472b598df0caa
m/PackageCleanItem.java
11820f7386ce86fd89e9e6b49d9231dce6e1ed07 23-Sep-2012 Jeff Sharkey <jsharkey@android.com> Merge "Allow acquiring ContentProviders across users." into jb-mr1-dev
b939e35274334d1f5e71a526efe8d235eb6d7387 23-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7209355, #7214271." into jb-mr1-dev
8da429e80d1778d7bcfbfbd64355c70fb466b3ce 23-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7209355, #7214271.

Issue #7209355: Intent on the secondary user results in an intent picker
in the Primary user.
Issue #7214271: Crash in system UI

Also fix a bug where I recently broke the removeTask() operation in the
activity manager where it would remove the wrong task.

Change-Id: I448c73a0e83a78d9d8d96b4629658c169888d275
m/ResolveInfo.java
a91c9f9f7a3c5d09333bdf27ef06012bb4e7d710 23-Sep-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Unhide and document feature android.hardware.camera.any." into jb-mr1-dev
6d51571835737c7502a2e111ee9dc2527ebad984 21-Sep-2012 Jeff Sharkey <jsharkey@android.com> Allow acquiring ContentProviders across users.

Otherwise services like SystemUI will always open content://-style
Uris as USER_OWNER. Surfaces through createPackageContextAsUser()
which points all ContentResolver operations towards a given user.

Start using in RemoteViews, so that Notifications correctly resolve
image Uris to the sending user. Also add user support for "content"
shell tool.

Bug: 7202982
Change-Id: I8cb7fb8a812e825bb0b5833799dba87055ff8699
ontext.java
ontextWrapper.java
c9108b1856c7b6d98ddc04fbe330df21f2da890d 22-Sep-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Add hardware feature android.hardware.camera.any." into jb-mr1-dev
58d37b55bd228032355360ea3303e46a804e0516 18-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Multi-user support for the accessibility layer.

1. This change converts the accessibility manager service to
maintain a state per user. When the user changes the services
for the user that is going away are disconnected, the local
accessibility managers in the processes for this user are
disabled, the state is swapped with the new user's one, and
the new user state is refreshed.

This change updates all calls into the system to use their
user specific versions when applicable. For example, regisetring
content observers, package monitors, calls into other system
services, etc.

There are some components that are shared across users such
as UI created by the system process and the SystemUI package.
Such components are managed as a global state shared across
all users and are updated accordingly on a user switch. Since
the SystemUI is running in a normal app process this change
adds hidden APIs on the local window manager to allow the
SystemUI to notify the accessibility layer that it will run
accross users.

Calls to AccessibiltyManager's isEnabled(), isTouchExplorationEnabled()
and sendAccessibilityEvent return false or a are a nop for a
background user sice he should not send accessibility events,
and should not perform touch exploration.

Update the internal accessibility tests due to changes in the
AccessibilityManager.

This change also fixes several issues that were encountered
such as calling out the accessibility manager service with a
lock held.

Removed some incorrect debugging code from the TouchExplorer
that was leading to a system crash.

bug:6967373

Change-Id: I2cf32ffdee1d827a8197ae4ce717dc0ff798b259
m/PackageManager.java
8e28555f6d4ea557ba79e3d411ea46e5a0788b8f 18-Sep-2012 Alon Albert <aalbert@google.com> Skip operations for users who are not running

Listen to ACTION_USER_FOREGROUND and check alarms when it happens
Also add user logging to dumpsys

Bug: 7115753
Change-Id: Idb7881b62e31813feec684db8ff2e9d22e65a0f9
yncManager.java
yncOperation.java
920ace0bbc2d4133dbec991d2636c99a57d6245e 21-Sep-2012 Amith Yamasani <yamasani@google.com> Query users excluding any being removed

Keep track of user creation and last logged-in time.
adb shell dumpsys users
User switcher shouldn't show users about to be removed.
No need to check for singleton for activities.

Bug: 7194894
Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
m/UserInfo.java
58e7f73c6e2d6583be0beabc95e7ac430bef0eb4 21-Sep-2012 Christopher Tate <ctate@google.com> Merge "Multiuser awareness in content observer infrastructure" into jb-mr1-dev
c72fc674a33b8d17585764d09d3bb6c77d7d947e 20-Sep-2012 Dianne Hackborn <hackbod@google.com> Implement multi-user PackageMonitor.

New APIs let you indicate what user(s) to monitor, and tell you
what user is changing when receiving a callback.

Fix package manager to only deliver package brpadcasts to the
running users. (This isn't really a change in behavior, since
the activity manager would not deliver to stopped users anyway).
Make sure all broadcasts that package monitor receives also include
user information for it to use.

Update wallpaper service to (hopefully) now Really Correctly
monitor package changes per user.

Change-Id: Idd952dd274abcaeab452277d9160d1ae62919aa0
ntent.java
b7564454297ba1706670ccab0562cac6676d0a77 20-Sep-2012 Christopher Tate <ctate@google.com> Multiuser awareness in content observer infrastructure

Content observers are registered under the calling user's identity,
not under the provider host's identity (unless the caller is using
the new permissioned entry points that allow observers to be
registered for a different user's view of the data). The most important
implication of this is that when the settings provider is directly
queried, the Cursor returned to the app is wired for change notifications
based on that calling app's user.

Note that it is not possible to use query() / insert() to read/write
data for different users. All such manipulations should use the
standard get* / put* methods in Settings.*.

Bug 7122169

Change-Id: If5d9ec44927e5e56e4e7635438f4ef48a5430986
ontentResolver.java
ontentService.java
8f301e666873e4a9feaace38a0b184a5f3ce7003 19-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Add debug for b/7094175." into jb-mr1-dev
a1c46636dd533e889e1f3b3326fa0d851928df4f 19-Sep-2012 Christopher Tate <ctate@google.com> Merge "Disable content observer cross-user permission checks..." into jb-mr1-dev
390392ff3ef0114544eab3db4093c1c7aba825da 19-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Changes to support side-loading of apps from other users." into jb-mr1-dev
e6c660ab35d60952e38e74b60c34db57ef00b674 19-Sep-2012 Christopher Tate <ctate@google.com> Disable content observer cross-user permission checks...

... until we have a solid fix for the singleton ContentProvider
problem cases in place.

Bug 7190837

Change-Id: Ibbef2ddc594896ba7b9217e2856c3e393f525af6
ontentService.java
eba784ff4ab2a080ddc1d41b90db0e3729ee1ea3 19-Sep-2012 Dianne Hackborn <hackbod@google.com> Changes to support side-loading of apps from other users.

Change-Id: I5b7c0aa0dc9566b29d5980dc7f42a508a61a58d3
ntent.java
72b4db15b6f30a5bc1c906aece93873b223f7dc2 19-Sep-2012 Eino-Ville Talvala <etalvala@google.com> Unhide and document feature android.hardware.camera.any.

Bug: 6847310
Change-Id: I67a973dccfdc735aac457fce625003a386ff2fbe
m/PackageManager.java
752af83e5b28a4225510406a0ec868585caf1ccc 18-Sep-2012 Eino-Ville Talvala <etalvala@google.com> Add hardware feature android.hardware.camera.any.

This feature means that a device has at least one camera, facing in
some direction, so it matches devices that:
- Have just a back-facing camera
- Have just a front-facing camera
- Have both

In the future, it could also be used for devices that have a camera
that's neither front- or back-facing, such as a webcam or other
flexibly-pointed device.

Hidden for now.

Bug: 6847310
Change-Id: I51ea3b4db2020b0f056d77e10629a6b5f2daebe1
m/PackageManager.java
20586fa0353f63453766140b32a4778793ce2b43 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7173351 API REVIEW: android.util.LocaleUtil" into jb-mr1-dev
d3d9f3f1004dfee2649a26cfe8dba948cd364904 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7173351 API REVIEW: android.util.LocaleUtil

Change-Id: I08fd491eff714059e9ec874fadebe7eb556c34d5
es/Configuration.java
0cbfcffe7b99eea85dc17e92ef204035fa6fd4f9 18-Sep-2012 Craig Mautner <cmautner@google.com> Add debug for b/7094175.

Change-Id: Iec83b9350bfeb804dfe3da25986138c2dbaa6d45
es/Resources.java
f7a6dfcafc1eaa8014b4fa796e4b31208f72fd36 18-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Pass Bitmap instead of ParcelFileDescriptor in UserManager" into jb-mr1-dev
e928d7d95dbb64627e6ff3a0572190c555b59d96 18-Sep-2012 Amith Yamasani <yamasani@google.com> Pass Bitmap instead of ParcelFileDescriptor in UserManager

Add a USER_INFO_CHANGED intent for lockscreen and quicksettings to use
to monitor changes to the user name or icon.

Bug: 7164040
Change-Id: Id6fb8b6d38ce04ccd02bbadcf0c10699783d6c03
ntent.java
c33f94e2a50c9b03cb771237e8672743da8b1314 18-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix API review bugs." into jb-mr1-dev
8832c18d8b63367929c2d394c9c508f56003d400 18-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix API review bugs.

7173152 API REVIEW: android.content.pm.PackageUserState
7172969 API REVIEW: android.app.PendingIntent
7172730 API REVIEW: android.content.Context
7172726 API REVIEW: android.manifest.permission

Change-Id: Iad470256d3b5ca5596487f6a699ec1871457c3b5
ontext.java
ntentSender.java
m/PackageManager.java
m/PackageUserState.java
16aa9736175f5bbe924a6e5587a2ca47c2dd702b 18-Sep-2012 Christopher Tate <ctate@google.com> Per-user content observer APIs

Callers with INTERACT_ACROSS_USERS_FULL permission can now observe content
for a given user's view (and can notify content uri changes targeted to a
specific user). An observer watching for UserHandle.USER_ALL will see all
notifications for the given uri across all users; similarly, a notifier
who specifies USER_ALL will broadcast the change to all observers across
all users.

The API handles both USER_ALL or USER_CURRENT, and explicitly forbids
any other "pseudouser" designations.

This CL also revs the Settings provider to notify with USER_ALL for
changes to global settings, and with only the affected user's handle
for all other changes.

Bug 7122169

Change-Id: I94248b11aa91d1beb0a36432e82fe5725bb1264f
ontentResolver.java
ontentService.java
ContentService.aidl
6d235d8265a45bbc56c058ca1a9eca4eff69636a 17-Sep-2012 Dianne Hackborn <hackbod@google.com> New uninstall option to uninstall for all users.

Change-Id: Ie8eb59564078069633a89fc8a92d4f8531baa1aa
ntent.java
2ca2c8787130506d350d997c18bbc274faf88e37 17-Sep-2012 Dianne Hackborn <hackbod@google.com> More adjustments to permissions.

- New "cost money" flag can be put on a permission to
have this emphasized in the UI.
- Some further re-organization of permissions to better
match UX spec.

Change-Id: I450ac739eff6b90e7c7fc39589d68db82b61f897
m/PackageParser.java
m/PermissionInfo.java
d65afc65ea5b2bf83889dd88a9c94f895da8aece 16-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "More multi-user stuff." into jb-mr1-dev
5dc5a00e7ebadc085ded7e29feacd17e53698486 16-Sep-2012 Dianne Hackborn <hackbod@google.com> More multi-user stuff.

- New public APIs to find out when a user goes to the foreground,
background, and is first initializing.
- New activity manager callback to be involved in the user switch
process, allowing other services to let it know when it is safe
to stop freezing the screen.
- Wallpaper service now implements this to handle its user switch,
telling the activity manager when it is done. (Currently this is
only handling the old wallpaper going away, we need a little more
work to correctly wait for the new wallpaper to get added.)
- Lock screen now implements the callback to do its user switch. It
also now locks itself when this happens, instead of relying on
some other entity making sure it is locked.
- Pre-boot broadcasts now go to all users.
- WallpaperManager now has an API to find out if a named wallpaper is
in use by any users.

Change-Id: I27877aef1d82126c0a1428c3d1861619ee5f8653
ntent.java
m/UserInfo.java
d0c6ccbafdebc73d03cf3cd47f02f9f6c78a69ff 15-Sep-2012 Jeff Sharkey <jsharkey@android.com> Move NetworkPolicy from apps to UID.

For multi-user devices, switch to storing policy per-user instead of
per-app. Also watch for user added/removed broadcasts to clean up
policies and apply global restrictions.

Bug: 7121279
Change-Id: Ia7326bd0ebe0586fa4ec6d3a62f6313dc8814007
ntent.java
13d428e8306d1bb1a3017045bc5d2f76edec32df 13-Sep-2012 rich cannings <richc@google.com> Send more information to verifiers

Send package name, version code and the uid of the application requesting the
install to package verifiers.

Bug: 7164155
Change-Id: I2464dc5d4551f60b4f38f7982495a8920c83e1cd
m/PackageManager.java
m/VerificationParams.java
7454d3b73cfd0d7ad58b0285102b09aad1e0150f 13-Sep-2012 Dianne Hackborn <hackbod@google.com> New permissions UI, again.

Change-Id: I0bbecd88ff1f212b30d1ef32d5bcaa49cdf1e9ce
m/PackageParser.java
m/PermissionGroupInfo.java
b049e212ab7fe8967893c202efcb30fecfdb82fb 08-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include user identifier in external storage paths.

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

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

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

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

Bug: 7131382
Change-Id: I6f8c6971f2a8edfb415c14cb4ed05ff97e587a21
m/UserInfo.java
151ec4c9f8ca34625733730a4551a23eb97cda23 08-Sep-2012 Amith Yamasani <yamasani@google.com> More multi-user methods in PM

pm can list installed packages by user now.

Bug: 6926465

Change-Id: I822311bfd6e7e2d6fb315fc484739fbf953c9bb6
m/IPackageManager.aidl
m/PackageManager.java
5e03e2ca7d25b899b129baad2dd5eca6bf99d88a 06-Sep-2012 Dianne Hackborn <hackbod@google.com> More multi-user stuff:

- New (hidden) isUserRunning() API.
- Maintain LRU list of visited users.
- New FLAG_IS_DATA_ONLY for ApplicationInfo.
- Clean up pending intent records when force-stopping a user (or package).
(Also fixes bug #6880627: PendingIntent.getService() returns stale
intent of force stopped app)
- Fix force-stopping when installing an app to do the force-stop across
all users for that app.
- When selecting which processes to kill during a force stop, do this
based on the actual packages loaded in the process, not just process
name matching.
- You can now use --user option in am when starting activities, services,
and instrumentation.
- The am --user option accepts "current" and "all" as arguments.
- The pm uninstall command now uninstalls for all users, so it matches
the semantics of the install command.
- PhoneWindowManager now explicitly says to start home in the current
user.
- Activity manager call to retrieve the MIME type from a content provider
now takes a user argument, so it will direct this to the proper user.
- The package manager uninstall paths are now implemented around
PackageSetting, not PackageParser.Package. This allows them to work
even if the application's apk has been removed (in which case it only
exists as a PackageSetting, not the PackageParser.Package parsed from
the apk).

Change-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40
ontentResolver.java
m/ApplicationInfo.java
m/InstrumentationInfo.java
6543c292b2d1cb3547f4565f89b7cb649ad955d6 07-Sep-2012 Romain Guy <romainguy@google.com> Merge "The drawables cache strikes again Bug #7117785" into jb-mr1-dev
5f49c3023a512efbef8bc9515d310c7a72be4af2 07-Sep-2012 Romain Guy <romainguy@google.com> The drawables cache strikes again
Bug #7117785

Draawables created from the ConstantState cache found in Resources must be
mutated before they can be safely modified by apps. Failure to do so results
in all drawables sharing the same constant state to be affected by the
modification.

In the case of the bugreport above, the status bar code plays tricks with
a background drawable and modifies its color to implement a fade in/out
effect. This drawable comes from a cached resource (color 0x0) and the
modifications made by the status bar apply to other clients of this drawable,
most notably the recents panel.

This change fixes several things:
- Simplifies colors caching by removing the assetCookie from the key. This
should result in better reuse of cached drawables
- Makes View.setBackgroundColor() honor the mutate() contract
- Ensure StateListDrawable properly mutates its children before modifying
them
- Optimize Bitmap/ColorDrawable to mark them mutated when they are not
created from an existing ConstantSate. The same optimization should be
applied to other drawables in the future

Change-Id: I54adb5d5b914c7d8930bf9b46f7e3f9dcbf4bcab
es/Resources.java
8a802dbdabdfd27692c2e38b2c3adafe95566106 05-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Use "ldrtl" and "ldltr" config qualifiers for RTL / LTR resources

- we cannot use "rtl" / "ltr" qualifiers as they can conflict with ISO-639 Alpha-3
codespace which uses 3 letters for identifying a language code (and could use either
"rtl" or "ltr" strings for defining a language in the future).

- we are using instead "ldrtl" for RTL and "ldltr" for LTR resources. Those qualifiers
are defined by more than 3 chars and outside of what is defined into ISO-639. They
are also more understandable as "ld" prefix is for "layoutdirection"

Change-Id: Id43e948103707e09bef63ebd54ac1779dde58e72
es/Configuration.java
f389f2820c731b2b938a7057cde9dc11d87bcbe3 05-Sep-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 7749a1c5 to jb-mr1-dev

Change-Id: If30a6a4ded996749b34f6a975481a97006cbcf97
b4ac801c477c0a0de18da89744d9a78e79d2ff51 05-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am 1ca2fee9: Merge "Make default value of auto-sync in SyncStorageEngine configurable"

* commit '1ca2fee9547dbdd7008211ac318b1f8f40ce1e35':
Make default value of auto-sync in SyncStorageEngine configurable
035ce2ca92742894f7f906c93d7d217c647aa19a 05-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for "-rtl" in resources" into jb-mr1-dev
20e809870d8ac1e5b848f2daf51b2272ef89bdfc 01-Sep-2012 Dianne Hackborn <hackbod@google.com> Add registering for explicit users.

New API to register as an explicit user, which allows you to
also select ALL to see broadcasts for all users.

New BroadcastReceiver API to find out which user the broadcast
was sent to.

Use this in app widget service to handle per-user package broadcasts
and boot completed broadcasts correctly.

Change-Id: Ibbe28993bd4aa93900c79e412026c27863019eb8
roadcastReceiver.java
ontext.java
ontextWrapper.java
IntentReceiver.aidl
ntentSender.java
2b5d0ea5e90bd5b9a1b3afdd230e8907315e65e2 11-Jan-2011 Yameng Huang <yameng.huang@sonyericsson.com> Make default value of auto-sync in SyncStorageEngine configurable

This will make the default value of the automatic synchronization
in the SyncStorageEngine configurable with overlays for use by
vendors who want or have legal requirements to have the synchronization
off by default.

Change-Id: Iabdb355c4a1169fe8e254e91c43e162c5913d5e0
yncStorageEngine.java
2701f325a6d4acd920637d2ff6fd6972a9cf836b 01-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Remove Binder.getOrigCallingUid()." into jb-mr1-dev
a492c3a7b2c18426fd0cb4d017eacbc368195dc5 24-Aug-2012 Jeff Brown <jeffbrown@google.com> Initial draft of high-level multi-display APIs.

This patch introduces the ability to create a Context that
is bound to a Display. The context gets its configuration and
metrics from that display and is able to provide a WindowManager
that is bound to the display.

To make it easier to use, we also add a new kind of Dialog
called a Presentation. Presentation takes care of setting
up the context as needed and watches for significant changes
in the display configuration. If the display is removed,
then the presentation simply dismisses itself.

Change-Id: Idc54b4ec84b1ff91505cfb78910cf8cd09696d7d
ontext.java
ontextWrapper.java
4120375d46091df8527bb701882e056fbb0e6b06 31-Aug-2012 Dianne Hackborn <hackbod@google.com> Remove Binder.getOrigCallingUid().

Replaced all remaining places that used it with explicit user
specification.

While doing this, I ran into stuff that was creating PendingIntent
objects (that now need to specify the explicit user they are for),
which are also posting notifications... but have no way to specify
the user for the notification.

So the notification manager in the system process now also gets a
formal concept of a user associated with the notification, which
is passed in to all the necessary aidl calls. I also removed the
old deprecated aidl interface for posting/cancelling notifications,
since we now always need a user supplied.

There is more work that needs to be done here, though. For example
I think we need to be able to specify USER_ALL for a notification that
should be shown to all users (such as low storage or low battery).
Along with that, the PendingIntent creation needs to be tweaked to
be able to handle USER_CURRENT by evaluating the user at the point the
pending intent is sent.

That's for another change, however.

Change-Id: I468e14dce8def0e13e0870571e7c31ed32b6310c
yncManager.java
a2875f481bc40fb5c7e5ae2d475dfb6d557294c0 31-Aug-2012 rich cannings <richc@google.com> Merge "Notify verifiers that verification is complete" into jb-mr1-dev
f203aeef993b0f4ce65c9630d06bbd50a504e89f 30-Aug-2012 Amith Yamasani <yamasani@google.com> Enforce permissions for calls with specified userId

Fix a couple of places where incorrect userIds were being passed in.

Change-Id: I398c676e0488ff7e584be96e96c8b32652134238
m/PackageManager.java
d1b5cfc94ae940f42be352e7ed98c21c973471b2 29-Aug-2012 rich cannings <richc@google.com> Notify verifiers that verification is complete

Send the Intent.ACTION_PACKAGE_VERIFIED to all verifiers when
verification is complete (either one verifier verified the package or a
timeout occurred). Details of what occurred is in a new extra,
PackageManager.EXTRA_VERIFICATION_RESULT.

Bug: 7048930
Change-Id: I4f9855a29b0eb6d77f469891402c69e2e8922945
ntent.java
m/PackageManager.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
ontext.java
ontextWrapper.java
80a4af2bbc6af42ae605e454bf89558e564f5244 28-Aug-2012 Dianne Hackborn <hackbod@google.com> Start implementing concept of "running" users.

The activity manager now keeps track of which users are running.

Initially, only user 0 is running.

When you switch to another user, that user is started so it is
running. It is only at this point that BOOT_COMPLETED is sent
for that user and it is allowed to execute anything.

You can stop any user except user 0, which brings it back to the
same state as when you first boot the device. This is also used
to be able to more cleaning delete a user, by first stopping it
before removing its data.

There is a new broadcast ACTION_USER_STOPPED sent when a user is
stopped; system services need to handle this like they currently
handle ACTION_PACKAGE_RESTARTED when individual packages are
restarted.

Change-Id: I89adbd7cbaf4a0bb72ea201385f93477f40a4119
ntent.java
7e67151b912622f8a279ab1523a9bcf26ebaff3d 27-Aug-2012 rich cannings <richc@google.com> Add permission checks for Verification API calls

Ensure that only applications with
android.Manifest.permission.PACKAGE_VERIFICATION_AGENT can call application
verification APIs, like PackageManager.verifyPendingInstall and
PackageManager.extendVerificationTimeout

Bug: 7049083
Change-Id: I5fc28b37e864d67cd319a1ed9d03a90dd15ad052
m/PackageManager.java
4428e17c5e05c0dad76da8f1c28ccba62a66cd91 25-Aug-2012 Dianne Hackborn <hackbod@google.com> Some clean up of app install and user management.

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

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

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

Change-Id: Ife69b6e373d0cf7c5cfc03fc588e36b43ad5d8b0
m/RegisteredServicesCache.java
7767eac3232ba2fb9828766813cdb481d6a97584 24-Aug-2012 Dianne Hackborn <hackbod@google.com> Keep track of whether an app is installed for each user.

This add a new per-user state for an app, indicating whether
it is installed for that user.

All system apps are always installed for all users (we still
use disable to "uninstall" them).

Now when you call into the package manager to install an app,
it will only install the app for that user unless you supply
a flag saying to install for all users. Only being installed
for the user is just the normal install state, but all other
users have marked in their state for that app that it is not
installed.

When you call the package manager APIs for information about
apps, uninstalled apps are treated as really being not visible
(somewhat more-so than disabled apps), unless you use the
GET_UNINSTALLED_PACKAGES flag.

If another user calls to install an app that is already installed,
just not for them, then the normal install process takes place
but in addition that user's installed state is toggled on.

The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED,
PACKAGE_REPLACED etc broadcasts to users who don't have a package
installed or not being involved in a change in the install state.
There are a few things that are not quite right with this -- for
example if you go through a full install (with a new apk) of an
app for one user who doesn't have it already installed, you will
still get the PACKAGED_REPLACED messages even though this is
technically the first install for your user. I'm not sure how
much of an issue this is.

When you call the existing API to uninstall an app, this toggles
the installed state of the app for that user to be off. Only if
that is the last user user that has the app uinstalled will it
actually be removed from the device. Again there is a new flag
you can pass in to force the app to be uninstalled for all users.

Also fixed issues with cleaning external storage of apps, which
was not dealing with multiple users. We now keep track of cleaning
each user for each package.

Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/ManifestDigest.java
m/PackageCleanItem.aidl
m/PackageCleanItem.java
m/PackageInfoLite.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
d9ef3e5495db1c46bcfcc1a2d4386af8db6deb0c 22-Aug-2012 rich cannings <richc@google.com> Allow verifiers to extend timeout

Create a new verifier API to extend the timeout for a giving package,
including the resulting action (allow or deny) upon the timeout occuring.

Bug: 6901038
Change-Id: I351f7944327f863aff1d7dd1227be74652fa1511
m/IPackageManager.aidl
m/PackageManager.java
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
m/ActivityInfo.java
es/Configuration.java
es/Resources.java
0c3804950236fe170ebf6cc7a5f1e3e305b8f315 21-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user app management.

Introduce API to get per-user storage information, keep track
of services associated with users, and various small cleanup.

Change-Id: I5d4e784e7ff3cccfed627d66a090d2f464202634
m/IPackageManager.aidl
m/PackageManager.java
m/PackageStats.java
706e8ba26bf0de19ad5f736516dae40c4c88c2d7 20-Aug-2012 rich cannings <richc@google.com> Pass URLs to package verifiers

This change passes the originating URL and accompanied referrer to
package verifiers, when available.

Bug: 6544677
Change-Id: I9ebc71bc13f549bd88267e444816151a99bda000
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
m/VerificationParams.aidl
m/VerificationParams.java
98365d7663cbd82979a5700faf0050220b01084d 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Refactor for multi-display support.

Split WindowManagerImpl into two parts, the WindowManager
interface implementation remains where it is but the global
communications with the window manager are now handled by
the WindowManagerGlobal class. This change greatly simplifies
the challenge of having separate WindowManager instances
for each Context.

Removed WindowManagerImpl.getDefault(). This represents the
bulk of this change. Most of the usages of this method were
either to perform global functions (now handled by WindowManagerGlobal)
or to obtain the default display (now handled by DisplayManager).

Explicitly associate each new window with a display and make
the Display object available to the View hierarchy.

Add stubs for some new display manager API features.

Start to split apart the concepts of display id and layer stack.
since they operate at different layers of abstraction.
While it's true that each logical display uniquely corresponds to a
surface flinger layer stack, it is not necessarily the case that
they must use the same ids. Added Display.getLayerStack()
and started using it in places where it was relatively easy to do.

Change-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61
ontext.java
ontextWrapper.java
5c6912c6f697e34d79447b0cd794a6d9edea72ab 18-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix permission check on ContentProvider to be multi-user aware." into jb-mr1-dev
0d8af78b748d0279756c1ea8ae1659f6c2c802bb 18-Aug-2012 Dianne Hackborn <hackbod@google.com> Fix permission check on ContentProvider to be multi-user aware.

Change-Id: I1e504fe6561caef99d478e37660e2294fec7ea8b
ontentProvider.java
7fdaa3976d6082bd7e96329240bda478c08b751e 18-Aug-2012 Amith Yamasani <yamasani@google.com> Merge "Save preferred activity info with user id." into jb-mr1-dev
a3f133afe885f9e005dfc0584cb7b3b90f75f665 10-Aug-2012 Amith Yamasani <yamasani@google.com> Save preferred activity info with user id.

So each user can have their own set of intent resolution preferences.

ResolverActivity now launches the activity on the correct user, and
persists the preference for the correct user.

Bug: 6961905
Change-Id: I6d3a8a9af89bc649277d4fc8d0f367ee123f8392
m/IPackageManager.aidl
m/PackageManager.java
79af1dd54c16cde063152922b42c96d72ae9eca8 17-Aug-2012 Dianne Hackborn <hackbod@google.com> Switch public APIs to use new UserHandle class for identifying users.

Gets rid of "yet another integer" confusion.

Change-Id: Id07ea7307aea7c62f0087c6663a1f1c08e2e5dee
ontext.java
ontextWrapper.java
ntentSender.java
2a00329c6d55c6cd9166e01963d7410e95d80d21 15-Aug-2012 Amith Yamasani <yamasani@google.com> UserHandle to UserSerialNo mapping

Use AtomicFile for usermanager files.

Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.

Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
ntent.java
yncManager.java
m/UserInfo.java
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 16-Aug-2012 Dianne Hackborn <hackbod@google.com> Rename UserId to UserHandle.

This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
ontentProvider.java
ontentService.java
ntentSender.java
yncManager.java
m/PackageParser.java
abac0cd16105c60fdd6c5ce37116c972dc7431bb 15-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "Add PendingIntent and IntentSender APIs to get user handle." into jb-mr1-dev
c7501279ee36a80fc8dc98d8eb3e6393a2217909 15-Aug-2012 Dianne Hackborn <hackbod@google.com> Add PendingIntent and IntentSender APIs to get user handle.

Also uid.

Change-Id: I0a328d0cc2bbc17dc0a49b7b8b8d515af80f1e15
ntentSender.java
34743ac7d688a7ecf4daec84078fc7ec74a6dac9 15-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "Add API to create new contexts with custom configurations." into jb-mr1-dev
756220bd1912535840388a6743830d2e59ad4964 15-Aug-2012 Dianne Hackborn <hackbod@google.com> Add API to create new contexts with custom configurations.

This allows you to, say, make a Context whose configuration
is set to a different density than the actual density of the device.

The main API is Context.createConfigurationContext(). There is
also a new API on ContextThemeWrapper that allows you to apply
an override context before its resources are retrieved, which
addresses some feature requests from developers to be able to
customize the context their app is running in.

Change-Id: I88364986660088521e24b567e2fda22fb7042819
ontext.java
ontextWrapper.java
es/Configuration.java
es/Resources.java
a5d1dc9d0322d2c7b7d7f13816fd551a7042c2a3 14-Aug-2012 Scott Main <smain@google.com> am bd63fb87: am 6958c161: Merge "docs: misc bug fixes from external issues" into jb-dev

* commit 'bd63fb875c49d69d5969df35ae159bd17cadb730':
docs: misc bug fixes from external issues
183bf116978e3c44292c9ead2bceb47e972624a1 14-Aug-2012 Scott Main <smain@google.com> docs: misc bug fixes from external issues

Change-Id: I380b65341200c0519a93e2f8969f70f64aec0264
es/Resources.java
es/TypedArray.java
258848d2ae04f447ff1c18023fa76b139fcc0862 11-Aug-2012 Amith Yamasani <yamasani@google.com> User Manager service to manage users and query user details

Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
ontext.java
ontextWrapper.java
yncManager.java
m/IPackageManager.aidl
m/PackageManager.java
m/UserInfo.java
5a28605155e51cdbd58737a8b7c47b337c5539bb 09-Aug-2012 Nick Kralevich <nnk@google.com> Merge "PackageParser: remove temporary code." into jb-mr1-dev
8264408f5995534f8e3147b001664ea0df52aaa5 03-Aug-2012 Amith Yamasani <yamasani@google.com> Start the correct settings from the status bar.

Added a new method to Context: startActivityAsUser() requiring the
INTERACT_ACROSS_USERS_FULL permission.

Show the correct Recents list, based on current user.
Added a getRecentTasksForUser() in ActivityManager. Hidden and requires
the INTERACT_ACROSS_USERS_FULL permission.

Change-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c
ontext.java
ontextWrapper.java
a30a4806aca7f36fb416f485b332060b03a16c0b 09-Aug-2012 Nick Kralevich <nnk@google.com> PackageParser: remove temporary code.

This code isn't needed and wasn't doing what I thought
it was doing.

Bug: 3306452
Change-Id: Ifeab672e379fd331a6f0ef1504eebb29aa6b4466
m/PackageParser.java
a56d9cecee8a34e0554770ac6253dd3a76b9199c 08-Aug-2012 Rich Cannings <richc@google.com> Merge "Revert "Pass URLs to package verifiers"" into jb-mr1-dev
e1d7c711df3e3a2d2f195457882aa4ddb5626167 08-Aug-2012 Rich Cannings <richc@google.com> Revert "Pass URLs to package verifiers"

This reverts commit 24713907fe4632d263aea82f7a35c8fb08918a09

Change-Id: Ie04ba73475b813635c4a74915c45e83250801b6b
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
9d16c219f1ca0836a832e25a61fcaf9c1d0dd67b 08-Aug-2012 Nick Kralevich <nnk@google.com> Merge "Content Providers: change default for android:exported" into jb-mr1-dev
7d19e0242faac8017033dabb872cdf1542fa184c 08-Aug-2012 Dianne Hackborn <hackbod@google.com> More mult-user API work.

- You can now use android:singleUser with receivers and providers.
- New API to send ordered broadcasts as a user.
- New Process.myUserHandle() API.

For now I am trying out "user handle" as the name for the numbers
representing users.

Change-Id: I754c713ab172494bb4251bc7a37a17324a2e235e
ontentProviderClient.java
ontext.java
ontextWrapper.java
m/ActivityInfo.java
m/PackageParser.java
m/ProviderInfo.java
m/ServiceInfo.java
f097b16cfddce2dbb097b929458fe9b0a402963e 28-Jul-2012 Nick Kralevich <nnk@google.com> Content Providers: change default for android:exported

Change the default value of android:exported to true
for applications which target a newer API version.
This will help stop inadvertent content provider
exposure to untrusted apps.

Bug: 3306452

Change-Id: I8cb34e823aef9551319951ce92217345c54cee63
m/PackageParser.java
dde331cebd87982faded6818ad5f9927ff994c96 03-Aug-2012 Dianne Hackborn <hackbod@google.com> We can now (kind-of) change screen density on the fly.

Preloaded drawables now have a density associated with them, so we
can load the correct drawable if we are using a different density.

Window manager now formally keeps track of the density for each
screen, allowing it to be overridden like you can already do with
size, and relies on this density to drive itself internally and
the configurations it reports.

There are a new set of Bitmap constructors where you provide a
DisplayMetrics so they can be constructed with the correct density.
(This will be for when you can have different windows in the same
app running at different densities.)

ActivityThread now watches for density changes, and pushes them
to the DENSITY_DEVICE and Bitmap global density values for that
process.

A new am command allows you to change the density.
es/Resources.java
329465c6b2407ee086a171cac1a3581f83dbb048 03-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "Add APIs for interacting across users." into jb-mr1-dev
b4163a6e12ee7100c758c6d3d062ade1f2843fce 03-Aug-2012 Dianne Hackborn <hackbod@google.com> Add APIs for interacting across users.

- Expose the existing Context.sendBroadcast() as
Context.sendBroadcastAsUser().
- Add new android:singleUser attribute for services.
- Add new INTERACT_ACROSS_USERS_FULL permission for full
system-level access to cross-user interface (allows
sendBroadcastAsUser() to send to any receiver).
- Add new INTERACT_ACROSS_USERS_FULL permission for
more restricted cross-user interaction: this is required
for android:singleUser, and allows you to use
sendBroadcastAsUser() but only to send to your own
receivers.

Change-Id: I0de88f6718e9505f4de72e3f45d29c0f503b76e9
ontext.java
ontextWrapper.java
m/PackageParser.java
m/ServiceInfo.java
24713907fe4632d263aea82f7a35c8fb08918a09 26-Jul-2012 rich cannings <richc@google.com> Pass URLs to package verifiers

This change passes the originating URL and accompanied referrer to
package verifiers, when available.

Bug: 6544677
Change-Id: If9ff6663ad7f3426b7aea2aceb1413b689788138
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
908aecc3a63c5520d5b11da14a9383f885b7d126 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Start moving away from DisplayMetrics.DENSITY_DEVICE.

This puts in most of the infrastructure needed to allow us to
switch between different densities at run time. The main remaining
uses of the global are to initialize the Bitmap object (not sure
what to do about that since it doesn't have anything passed in
the constructor to get this information from), and being able to
load drawables if we need a different density than what was preloaded
by zygote.

Change-Id: Ifdbfd6b7a5c59e6aa22e63b95b78d96af3d96848
m/ActivityInfo.java
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
40e5df95ff9468cec0624ca7fb14e51c13e4b047 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "Make AtomicFile a public API. It's about time!" into jb-mr1-dev
39606a007a5b1309dd000234f2b8cf156c49fd0f 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Make AtomicFile a public API. It's about time!

Change-Id: Ib34e294747405b7ab709cb0bbb2d9a0cc80ce86a
yncStorageEngine.java
m/RegisteredServicesCache.java
e23ae144cc1b6487a7c0e7a33d3016431c81850c 31-Jul-2012 Kenny Root <kroot@google.com> am fa74f7e0: am bba948dc: Merge "Delay AccountManagerService initialization" into jb-dev

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

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

Bug: 6820670
Change-Id: Iba81765260421649f706624d0605a40ebc1347b1
ontentService.java
m/RegisteredServicesCache.java
c92db391379cc19738de8bb5008ed619cb049ebe 27-Jul-2012 Nick Kralevich <nnk@google.com> ClipData: html attribute values should always be escaped

Failure to properly escape HTML attribute values can lead to
XSS attacks. Technically, HTML of the form

<a href="http://www.google.com/search?x=a&y=b">blah</a>

is malformed (but widely accepted). Such links should be written as

<a href="http://www.google.com/search?x=a&amp;y=b">blah</a>

See: http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2

Change-Id: I188ded00b4cac44acb38884d4728c4cf9500f3b6
lipData.java
440f32bbd48272095a5482abc87b8769ebd515b6 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am ddd88726: am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit 'ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4':
Fix several cases of broken droiddoc syntax external issue 35214
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 24-Jul-2012 Jeff Brown <jeffbrown@google.com> Add display manager skeleton.

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

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

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
ontext.java
ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
Fix several cases of broken droiddoc syntax external issue 35214
a45746efadd11bb7dfab026fb3c81a25fae74ca4 19-Jul-2012 Jeff Smith <whydoubt@yahoo.com> Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
roadcastReceiver.java
m/PackageManager.java
1abb1cb3a8fe17f7866150604c2fd73751da787e 26-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Changes to Bluetooth Service structure.

Changes to make Bluetooth Service part of the system_service.
These changes may be temporary.

Changes to update to the new disable API.

Change-Id: If89dba17e6e6c6daa53c37684221763a2da076e9

Conflicts:

services/java/com/android/server/pm/PackageManagerService.java
ontext.java
de6082551da1651e7c8c0d91de908710b6c11113 27-Jun-2012 Scott Main <smain@google.com> am 882c97b5: am cdb3f9c4: Merge "docs: add api overview for jb" into jb-dev

* commit '882c97b59a8ef89ff8efa9064829f8014b9a7638':
docs: add api overview for jb
cdb3f9c45b97a64380f044c6b8c1863c1ba58b6a 27-Jun-2012 Scott Main <smain@google.com> Merge "docs: add api overview for jb" into jb-dev
60dd520d37a6d3163747eb9a4266d0a08b207c98 23-Jun-2012 Scott Main <smain@google.com> docs: add api overview for jb

Change-Id: Ibb916138026bb13bb424c826fe8faa563c71bf94
ontext.java
e6c2d62efb65fa7b4681d29ad0710df56bf9002b 26-Jun-2012 Dianne Hackborn <hackbod@google.com> am 9906e784: am 17990395: Merge "Fix issue #6717667: expanded notification actions don\'t work on the lock screen" into jb-dev

* commit '9906e784faca2cc8388a04fdc544722ea93d51be':
Fix issue #6717667: expanded notification actions don't work on the lock screen
1927ae8a56a010919a7535231fa0f7db70f7e152 23-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6717667: expanded notification actions don't work on the lock screen

FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS was a mistake.

Instead, and the infrastructure for the status bar to take care
of closing and hiding things itself when you press these buttons,
just like it does for the main Intent of the notification.

Bug: 6717667
Change-Id: I1b22186e0cedc05f46a1a3ec78053a72afaf61b1
ntent.java
adba6ffbb949e3644f0effdaffee349b0b49688a 22-Jun-2012 Scott Main <smain@google.com> am 101a120c: am 9be0105f: docs: fix several links

* commit '101a120c27f68fb7d44e6221244cb9441dfc4285':
docs: fix several links
9be0105fbc56eb1b1813bb7c5fe258a144867a43 22-Jun-2012 Scott Main <smain@google.com> docs: fix several links

Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
es/package.html
6009dc014f8fa0aefc68e7265761960c5433d108 20-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am b92d2a13: am 18ddb6ce: Merge "Remote volume handling in MediaRouter" into jb-dev

* commit 'b92d2a13c4ab34862968f47191d2713de3701757':
Remote volume handling in MediaRouter
1357012968f9066ea3051d83995e9bac69526c3c 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling in MediaRouter

Extend MediaRouter.UserRouteInfo to enable setting playback
information, which includes volume. When the user route instance
has a RemoteControlClient, forward any playback information to it.
Enable specifying a callback to be notified of volume events
on the route.
Extend MediaRouter.RouteInfo to enable retrieving playback
information.

Update RemoteControlClient javadoc to reflect which parts of the
API are not intended to be made public.

Change-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3
ntent.java
629f051f7d061f4db4a174dbd267a96f0c8113df 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 586b8ee6: am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c':
Remote volume handling
2f4423043ffeaf232ec984be03743326f08cdc8a 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Remote volume handling" into jb-dev
3114ce3861f20f9a5c2c59dd2629197a1f4874a8 12-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling

Extend RemoteControlClient class to enable an applicaton to
specify more information about how it's playing media, now covering
usecases where media playback happens "remotely". This playback
information can be used to set the volume and maximum volume
used remotely.
Declare a new intent and associated extras in Intent,
ACTION_VOLUME_UPDATE, so an application can be notified that
the volume it handles should be updated. It can then use
the new RemoteControlClient.setPlaybackInformation() method
to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
with the RemoteControlClient information in the stack of
media button event receivers (mRCStack). The information
about the active remote is cached so the stack doesn't have
to be iterated over in order to retrieve remote playback info.
Events to "adjust" the remote volume based on hardware key
presses cause the client application to be notified of
volume updates, and the volume panel to display the volume
set by the app.
Revise which stream type is controlled when none is specified
according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
remote playback volume, and uses the new "media route" icon.
Enable it to receive asynchronously new volume values for
the remote that will be displayed if the UI is still up,
and ignored otherwise.
Now supports hiding/showing sliders dynamically so remote
volume only appears when AudioService has a remote control
client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
volume when music is active, consider also remote playback.

Still to do:
- playback information set by RemoteControlClient should post
a message for AudioService to update playback information
instead of updating it synchronously

Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967
ntent.java
4d2bef3f850e75744ade93f95615c7cb4a7fefa0 19-Jun-2012 Nicolas Falliere <nicof@google.com> am 277c09f6: am 56bb344c: Merge "Added or fixed doctrings for required permissions." into jb-dev

* commit '277c09f6c16c4adfd50407e2fa4dbf61a0e06e55':
Added or fixed doctrings for required permissions.
9530e3a22d5ffa2019d1a5177b6a441d4d6d048b 19-Jun-2012 Nicolas Falliere <nicof@google.com> Added or fixed doctrings for required permissions.

Bug: 6591338
Change-Id: Ia2092f9994854701b5fa1425c371817367ae07ec
ontentResolver.java
ontext.java
f8fd7ef97895524a0ce5735e19654549cb295cda 19-Jun-2012 Christopher Tate <ctate@google.com> Merge "Fail immediately if bindService() is passed a null ServiceConnection"
79b3317b775810bac088b0998c48eb6506e2578c 18-Jun-2012 Christopher Tate <ctate@google.com> Fail immediately if bindService() is passed a null ServiceConnection

Or if unbindService() is passed one, naturally.

Change-Id: Ib7f1f0b5e12c04e3affbcc9008612801081819d5
ontext.java
554259fe02afba852c9999e827b3c086e92637bd 13-Jun-2012 Jeff Sharkey <jsharkey@android.com> am 9eabf916: am f6f7f1d2: Low disk space string change, surface state.

* commit '9eabf916dc5d53bc6c765d39cca0847993e73dcf':
Low disk space string change, surface state.
b8151ecd6ef4faa5c16d0a4c3abb45ec84d1f97a 19-Apr-2012 Amith Yamasani <yamasani@google.com> Add an icon to the user information.

Store the icon in the user folder under /data/system,
similar to how the wallpaper is stored.

Change-Id: Id8ccb55b9e2ba7b4c557505a7f69f04eca1518cf
m/IPackageManager.aidl
m/PackageManager.java
m/UserInfo.java
f6f7f1d2dc6e8fad5d6ff9a56af9929488873b4f 13-Jun-2012 Jeff Sharkey <jsharkey@android.com> Low disk space string change, surface state.

Surface current low disk state through IPackageManager for use in
Settings app.

Bug: 6576409
Change-Id: I9ae9ce99a2faa3015a237036c03567d1ae11628f
m/IPackageManager.aidl
d4a0c49ffa5fb6d2a44e7727c54fdfc5a8ed4d1a 12-Jun-2012 Dianne Hackborn <hackbod@google.com> am 007f2b40: am f9d80b6b: Merge "Rework media router to be per-context with global process state." into jb-dev

* commit '007f2b40f952eab8951c6b22302a59a955a20561':
Rework media router to be per-context with global process state.
b1add0b8f251e237297ff7bad6a1107ef7d760f2 12-Jun-2012 Dianne Hackborn <hackbod@google.com> am 6892f1ec: am 0f6471ac: Merge "Fix issue #6641368: can\'t launch gallery" into jb-dev

* commit '6892f1ec9670432f1cab71813592077bea991a8b':
Fix issue #6641368: can't launch gallery
b58b8f832d06b0ffa8886eba5a4916578a3b8743 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Rework media router to be per-context with global process state.

Change-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f
ontext.java
2bd8d0403be62df679f0f94ab4d84c9ae9a2e918 11-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6641368: can't launch gallery

This is a revert of 1db36528b12395b9ed9bf8a1005a6d4ace737627,
but with comments added so I don't make this mistake again. :)

Change-Id: I053216279e3721f08f32f561bb989736ef619f82
m/PackageParser.java
c7e2d4a57bca3c9b2fe005041314c9cbc6f843b2 08-Jun-2012 Dianne Hackborn <hackbod@google.com> am 33e39aef: am 0876ab0a: Merge "Fix issue #6295373: "Package com.google.android.apps.authenticator2 has..." into jb-dev

* commit '33e39aefdf9266dc4858f7a6171f46f43ffa3ec3':
Fix issue #6295373: "Package com.google.android.apps.authenticator2 has...
3191329819fcf8e81b773c4d375273ab4537e811 08-Jun-2012 rich cannings <richc@google.com> Merge "Add Intent extras to pass to package verifiers"
0876ab0ac17518c479e9dffe025884870a586d9c 08-Jun-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6295373: "Package com.google.android.apps.authenticator2 has..." into jb-dev
b313a9990f378a7dd136de2718ae25e442b85ecb 08-Jun-2012 Kenny Root <kroot@google.com> am f5490997: am af95137a: Merge "Whoops, this version number wasn\'t updated when JB was introduced!" into jb-dev

* commit 'f549099705d0e55410072db89926f1cb95a3e7b5':
Whoops, this version number wasn't updated when JB was introduced!
1db36528b12395b9ed9bf8a1005a6d4ace737627 08-Jun-2012 Dianne Hackborn <hackbod@google.com> Whoops, this version number wasn't updated when JB was introduced!

Change-Id: I9c9cd658cc1cba99b84059c8873c22b21b9f3c19
m/PackageParser.java
d0c5f515c05d05c9d24971695337daf9d6ce409c 08-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6295373: "Package com.google.android.apps.authenticator2 has...

...mismatched uid: X on disk, Y in settings" errors on Froyo and Gingerbread

Deal more gracefully with the uid changing in three ways:

1. If the uid on disk has become root, then have installd change it to
the application's uid. This is to correct a potential case where
installd was interrupted while linking or unlinking the libs dir,
during which it temporarily changes the owner of the dir to root
so that a malicious app can not get in its way. So if the uid on
disk has become root, we assume we can safely just change it back
to the correct uid.

2. When scaning packages at boot, use the same "delete and rebuild data
directory" code for third party applications as we have for system
applications. This allows us to at least end up in a state where the
app will run, even if its data is lost.

3. But we really don't want to get in to case 2, so if an application
update is being installed and we find that the uid we now have for
the app is different than the one on disk, fail the update. This will
protect against for example a developer changing the sharedUserId of
their app and getting into this bad state.

Bug: 6295373
Change-Id: Ic802fdd818ac62449ff3c61d1fff1aa4d4942f39
m/PackageManager.java
368ed010ee0d86742fab46edaef8b205bb8ab262 08-Jun-2012 rich cannings <richc@google.com> Add Intent extras to pass to package verifiers

Adding extras to identify the:

- URL from which the APK originated

- the HTTP referrer associate with the URL

Bug: 6544677
Change-Id: Ie3d2244d9befa7161eeceb458573d6b0f8206cc7
ntent.java
cbc5e0aae45374ec92574b1cab9b31e494ce10e7 02-Jun-2012 Dianne Hackborn <hackbod@google.com> am 3522225d: am ea01e4a2: Merge "Survey says: NIET!" into jb-dev

* commit '3522225dba19e77defaf56f0e70c0382c2cbb0a2':
Survey says: NIET!
4034bc431df8903072bca513a81ecdcf858c718b 01-Jun-2012 Dianne Hackborn <hackbod@google.com> Survey says: NIET!

Bug: 6593206
Change-Id: I5390609a5615d6aff1793a9bc361012a0cea330b
m/PackageParser.java
m/PermissionGroupInfo.java
0597161ee43cfaa7dbe14691a134fb358a00317a 31-May-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug 6050753."
327bc6bb5037dbd0eb05bdb4b0897196bd154366 31-May-2012 Kenny Root <kroot@google.com> am 65519b8b: am 03e93e51: Merge "Move package-wide flags out of parseApplication" into jb-dev

* commit '65519b8bb94321889eb3e34c76428f6dd9e0bd84':
Move package-wide flags out of parseApplication
7cb9be26c1f16de738178e89e4cf9ec8a35e7d41 31-May-2012 Kenny Root <kroot@google.com> Move package-wide flags out of parseApplication

Being on SD card and being forward-locked are package-wide flags that
shouldn't depend on an APK having an <application> stanza.

Bug: 6563724
Change-Id: If5f2159cd8e3fa136f959b656d82b05ea6bdfae5
m/PackageParser.java
ce783749b191a58e4fed9a397066376915c1db65 30-May-2012 Dianne Hackborn <hackbod@google.com> am f3b4c93e: am ae5811c7: Merge "Fix (mostly) issue #5109947: Race condition between retrieving a..." into jb-dev

* commit 'f3b4c93e0da9af2db9e16864faa734cf70fecfe3':
Fix (mostly) issue #5109947: Race condition between retrieving a...
6ae8d1821822296df0606c9cd1c46708cc21cb58 23-May-2012 Dianne Hackborn <hackbod@google.com> Fix (mostly) issue #5109947: Race condition between retrieving a...

...content provider and updating its oom adj

This introduces the concept of an "unstable" reference on a content
provider. When holding such a reference (and no normal stable ref),
the content provider dying will not cause the client process to be
killed.

This is used in ContentResolver.query(), .openAssetFileDescriptor(),
and .openTypedAssetFileDescriptor() to first access the provider
with an unstable reference, and if at the point of calling into the
provider we find it is dead then acquiring a new stable reference
and doing the operation again. Thus if the provider process dies
at any point until we get the result back, our own process will not
be killed and we can safely retry the operation.

Arguably there is still the potential for a race -- if somehow the
provider is killed way late by the OOM killer after the query or
open has returned -- but this should now be *extremely* unlikely.
We also continue to have the issue with the other calls, but these
are much less critical, and the same model can't be used there (we
wouldn't want to execute two insert operations for example).

The implementation of this required some significant changes to the
underlying plumbing of content providers, now keeping track of the
two different reference counts, and managing them appropriately. To
facilitate this, the activity manager now has a formal connection
object for a client reference on a content provider, which hands to
the application when opening the provider.

These changes have allowed a lot of the code to be cleaned up and
subtle issues closed. For example, when a process is crashing, we
now have a much better idea of the state of content provider clients
(olding a stable ref, unstable ref, or waiting for it to launch), so
that we can correctly handle each of these.

The client side code is also a fair amount cleaner, though in the
future there is more than should be done. In particular, the two
ProviderClientRecord and ProviderRefCount classes should be combined
into one, part of which is exposed to the ContentResolver internal
API as a reference on a content provider with methods for updating
reference counts and such. Some day we'll do that.

Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
ontentProviderClient.java
ontentResolver.java
bd8e6f9d1ca0c22fe83517095ecee94680791e9b 21-May-2012 Dianne Hackborn <hackbod@google.com> am c5fe4737: am fb5c3dba: Fix issue #6440173: MenuItem.setIcon(Drawable) scaling incorrectly...

* commit 'c5fe47376c905e946eafbabdb78db4c128d3d71b':
Fix issue #6440173: MenuItem.setIcon(Drawable) scaling incorrectly...
dc7643d84c085748d099953badd4368338e63a6f 21-May-2012 Jeff Sharkey <jsharkey@android.com> am 40bd46ae: am 9cb660fa: Merge "Guard against apps breaking CHOOSER contract." into jb-dev

* commit '40bd46aefde45a216ff73f8c40497a50eccdb1e0':
Guard against apps breaking CHOOSER contract.
bad4c4bf71c4d5c3077ff8f5020b09a736a86d9b 21-May-2012 Dianne Hackborn <hackbod@google.com> am ccf4e2f7: am abe39277: Merge "Fix issue #6515427: Add android.hardware.television and fix..." into jb-dev

* commit 'ccf4e2f71b65ace6d55c1e8513dd60b1123805da':
Fix issue #6515427: Add android.hardware.television and fix...
fb5c3dba4ddac023cfd4cdcabdfdbcf343197c94 19-May-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6440173: MenuItem.setIcon(Drawable) scaling incorrectly...

...when resource is aliased

We were not correctly using the final resolved configuration when
retrieving a drawable through Resources.getDrawable(). (It already
does the correct behavior when going through TypedArray.getDrawable()).

Change-Id: I9032b788b592412178e31e2e6b0181b92c20fe45
es/Resources.java
9cb660fa342488cd8550644b5649436f1f7868ee 18-May-2012 Jeff Sharkey <jsharkey@android.com> Merge "Guard against apps breaking CHOOSER contract." into jb-dev
1c29700c5fe261f6829d95f22bd8c1fe6daf362e 18-May-2012 Jeff Sharkey <jsharkey@android.com> Guard against apps breaking CHOOSER contract.

Bug: 6520937
Change-Id: I677a644cf7765bbb046f9c82e1ebd8a40968cee6
ntent.java
0cf2c8a53350a800055e76c1c9bf0a6d44480768 18-May-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6515427: Add android.hardware.television and fix...

...logic for notouch in Configuration

Added new TELEVISION feature.

We now force the configuration to "television" if the TELEVISION
feature is set, and "notouch" if the TOUCHSCREEN feature is not set.

Also cleaned up documentation, deprecated some configurations that
are not used.

Change-Id: If1c7a284b580a8a66bda2a75f0c7fa841b3dc9b7
m/PackageManager.java
es/Configuration.java
7ba90544d97a9735d295f2133138174b1acdfb73 16-May-2012 Dianne Hackborn <hackbod@google.com> am a15ebaa2: am 79f5777d: Merge "A few odds and ends." into jb-dev

* commit 'a15ebaa25c93c750c22e80498c2415b2af0f2f3e':
A few odds and ends.
e302a162359e191633e966520a6bab4ad569390c 15-May-2012 Dianne Hackborn <hackbod@google.com> A few odds and ends.

- Add documentation on "television" UI mode.
- Tweak new documentation and implementation around propagating
URI grants through choosers.
- Add new activity launch flag for closing system dialogs.

Change-Id: I978c05f0dc3d16e1c55d43631828b9efa6335b19
ntent.java
6b10c61ef97c909b17ef2b1284ede800853bff78 15-May-2012 Jeff Sharkey <jsharkey@android.com> am 68ba1c86: am d6c1e498: Merge "Migrate stream extras in CHOOSER intents." into jb-dev

* commit '68ba1c8604448049ded03a5d95d6b34241d0267d':
Migrate stream extras in CHOOSER intents.
3b7d1ef4be2af83eecde3a7577b783355a9cd7c1 15-May-2012 Jeff Sharkey <jsharkey@android.com> Migrate stream extras in CHOOSER intents.

When sending CHOOSER intent, inspect its target for any EXTRA_STREAM
needing migration. If any migration happens, copy the ClipData to
the CHOOSER intent and set GRANT_READ flag. Also update CHOOSER docs.

Bug: 6463773
Change-Id: I66a7adf7bf6f2f173866925cb7e048f4c7a63222
ntent.java
d640d0641ac87035c608e85d3ab7e499a8b27d2f 14-May-2012 Jeff Sharkey <jsharkey@android.com> am f2fe4cb1: am cd586258: Merge "Enforce READ_EXTERNAL through Settings.Secure." into jb-dev

* commit 'f2fe4cb11b2b93acf1a983e856efe26b6bb79683':
Enforce READ_EXTERNAL through Settings.Secure.
cd5862586ab555b53ffd0a62488843838d1aa94d 12-May-2012 Jeff Sharkey <jsharkey@android.com> Merge "Enforce READ_EXTERNAL through Settings.Secure." into jb-dev
f53857716a0db805c51c0cae93550d90e32e4749 11-May-2012 Jeff Sharkey <jsharkey@android.com> Enforce READ_EXTERNAL through Settings.Secure.

Always defers to user-defined setting, when present.

Bug: 6389556
Change-Id: I079d2a41b772facfdac74eefc4c8072fc9284f97
m/PackageManager.java
e4fd3d50c7a39313120a005e659640bc10d94ef4 11-May-2012 Kenny Root <kroot@google.com> am 42a419b4: am 718af32a: Merge "Use long instead of int for file offsets" into jb-dev

* commit '42a419b4c0e7d16145e336ceec709dcefbdcf894':
Use long instead of int for file offsets
718af32a191066822262ad05cdd525a09c66094f 10-May-2012 Kenny Root <kroot@google.com> Merge "Use long instead of int for file offsets" into jb-dev
bb0018d0606a920fe39de332e8d6ecbfdd3aec58 10-May-2012 Jesse Wilson <jessewilson@google.com> am 36b6999b: am 822b72ef: Merge "Rename Uri.normalize() to Uri.normalizeScheme()." into jb-dev

* commit '36b6999bf12866679b80b03ada1f20f516b35904':
Rename Uri.normalize() to Uri.normalizeScheme().
822b72efd8795abe72b95d0ddd45873a5c4b77f8 10-May-2012 Jesse Wilson <jessewilson@google.com> Merge "Rename Uri.normalize() to Uri.normalizeScheme()." into jb-dev
103d53005e7a3c2735f4ac76fa9b795a7e7e39d7 10-May-2012 Kenny Root <kroot@google.com> Use long instead of int for file offsets

Use long instead of int so we don't run into a 2GB file limit.

Fix possible overflows in offset and length.

Change-Id: Idb3a34f5600f9c2372b9c89256f21757049fa43b
m/ContainerEncryptionParams.java
m/LimitedLengthInputStream.java
58d4f2e36f4091272c40d59fb3b7b80ee792ba57 10-May-2012 Dianne Hackborn <hackbod@google.com> am e2e03913: am dd79ae6b: Merge "Add infrastructure for accessing "unstable" content providers." into jb-dev

* commit 'e2e0391389fce1a9fd9d5c5442ba1901b6d96211':
Add infrastructure for accessing "unstable" content providers.
abc43ddd8ae098de7a56afc55909f904cd933016 10-May-2012 Jesse Wilson <jessewilson@google.com> Rename Uri.normalize() to Uri.normalizeScheme().

Change-Id: I67839656c7c1c16a5376c9894d699d2bad3c7a5c
ntent.java
652b6d1e591f6684cda4b93d4712920f287991b4 10-May-2012 Dianne Hackborn <hackbod@google.com> Add infrastructure for accessing "unstable" content providers.

We have an API and some stuff that purports to this, but no real
implementation yet.

Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4
ontentProviderClient.java
ontentResolver.java
335f8726d748b5de4d9b36e57383cf1cc652f29d 09-May-2012 Jeff Brown <jeffbrown@google.com> am 8ab3f090: am 8c680128: Merge "Check for null fd when constructing AssetFileDescriptor." into jb-dev

* commit '8ab3f090c008091318bc0c0e8052f18132e720c2':
Check for null fd when constructing AssetFileDescriptor.
e8308aafec594e7070ea3a16c5544d3e40fadd17 09-May-2012 Carlos Valdivia <carlosvaldivia@google.com> am e0ea02c2: am 3fcf1c85: Merge "Fix a race condition with respect to clients of SyncStorageEngine." into jb-dev

* commit 'e0ea02c20ea7bcb495baab653a12087b8cd09890':
Fix a race condition with respect to clients of SyncStorageEngine.
8fd851709fae7bb48aa513ebcf2285a8cdb28dce 09-May-2012 Jeff Brown <jeffbrown@google.com> am a394efa3: am 947f1c8d: Merge "Move CancellationSignal to android.os package." into jb-dev

* commit 'a394efa33531ce36c432872ec56ad0c93a9999e7':
Move CancellationSignal to android.os package.
c72b502d897fc1314ccbb8799f8ca66a3d131e17 09-May-2012 Kenny Root <kroot@google.com> am 83ea8609: am 29bb27ef: Merge "Add encryption parameters to package installation" into jb-dev

* commit '83ea86091bf94571912694c7caf8be1c21727f91':
Add encryption parameters to package installation
8c68012809ab9a1593f295463624774975bec1e1 09-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Check for null fd when constructing AssetFileDescriptor." into jb-dev
3fcf1c85873008df43ee80f896216fb39e4c630e 09-May-2012 Carlos Valdivia <carlosvaldivia@google.com> Merge "Fix a race condition with respect to clients of SyncStorageEngine." into jb-dev
af67fc65bf113b028ff33e71cd6a45810018c273 08-May-2012 Jeff Brown <jeffbrown@google.com> Check for null fd when constructing AssetFileDescriptor.

An AssetFileDescriptor with a null fd is pretty useless and should
never happen during normal operation. It can't even be parcelled
without hitting an NPE. To make it easier to find bugs where a null
fd might have been generated, check at construction time.

Bug: 5655036
Change-Id: I1da6dbee0cab9c11e309f3cebe698bf44dc5e27d
es/AssetFileDescriptor.java
947f1c8db00bd3805838ff49a5f4d220df507b47 08-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Move CancellationSignal to android.os package." into jb-dev
a7771df3696954f0e279407e8894a916a7cb26cc 08-May-2012 Jeff Brown <jeffbrown@google.com> Move CancellationSignal to android.os package.

Bug: 6427830
Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
syncTaskLoader.java
ancellationSignal.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ursorLoader.java
CancellationSignal.aidl
ContentProvider.java
perationCanceledException.java
3aca7d7bec4b48bc68480b9d6b0ccdabf6903dfb 08-May-2012 Carlos Valdivia <carlosvaldivia@google.com> Fix a race condition with respect to clients of SyncStorageEngine.

GetAuthorities will now return a better copy of AuthorityInfos.

Bug: 6388370
Change-Id: Iac532e6e40079dbafa6e1c8345bd74902d68cf85
yncStorageEngine.java
ceb1b0bfaea56251796b08c07b963de7403d84eb 24-Apr-2012 Anonymous Coward <nobody@android.com> Add encryption parameters to package installation

Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
m/ContainerEncryptionParams.aidl
m/ContainerEncryptionParams.java
m/IPackageManager.aidl
m/LimitedLengthInputStream.java
m/MacAuthenticatedInputStream.java
m/PackageManager.java
c77218e6b0f69d8480ec2bf9899806fc10b93936 07-May-2012 Dianne Hackborn <hackbod@google.com> am 25fc66b8: am 7bfa1457: Merge "Finish up issue #6249094: Display permissions based on relevance to private data" into jb-dev

* commit '25fc66b898a35796af65ec7e3eb9b1584588e063':
Finish up issue #6249094: Display permissions based on relevance to private data
7bfa14570e3e43ae8595400353853acdd7cea37c 07-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Finish up issue #6249094: Display permissions based on relevance to private data" into jb-dev
99222d212f9ff5081d4ce6eef09dbe8eff85b83a 07-May-2012 Dianne Hackborn <hackbod@google.com> Finish up issue #6249094: Display permissions based on relevance to private data

Added bitmaps for permission group icons. We had to pick either
icons for a dark or light background, and it had to be light for
settings, so the installer theme has gone back to dark.

Tweaked the permission groups to match the icons.

Redid the group priorities to make them correct (they were written
with higher priorities being less important).

Fixed bug where priority was not being used for system apps.

Change-Id: Ia3d3f0c1614a11b4cfd11682ce9e6c9f87d75c06
m/PackageParser.java
94e4429086fd3948ca26593993c78ae61cbe7706 07-May-2012 Fred Quintana <fredq@google.com> am 5484e826: am 989c7532: Merge "fix expedited syncs. there were times when an expedited sync wouldn\'t correctly preempt non-expedited syncs" into jb-dev

* commit '5484e82612ef67630f10a0179dfad55716bcce2a':
fix expedited syncs. there were times when an expedited sync wouldn't correctly preempt non-expedited syncs
dc47556cb37b6f25faceb5eb97cef60d384b55fb 05-May-2012 Fred Quintana <fredq@google.com> fix expedited syncs. there were times when an expedited sync wouldn't
correctly preempt non-expedited syncs

Change-Id: Ia88ce6504c06d7c8e50e40362e8bf2b85bd0934b
yncManager.java
yncOperation.java
yncStorageEngine.java
66ff373f5f98d60054bad8b540e881621d724dfd 05-May-2012 Andy Stadler <stadler@google.com> am 1f1aed5e: am c4be1b7e: Merge "Add System Tracing capability to Sync Manager" into jb-dev

* commit '1f1aed5e76efd27c69e597fd3eab91fe822bd850':
Add System Tracing capability to Sync Manager
c4be1b7e963413c110d8a6ee9fdd4fd7443fb2e0 04-May-2012 Andy Stadler <stadler@google.com> Merge "Add System Tracing capability to Sync Manager" into jb-dev
43dad01f5bb24f0b972b043a51e6afc1ca73578c 04-May-2012 Jim Miller <jaggies@google.com> am 360ca12b: am 516c25b3: Merge "Fix 6414061: Add new ACTION_ASSIST intent." into jb-dev

* commit '360ca12bf2914c0832da58f9e7963026799bf676':
Fix 6414061: Add new ACTION_ASSIST intent.
516c25b38a03decc8f9cbd41f4d9baa4f52f438f 04-May-2012 Jim Miller <jaggies@google.com> Merge "Fix 6414061: Add new ACTION_ASSIST intent." into jb-dev
0799440ab3ce50ffa6acb762cb7677abdffb3f74 02-May-2012 Jim Miller <jaggies@google.com> Fix 6414061: Add new ACTION_ASSIST intent.

Change-Id: I3d334f67723ac89f6001267e0f06ad76190b929f
ntent.java
66388dcb09018933ccd1d38eae563f0890ba4f06 04-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Hide RTL related APIs - DO NOT MERGE

- fix bug #6441155 API review: @hide RTL layout APIs

Change-Id: I13c5ea5f579cecffed9d517f06180ab0576cd26a
m/ApplicationInfo.java
09b45a3ad96379b4181d32f8391f63e9c57dc316 04-May-2012 Andy Stadler <stadler@google.com> Add System Tracing capability to Sync Manager

This tracing code is enabled via "systrace.py --set-tags sync"

Change-Id: Ia8bc01adbba345a568405b0ac8ade96e56b40cc1
bstractThreadedSyncAdapter.java
0e128bb2e03dafdabc06710a6b0ea93f0e62a188 01-May-2012 Dianne Hackborn <hackbod@google.com> New permissions UI.

Had to keep around a little of the old API for the device
admin settings UI to continue to use.

Change-Id: I84c5666a7f3fec0495eae196a0ffc2223c9e6f82
ntent.java
19eaf0a74dc4521db4c248504ea1815d052c0b27 02-May-2012 Jeff Sharkey <jsharkey@android.com> Merge "Catch CCE when migrating to ClipData." into jb-dev
dd471e6a6fcea7e7c43b68554f92d875e9f65165 01-May-2012 Jeff Sharkey <jsharkey@android.com> Catch CCE when migrating to ClipData.

Bug: 6231948
Change-Id: I51bc272d29a17881b3d4908fda549da20aa7e6b3
ntent.java
fd5015be41080970c9a992a8ef17a1deefb57478 01-May-2012 Dianne Hackborn <hackbod@google.com> Add new APIs for permission group flags and priorities.

Change-Id: I2d476c6aa9dbd05407ec49be45986f42d2acf9e7
m/PackageParser.java
m/PermissionGroupInfo.java
263d044c790923d7d83ab036e79a3decc25c7b4d 28-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix CancellationSignal deadlock." into jb-dev
aeee2f5d7564614da7b5e1aedb8816fc6559b2e9 27-Apr-2012 Jeff Brown <jeffbrown@google.com> Fix CancellationSignal deadlock.

Bug: 6398945
Change-Id: I5a3d4dce74009d6f1d284a8cc54c9f68daa6a9c2
ancellationSignal.java
c5bf7584422adca286c1f27a073df925c06f068d 26-Apr-2012 Dianne Hackborn <hackbod@google.com> Update process importance documentation.

Also be more direct about some of the wallpaper APIs.

Change-Id: I2112898c0cd4415d6c5fd47923de682d59b8291f
omponentCallbacks2.java
ntent.java
c1da08f1aea42d958c0dd245f1d58345e43eb323 25-Apr-2012 Irfan Sheriff <isheriff@google.com> Merge "Expose Context.NSD_SERVICE"
60309fc7bb95c9b3fc3e0ed60aa1eeb35bd13a68 24-Apr-2012 Irfan Sheriff <isheriff@google.com> Expose Context.NSD_SERVICE

Missed exposing Context.NSD_SERVICE for the network service
discovery API

Change-Id: I38cfa93e923286072ded05b707d31cd4db7ff7d4
ontext.java
ce5a597e66a1fc586681d963114904dc24e11784 24-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Disable READ_EXTERNAL enforcement until API level cut."
d776f617f5ad8052245e173602a7b80703f5fb39 24-Apr-2012 Jeff Sharkey <jsharkey@android.com> Disable READ_EXTERNAL enforcement until API level cut.

Bug: 6389556
Change-Id: I78238b9de24c1b8ebb4fdc35d8aafd2e85a4adfe
m/PackageManager.java
07b0465095bd9ab3412caefa4fcacbdc3825c64b 24-Apr-2012 Glenn Kasten <gkasten@google.com> Scheduling policy service

Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
ontext.java
7b5f22e11c37ef481ca5bc2b7d07c3c33c6ad3e8 19-Apr-2012 Joe Malin <jmalin@google.com> am 787fa9dc: am 20176edc: Merge "DOC CHANGE: Add javadoc to ClipboardManager" into ics-mr1

* commit '787fa9dc69262dc002c9da77fa86e88e5a4e658f':
DOC CHANGE: Add javadoc to ClipboardManager
787fa9dc69262dc002c9da77fa86e88e5a4e658f 19-Apr-2012 Joe Malin <jmalin@google.com> am 20176edc: Merge "DOC CHANGE: Add javadoc to ClipboardManager" into ics-mr1

* commit '20176edc4ff43f10ab3be03d84bb9f02b7859bdb':
DOC CHANGE: Add javadoc to ClipboardManager
20176edc4ff43f10ab3be03d84bb9f02b7859bdb 19-Apr-2012 Joe Malin <jmalin@google.com> Merge "DOC CHANGE: Add javadoc to ClipboardManager" into ics-mr1
d95ce04bdc92fe337c929c0dca9366fde7a564d2 17-Apr-2012 Amith Yamasani <yamasani@google.com> Merge "Make sure persistent processes are not replicated for secondary users."
a4a54e2a5f383e766bfecaec776e0b00002badd1 17-Apr-2012 Amith Yamasani <yamasani@google.com> Make sure persistent processes are not replicated for secondary users.

An intent is launched in a singleton process if the process is persistent
and the resolved activity/service/etc is not requested to run in a different
process.

Change-Id: I1463e73a76bc8bde4185f9cf4395edb47515841d
m/PackageParser.java
ac4243f177efb66f15df2f818418eac2b7abcec7 14-Apr-2012 Dianne Hackborn <hackbod@google.com> Make ACTION_SEND and ACTION_SEND_MULTIPLE build full clip items.

The current code was just for transferring URI grants. This change
makes it so it propagates all of the relevant extra data into the
ClipData, so developers can just retrieve the ClipData for all of
their data needs.

Change-Id: I36a050c7beae325aceb84518337f878c337d8b86
ntent.java
2a07308ed27b7323377142c69975b019244e38d7 14-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Add direct support for HTML formatted text in ClipData etc."
acb69bb909d098cea284df47d794c17171d84c91 14-Apr-2012 Dianne Hackborn <hackbod@google.com> Add direct support for HTML formatted text in ClipData etc.

When using the clipboard, ACTION_SEND, etc., you can now supply
HTML formatted text as one of the representations. This is exposed
as a set of methods on ClipData for building items with HTML
formatted text, and retrieving and coercing to HTML (and styled)
text. In addtion, there is a new EXTRA_HTML_TEXT for interoperating
with the old ACTION_SEND protocol.

Change-Id: I8846520a480c8a5f829ec1e693aeebd425ac170d
lipData.java
lipDescription.java
ontentResolver.java
ntent.java
10b6f68d484d19de418403e35589deea33f212b3 13-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Enforce READ_EXTERNAL on non-user builds."
5d32e772b3a19c1ac84e665f2885755427d590c8 13-Apr-2012 Jeff Sharkey <jsharkey@android.com> Enforce READ_EXTERNAL on non-user builds.

Enable default enforcement of READ_EXTERNAL_STORAGE on non-user
builds. Users can still explicitly enable enforcement in Settings.

Bug: 6131916
Change-Id: I7dc66b624ad252ed2a2ad3647f3ea85dda7f8e82
m/IPackageManager.aidl
m/PackageManager.java
bc59bc355bea19f8eb2f8fbdd3da6ad2e17ad17e 13-Apr-2012 Romain Guy <romainguy@google.com> Merge "Properly cache color state lists."
5d911c3a95cf4db4cf1cc0c8d4d253553d50c550 13-Apr-2012 Romain Guy <romainguy@google.com> Properly cache color state lists.

Clobbering the typed value's cookie with the alpha channel is not okay.

Change-Id: Ia75481be06699b42f80eb4c59672c6cd6cf8c0a8
es/Resources.java
a11236bf0908c5d02e7be24b97ec4cf9e63e33f3 12-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Include enforcement state in dumpsys."
1c27576aff247ff1d7789e0a571958726f161593 12-Apr-2012 Jeff Sharkey <jsharkey@android.com> Include enforcement state in dumpsys.

Bug: 6323087
Change-Id: I6d779798538c114ea9816d3bdbbff5552c285df6
m/PackageManager.java
b990893ffc591bc7de9d5fd54dbe1707388717a8 12-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Make component names visible in javadoc."
5554b7082220d37496e30f39a0d9146afc177ab4 12-Apr-2012 Jeff Sharkey <jsharkey@android.com> Make component names visible in javadoc.

Change-Id: I3770ea6616b8425c387bcd27d668e3114b14335d
ontentProvider.java
9766937ba57ca80977a68c681fdd4e46b6e1fd81 12-Apr-2012 Ashish Sharma <ashishsharma@google.com> Merge "Synchronize/align periodic sync alarms based on a random per device seed value."
69d95de53bc82e6c23c64ad566e428fbefae0543 12-Apr-2012 Ashish Sharma <ashishsharma@google.com> Synchronize/align periodic sync alarms based on a random per device seed value.

Removes duplicates SyncHandler.MESSAGE_CHECK_ALARM messages from the queue.

Change-Id: Ib29a06da904cebdd45ee05c9d9a6bf00b72100eb
yncManager.java
yncStorageEngine.java
f29f2369cf4e1de090c985ed53d3f5e59535986a 06-Apr-2012 Amith Yamasani <yamasani@google.com> Fix a race condition in SyncManager.onAccountsUpdated()

Get the full list of accounts from AccountManagerService in one shot
instead of getting them per user.

Bug: 6263091

Change-Id: I488f24749a96281ef1e2a620820399c97f471024
yncManager.java
yncStorageEngine.java
79af6063d536eb7edbc73be0fa2b8eb734758db7 10-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Hide the optional permission stuff, not making it in to JB."
59f482764e346a5c5ac118ee1f7b24da645c2559 06-Apr-2012 Eric Laurent <elaurent@google.com> Added support for USB audio devices

Two types of USB audio devices are defined:
- USB audio device: the audio device in USB device mode while
the Android device is in USB host mode.
- USB audio accessory: the audio device in USB host mode while
the Android device is in USB device mode.

Renamed intents for analog and digital docks to avoid confusion:
- ACTION_USB_ANLG_HEADSET_PLUG to ACTION_ANALOG_AUDIO_DOCK_PLUG
- ACTION_USB_DGTL_HEADSET_PLUG to ACTION_DIGITAL_AUDIO_DOCK_PLUG

Factorized code in AudioService broadcast receiver.

Change-Id: I1b6d0257a9d68ecb9495c78c98bac8c67fec7891
ntent.java
e824120016248bcfe3962883fe9f3b0481dd1c3d 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Hide the optional permission stuff, not making it in to JB.

Also lock down the rest of the development tools permissions to
be development permissions that must be granted through an
explicit shell command.

Change-Id: I1ba216fffe1aab4bb9f83fcef108efc504f892f4
m/PackageInfo.java
m/PackageParser.java
85d9e02094a0eefe21b949effb5e7c8f042c92c8 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix dumb bug."
5e4705a82786103982b2c9980b0dcd0bb54208d3 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix dumb bug.

Change-Id: I5e0dfc0f03677888c22d938013299a8ec4597c69
m/PackageParser.java
5713c9cfa9a0ed7625c8a48925a5c33b2c070460 06-Apr-2012 Mike Lockwood <lockwood@google.com> Merge "Add Intents to notify when USB audio devices or accessories are attached"
29d6fa9d8b651b6940e6f3f9182f5b72c404c739 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Implement call log permission compatibility."
9d5a4be05b6d51ebb768e5fbcfa27ed9a39269b3 06-Apr-2012 Mike Lockwood <lockwood@google.com> Add Intents to notify when USB audio devices or accessories are attached

In this change, only the USB audio accessory support is implemented.

Change-Id: Id9b411319b07a96dc56649ca74cc5f3f89a55a7c
Signed-off-by: Mike Lockwood <lockwood@google.com>
ntent.java
31b0e0e86ad061cd8005e80817bcad017e2d56dd 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Implement call log permission compatibility.

If a pre-JellyBean application requests read/write contacts, it
will implicitly be given read/write call log.

Change-Id: I029db4b09fda737bb8fba4e1611355ebdbbfd34f
m/PackageParser.java
23b871d7147de910b53646cdb987e28dac0df927 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Initial commit of InputManager and keyboard layout API."
9df6e7a926ce480baf70e97ee1b9ea387193f6ad 05-Apr-2012 Jeff Brown <jeffbrown@google.com> Initial commit of InputManager and keyboard layout API.

Added a new InputManager service for interacting with input
devices and configuring them. This will be the focus of
an upcoming refactoring.

Added an API for registering keyboard layouts with the system
based on the use of a broadcast receiver. Applications can
register their own keyboard layouts simply by declaring a
broadcast receiver in their manifests.

Added the skeleton of a package that will ultimately contain
the keyboard layouts and other input device related resources
that are part of the base system.

Bug: 6110399
Change-Id: Ie01b0ef4adbd5198f6f012e73964bdef3c51805c
ontext.java
dd8fab2629131b09367df747afd9a61e42dd1992 23-Mar-2012 Adam Powell <adamp@google.com> TaskStackBuilder and Activity navigation features for framework

Promote navigation helpers from the support library to the core
platform.

The support library's meta-data element has been replaced with a
first-class parentActivityName attribute. This attribute is valid
on both activity and activity-alias elements. An activity-alias
will inherit the target activity's parentActivityName if one is
not explicitly specified.

Automatic Up navigation for Activities

Add the public method onNavigateUp() to Activity. The default
implementation will use the metadata supplied in the manifest about an
activity's hierarchical parent (parentActivityName) to do the right
thing.

If any activities in the parent chain require special Intent
arguments, the Activity subclass should override onNavigateUp() to
properly implement Up navigation for the app, supplying such arguments
as needed.

If automatic Up navigation within the same task can't find an activity
matching the supplied intent in the current task stack, it will act as
an in-app "home" and return to the root activity (presumably the app's
front page) in that task. (From this state, pressing "back" with
default behavior will return to the launcher.)

Change-Id: If163e27e59587f7af36975a09c986cb117ec3bc6
m/ActivityInfo.java
m/PackageParser.java
7d024d372431effc87168afdc7cbe387680c4935 23-Mar-2012 Irfan Sheriff <isheriff@google.com> Add initial framework for DNS service discovery

Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
ontext.java
59dfce8bdaf011337530a0dbec7f7280871f9bc9 03-Apr-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6140391 Make RTL awareness as an opt-in into the AndroidManifest

- introduce "supportsRtl" as a new application attribute in the AndroidManifest
- "supportsRtl" default value is FALSE (no RTL support)
- adapt the View layoutDirection and textDirection logic to take care of "supportsRtl" value

Change-Id: I5e4f9f576e14f35dedc6b0c29a7142c397f598e0
m/ApplicationInfo.java
m/PackageParser.java
8b5bce8d9060c1b68b5605da8f6978d8fb5ea1d3 27-Mar-2012 Amith Yamasani <yamasani@google.com> Merge "User management and switching"
135936072b24b090fb63940aea41b408d855a4f3 23-Mar-2012 Amith Yamasani <yamasani@google.com> User management and switching

Broadcast intents that get sent out when users are added/removed/switched.

More work on generating user-specific information in package manager queries.
APIs to update user name and query a user by id.
Removed Package.mSetStopped and mSetEnabled, since they're not user specific.

User removal:
- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService
and AccountManager.
- Shutdown processes belonging to the user.

Don't show vibrate option in long-press power if there's no vibrator.

Lock the screen when switching users, to force unlocking.

Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
ntent.java
yncManager.java
yncQueue.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
f27ea66114569d233c65cb895543668f3202ca19 27-Mar-2012 Jeff Sharkey <jsharkey@android.com> Avoid ClassCast when migrating ACTION_SEND extras.

Bug: 6231948
Change-Id: I008195fa973517446b2400ed3f59af0cbf0fc925
ntent.java
0c44525a4888de321c9497204d59c8515f828499 24-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Copy EXTRA_STREAM into ClipData and grant."
678d04f1b6d189b2d867d518065f90dce7292863 23-Mar-2012 Jeff Sharkey <jsharkey@android.com> Copy EXTRA_STREAM into ClipData and grant.

When sending SEND or SEND_MULTIPLE intents, copy any EXTRA_STREAM
Uris to ClipData and set GRANT_READ_URI_PERMISSION flag.

Bug: 6216357
Change-Id: I3c9b0d1d4b7e0c4655b47c4192150b0c3641e0e8
ntent.java
47847f3f4dcf2a0dbea0bc0e4f02528e21d37a88 23-Mar-2012 Jeff Brown <jeffbrown@google.com> Support enabling WAL using a flag when DB is opened.

Using enableWriteAheadLogging() to enable WAL is inefficient because
we previously disabled WAL mode when the database was opened.
Switching from WAL to PERSIST then back to WAL is inefficient
and could slow down application launch time. It would be better
to leave the database in WAL mode when we open it to begin with.

To do that, we need to know ahead of time whether we will want to
have WAL enabled for the newly opened database.

Using this flag also reduces the chance that we will encounter
an error enabling WAL mode due to there being other open connections
to the database.

Bug: 6124556
Change-Id: I38ec7a528baeda9f1ef77e25e88b3ca4b6296200
ontext.java
483f3b06ea84440a082e21b68ec2c2e54046f5a6 14-Mar-2012 Amith Yamasani <yamasani@google.com> Package restrictions per user

Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
m/IPackageManager.aidl
m/PackageParser.java
09f5aededa1568f59bbe014ce5199ebca35a93b8 20-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Selective enforcement of READ_EXTERNAL_STORAGE."
edc84ee8392afa0102f098168329db5bb43a6d4b 20-Mar-2012 Jeff Sharkey <jsharkey@android.com> Selective enforcement of READ_EXTERNAL_STORAGE.

Store enforcement state of specific permissions, allowing them to be
selectively enforced. Currently supports READ_EXTERNAL_STORAGE, which
by default isn't enforced, but enforcement can be enabled at runtime.

Bug: 6131916
Change-Id: I4bcc215a2eb5e6507d6257b577311cbd13c77acf
m/IPackageManager.aidl
m/PackageManager.java
9ce685b934b36cc57631e10f7c1e3609e91e3f9c 16-Mar-2012 Christopher Tate <ctate@google.com> Make immersive mode public & imply update locking

Activity.setImmersive(boolean) / android:immersive="bool" are now public.
In addition, if the foreground activity is immersive then an update lock
will be held on its behalf. This lets applications such as movie players
suppress the display of intrusive notifications, OTA-availability dialogs,
and the like while they are displaying content that ought not to be
rudely interrupted.

The update lock aspect of this mode is *advisory*, not binding -- the
update mechanism is not actually constrained; it simply uses this information
in deciding whether/when to prompt the user. It's more a guideline than
a rule.

Bug 6154438

Change-Id: Ibd3491fc437077f3fa0d9708ed91955121e8c877
m/ActivityInfo.java
f1bdf65308af0ced783ffffd60b841a6bc0da970 20-Mar-2012 Dianne Hackborn <hackbod@google.com> Merge "Start using the new activity options argument."
7a2195cdd33f27c79eda343defc1f7ccf59cc8ac 20-Mar-2012 Dianne Hackborn <hackbod@google.com> Start using the new activity options argument.

New class lets you make an options bundle defining a custom animation,
as an alternative to Activity.overridePendingTransition().

Change-Id: I8e209bf52398a98ab9f1bcafa1ec0a580dae57c0
ontext.java
a2dea4fce61aa3ff126f53738620726a2ce53cf0 19-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Better exceptions around provider permissions."
e5d4933692343d082912856198fc3d207865d1cc 13-Mar-2012 Jeff Sharkey <jsharkey@android.com> Better exceptions around provider permissions.

When enforcing ContentProvider permissions, mention which
<path-permission> caused the denial.

Bug: 6131916
Change-Id: I06ed461d188fc92c7ddc2acc92ec6169a7c9891a
ontentProvider.java
0791335443f5d2d8751ab371fd97ecaaca35ac61 15-Mar-2012 Amith Yamasani <yamasani@google.com> Merge "Fix sync tests failure."
fb5a4964b8d402b39754f406dd2255035ff2148d 15-Mar-2012 Jeff Brown <jeffbrown@google.com> Prefetch column names in bulk cursor adaptor.

If the remote end of a bulk cursor died, then it was possible
for getColumnNames() to return null, violating the invariant
that it never returns null. As a result, the application could
crash in strange ways due to an NPE.

Since we are often interested in the column names anyhow, prefetch
them when setting up the bulk cursor adaptor. This way, a
remote cursor will never return null even if the remote end died.

It is possible for an application to continue to use a remote cursor
even after the provider has died unless it needs to requery it
for some reason. Of course at that point, bad things will
happen... but usually the app is better prepared for it than
if it just randomly encounters a null array of column names.

This change also optimizes the bulk cursor adaptor to return the
initial cursor window back to the client, potentially saving
an extra RPC. Because the communication protocol between
the CursorToBulkCursorAdaptor and BulkCursorToCursorAdaptor was
getting a little hard to follow, introduced a new type called
BulkCursorDescriptor to hold all of the necessary parameters.

Deleted several unnecessary IBulkCursor methods that are never
actually called remotely.

Bug: 6168809
Change-Id: I9aaf6f067c6434a575e2fdbf678243d5ad10755f
ontentProviderNative.java
1b6ae002a5ccb4f1e06b8a2971edef2140a35a3c 14-Mar-2012 Amith Yamasani <yamasani@google.com> Fix sync tests failure.

Bug: 6156819 Contacts initial sync test fails

Earlier commit was incorrectly cloning the currentSyncs list, so it
wasn't being updated.

Change-Id: I23cea8a190127746e9a1218e7bfda630599cef17
yncStorageEngine.java
a4972e951bf2bdb7afdafee95b3ab0c15b8bacae 14-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new "options" argument to all startActivity APIs.

This will be used to allow new features to be requested... such as,
say, a special kind of animation. Right now there are no options
defined.

Change-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7
ontext.java
ontextWrapper.java
b8c81768d9517bdb36f7ef83e7618fda038c6608 13-Mar-2012 Jeff Sharkey <jsharkey@android.com> Merge "Let <path-permission> block unprotected providers."
7924512aa12c6af37d90e8ccfcdf04eb78a294a3 12-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new READ_EXTERNAL_STORAGE permission.

Also adds some initial compatibility code for dealing with it.

Change-Id: I104bff11798349e4aaa6da9b7be787b257daa1bb
m/PackageParser.java
110a6b6252d6daf9882ece7595bd3613b82448a8 12-Mar-2012 Jeff Sharkey <jsharkey@android.com> Let <path-permission> block unprotected providers.

When accessing a ContentProvider that is unprotected by top-level
permissions, and caller doesn't hold a matching <path-permission>
permission, revoke the default top-level access.

This enables an otherwise unprotected provider to enforce permissions
on specific paths.

Bug: 6131916
Change-Id: Icab89f765ccd90b1acea6988b05f00877fe2c11e
ontentProvider.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
ontentResolver.java
ontext.java
ntent.java
m/PackageManager.java
28ca8f9f95b1ee8186463bfc3f33b9383c0d1dd0 09-Mar-2012 Amith Yamasani <yamasani@google.com> Merge "Make SyncManager and AccountManagerService multi-user aware."
21c241e061de29a538008ca42df9c878184bcfb8 08-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new Intent API for associating a ClipData with an Intent.

Allows applications to propagate multiple URI grants through an
Intent.

Later on, we should probably redefine the share actions to be
based on this ClipData with the old extras-based approach only
there for compatibility. Even if we don't do that, though, this
allows you to do a multi-select share that grants multiple URI
permissions by stuffing the URIs in a ClipData.

Also add some documentation in various places telling people how
they can grant URI permissions.

Change-Id: Id4ba8e72c11caf7e1f1f438cb7af058d1586a37c
lipData.java
lipDescription.java
ntent.java
04e0d265e3385e9d1fbc35e43c4e8caffbbe3290 14-Feb-2012 Amith Yamasani <yamasani@google.com> Make SyncManager and AccountManagerService multi-user aware.

AccountManagerService
- Maintain multiple account lists, one per user
- Keep multiple databases of accounts
- Account db moved to /data/system/users/<userid>/

SyncManager
- SyncStorageEngine keeps track of multiple users' accounts.
- SyncQueue maintained as a single instance, queueing requests from
multiple users.
- Changed some methods to take userId arguments
- Removed some deadc0de
- Store the userId in the SyncOperation, so we know which provider
instance to bind to when queued operations are processed.

ContentService
- Pass along the userid to sync manager calls.

ActivityManagerService:
- Fixed a bug in cancelIntentSender
- Don't bring other user's task forward when resetting tasks.

Updated tests

Change-Id: If317340ef68e902787aa3f5ceb4cf96f14aea695
ontentService.java
yncManager.java
yncOperation.java
yncQueue.java
yncStorageEngine.java
e61cad321d2888f2b6b7e0322158211e3b3e0c46 08-Mar-2012 Dirk Dougherty <ddougherty@google.com> resolved conflicts for merge of 532679a5 to master

Change-Id: Id60d047c0e1f288acff97526c016cca632873b6b
27ff913d56de8400083a13fc572e2812b32c890c 06-Mar-2012 Dianne Hackborn <hackbod@google.com> Work on more low memory reporting to apps.

There are now some new trim memory levels that are sent to
non-background applications as RAM becomes low.

There is a new API for an application to retrieve information
about memory trimming and such on demand.

Fixed various checks against the memory trim level to be
robust (not compare against exact values).

Change-Id: Ifd1c6151124350168aef20a94e517166fd2e03eb
omponentCallbacks2.java
4f03d35f9c040222e6a46dde807fe2ff7852beb8 06-Mar-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issues #6103378 and #5959515."
56bab8bd83c4f54f876fdd76fc241197920129db 06-Mar-2012 Dirk Dougherty <ddougherty@google.com> am 4d7bc655: Doc change: String changes for Android Market

* commit '4d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219':
Doc change: String changes for Android Market
cd83bf9420a7c4c25d562b197438f532ad897c90 06-Mar-2012 Dirk Dougherty <ddougherty@google.com> am 4d7bc655: Doc change: String changes for Android Market

* commit '4d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219':
Doc change: String changes for Android Market
4d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219 28-Jan-2012 Dirk Dougherty <ddougherty@google.com> Doc change: String changes for Android Market

Change-Id: I823812a4fd24021bec906ad856479c92a8d2a759
ntent.java
6569625beef705ec489662b80d372c4423f9c7f7 06-Mar-2012 Dianne Hackborn <hackbod@google.com> Fix issues #6103378 and #5959515.

Change-Id: I762d86dd7119c9ac02f4b8803c4a250c6b7637c7
6103378: APR: IOOBE at android.content.pm.PackageParser.generatePackageInfo(
PackageParser.java:355)
5959515: PackageManager doesn't validate className in setComponentEnabledSetting
m/PackageParser.java
3edd8f06cb5538d0f6cb7e9ca844237111802470 06-Mar-2012 Nick Pelly <npelly@google.com> Merge "Clarify docs for the thread used in BroadcastReceiver.onReceive()"
de88dba17cd1021bad39b4f80b4387a157c0dce3 03-Mar-2012 Nick Pelly <npelly@google.com> Clarify docs for the thread used in BroadcastReceiver.onReceive()

Change-Id: Ib6c0da5d0ca2fc95b26b230b306f205a9942cf03
roadcastReceiver.java
ab38500d9c0b8188dcb1045a24ce91cab1ca39ce 02-Mar-2012 Jean-Baptiste Queru <jbq@google.com> am dbc591e2: am c69d6134: am 6ae4fe94: am 9303919d: Merge "Adds documentation for ContentResolver notifyChange()"

* commit 'dbc591e27686486c732fca2f94fde645e3487b7a':
Adds documentation for ContentResolver notifyChange()
6ae4fe945b41d4bcb3ba7d931e34d6ef184b8b45 01-Mar-2012 Jean-Baptiste Queru <jbq@google.com> am 9303919d: Merge "Adds documentation for ContentResolver notifyChange()"

* commit '9303919d7d837dedf16f09ace0013e62670568e7':
Adds documentation for ContentResolver notifyChange()
8662cab5c6a01ea5c426512e6f6d2cf3e158aea0 23-Feb-2012 Christopher Tate <ctate@google.com> Merge: Introduce UpdateLocks

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

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

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

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

Bug 5543442

Change-Id: I3709c831fc1883d7cb753cd2d3ee8e10a61e7e48
ontext.java
3fb824bae3322252a68c1cf8537280a5d2bd356d 29-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5217606 LocaleUtils constants TEXT_LAYOUT_DIRECTION_LTR_DO_NOT_USE and TEXT_LAYOUT_DIRECTION_RTL_DO_NOT_USE should be renamed

- replace them by the View constants

Change-Id: I7c2bf0213319247d3db369b6f7c36771fdf3e509
es/Configuration.java
66e817655a239f8738ce73e06bb1496b2e818f74 23-Feb-2012 Christopher Tate <ctate@google.com> Introduce UpdateLocks - "now is not a good time for non-interactive OTA"

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

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

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

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

Bug 5543442

Change-Id: Ic1548dd43935f45d4efc67f970abdc290a45f715
ontext.java
e639da7baa23121e35aa06d6e182558e0e755696 22-Feb-2012 Dianne Hackborn <hackbod@google.com> New development permissions.

These are permissions that an application can request, but won't
normally be granted. To have the permission granted, the user
must explicitly do so through a new "adb shell pm grant" command.

I put these permissions in the "development tools" permission
group. Looking at the stuff there, I think all of the permissions
we already had in that group should be turned to development
permissions; I don't think any of them are protecting public APIs,
and they are really not things normal applications should use.

The support this, the protectionLevel of a permission has been
modified to consist of a base protection type with additional
flags. The signatureOrSystem permission has thus been converted
to a signature base type with a new "system" flag; you can use
"system" and/or "dangerous" flags with signature permissions as
desired.

The permissions UI has been updated to understand these new types
of permissions and know when to display them. Along with doing
that, it also now shows you which permissions are new when updating
an existing application.

This also starts laying the ground-work for "optional" permissions
(which development permissions are a certain specialized form of).
Completing that work requires some more features in the package
manager to understand generic optional permissions (having a
facility to not apply them when installing), along with the
appropriate UI for the app and user to manage those permissions.

Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
m/IPackageManager.aidl
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
m/PermissionInfo.java
c29f031598811486d83f418fd08fbfe1fc41788a 23-Feb-2012 Philip Milne <pmilne@google.com> Fix for bug 6050753.

The method:

TypedArray: getLayoutDimension(int, String)

throws an undocumented exception when either the width and/or height
attributes are undefined.

See the bug report above for reasons why this was deemed unhelpful both
in the tools area and to developers in general.

Fix by:

1. Documenting the conditions under which the method raises an exception.
2. Deprecating the method, advising callers to supply a default instead.

Additionally, redefine the:

ViewGroup: setBaseAttributes(TypedArray, int, int);

methods to provide the appropriate defaults in ViewGroup subclasses as
advised above.

For the platform layouts the default value is WRAP_CONTENT (and is
defined in the ViewGroup.LayoutParams class). The special cases
are accomodated in LayoutParams subclasses in the following cases:

Subclass width height

FrameLayout.LayoutParams: MATCH_PARENT, MATCH_PARENT
TableLayout.LayoutParams: MATCH_PARENT, WRAP_CONTENT
TableRow.LayoutParams: MATCH_PARENT, WRAP_CONTENT

Change-Id: I335a3bd8e2d7f7866692898ed73492635a5b61ea
es/TypedArray.java
67cf7d314b5b94db1a9f1c57140b6615b0ea8291 16-Feb-2012 Amith Yamasani <yamasani@google.com> Fix Power Control widget

Some changes in AppWidgetService were interfering with widget permissions.

Added some hidden methods in Context to communicate the requesting user
information instead of using the calling uid.

Bug: 6019296
Change-Id: I5e519fd3fbbfa5b3fcc5c297b729c671dac8e7c7
ontext.java
ontextWrapper.java
37ce3a8af6faab675319d0803b288ab1dddc76be 06-Feb-2012 Amith Yamasani <yamasani@google.com> Multi-user - wallpaper service

- Allow each user to have their own wallpaper (live or static).
- Migrate old wallpaper on upgrade.
- Update SystemBackupAgent to backup/restore from primary user's
new wallpaper directory.

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

Change-Id: I19c8c3296d3d2efa7f28f951d4b84407489e2166
ontext.java
ontextWrapper.java
m/PackageParser.java
b01e8bf57b7492b77e3445db51471edcbadda75e 30-Aug-2011 Mike Lockwood <lockwood@android.com> New Serial Manager API:

SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports

IO with both array based and direct ByteBuffers is supported.

Accessing serial ports requires android.permission.SERIAL_PORT permission

Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).

In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ontext.java
a0c283eac33dd2da72235751bbfa4f2d9898d5ea 09-Feb-2012 Dianne Hackborn <hackbod@google.com> Add new feature for running services in "isolated" sandbox processes.

This reserves a range of uids (for each user) in which these processes
run. These uids are not associated with an application, so they
effectively run with no permissions. When a Service requests to
run in such a process through android:isolatedProcess="true", each
time it is brought up a new isolated process is started with its
own unique uid.

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

Change-Id: Ibfd27c75619cba61f528f46ede9113f98dc5f45b
m/PackageParser.java
m/ServiceInfo.java
1ef7d13172248848805b9ceb6161b0741d8580dd 03-Feb-2012 Amith Yamasani <yamasani@google.com> Merge "Multi-user - 1st major checkin"
742a67127366c376fdf188ff99ba30b27d3bf90c 04-May-2011 Amith Yamasani <yamasani@google.com> Multi-user - 1st major checkin

Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

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

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

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e 03-Feb-2012 Jeff Brown <jeffbrown@google.com> Rename CancellationSignal using preferred spelling.

Bug: 5943637
Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
ancelationSignal.java
ancellationSignal.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ursorLoader.java
CancelationSignal.aidl
CancellationSignal.aidl
ContentProvider.java
perationCanceledException.java
9dbfc331b42371c5bcb1d8ec7750f4cd4f914123 02-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Support automatic cancellation of Loaders."
b19a71a20adb48c084e87d06a1e6b0dcb49170f5 31-Jan-2012 Jeff Brown <jeffbrown@google.com> Support automatic cancellation of Loaders.

Change-Id: I18d3f49e413f48fcdd519d15e99c238ad54d35b9
syncTaskLoader.java
ursorLoader.java
oader.java
f46723b41f723ebfc9ed18c7c409b319f4b5e539 26-Jan-2012 Christopher Tate <ctate@google.com> Implement background vs foreground broadcasts

Before now, receiving a broadcast would cause a process to be hoisted
to foreground priority / cgroup. This is no longer the case: broadcasts
by default are handled in the background, with a suitably increased
timeout interval. When a given broadcast needs to be dealt with in a
more timely manner, the issuer can set the new FLAG_BROADCAST_FOREGROUND
flag on the Intent, which will produce the old foreground-priority
behavior.

To avoid priority inversions, foreground broadcasts are tracked on a
separate outgoing queue and can be in flight simultaneously with a
background-priority broadcast. If there is already a background-level
broadcast in flight to a given app and then a foreground-level one is
dispatched to that app, the app [and its handling of both broadcasts]
will be properly hoisted to foreground priority.

This change is also essentially the first step towards refactoring the
broadcast-handling portions of the Activity Manager into a more
independent existence. Making BroadcastQueue a top-level class and
regularizing its operation viz the primary Activity Manager operation
is the next step.

Change-Id: If1be33156dc22dcce318edbb5846b08df8e7bed5
ntent.java
6c997a9e880e08c354ffd809bd62df9e25e9c4d4 31-Jan-2012 Dianne Hackborn <hackbod@google.com> aapt now sorts the strings in the resource string pool.

In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
es/Configuration.java
2d2d7d6f42fe22ecc2b1dc8bb96a19e503a61a20 28-Jan-2012 Jeff Brown <jeffbrown@google.com> Merge "Implement a cancelation mechanism for queries."
75ea64fc54f328d37b115cfb1ded1e45c30380ed 26-Jan-2012 Jeff Brown <jeffbrown@google.com> Implement a cancelation mechanism for queries.

Added new API to enable cancelation of SQLite and content provider
queries by means of a CancelationSignal object. The application
creates a CancelationSignal object and passes it as an argument
to the query. The cancelation signal can then be used to cancel
the query while it is executing.

If the cancelation signal is raised before the query is executed,
then it is immediately terminated.

Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
syncTaskLoader.java
ancelationSignal.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ursorLoader.java
CancelationSignal.aidl
ContentProvider.java
perationCanceledException.java
dc828acd5fadb266b13cce459b1cacfad8ef7aef 25-Jan-2012 Nick Pelly <npelly@google.com> Merge "Add API's for normalizing MIME's and URI's."
ccae412deda8b0c165c86f395752c0667a3411a6 09-Jan-2012 Nick Pelly <npelly@google.com> Add API's for normalizing MIME's and URI's.

Helps developers create well-behaved intents:
- lower case MIME data type
- strip parameters from MIME content types
- lowercase URI scheme

The new API's are
normalizeAndSetType()
normalizeAndSetData()
normalizeAndSetDataAndType()
Uri.normalize()
normalizeMimeType()

Change-Id: Ib5c907897f39b1f705bcc4c9103ba1e6f316380b
ntent.java
655e66bceba7595a2b80e7a328433e6ed5dc28a9 24-Jan-2012 Jeff Brown <jeffbrown@google.com> Inform ContentObservers about the changed content Uri.

Added a new method ContentObserver.onChange(boolean, Uri) that
receives the changed content Uri. This can help applications make
better decisions about how to interpret a change notification.

Change-Id: I8e35378b6485fe22c5bc240ba07557d269af0836
ontentService.java
86de0590b94bcce27e3038c27464bed510bb564a 23-Jan-2012 Jeff Brown <jeffbrown@google.com> Clean up content observer code.

Improved the documentation a little bit.

Fixed a bug in ContentService wherein if a ContentObserver was
passed as an argument and its deliverSelfNotifications() method
returned true, then notifyChange would tell all observers that
the change was a self-change even though it was only a self-change
from the perspective of the provided observer.

Deprecated ContentObservable.notifyChange since it is never
used and in general it shouldn't be because we want the notification
to be posted to the handler.

Change-Id: Idde49eb40777e011a068f2adae8a32f779dfb923
ontentResolver.java
ontentService.java
d7a1aada2d1245eaeef973bc3e37619ce8e6d593 18-Jan-2012 Steve Pomeroy <steve@staticfree.info> Adds documentation for ContentResolver notifyChange()

Adds clarifying documentation to ContentResolver#notifyChange() to
explain interaction with the sync framework.

Change-Id: Ia1a1ed173e230bc11aa778268749323536ca434f
Signed-off-by: Steve Pomeroy <steve@staticfree.info>
ontentResolver.java
cf1290271922dab2ad9fd0b155a00a5fe0597ba8 13-Jan-2012 Alon Albert <aalbert@google.com> Merge "Log global autosync on dumpsys Protect dumpsys from divide by zero"
27096822e2da828e0f41c0337cf6f0f11e5bace5 12-Jan-2012 Alon Albert <aalbert@google.com> Log global autosync on dumpsys
Protect dumpsys from divide by zero

Change-Id: I3474f2f4b41643ef1e95cbcf835c96b66b13de38
yncManager.java
32313b161f7c7d17841bf49b3d146fd19dd7fde1 10-Jan-2012 Dianne Hackborn <hackbod@google.com> am d476c8b8: am d3be0a76: Merge "Unhide Resources APIs for getting resources at specific densities." into ics-mr1

* commit 'd476c8b8a8a6fadea7e72426d3e93c4e6b00e543':
Unhide Resources APIs for getting resources at specific densities.
7d537b556804baee07d5b3129d1b6b59c1859635 10-Jan-2012 Dianne Hackborn <hackbod@google.com> am d3be0a76: Merge "Unhide Resources APIs for getting resources at specific densities." into ics-mr1

* commit 'd3be0a76e46584357dbb77fcd200128d0d7dc9a8':
Unhide Resources APIs for getting resources at specific densities.
613989772f7d7f7317349568a4809bf08b942bd7 09-Jan-2012 Dianne Hackborn <hackbod@google.com> Unhide Resources APIs for getting resources at specific densities.

This adds Resources.getDrawableForDensity() and
Resources.getValueForDensity(). These are needed for applications
to correctly retrieve larger icons such as in launcher when
running on a tablet. We had already exposed the APIs to tell the
application which density to use for app icons on the current
device, but didn't unhide these APIs that allowed you to
actually retrieve them.

This is safe to do without introducing a new API level (as long
as we do it soon) because we know these APIs already exist in
Android 4.0, and there is no reason for anyone to be removing
them when building a device.

Change-Id: I5138e5dc908197b66a98d20af73c5374cb5d41d3
es/Resources.java
2b072677538de979961b5bf527109fdab1713731 23-Dec-2011 Joe Fernandez <joefernandez@google.com> am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1

* commit '201469f54522436be79d4d6665721049bfc74320':
docs: Add developer guide cross-references, Project ACRE, round 4
70b8a9d09b028331d6f98263c65802e164651f07 23-Dec-2011 Joe Fernandez <joefernandez@google.com> am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1

* commit 'bb7f590a5a539486de5127071c7ade8ec988d755':
docs: Add developer guide cross-references, Project ACRE, round 4
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 20-Dec-2011 Joe Fernandez <joefernandez@google.com> docs: Add developer guide cross-references, Project ACRE, round 4

Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
lipData.java
lipDescription.java
lipboardManager.java
earchRecentSuggestionsProvider.java
413e9b3a5c1392ed8b80b66f00d9de5de0858b85 16-Dec-2011 Joe Malin <jmalin@google.com> DOC CHANGE: Add javadoc to ClipboardManager

Change-Id: Ib499952c45f3448897a2876ed7a7edd5c3dfebfd
lipboardManager.java
c3c7bac14aa6924df917ef5f61c97b97dc32817d 16-Dec-2011 Joe Onorato <joeo@google.com> Merge "Add a new ui mode for "appliance"" into ics-aah
c6a7f358e86e9debdc110236797fba911bd9474a 16-Dec-2011 Joe Onorato <joeo@google.com> Merge "Add a new ui mode for "appliance""
44fcb83b38b062a650ddf556fe7f5e34905df9ea 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
es/Configuration.java
18cb28756caf02bf2b2f5e67c68451edaf719b47 15-Nov-2011 Marco Nelissen <marcone@google.com> Add ContentProvider.dump()

This is similar to the existing dump() facility for services.
ContentProviders can now implement dump() and that info will be shown
when running "dumpsys activity provider" and when taking a bugreport.

Change-Id: I33b3b132e3c4f920153355cc368eda2f725a715f
ontentProvider.java
68e616840bcbb14990552fd99f955a8e1216dc2e 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Icc9f674299f8dbe2b736a5622a4965904d27e49c
es/Configuration.java
18ca25be58be75be78cdce7541b6b082a4b3864f 15-Dec-2011 Romain Guy <romainguy@google.com> Merge "Generate even fewer GL commands"
8f85e80b64b89fd38cc23b129f61ec36ddde7f15 15-Dec-2011 Romain Guy <romainguy@google.com> Generate even fewer GL commands

Change-Id: I0f4dcacb03ef5ee7f6ebd501df98bfead5f0a7f8
es/Resources.java
51a0e745ee29aa90e2c8c3d7c7bdc083bdc0028d 15-Dec-2011 Dianne Hackborn <hackbod@google.com> am 13299a33: am 399f1df3: Merge "Fix some java docs." into ics-mr1

* commit '13299a33e14562a5de14c89ad058d28ab0cd9f37':
Fix some java docs.
965e2c638b32cd771769cd1cc1fb99e5bda08370 15-Dec-2011 Dianne Hackborn <hackbod@google.com> am 399f1df3: Merge "Fix some java docs." into ics-mr1

* commit '399f1df38594ea8bc927ad23bfbde996a9dc161d':
Fix some java docs.
251fe263756988a6d6207fe73bb0f64bf2abacda 15-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix some java docs.

Change-Id: I0eeba6f9108db74418063fba522ed3ef1c27ae95
ntent.java
4df142c4e942f47225abd6810b9034567fe3e75f 13-Dec-2011 Dianne Hackborn <hackbod@google.com> am a1279586: Merge "SDK only: now that support lib is in SDK, we can link to it." into ics-mr1

* commit 'a1279586dd1a866dd58d669aa0980d71f6c589d9':
SDK only: now that support lib is in SDK, we can link to it.
df3c49ee2e00f85599348473951a208be9397829 13-Dec-2011 Dianne Hackborn <hackbod@google.com> am 2ad8a89b: am a1279586: Merge "SDK only: now that support lib is in SDK, we can link to it." into ics-mr1

* commit '2ad8a89b4b55f1cf8994e5b044d496d889839403':
SDK only: now that support lib is in SDK, we can link to it.
7871badd5d4d29d80207e9cc09a0681f26a151d0 13-Dec-2011 Dianne Hackborn <hackbod@google.com> SDK only: now that support lib is in SDK, we can link to it.

Update some of the platform documentation to directly link to
relevent support lib docs. Yay!

Also improve BroadcastReceiver documentation to more clearly
discussion security around receivers, and how the support
lib's LocalBroadcastManager can help.

Change-Id: I563c7516d5fbf91ab884c86bc411aff726249e42
roadcastReceiver.java
oader.java
7c918ad493392ccb9cc24d3f2f35cab55916f582 07-Dec-2011 Joe Malin <jmalin@google.com> am 3eebad61: am 3744d1fa: am 9e2cf49f: Merge "DOC CHANGE: Add Content URI ref doc" into ics-mr0

* commit '3eebad61b4df7f5b4c898545aa7ec9076bc077d0':
DOC CHANGE: Add Content URI ref doc
7659e295a50c68581f685b91aeb4f63407ef3d9e 07-Dec-2011 Joe Malin <jmalin@google.com> am 3744d1fa: am 9e2cf49f: Merge "DOC CHANGE: Add Content URI ref doc" into ics-mr0

* commit '3744d1faf582214132b9ba000d54cdbf44425113':
DOC CHANGE: Add Content URI ref doc
3744d1faf582214132b9ba000d54cdbf44425113 07-Dec-2011 Joe Malin <jmalin@google.com> am 9e2cf49f: Merge "DOC CHANGE: Add Content URI ref doc" into ics-mr0

* commit '9e2cf49fa360e70b33a870e9ae0b3eec11752972':
DOC CHANGE: Add Content URI ref doc
3b282fae37c9897514f5bb7a16aa0b80dd65dd1f 06-Dec-2011 Jason Simmons <jsimmons@google.com> resolved conflicts for merge of 0c0120ef to ics-aah

Change-Id: If1f39ff160b4305ef057d50bb1f01d2c45f1579d
deb86c63c33f766b1a7fd6916f56b757d40803b1 06-Dec-2011 Dianne Hackborn <hackbod@google.com> am ec42750e: am 0c0120ef: Merge "Fix issue #5714517: App shortcuts can result in bad task intents" into ics-mr1

* commit 'ec42750e4d0e695515d078fb1f222c99a705fd93':
Fix issue #5714517: App shortcuts can result in bad task intents
0c0120efa2dedaf25ae789bced5a3f9fa33c32bb 06-Dec-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5714517: App shortcuts can result in bad task intents" into ics-mr1
f5b8671c340f189c50b41c53622f979b6d5e0a57 06-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5714517: App shortcuts can result in bad task intents

New API to let you build an Intent whose base configuration is correct,
but has an additional "selector" to pick out the specific app that you
would like launched.

Change-Id: Ide9db6dc60e2844b7696cfe09b28337fe7dd63db
ntent.java
e7851ea6121bf8c6d89f16c27a5c704f8e8a5c59 06-Dec-2011 Fred Quintana <fredq@google.com> am f3f7d65b: am b5f2dfbc: Merge "By default ICS allows two syncs to run in parallel. Make it only do one at a time for devices that don\'t have much RAM as defined by the call ActivityManager.isLargeRAM()" into ics-mr1

* commit 'f3f7d65b650dec7f4eacefa1f0174fadfce5ec6e':
By default ICS allows two syncs to run in parallel. Make it only do one at a time for devices that don't have much RAM as defined by the call ActivityManager.isLargeRAM()
9a3e16ffa8b37b9336c6eab85d5d296b1ffe4b9c 06-Dec-2011 Fred Quintana <fredq@google.com> am b5f2dfbc: Merge "By default ICS allows two syncs to run in parallel. Make it only do one at a time for devices that don\'t have much RAM as defined by the call ActivityManager.isLargeRAM()" into ics-mr1

* commit 'b5f2dfbc221d3dc799232e0ada3b6621d3d4d597':
By default ICS allows two syncs to run in parallel. Make it only do one at a time for devices that don't have much RAM as defined by the call ActivityManager.isLargeRAM()
33e446941722b0e31a453399e92e0e82697f05aa 06-Dec-2011 Fred Quintana <fredq@google.com> By default ICS allows two syncs to run in parallel. Make it only
do one at a time for devices that don't have much RAM as
defined by the call ActivityManager.isLargeRAM()

Bug: 5713224
Change-Id: Ic8c42103f4031e1d7b1db797edcbbd7f7bac1387
yncManager.java
1d7d0af9a1ee32f30018ed4892de58a83fedc067 03-Dec-2011 Joe Malin <jmalin@google.com> DOC CHANGE: Add Content URI ref doc

Change-Id: I859b4bdc9d78f1f5e5769fe3fee421af2ad85778
ontentUris.java
d4b1c4424d1d27c0a294e9360a3a489ef5f62dd1 29-Nov-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of be6ab576 to ics-aah

Change-Id: I87c5679c46a58e233da30e73f068bed2af627ab3
0475f82c95e6e9657580820b16b0e48d814119b5 29-Nov-2011 Jeff Brown <jeffbrown@google.com> am c339fe30: am be6ab576: Merge "Fix application launch shortcuts." into ics-mr1

* commit 'c339fe302bc5083f0a110569eec06676be511088':
Fix application launch shortcuts.
6651a638348c15e89e265b0a53c775cac9beafa2 28-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix application launch shortcuts.

Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
ntent.java
c45fa2a823e9ddcdc94be609dcd568e67c56ab56 12-Nov-2011 Christopher Tate <ctate@google.com> am 0fbd9eba: am c51bb4d3: Merge "XML parsing optimizations" into ics-mr1

* commit '0fbd9ebab891530290b4d52fd5e81f6b4d7278d8':
XML parsing optimizations
432c210fe3bcd18fa782a5240d4b4b93e8a9ce64 12-Nov-2011 Christopher Tate <ctate@google.com> am c51bb4d3: Merge "XML parsing optimizations" into ics-mr1

* commit 'c51bb4d394dd47e48abc8a6d9cbc740f821546ff':
XML parsing optimizations
60201f2b4ee3fcf222310b5bf91d1d150470cab7 12-Nov-2011 Christopher Tate <ctate@google.com> XML parsing optimizations

Traceview showed approximately 10% of total parse time inside the
synthetic 'trampoline' methods generated to provide inner classes
with access to their outer class's private fields. The bottleneck
in this particular case is in XmlBlock and its inner class Parser.

Making the bottlneck outer-class members and methods package-scope
instead of private removes that 10% overhead being spent within
these access trampolines.

Traceview tends to overemphasize the significance of very small
methods such as these trampolines. That said, the measured speed
gain on the ParseLargeXmlResFg op due to this patch is between
5% and 6%.

Change-Id: Ia0e3ae5408d1f9992b46e6e30dd2407090379b07
es/XmlBlock.java
88b15749d223960b5d97ac998e33b1af4034ca85 03-Nov-2011 Kenny Root <kroot@google.com> am e24ac4b2: Merge "Update GET_UNINSTALLED_PACKAGES flag documentation" into ics-mr1

* commit 'e24ac4b219a582f1a99465551b1fd76345553b22':
Update GET_UNINSTALLED_PACKAGES flag documentation
44eed9f6a99c778faa6a0810e9138016b746612c 03-Nov-2011 Kenny Root <kroot@google.com> am e24ac4b2: Merge "Update GET_UNINSTALLED_PACKAGES flag documentation" into ics-mr1

* commit 'e24ac4b219a582f1a99465551b1fd76345553b22':
Update GET_UNINSTALLED_PACKAGES flag documentation
685f490eff35e33e435e455e9b784c9d70083e49 03-Nov-2011 Kenny Root <kroot@google.com> Update GET_UNINSTALLED_PACKAGES flag documentation

Change-Id: I483b84f07836e6ad96c75e7dd3a86633cb29db22
m/PackageManager.java
9e9a64e87549cd668939c8edfb71b2d7866f5e74 02-Nov-2011 Dianne Hackborn <hackbod@google.com> am f136aa34: Merge "Various performance and other work." into ics-mr1

* commit 'f136aa341abaaf7fd6f7632d41a30b2989d93985':
Various performance and other work.
88175571f23ca7cff6d21cd1d5d6345cfacaa84a 01-Nov-2011 Dianne Hackborn <hackbod@google.com> am f136aa34: Merge "Various performance and other work." into ics-mr1

* commit 'f136aa341abaaf7fd6f7632d41a30b2989d93985':
Various performance and other work.
2c84cfc001fb92a71811bf7384b7f865ff31ff9d 31-Oct-2011 Dianne Hackborn <hackbod@google.com> Various performance and other work.

- IME service now switches between visible and perceptible depending on
whether it is being showm, allowing us to more aggressively free its
memory when not shown.

- The activity display time is no longer delayed by the activity
transition animation.

- New -R (repeat) option for launching activities with the am command.

- Improved some documentation on Loader to be clear about some methods
that apps should not normally call.

- FrameworkPerf test now allows you to select individual tests to run.

Change-Id: Id1f73de66dc93d63212183958a72119ad174318b
ontext.java
oader.java
92537e6ff21d4b20738fae851c2174ea568eb843 31-Oct-2011 Ed Heyl <ed@google.com> merged by hand (services/java/com/android/server/PowerManagerService.java needs to be reviewed)

Change-Id: I86d1111d86cd1646ebc8a88d58aa393089e9f928
eba186448ff048f8fc1ba596c9779e8069a93128 31-Oct-2011 Joe Fernandez <joefernandez@google.com> am 74b2b954: am 09848bc8: Merge "docs: add developer guide cross references, Project ACRE, round 3" into ics-mr0

* commit '74b2b9547329a0b05e0bd5701057696007b854bb':
docs: add developer guide cross references, Project ACRE, round 3
f82621dc3c62db55f8dce71e5d835cae1967bafb 31-Oct-2011 Dianne Hackborn <hackbod@google.com> am e02c88af: Work on process management.

* commit 'e02c88af7935c72fb90a478375e61e4a94465587':
Work on process management.
74b2b9547329a0b05e0bd5701057696007b854bb 29-Oct-2011 Joe Fernandez <joefernandez@google.com> am 09848bc8: Merge "docs: add developer guide cross references, Project ACRE, round 3" into ics-mr0

* commit '09848bc89de999416e2de82a7693b2deec6bf802':
docs: add developer guide cross references, Project ACRE, round 3
e02c88af7935c72fb90a478375e61e4a94465587 28-Oct-2011 Dianne Hackborn <hackbod@google.com> Work on process management.

Introduce a new concept of "B" services. All running services are
classified as either A or B. B services are later in the LRU list.
Their oom_adj is after the home app. This allows us to better pick
services to kill based on how long they have running, and should
reduce the amount that we end up killing the home app.

This temporarly turns on a debug log when the oom_adj of a process
is changed. Sorry, I know it is noisy. This is needed to try to
track down why some processes are being killed.

Also add a flag to the SyncManager's service binding to allow the
syncing process to be more aggressively killed if it has done UI.
This is to address cases we have seen where sync is causing an 80MB
gmail process to be kept around, preventing other process from running.
Now what will happen is that the syncing process will aggressively be
killed by the system, and can then be restarted in a much lighter-weight
state.

Do a little tweak in the power manager to allow us to still do smooth
brightness changes even when the fancy TV off animation is in use.

And get rid of a debug log in the window manager that was accidentally
left in.

Change-Id: I64a8eeaaa1f096bab29c665fbff804c7f1d029e2
yncManager.java
61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec 26-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross references, Project ACRE, round 3

Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
haredPreferences.java
e0ded6710a9fe7cc4f1efd7dfe7af7de42e1b0f2 30-Aug-2011 Mike Lockwood <lockwood@android.com> New Serial Manager API:

SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports

IO with both array based and direct ByteBuffers is supported.

Accessing serial ports requires android.permission.SERIAL_PORT permission

Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).

In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.

Change-Id: I8d75ca7d6592223ea6c47f8a17fa180dfed1aad0
Signed-off-by: Mike Lockwood <lockwood@android.com>
ontext.java
ca756bfd97d668c8e865c6247ef923b0aad9b065 26-Oct-2011 Jeff Hamilton <jham@android.com> Clarify the docs around the activityInfo field.

Change-Id: Id9a5ac610d564165073cb60e5b631b1cba3e8187
m/ResolveInfo.java
12b3e39ecb56c35fc524fde62c26ed44a4b35c26 21-Oct-2011 Dianne Hackborn <hackbod@google.com> am 4bbd71a6: Merge "Fix issue #5228934: IME shows up on boot, or when digits screen is tapped" into ics-mr0

* commit '4bbd71a6b2f4957f4778da13861ec03d30afbee7':
Fix issue #5228934: IME shows up on boot, or when digits screen is tapped
0836c7cb98dd3ff1ef0379dcb97be8b315fed7eb 21-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5228934: IME shows up on boot, or when digits screen is tapped

Activity aliases weren't propagating the softInputMode from the original
activity.

Change-Id: I47534e6c9a0f94bb6eb3fd2186ba9ffc8d583d08
m/PackageParser.java
3585a3dfc6824581e8b4b46bfa1207bb18fad0cf 19-Oct-2011 Dianne Hackborn <hackbod@google.com> am 47f8367a: Merge "Work on issue #5465917: Wakelock *overflow* held for very long times" into ics-mr0

* commit '47f8367ab79247501d5d204632a7797fa8a888e5':
Work on issue #5465917: Wakelock *overflow* held for very long times
c24ab866b0d46685f6ddd340b9c84375cf8d6831 19-Oct-2011 Dianne Hackborn <hackbod@google.com> Work on issue #5465917: Wakelock *overflow* held for very long times

- Fix ordering problem in sync manager that would cause its wake
locks to slightly appear in the system process when they should
be fully accounted against the app.
- Allow the system process to have more wake lock names in its
battery stats.
- In the bug report output, print totals of the wake locks for each
process, to make it easier to parse what is being printed for things
like the system process with a huge number of individual wake locks.

Change-Id: I3cf39330f22f3c51c11e65e4124150d73a7da2dd
yncManager.java
aac01f699f9f6ccf285bdec7e89ff864f180409d 15-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Add a CrossProcessCursorWrapper. Bug: 5220669"
471fa9d10b4fa4da070c0ffb5fa5ea1354c8e6b8 14-Oct-2011 Joe Fernandez <joefernandez@google.com> Merge "docs: add developer guide cross-references, Project ACRE, Round 2" into ics-mr0
558459fe85f56f29a6ed6a4d0adb4a0bd6665884 14-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross-references, Project ACRE, Round 2

Change-Id: I39a534ae3a2a34b4dabc333a09961012ef911d3e
ontentProvider.java
ontentResolver.java
22dad40d3e8ce54a00f337ea06b9b0bbfbd3fd6b 14-Oct-2011 Kenny Root <kroot@google.com> Merge "Add support for signature in getPackageArchiveInfo" into ics-mr0
6ccd41265db1a6bfb3c54d64aba2df67d373af4f 13-Oct-2011 Kenny Root <kroot@google.com> Add support for signature in getPackageArchiveInfo

GET_SIGNATURES was indicated as supported, but it never actually did
anything.

This is needed for the package verifier development sample.

Change-Id: I09ca6790cd8bf9435aa208c0711359b4d76fb278
m/PackageManager.java
825c5132bff21e72c1448241f4c6868563c8d624 13-Oct-2011 Jeff Brown <jeffbrown@google.com> Add a CrossProcessCursorWrapper.
Bug: 5220669

The CrossProcessCursorWrapper is a useful building block
for wrapping cursors that will be sent to processes remotely.
It can also transform normal Cursors into CrossProcessCursors
transparently.

The new class fixes common performance problems and bugs
that applications have encountered when implementing
ContentProviders.

Change-Id: Icc59fec10add3f7d8cfbd0495447860c1872c752
ontentResolver.java
cc21cc017ba02338a78eca00af6a1a0d3f7ce5bf 13-Oct-2011 Daniel Lehmann <lehmannd@google.com> Merge "Allow clearing out the source bounds" into ics-mr0
a5b58df09753bd13744381c54c8b2663eb4f256f 13-Oct-2011 Daniel Lehmann <lehmannd@google.com> Allow clearing out the source bounds

Change-Id: Id49f4a3ac397cf17c5704d298b6a9a376f6a5c23
ntent.java
0cde89f5f025b7826be009ebb9673b970e180e32 10-Oct-2011 Jeff Brown <jeffbrown@google.com> Use ashmem for CursorWindows.
Bug: 5332296

The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized. Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.

The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.

Improved the encapsulation of CursorWindow. Callers shouldn't
need to care about details like how string fields are allocated.

Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.

Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
ontentProviderNative.java
58f42a59bda3bc912d0d2f81dc65a9d31d140eaa 10-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5405788: Device continuously opening and closing...

...the "Complete action using" dialog

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

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

Change-Id: I14ed366a87cd689d1c78787369e052422290ac6f
m/IPackageManager.aidl
184b44e79406e5f7e4f68673277c9637c6451b55 10-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix ownership of CursorWindows across processes. Bug: 5332296"
222b92a7322346e544188ca040bef1e27ab2b71a 10-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Implement CloseGuard in ContentResolver."
326e8748f082f3c794fcfcd7c87c688a0564a964 10-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Clean up handrolled Binder proxies. Bug: 5332296"
d2183654e03d589b120467f4e98da1b178ceeadb 09-Oct-2011 Jeff Brown <jeffbrown@google.com> Fix ownership of CursorWindows across processes.
Bug: 5332296

Ensure that there is always an owner for each CursorWindow
and that references to each window are acquired/released
appropriately at all times.

Added synchronization to CursorToBulkCursorAdaptor to
prevent the underlying Cursor and CursorWindow from being
remotely accessed in ways that might violate invariants,
resulting in leaks or other problems.

Ensured that CursorToBulkCursorAdaptor promptly releases
its references to the Cursor and CursorWindow when closed
so they don't stick around longer than they should, even
if the remote end hangs onto the IBulkCursor for some reason.

CursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE
as an indication that one reference to the CursorWindow is
being released. Correspondingly, CursorToBulkCursorAdaptor
acquires a reference to the CursorWindow before returning
it to the caller. This change also prevents races from
resulting in the transfer of an invalid CursorWindow over
the wire.

Ensured that BulkCursorToCursorAdaptor promptly releases
its reference to the IBulkCursor when closed and throws
on attempts to access the cursor while closed.

Modified ContentProviderNative to handle both parts of
the wrapping and unwrapping of Cursors into IBulkCursors.
This makes it a lot easier to ensure that the right
things happen on both ends. Also, it turns out that
the only caller of IContentProvider.bulkQuery was
ContentProviderNative itself so there was no need
to support bulkQuery on ContentProviderProxy and it was
just getting in the way.

Implement CloseGuard on CursorWindow.

Change-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9
ontentProvider.java
ontentProviderNative.java
ContentProvider.java
229edbc38dedbd58fb058da47fc3108276e61de4 10-Oct-2011 Dianne Hackborn <hackbod@google.com> Calling close() outside of the main thread breaks stuff.

Too dangerous to fix at this point.

Change-Id: I7de5bfecd757fbae635b02c2c2d9ba7ce3bcb435
ursorLoader.java
baaf8c3f55d9d95b9d2cd9279e2ce1725da0dc52 09-Oct-2011 Jeff Brown <jeffbrown@google.com> Implement CloseGuard in ContentResolver.

Also, don't try to close the cursor from the finalizer,
it just won't work because quite probably the Binder underneath
it has already been finalized or is about to be.

Change-Id: I6363cd30f32abe15412948d126e0bcc5f62943c5
ontentResolver.java
df6611d8c0cd69c3dcb93462eb138e0bbf137b88 09-Oct-2011 Jeff Brown <jeffbrown@google.com> Clean up handrolled Binder proxies.
Bug: 5332296

We can't replace these with AIDL generated proxies just yet, but
at least we can make them a little more conformant.

Change-Id: I1814f76d0f9c5e44a7fd85a12b2e3c2b7e3c9daa
ontentProviderNative.java
421fa2744556d6483007bc2a6a1e4030811142f9 09-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5418999: [From My Phone] - ANR when navigating back from OneUp view

Close cursors asynchronously.

Change-Id: I32c106d26c0443710789344bf823c288eaf31db5
ursorLoader.java
cac15eb21cab68e5b76fe06f9aff273978c92054 04-Oct-2011 Joe Fernandez <joefernandez@google.com> Merge "docs: add developer guide cross-references, Project ACRE"
b54e7a3d9f60ac605f404f9eb3c5e92ca51bbd23 04-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross-references, Project ACRE

Change-Id: I5df1c4e13af67ff4c4a5b22f3cb1247bf0103b09
roadcastReceiver.java
ntent.java
ntentFilter.java
oader.java
62abf34d0dce0deb017b18beef3d8f73bd90981a 04-Oct-2011 Alon Albert <aalbert@google.com> Merge "Update dumpsys output"
9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d 29-Sep-2011 Dianne Hackborn <hackbod@google.com> Add mechanism for Parcel to not allow FDs to be written to it.

This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
roadcastReceiver.java
ntent.java
bf976ba6576a8ebf0e25f10eca83cb8038578510 03-Oct-2011 Alon Albert <aalbert@google.com> Update dumpsys output

After using the new format for a few days, I decided it's better to ahve the auth & acct
info on every row because we will sometimes grep the data and won't see it if the auth/acct
is ommited.

Also added the "time since last sync" to every row. This is also very useful.

Detailed Statistics (Recent history): 31 (# of times) 119s (sync time)
-------------------------------------------------------------------------------------
subscribedfeeds : 8/25% 17s/14%
aagmtest2@gmail.com/com.google : 5/16% 16s/13%
aagmtest1@gmail.com/com.google : 3/9% 1s/0%
-------------------------------------------------------------------------------------
com.android.calendar : 5/16% 10s/8%
aagmtest2@gmail.com/com.google : 3/9% 0s/0%
aagmtest1@gmail.com/com.google : 2/6% 9s/8%
-------------------------------------------------------------------------------------
com.google.android.apps.books : 3/9% 26s/22%
-------------------------------------------------------------------------------------
com.android.contacts : 3/9% 14s/11%
aagmtest1@gmail.com/com.google : 2/6% 9s/7%
aagmtest2@gmail.com/com.google : 1/3% 5s/4%
-------------------------------------------------------------------------------------
com.android.browser : 3/9% 12s/10%
-------------------------------------------------------------------------------------
com.google.android.music.MusicContent : 3/9% 7s/6%
-------------------------------------------------------------------------------------
gmail-ls : 2/6% 12s/10%
-------------------------------------------------------------------------------------
com.google.android.apps.plus.content.EsGooglePhotoProvider : 2/6% 1s/0%
aagmtest2@gmail.com/com.google : 1/3% 1s/0%
aagmtest1@gmail.com/com.google : 1/3% 0s/0%
-------------------------------------------------------------------------------------
com.google.android.apps.plus.content.EsProvider : 1/3% 10s/9%
-------------------------------------------------------------------------------------
com.google.android.gallery3d.GooglePhotoProvider : 1/3% 5s/5%
-------------------------------------------------------------------------------------

Recent Sync History
#1 : 2011-10-03 13:26:41 SERVER 0.0s aagmtest2@gmail.com/com.google com.android.calendar
#2 : 2011-10-03 13:26:40 LOCAL 1.8s aagmtest2@gmail.com/com.google subscribedfeeds
#3 : 2011-10-03 13:26:40 LOCAL 0.1s aagmtest1@gmail.com/com.google subscribedfeeds
#4 : 2011-10-03 13:26:37 SERVER 0.1s 4 aagmtest2@gmail.com/com.google com.android.calendar
#5 : 2011-10-03 13:26:37 LOCAL 0.1s aagmtest2@gmail.com/com.google com.google.android.apps.books
#6 : 2011-10-03 13:26:30 SERVER 0.9s 7 aagmtest2@gmail.com/com.google com.google.android.apps.books
#7 : 2011-10-03 13:26:25 SERVER 1.1s aagmtest2@gmail.com/com.google gmail-ls
#8 : 2011-10-03 13:26:13 SERVER 11.8s 11 aagmtest2@gmail.com/com.google gmail-ls
#9 : 2011-10-03 13:26:08 SERVER 5.0s aagmtest2@gmail.com/com.google com.android.contacts
#10 : 2011-10-03 13:26:08 SERVER 0.7s 29 aagmtest2@gmail.com/com.google com.android.calendar
#11 : 2011-10-03 13:26:07 SERVER 0.7s aagmtest2@gmail.com/com.google com.android.browser
#12 : 2011-10-03 13:26:04 SERVER 3.0s 2 aagmtest2@gmail.com/com.google com.android.browser
#13 : 2011-10-03 13:26:04 SERVER 25.9s 25 aagmtest2@gmail.com/com.google com.google.android.apps.books

Change-Id: I8da004f469d136fd9a86310b262eba61197fd0e7
yncManager.java
d0e8fb431ac9c1fcc2f5b0eba884d29fc57a4cf1 28-Sep-2011 Mathew Inwood <mathewi@google.com> Merge "Document thrown IllegalArgumentException."
e0bde33e0d2b3ffb7918a5818a387773d4aa3e71 22-Sep-2011 Alon Albert <aalbert@google.com> Add Detailed Sync Stats Section
Also improve history formatting
Here's a smaple of what it looks like:

Detailed Statistics (Recent history): 20 40s
-------------------------------------------------------------------------------------
com.android.contacts : 9/45% 11/27%
aagmtest1@gmail.com/com.google : 3/15% 4/11%
aagmtest2@gmail.com/com.google : 3/15% 3/9%
aalbert@google.com/com.google : 3/15% 2/6%
-------------------------------------------------------------------------------------
gmail-ls : 6/30% 22/56%
-------------------------------------------------------------------------------------
com.android.calendar : 3/15% 5/14%
aagmtest1@gmail.com/com.google : 1/5% 4/12%
aagmtest2@gmail.com/com.google : 1/5% 0/0%
aalbert@google.com/com.google : 1/5% 0/0%
-------------------------------------------------------------------------------------
com.google.android.apps.plus.content.EsGooglePhotoProvider : 2/10% 0/1%
aagmtest1@gmail.com/com.google : 1/5% 0/1%
aagmtest2@gmail.com/com.google : 1/5% 0/0%
-------------------------------------------------------------------------------------

Recent Sync History
#1 : 2011-09-23 15:18:35 SERVER 0.8s aalbert@google.com/com.google gmail-ls
#2 : 2011-09-23 15:17:56 SERVER 1.3s 00:38
#3 : 2011-09-23 15:17:52 SERVER 4.6s 00:04
#4 : 2011-09-23 15:17:45 SERVER 1.7s 00:06
#5 : 2011-09-23 15:16:51 LOCAL 0.8s aagmtest2@gmail.com/com.google com.android.contacts
#6 : 2011-09-23 15:16:51 LOCAL 0.7s aalbert@google.com/com.google com.android.contacts
#7 : 2011-09-23 15:16:50 LOCAL 0.7s aagmtest1@gmail.com/com.google com.android.contacts
#8 : 2011-09-23 15:15:35 LOCAL 0.7s aalbert@google.com/com.google com.android.contacts
#9 : 2011-09-23 15:15:34 LOCAL 0.8s aagmtest2@gmail.com/com.google com.android.contacts
#10 : 2011-09-23 15:15:33 LOCAL 1.9s aagmtest1@gmail.com/com.google com.android.contacts
#11 : 2011-09-23 15:14:37 LOCAL 1.3s aalbert@google.com/com.google com.android.contacts
#12 : 2011-09-23 15:14:35 LOCAL 2.0s aagmtest1@gmail.com/com.google com.android.contacts
#13 : 2011-09-23 15:14:32 LOCAL 2.2s aagmtest2@gmail.com/com.google com.android.contacts
#14 : 2011-09-23 15:13:41 SERVER 1.3s aalbert@google.com/com.google gmail-ls
#15 : 2011-09-23 15:13:34 LOCAL 0.3s aalbert@google.com/com.google com.android.calendar
#16 : 2011-09-23 15:13:34 LOCAL 0.4s aagmtest2@gmail.com/com.google com.android.calendar
#17 : 2011-09-23 15:13:33 SERVER 0.1s aagmtest2@gmail.com/com.google com.google.android.apps.plus.content.EsGooglePhotoProvider
#18 : 2011-09-23 15:13:33 SERVER 0.5s aagmtest1@gmail.com/com.google com.google.android.apps.plus.content.EsGooglePhotoProvider
#19 : 2011-09-23 15:13:29 LOCAL 4.9s aagmtest1@gmail.com/com.google com.android.calendar
#20 : 2011-09-23 15:13:28 SERVER 13.1s aalbert@google.com/com.google gmail-ls

Change-Id: Idc904e2e18a373b6d2d10af65b02683c11fd8d90
yncManager.java
1b9f8d92a934188eb200647025bffaf90469ee55 26-Sep-2011 Mathew Inwood <mathewi@google.com> Document thrown IllegalArgumentException.

Change-Id: I502f91e3c1130c14ad8f67934bf52a7206de302f
m/PackageManager.java
05ca4c90644921df9193d92b2abdc81ef77e4a62 15-Sep-2011 Kenny Root <kroot@google.com> Allow non-required package verifiers

* Verifiers can be specified in the AndroidManifest.xml

* Those verifiers can respond to the new Intent action

* PackageManager API for those verifiers: verifyPendingInstall

Change-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5
m/PackageInfoLite.java
m/PackageManager.java
m/PackageParser.java
m/Signature.java
m/VerifierInfo.aidl
m/VerifierInfo.java
a982ad19d2aee54f714fa3ad9ee4ddbac08dc0fe 23-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5173952: Opening a Notification From Lock Screen..."
90c52de28691ca0bbbf7c039ef20f85ce46882cc 23-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5173952: Opening a Notification From Lock Screen...

...Should Skip Unsecure Lockscreen (ICS)

Also while I am in there, clean up logging of intent objects to include
even less sensitive information, while showing the true Intent in dump
output (since apps can't get to that).

Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
ntent.java
e797ed6a74593630219faf7f0ba5dc8235586bce 23-Sep-2011 Scott Main <smain@google.com> docs: a few additions and revisions to action bar docs

Change-Id: I12c24e5d4ed49d8f9822050d330f617bd614b7b9
m/ActivityInfo.java
3a9b5fbb97e65019abec97f172b4cbf2100d1225 20-Sep-2011 Kenny Root <kroot@google.com> Unhide new PackageManager APIs for API 14

Change-Id: I83110285ccee39a4cd872a1c2af8357f541833d4
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
c11bc8d22405458cd942e38e71ce1a837ed38c9e 14-Sep-2011 Kenny Root <kroot@google.com> Be more forgiving in parsing verifier IDs

RFC 4648's Base32 is made to be forgiving for users doing manual entry
of the digits. For this reason we want to be able to parse lowercase
letters as uppercase and number 0 (zero) as letter O along with number
1 (one) as letter I.

Cherry-pick into ics-factoryrom

Change-Id: I149d8e947ff8b36305c1e61d8a1d80ff0b317cda
m/VerifierDeviceIdentity.java
c924fbd6933f6a96588b6e78d385082155cfd236 14-Sep-2011 Kenny Root <kroot@google.com> Merge "Add verifier device identity"
651cdfcbac6245f570475991588ddc2d30265e8d 07-Sep-2011 Irfan Sheriff <isheriff@google.com> Unhide wifi p2p API

Bug: 5247957
Change-Id: Id93e30c0cb60f361ba13a840de8f843415777336
ontext.java
0aaa0d931716e9f57a1d84d795fab2df75092756 13-Sep-2011 Kenny Root <kroot@google.com> Add verifier device identity

This adds a special device identifier that is usable only for device
validation. The user will be presented with this number encoded in
easily-transcribable Base32 in the Developer options of Settings.

Change-Id: I4843f55ee90d689a51d0269b22454ca04c1be7ec
m/ActivityInfo.aidl
m/ApplicationInfo.aidl
m/ConfigurationInfo.java
m/FeatureInfo.aidl
m/IPackageDataObserver.aidl
m/IPackageManager.aidl
m/IPackageStatsObserver.aidl
m/InstrumentationInfo.aidl
m/ManifestDigest.aidl
m/PackageInfo.aidl
m/PackageInfoLite.aidl
m/PackageManager.java
m/PackageStats.aidl
m/PackageStats.java
m/ParceledListSlice.aidl
m/PermissionGroupInfo.aidl
m/PermissionInfo.aidl
m/ProviderInfo.aidl
m/ResolveInfo.aidl
m/ServiceInfo.aidl
m/Signature.aidl
m/VerifierDeviceIdentity.aidl
m/VerifierDeviceIdentity.java
ab0f485e64418eb22f0a1d89d7064902b381e9c2 13-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix problems where we were allocating TypedArray when not needed.

Fixes up some recycling of TypedArray objects to reduce the
number we need to allocate during inflation etc.

Change-Id: I948dccc052997779001eaa99db2a710b04be01ae
es/Resources.java
83f9dfe0f085a01ebaa9f3ba6205af20e20bbe78 13-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Add boot mode where only "core apps" are started."
d2509fd83597595914ef0627685e917380863eb6 12-Sep-2011 Dianne Hackborn <hackbod@google.com> Add boot mode where only "core apps" are started.

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

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

Currently this boot mode is always turned off.

Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
m/PackageParser.java
87b146625a2daa7eaa606e1975e94a9a579af8b8 12-Sep-2011 Fred Quintana <fredq@google.com> Revert "Make the SyncManager timeout syncs if it takes too long to bind to them."

This reverts commit bf3c634dc5bea1d6188efaba159b1ecbc038a4f7

Bug: 5290505
Change-Id: I11a681b48360f5c200a0602c4daf30ae82b4209c
yncManager.java
16e1678df48f6de4eb602f9cd18baa1e40b1181f 09-Sep-2011 Fred Quintana <fredq@google.com> Merge "Make the SyncManager have wakelocks per account, not per account type, otherwise the parallel sync behavior of gmail can cause the first account to finish to release the wakelock that is used for the other account, which will result in the device going to sleep before the sync is complete."
fdb2dca4546742803617c370c2fb823b0ab63a07 09-Sep-2011 Fred Quintana <fredq@google.com> Make the SyncManager have wakelocks per account, not per account type,
otherwise the parallel sync behavior of gmail can cause the first
account to finish to release the wakelock that is used for the other
account, which will result in the device going to sleep before the
sync is complete.

Change-Id: I7658465ca0956dfd9bb341de03126869e6217d31
yncManager.java
795b6490fef91376698f01476e76af7fb00d3b2c 08-Sep-2011 Subir Jhanb <subir@google.com> Changing the timeout for detecting syncs that are taking too long to bind
BUG: 5222661

Change-Id: I9406980e26a4ee30ac6d5470bc97928e3dc74d24
yncManager.java
905577f6345c014fc2489a8068ea967ba8c18012 08-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5263361: Browser instance not created in application picker

The resolver activity was hiding the following activity from recents.

Also some other fixes: a little better memory use debugging, removed
some unneeded code from window manager, moved some system activities
into their own process, added some more running process information for
manage apps.

Change-Id: I66687d16989ff965d524b92dc360f37c19199717
ontext.java
1a58dce0cc9ae772c0025ecadac1fe3b3a06e1a0 07-Sep-2011 Irfan Sheriff <isheriff@google.com> Merge "Add feature definition for Wi-Fi Direct"
45b8b464992bbfa9bd2a587f05c1e1723aedcecd 07-Sep-2011 Irfan Sheriff <isheriff@google.com> Add feature definition for Wi-Fi Direct

Bug: 5267396
Change-Id: I4f61b0afd1466420ab951f6d74ec444036772b21
m/PackageManager.java
9b44aaefc0c8c4aafd176c2fe5af86e098422b56 03-Sep-2011 Dianne Hackborn <hackbod@google.com> Some more preloaded drawables.

More to come.

Change-Id: I28393c6e52553e960d3a765ba793cfdbf36460ff
es/Resources.java
f705f788b5a4ba8c8b92bcd237534eb55c464f57 02-Sep-2011 Fred Quintana <fredq@google.com> Merge "Make the SyncManager timeout syncs if it takes too long to bind to them."
bf3c634dc5bea1d6188efaba159b1ecbc038a4f7 01-Sep-2011 Fred Quintana <fredq@google.com> Make the SyncManager timeout syncs if it takes too long to bind to them.

Bug: 5222661
Change-Id: Ia6b995744860a27d13ad1ee64fa06bef137b7731
yncManager.java
93d77b633e7888b425443f544b2732485adee45e 01-Sep-2011 David Brown <dab@google.com> Don't log PII when launching intents with "sms:" or "sip:" URIs

We were already redacting phone numbers from "tel:" and "smsto:" URIs.

Now, do that for "sms:" and "sip:" too, since those schemes are equally
likely to contain PII in the scheme-specific part.

TESTED: Received incoming call; selected "Respond via SMS" -> "Custom
message"; confirmed no PII in the system log.

Bug: 5244735
Change-Id: If2444c8901249aac9fd8e6b809d6da01db2e27c1
ntent.java
d32f27aec04dd91edf488f280ca609e0b55aec9e 26-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL"
7810b5f8cffb3c2c98fd0df579f4da5a9ac6cc73 25-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL

- force TextView to LOCALE text heuristic when in "password" mode
- remove TEXT_LAYOUT_DIRECTION_UNKNOWN_DO_NOT_USE
- LocaleUtils.getLayoutDirectionFromLocale() returns "LTR" is locale is NULL or ROOT

Change-Id: I182c46aaf2d73c8b18967fffa230bfabec91ed06
es/Configuration.java
e6d60ecdf668499f003a81274f18cb57075eb65b 24-Aug-2011 Fred Quintana <fredq@google.com> add a way for the sync adapter to specify the activity that should
be invoked to reach a settings screen for that sync adapter

Bug: 5204776
Change-Id: I4641067c1f0710c51f2633241a8c87bc4d568af2
bstractThreadedSyncAdapter.java
yncAdapterType.java
yncAdaptersCache.java
661cd52e0e1d527132eb1cae604d3e64da7ec0cb 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add progress dialog for booting after an upgrade.

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

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
m/IPackageManager.aidl
d99b293d5f11b784d7406f5398bc654920b42482 18-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5180553: permission RECEIVE_BOOT_COMPLETED is not checked

Change-Id: I069673f2fbdf05e409c5e9ed99ccd1e15b4fe3ed
m/ResolveInfo.java
14ee9a117e9c307678ae71fda070687ac0409c29 17-Aug-2011 Alon Albert <aalbert@google.com> Merge "Check for periodic sync that is in the future Bug: 5164762 Change-Id: If578737bcfc4f83756f75c516657afdfc601caf1"
cc6edf378e32e607037cd8e69032efbe74917984 17-Aug-2011 Alon Albert <aalbert@google.com> Check for periodic sync that is in the future
Bug: 5164762
Change-Id: If578737bcfc4f83756f75c516657afdfc601caf1
yncManager.java
46d2545db48e6b8565ef7beedf6486ef5d7f4507 16-Aug-2011 Kenny Root <kroot@google.com> Merge "Infrastructure to support package verifier"
bcc2d40a11432736e94c1dd3c64abd1aac476c20 16-Aug-2011 Kenny Root <kroot@google.com> Merge "Throw exception on odd length Signatures"
5ab2157bf1f105b02d3e2913cd3a33f9765b74ca 27-Jul-2011 Kenny Root <kroot@google.com> Infrastructure to support package verifier

Allow a package verifier to approve or disapprove of a package being
installed.

Change-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
6e90a362bc66cc67b1beae27b21d3f0148403b08 15-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5159736 - Make DeviceDefault the default

Have the framework refer to the DeviceDefault themes for ICS apps that
don't explicitly request another theme.

Change-Id: I27dd0bbaa60f71df4f36e47d260f556d923ba075
es/Resources.java
7f9f99ea11051614a7727dfb9f9578b518e76e3c 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
es/AssetManager.java
es/Resources.java
es/TypedArray.java
e09cd7914c117e84bf78676d0e760c51aa147eb8 11-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "New broadcast telling when an app is fully removed."
f9abb405903cab1fcd379388a96925524840c607 11-Aug-2011 Dianne Hackborn <hackbod@google.com> New broadcast telling when an app is fully removed.

Change-Id: Ia516d826f302a01881fa92d9ffdc0adfbf669a4b
ntent.java
bcc954d772e8cd5ef640060cbc0be50e7e4778f2 09-Aug-2011 Kenny Root <kroot@google.com> Manifest digest stored during package scanning

This allows things that scanned an APK to pass a hash of the manifest to
others that would then be able to compare it.

Change-Id: I465f5edf3acab2a952c3d321c8df2247ffe012ea
m/ManifestDigest.aidl
m/ManifestDigest.java
m/PackageParser.java
4a51773e4aa6b447e9cbf70030eaf92e4e6d7b90 10-Aug-2011 Kenny Root <kroot@google.com> Merge "Eliminate warnings from PackageParser"
271c2fe0eb36fbf872535bedf3ee8156e3087847 10-Aug-2011 Dianne Hackborn <hackbod@google.com> New extended Intent protcols for installing/uninstalling apps.

Change-Id: I13be1cc58c91f51d521a1f0f734d2b2db7b2980b
ntent.java
d2d2925ff7ae9456c1c6c9147b1b9fd9a99ea607 08-Aug-2011 Kenny Root <kroot@google.com> Eliminate warnings from PackageParser

Change-Id: I1e07029261df59907115fd1f54da3e9b3fbfa240
ntentFilter.java
m/PackageParser.java
1137341885d8dc451dddc2e01319fb0fab00bbc3 29-Jul-2011 Kenny Root <kroot@google.com> Throw exception on odd length Signatures

The old version of this code would silently truncate odd-length
Signatures. However, this masks some bugs. Add a throw of
IllegalArgumentException so users can easily see where they're getting
bad input for Signatures.

Also, go through the existing code and catch this exception or
pre-check the input strings so system_server doesn't crash later.

Bug: 5092338
Change-Id: I8c672c5eaeb738a92c4581ce0df09baf719980ef
m/Signature.java
1ebd74acf9977daa42133507e970dab88e08f0ef 04-Aug-2011 Kenny Root <kroot@google.com> Better error codes for missing files

Make sure that files that don't exist aren't returning bogus 'out of
space' error codes.

Add some Javadoc so I can remember what each thing does in an IDE.

Add copyright header to NativeLibraryHelper

Bug: 3375299
Change-Id: Iac46019160921daca65b21d38897e5165063316e
m/PackageParser.java
269248d112e35fe8e9f0d5d11c96dcb2ac1118b0 02-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5098288 - Rethink the suite of new themes

Cut down the list of new themes for ICS. Holo apps now have
Theme.Holo, Theme.Holo.Light, and Theme.Holo.Light.DarkActionBar to
choose from.

Add manifest attribute android:uiOptions to express
splitActionBarWhenNarrow. Other options may move into this later as
well. (DialogWhenLarge?) This attribute is valid on both activity and
application tags; application settings will serve as the default for
activities that do not explicitly set uiOptions.

uiOptions are not currently reflected in the startup window for new
activities.

Change-Id: Iffdc2ce4cc69f79c9bd4e541b7923286e6936c1e
m/ActivityInfo.java
m/ApplicationInfo.java
m/PackageParser.java
c68c913d357e2955d4bd7ca52829071e531c7825 29-Jul-2011 Dianne Hackborn <hackbod@google.com> Various work on out of memory managment.

- Improve how we handle processes that have shown UI, to take care
of more cases where we want to push them into the background LRU
list.
- New trim memory level for when an application that has done UI
is no longer visible to the user.
- Add APIs to get new trim memory callback.
- Add a host of new bind flags to tweak how the system will adjust
the OOM level of the target process.

Change-Id: I23ba354112f411a9f8773a67426b4dff85fa2439
omponentCallbacks.java
omponentCallbacks2.java
ontentProvider.java
ontext.java
f40216f98aa63df4a4ff1f26692502cd9078a6fa 28-Jul-2011 Jean Chalard <jchalard@google.com> Fix a bug where a provider could be never released.

Bug: 5034192
Change-Id: I5d4adf27ea933687d4a0bc5ee76d57b74e708eec
ontentResolver.java
f2fa907e1f815f2fe1add2cb8fb0e159d0f38edb 27-Jul-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #4466531: onServiceConnected() not called after..."
36193d09a87035395d036a730038b765ac0b0913 13-Jul-2011 Scott Main <smain@google.com> cherrypick Change-Id: I4713d3977a0a1514ff9c4217e7f3723c0346d0d8
docs: revise ActionBar class summary and add a few links to dev guide docs

Change-Id: I14df84b16d7bdab85aa74d8b8211e988b0519115
oader.java
130b0d2b2629bdd8fc415e0f3da947f965a3f29d 27-Jul-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4466531: onServiceConnected() not called after...

...apk reinstall; affects user privacy

Disconnecting a ServiceConnection after an app is torn down could
impact the bookkeeping of the same service if it has been started
for the app.

Also address issue #5073927: GSF process can't be killed

A new flag allows the systems location manager service to tell
the activity manager to not pull bound services up forever into
the visible adj level.

Change-Id: I2557eca0e4bd48f3b10007c40ec878e769fd96a8
ontext.java
34821881c159e434a1a2c8a6ba5ebfc64376791e 13-Jul-2011 Jeff Sharkey <jsharkey@android.com> Avoid sync when UID network is disconnected.

During maybeStartNextSyncLocked(), check the network connectivity for
the target UID, and skip when disconnected.

Bug: 4519115
Change-Id: I8adee8e04521cb878624b19e557d01869f984c4c
yncManager.java
5ccdaa9a0354f0424303ef4f94a65e35764cc9c4 25-Jul-2011 Kenny Root <kroot@google.com> Merge "Stop using charAt for Signatures"
55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be 24-Jun-2011 repo sync <isheriff@google.com> Updated: Wi-Fi p2p framework

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

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

Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
ontext.java
d21d444426911d93c507a929a8223ebf63258954 23-Jul-2011 Kenny Root <kroot@google.com> Stop using charAt for Signatures

Simply getting the byte array and operating on that instead of using
String.charAt() repeatedly speeds up Signature initializer calls during
bootup from 150ms to 9ms (1700% faster).

Change-Id: I85ef17ef63477927e0181d5f49a1d521b7b0d98b
m/Signature.java
7793719ca97571f5b3636d5a89cb067c71d627bd 22-Jul-2011 satok <satok@google.com> Merge "Create TextServiceManager and SpellCheckerService"
988323c57bd25a58f05dfa492d9b9c8ab62c5153 22-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

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

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

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

Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
ontext.java
f0754f5ba7a45b517cffcb3c2c96f2a32aeac06d 22-Jul-2011 Dianne Hackborn <hackbod@google.com> Fix bug where memory trim was not being delivered with correct level.

Also improve how we handle services, keeping track of whether they showed
UI and if so putting them immediately on the LRU list.

Change-Id: I816834668722fc67071863acdb4a7f427a982a08
omponentCallbacks.java
b4569fb17fada4fdc43e4f4dbfbc79bb097a1f74 09-Jul-2011 Amith Yamasani <yamasani@google.com> SearchView behavioral and visual changes

Align text suggestions and search string.
Close button only clears the field.
Back button clears focus, hides dropdown and keyboard.
Tweaked SearchDialog's use of SearchView to follow above patterns.
Fixed other little bugs.

Change-Id: I9d34c2ebe2b1b2ca887220894c19a26809db85f6
earchRecentSuggestionsProvider.java
1b64e0d8657463c0f7ce9b068a16a522cdfe7d28 18-Jul-2011 Dianne Hackborn <hackbod@google.com> Work on death recipient leaks in Activity Manager and Content Service.

This should fix a leak of process death recipients in the activity manager.

Also add debugging of content observers to try to track down what looks
like a leak of them in the content service.

Change-Id: Id6823679493ef0cde5307bb66490ebe31b878556
ontentService.java
ce86ba86df61de8b34b226a4eb6c23ec33e866e0 14-Jul-2011 Dianne Hackborn <hackbod@google.com> Improve handling of low memory.

Now classify background processes into a set of bins of how much
memory they should try to clear. The last bin also involves
destroying all activities in that process.

Removed the old code for the simulator that is no longer needed
(yay). The debugging features it had are now integrated into the
regular oom adj code.

Small fixes to load average service.

Change-Id: Ic8df401714b188c73b50dbc8f8e6345b58f1f3a0
omponentCallbacks.java
08009f1446eaad72946ec1af806590dbf60d95bf 08-Jul-2011 Gilles Debunne <debunne@google.com> Merge "XmlDocumentProvider moved to the XmlAdapter sample code"
79ec80db70d788f35aa13346e4684ecbd401bd84 24-Jun-2011 Christopher Tate <ctate@google.com> Make full backup API available to apps

New methods for full backup/restore have been added to BackupAgent
(still hidden): onFullBackup() and onRestoreFile(). The former is the
entry point for a full app backup to adb/socket/etc: the app then writes
all of its files, entire, to the output. During restore, the latter
new callback is invoked, once for each file being restored.

The full backup/restore interface does not use the previously-defined
BackupDataInput / BackupDataOutput classes, because those classes
provide an API designed for incremental key/value data structuring.
Instead, a new FullBackupDataOutput class has been introduced, through
which we restrict apps' abilities to write data during a full backup
operation to *only* writing entire on-disk files via a new BackupAgent
method called fullBackupFile().

"FullBackupAgent" exists now solely as a concrete shell class that
can be instantiated in the case of apps that do not have their own
BackupAgent implementations.

Along with the API change, responsibility for backing up the .apk
file and OBB container has been moved into the framework rather than
have the application side of the transaction do it.

Change-Id: I12849b06b1a6e4c44d080587c1e9828a52b70dae
m/ApplicationInfo.java
m/PackageParser.java
171c60e81fef8e227c261e0567b786124e718851 01-Jun-2011 Gilles Debunne <debunne@google.com> XmlDocumentProvider moved to the XmlAdapter sample code

Bug 4477831

Related to CL https://android-git.corp.google.com/g/#change,112514

Change-Id: Ib63a0bf5d2a868433748dec1a45576ca2fa18045
mlDocumentProvider.java
6c418d585e0a91054b168fde3130188afd006c98 29-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4902856: Don't let apps register non-explicit PendingIntents

Location manager now checks for such intents, and logs a warning when
they are given to it. Nothing thrown yet, it needs to check the
targetSdkVersion of the caller somehow.

When sending the pending intent, we require that the recipient hold the
appropriate permission. This should pretty much close the security hole.

Includes a bunch of infrastructure in the activity manager needed to
support all this.

Change-Id: I4dba7a98a7b8bbb9e347666451aa9cb1efad1848
ontext.java
IntentSender.aidl
ntentSender.java
292f8bc9d1b790ab975a87a842c7fabc908b97e0 28-Jun-2011 Dianne Hackborn <hackbod@google.com> Plumb information from the framework about asec container size.

Change-Id: Ie0ec3cb6d463aefa341a8cbea80be790451ba5e3
m/PackageStats.java
2d6833bab353e31ceb4230f3f3563fca2e0d9f6f 25-Jun-2011 Dianne Hackborn <hackbod@google.com> Turn on HW accel by default for apps that target ICS.

Change-Id: I010e11e03b2dfd0d1db8c47f74c25a28586fd79c
m/PackageParser.java
2b31d53161789358de57fd396716a6503855c5da 23-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4770360: older app compatibility mode is really tiny on ICS phones

We were applying the density compat mode scaling multiple times to
display metrics, causing bad values.

Change-Id: Iafafd9a5e94b9d774cd2715bf968e91602a1bd82
es/CompatibilityInfo.java
es/Resources.java
8969d9924c662ab4cdacc342bbdc33756db730be 22-Jun-2011 satok <satok@google.com> Revert "Create TextServiceManager and SpellCheckerService"

This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
ontext.java
eaddb894865a804279659b4aad6364a34ab50beb 01-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

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

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

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
ontext.java
0ac3031c159a0904e73eb4439cdc724d8df4a6e6 17-Jun-2011 Dianne Hackborn <hackbod@google.com> Implement remaining infrastructure for user disabling apps.

Change-Id: If8135eb0e27ec36f8f159eb7b6397add7acd0299
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
7e27e489d86888ac8bfc7852379a58178313fa5c 16-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags"
a47f45e4829f812ff47f9e5c9370b02284d92ae8 15-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags

- move code from Configuration to LocaleUtil
- move unit tests

Change-Id: Ic14b0131894a0c5618f00d4acb3edb0daadefe01
es/Configuration.java
711516d140390aeec9e3eefb8fdb2681c3454980 14-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 77fc8b80 to master

Change-Id: I014f9a886d6f05607d2a5d101ad2052a6841ee8d
77fc8b8066709a1d09a159901fd65c49b5e6eaa5 14-Jun-2011 Dianne Hackborn <hackbod@google.com> am 6c0533f9: am c5193c62: Merge "Add new landscape and portrait orientation features." into honeycomb-mr2

* commit '6c0533f994e7991b3bd60cab48362e8e2e6d86f0':
Add new landscape and portrait orientation features.
e289bff0ec2b1af4ba773e0c8d49d5fd46eb9921 14-Jun-2011 Dianne Hackborn <hackbod@google.com> Add new landscape and portrait orientation features.

Updates aapt to know about these. Also updates aapt badging to:

- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.

Change-Id: I7376042b817391bd070f549cebbc7f03be4635c8
m/PackageManager.java
7a736fbf69dd6f03db968d7d8182024eebc0e508 10-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Update Configuration for renaming and fixes

- rename layoutDirection to textLayoutDirection
- rename constants for being clear that they cannot be used (work in progress)
- fix a few issues concerning default switch case and relation to Locale

Change-Id: Icfe9a9b5c0d1c0e28e5a893549b437fc4fa5df82
es/Configuration.java
e6b03d0979e0bd6dfeda7b45850182c3092bb3e7 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 9dfd7d0a to master

Change-Id: I9fbee3209b7fe5c7b5b42b62309eb60dc49bf9e2
f741e679c496f7345304a6543f01d7048e31d1a7 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e2aa0490 to master

Change-Id: Id0448a1598fc93aca0652b29253e02586e35a067
5f3b2f1e59f34f7043487a194c9ab532b0f5a24f 10-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add Configuration.getLayoutDirectionFromLocale()"
7194efd394ce0b38a74bab87206adfd9ff823742 09-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add Configuration.getLayoutDirectionFromLocale()

- returns LAYOUT_DIRECTION_UNDEFINED / LAYOUT_DIRECTION_LTR / LAYOUT_DIRECTION_RTL depending on the Locale
- add unit tests

Change-Id: I4372734eb011cbf6270f39ba815e696b04f2352f
es/Configuration.java
9dfd7d0a47549bdf0b429b760a9ede9748f427de 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am 2d618e41: am e22fe933: Fix issue #4582417: Need to add new PackageManager...

* commit '2d618e415fa0ed8a1e7ac8d0ffe98cebdf6c208b':
Fix issue #4582417: Need to add new PackageManager...
e22fe9331ad8a9f81470751fdeca7633f654cffa 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4582417: Need to add new PackageManager...

...FEATURE_ constant for FAKE_MULTITOUCH in MR2

Change-Id: Ib6950d9dbdd58618aec593de7e0cf1c01b7d6ef9
m/PackageManager.java
e2aa04908cfdf65ef309f1491f31a0c8846977ff 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am a1396dfe: am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2

* commit 'a1396dfe7ad6ec6953f544be42d69d7804ab0fd4':
Work on issue #4518815: Compatibility mode introduces compatibility regression...
5fd2169eabd77e6bfafaf456e58051a3bafb2bca 07-Jun-2011 Dianne Hackborn <hackbod@google.com> Work on issue #4518815: Compatibility mode introduces compatibility regression...

...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components. This addresses everything
I could find.

Unfortunately it does *not* fix this particular app. I am starting to think this
is just an issue in the app. This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
7f86827af44eb5267c8d21f355d109ff71b04f10 06-Jun-2011 Jeff Sharkey <jsharkey@android.com> Intent to manage application network data usage.

Will be launched by Settings when presenting detailed network data
usage for a specific application. Offers easy access into application
settings to change behavior.

Change-Id: I4ee0fdbc69f6a800ad59aca8db6b21f15ca71a66
ntent.java
b0628bfd5aac480a0d412ac96b8af1d97ac01c30 03-Jun-2011 Christopher Tate <ctate@google.com> Implement shared-storage full backup/restore

Every available shared-storage volume is backed up, tagged with its
ordinal in the set of mounted shared volumes. This is an approximation
of "internal + the external card". This lets us restore things to the
same volume [or "equivalent" volume, in the case of a cross-model
restore] as they originated on.

Also fixed a bug in the handling of files/dirs with spaces in
their names.

Change-Id: I380019da8d0bb5b3699bd7c11eeff621a88e78c3
m/PackageParser.java
7e4db3767b1338dd9f2c09a3f6453abd656c977f 07-Jun-2011 Mike Lockwood <lockwood@android.com> Add comment for deprecation of Intent.ACTION_UMS_CONNECTED and ACTION_UMS_DISCONNECTED

Change-Id: I3c42393c79424217d6b44cccef9de9e06da58193
Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
da85e524c7d2dc3b7524cddd12ad0461602a1cbb 07-Jun-2011 Mike Lockwood <lockwood@android.com> Deprecate Intent.ACTION_UMS_CONNECTED and Intent.ACTION_UMS_DISCONNECTED

Change-Id: I7261959462422cf241a46a5ada6fbd98d655db3d
Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
ead40eaedb7993ca8c5153c349dd65f276d6862e 04-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of cc20b4e3 to master

Change-Id: I990368443a16a0577f7a1f5623b348cca3f81ac4
2515db74fe2e75018f618591fabe23fda8362bf3 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 3a80c504: am 8b9a2b6c: am e6676351: Work around OpenFeint bug.

* commit '3a80c50485809fe72d6de83dacad494c5e84ed24':
Work around OpenFeint bug.
9f2f3752ae26b6812e0ee33a61dd331b0be673c7 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am c11f6c3e: am 7cae137e: am 79841acb: Merge "Compatibility mode never needed for normal size screens." into honeycomb-mr2

* commit 'c11f6c3e33c9f1e3964cb2427f82509fc97e3527':
Compatibility mode never needed for normal size screens.
455591b91311d6959f521fff9acae5a06df442a8 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am c691d7f9: am b8d10931: am fd206560: Merge "Forgot this file." into honeycomb-mr2

* commit 'c691d7f9a3621d5ef9b9d48e95c644a318b36322':
Forgot this file.
50469db07167e3a837e10f215baa4eacb1319604 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 7322e557: am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit '7322e557cfe42da42779625d69ced2db74a9df90':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
7dad2c24fa7811c115f850fd2a8f2ecc8874061e 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 9b94aa18: am e5d37701: am 8ea5e1d7: Fix compat mode bugs when updating apps.

* commit '9b94aa18f78e6c6281202e72b5a7451bc479fe82':
Fix compat mode bugs when updating apps.
0e5e16a656b0002f377f1bcda2e43a97206e4046 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am da9837fb: am c058d386: am ff762299: Merge "Small fixes and cleanup of resource config handling." into honeycomb-mr2

* commit 'da9837fb61c8aa53c67921682016d97655332089':
Small fixes and cleanup of resource config handling.
546d64f56d0f930070289e26021f97638601e388 02-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 5c2e4d20 to master

Change-Id: Iadbee872468ceafb54c5877046c91f6052f3c953
c6f1f4ac3b3f19222cb72c44e19d5251a3b46831 02-Jun-2011 Gilles Debunne <debunne@google.com> am ca6c3a2b: am 4ce6822b: am 24de44a1: Merge "ExternalStorageFormatter takes an optional StorageVolume target." into honeycomb-mr2

* commit 'ca6c3a2bba4445f492117697cb304a014a185159':
ExternalStorageFormatter takes an optional StorageVolume target.
ed60f81940c5f2125518c7c31ad4f61b8a9baf3e 02-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 76450622 to master

Change-Id: I26ccd8f264e65f100d894f43cf597a781552db83
cc20b4e31ece564800aa2322efe3ae9da163b570 02-Jun-2011 Dianne Hackborn <hackbod@google.com> am a5f88510: am 2969b511: Merge "Add new supports-screen API to set maximum allowed size." into honeycomb-mr2

* commit 'a5f8851019605be26dd9a628280092e27f8a5f31':
Add new supports-screen API to set maximum allowed size.
2762ff3dc864018352362f6d103de471f9529ba6 02-Jun-2011 Dianne Hackborn <hackbod@google.com> Add new supports-screen API to set maximum allowed size.

Change-Id: I0a7cd4ba73a4c18558e6daee28963d5fd12c7978
m/ApplicationInfo.java
m/PackageParser.java
es/CompatibilityInfo.java
3a80c50485809fe72d6de83dacad494c5e84ed24 02-Jun-2011 Dianne Hackborn <hackbod@google.com> am 8b9a2b6c: am e6676351: Work around OpenFeint bug.

* commit '8b9a2b6cbd9cf37e9f5aa1bfc7106c67a5e89202':
Work around OpenFeint bug.
75279904202357565cf5a1cb11148d01f42b4569 25-May-2011 Jeff Sharkey <jsharkey@android.com> Collect historical network stats.

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

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

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

Change-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a
ontext.java
e66763516a9c27c192adaba417616371a1c3c9bf 02-Jun-2011 Dianne Hackborn <hackbod@google.com> Work around OpenFeint bug.

Change-Id: Ib8320e50bb63fc56dc0118d5c8e9e328dbd3fcb1
m/ActivityInfo.java
m/PackageParser.java
c11f6c3e33c9f1e3964cb2427f82509fc97e3527 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am 7cae137e: am 79841acb: Merge "Compatibility mode never needed for normal size screens." into honeycomb-mr2

* commit '7cae137ed155f2d311f020bbb3e75730344fd5fc':
Compatibility mode never needed for normal size screens.
39ec8fb9572b6f7a6c3dbc135f32f2a8cbcd640f 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Compatibility mode never needed for normal size screens.

Change-Id: I3482fa692618b9272e1e19384e766a77f2a53c5d
es/CompatibilityInfo.java
36f80f3a5a3de42d4e7ca4b53d4aa3e567f4df6f 01-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 590ec479 to master

Change-Id: I30503da6a73b9cb15eee66a67c75d50ccdc4b9f0
c691d7f9a3621d5ef9b9d48e95c644a318b36322 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am b8d10931: am fd206560: Merge "Forgot this file." into honeycomb-mr2

* commit 'b8d109318f6fc88d1a59ca0e6e362963cd06960c':
Forgot this file.
363456c7249f6545e7bde8134ff2e796c6f4c55f 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Forgot this file.

Change-Id: I8aa457d8d81d283f8cc36f68eca33fcb3a86ccad
es/CompatibilityInfo.aidl
7322e557cfe42da42779625d69ced2db74a9df90 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit 'a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2f0b17573d4324832f7a20402a3d2b5920bc4866 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4502672: Wrong xml resources used for homescreen widgets.

There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config. For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
9b94aa18f78e6c6281202e72b5a7451bc479fe82 28-May-2011 Dianne Hackborn <hackbod@google.com> am e5d37701: am 8ea5e1d7: Fix compat mode bugs when updating apps.

* commit 'e5d377014b04022a04fd0b2b24b343d1e0ec8d2a':
Fix compat mode bugs when updating apps.
8ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d 28-May-2011 Dianne Hackborn <hackbod@google.com> Fix compat mode bugs when updating apps.

No longer accidentally puts an app into compatibility mode.

Also various cleanup, freezing screen while switching between modes.

Change-Id: Ic1b3958be7800189a93f68e9dee3c5adfc45fe57
es/CompatibilityInfo.java
da9837fb61c8aa53c67921682016d97655332089 27-May-2011 Dianne Hackborn <hackbod@google.com> am c058d386: am ff762299: Merge "Small fixes and cleanup of resource config handling." into honeycomb-mr2

* commit 'c058d38602a1ffe00e14b4ab32c876c252eabe6d':
Small fixes and cleanup of resource config handling.
3904d03dd01dcd43c446744e44b34615825d9679 27-May-2011 Dianne Hackborn <hackbod@google.com> Small fixes and cleanup of resource config handling.

Change-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb
es/Resources.java
5c2e4d20df934728f39312741ef3390fd87795ce 27-May-2011 Dianne Hackborn <hackbod@google.com> am 8fcbfb52: am 94250ac6: Merge "Add new supports-screens attributes for declaring the compatible screens." into honeycomb-mr2

* commit '8fcbfb52607263754b6d3895a112f792c5c3a12e':
Add new supports-screens attributes for declaring the compatible screens.
94250ac69c6e07534e4781d3479dccb79d8c366c 27-May-2011 Dianne Hackborn <hackbod@google.com> Merge "Add new supports-screens attributes for declaring the compatible screens." into honeycomb-mr2
ca6c3a2bba4445f492117697cb304a014a185159 27-May-2011 Gilles Debunne <debunne@google.com> am 4ce6822b: am 24de44a1: Merge "ExternalStorageFormatter takes an optional StorageVolume target." into honeycomb-mr2

* commit '4ce6822bc63665ca3e9d9984766f367ce4f4d3a7':
ExternalStorageFormatter takes an optional StorageVolume target.
24de44a1877be3e5d63697f90c98a87a4d88b1fb 27-May-2011 Gilles Debunne <debunne@google.com> Merge "ExternalStorageFormatter takes an optional StorageVolume target." into honeycomb-mr2
df6e980e3f63eb0f6f9eb437fa925d5009cd9c44 26-May-2011 Dianne Hackborn <hackbod@google.com> Add new supports-screens attributes for declaring the compatible screens.

Change-Id: I40d57e4354e48accc1027c9f90916ea73eb5190d
android:requiresSmallestWidthDp provides the smallest supported width.
android:compatibleWidthLimitDp provides the largest compatible width.
m/ApplicationInfo.java
m/PackageParser.java
es/CompatibilityInfo.java
76450622f08b1d0d09df7f1ad8e52afe01090770 26-May-2011 Dianne Hackborn <hackbod@google.com> am d5238cc1: am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2

* commit 'd5238cc1ab8366389b2aada228f2f2e5cbb3244e':
Rework how we decide whether to use system or status bar.
1d8f8819f1e98cdf3b7756396158613e95fe9eb6 26-May-2011 Kenny Root <kroot@google.com> Merge "Break apart queries to getInstalled* API DO NOT MERGE" into honeycomb-mr2
37051cdd8624c4821bb68169be427061c48ad837 26-May-2011 Gilles Debunne <debunne@google.com> ExternalStorageFormatter takes an optional StorageVolume target.

Change-Id: Ic85689659dbf49a7fcc1b7aaf25e4a94e62848b9
ntentFilter.java
590ec479fd51e13d077212833e2ac4f848a49cc3 26-May-2011 Dianne Hackborn <hackbod@google.com> am 80ef2a97: am 42f8094c: Merge "Spiffy new compatibility mode UI." into honeycomb-mr2

* commit '80ef2a9745e6103efd9698577536bbfed1fd74f6':
Spiffy new compatibility mode UI.
81e56d535c853d73ff537357da5b935f51cb779d 26-May-2011 Dianne Hackborn <hackbod@google.com> Rework how we decide whether to use system or status bar.

The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
es/CompatibilityInfo.java
1bb6cf18c0039cb9d2a60713ea34d3709af58c5c 16-Apr-2011 Kenny Root <kroot@google.com> Break apart queries to getInstalled* API DO NOT MERGE

To avoid blowing past the Binder IPC limit, change the
PackageManagerService to have a DB-like interaction where the client
tells the service the last "row" that it read.

The fact that we use a HashMap instead of a TreeMap makes this
problematic. For now we're just making a new ArrayList for the keys and
then sorting them for each call. This can make the API slower for callers
of this, but it's probably greatly overshadowed by the cost of the data
transfer itself.

Bug: 4064282
Change-Id: Ia3a8cdaa94581ed9336f2e05694b8c8a5f757bce
m/IPackageManager.aidl
m/ParceledListSlice.aidl
m/ParceledListSlice.java
36cd41f8efa6f6a683d3353d309ff548295af9e9 26-May-2011 Dianne Hackborn <hackbod@google.com> Spiffy new compatibility mode UI.

Change-Id: I1207eaafae59a434fcc979ad60a83e2d685288af
es/CompatibilityInfo.java
fee1c69a49d03b651e481983432ade94fc07650a 26-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 77dd616e to master

Change-Id: Idb7180177b01e7d822327ccc7c76617220860da2
77dd616e685e2671491d911d0847efa4f832717e 25-May-2011 Dianne Hackborn <hackbod@google.com> am 00b3a5c6: am c404e9b2: Merge "More compatibility mode improvements." into honeycomb-mr2

* commit '00b3a5c65e6ef26056178d1d7473b921671752e9':
More compatibility mode improvements.
5be8de3420ba4c9d816b98e29bdec11715f6b626 25-May-2011 Dianne Hackborn <hackbod@google.com> More compatibility mode improvements.

We now correctly adjust display metrics, fixing for example issues
seen in Barcode Scanner. In addition the decision about when to use
compatibility mode has a bug fixed where certain apps would not go
out of compatibility mode even though they should be able to.

Change-Id: I5971206323df0f11ce653d1c790c700f457f0582
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
8f40e5871213afb63ae4b68a44dd09e0a014e417 25-May-2011 Ying Wang <wangying@google.com> Merge "Fix intermediate src dir for framework.jar"
e2c7715c772d5121397591b532d04a31b3ffcc99 24-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of bbca8133 to master

Change-Id: I81493674dceab848e41d380a77a37e5a9be06db6
bbca81334e3603c7328dc526bd63032b23d5261d 24-May-2011 Dianne Hackborn <hackbod@google.com> am 4bb78889: am 40277df7: Merge "Add "television" mode." into honeycomb-mr2

* commit '4bb78889d04594c01a6af7f6d38c1764e9f575f9':
Add "television" mode.
e360bb6bd8ea84b8d37604fc11dfc744b18fb0de 21-May-2011 Dianne Hackborn <hackbod@google.com> Add "television" mode.

Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
es/Configuration.java
eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3 17-May-2011 Jeff Sharkey <jsharkey@android.com> APIs to profile network usage for current UID.

Added startDataProfiling() and stopDataProfiling() to TrafficStats,
which can be used by apps to measure network usage delta between two
points in time. Currently takes two NetworkStats snapshots and returns
delta, which will eventually include tag-level granularity. Added
tests for NetworkStats delta subtraction.

Added NMS.getNetworkStatsUidDetail() that returns stats for specific
UID. Always gives stats access for the calling UID, otherwise enforces
that caller has permission. Fix readSingleLongFromFile(), since
/proc/ files don't have well-defined lengths.

Change-Id: Ic5b6414d8effbd66846e275b00d4b8a82c74589d
ontext.java
161e67ff3ba26408eea09221734ad2e29a1eed11 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68 20-May-2011 Dianne Hackborn <hackbod@google.com> am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
Add new "-swNNNdp" resource qualifier.
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
m/ActivityInfo.java
m/PackageParser.java
es/AssetManager.java
es/Configuration.java
es/Resources.java
a51b6fd6f8a53f040894ef07cf23695581595e6b 20-May-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of b2d0ee16 to master

Change-Id: I4483a6d0ccecfea4a1e66bb6eba80d13e8b9a3a4
e6cd0c747e76723bc51a23925c239ae10f9d3b5c 19-May-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 2433c443 to honeycomb-plus-aosp

Change-Id: I3385f57e5761679e6700bcbe3c41deb3ecd43ba1
2433c443bb5fe96d9a39b59e10e3c03d791e2278 19-May-2011 Kenny Root <kroot@google.com> am f2006f31: Merge "Break apart queries to getInstalled* API" into gingerbread

* commit 'f2006f3123dcdf598e052051041b49c89710b53e':
Break apart queries to getInstalled* API
65ee22aa01c038fbcf656748ba7655c17df3ea61 17-May-2011 Ying Wang <wangying@google.com> Fix intermediate src dir for framework.jar

Intermediate src dir for JAVA_LIBRARIES should be in the common
intermediate dir.

Change-Id: Ib16ddd63aed080cdd1494204b347c1e1e1beafcb
OnPrimaryClipChangedListener.aidl
0305e354e12c9ff25bfd252cb282346632171b73 13-May-2011 Dianne Hackborn <hackbod@google.com> This API change is now part of MR2.

Change-Id: I242e66fb9c46d48244942298361f408062fb05c4
m/PackageParser.java
63446167b9d6d9ed3410320d17e8fe816caf6c42 16-May-2011 Dianne Hackborn <hackbod@google.com> am fddd927f: am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2

* commit 'fddd927fb78bb206287203f4f447a416b525115a':
DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
29735689cea7bf52998c1911542dcfdd1c1d9628 22-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.

Change-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a
es/Configuration.java
fbdf9df053800afb25453630d11bd48cbc068271 16-May-2011 Dianne Hackborn <hackbod@google.com> am 2a20583a: am 700ab1c7: Merge "DO NOT MERGE. Integrate from master: Improve activity manager debug dumps." into honeycomb-mr2

* commit '2a20583a5f436d66ab73cd6c0fdc73e59a3cecad':
DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.
24df0757f86851569b65dadd0dfa139521748b9c 14-May-2011 Dianne Hackborn <hackbod@google.com> am ed9321ab: am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

* commit 'ed9321ab5d282e40e7c5fa9caf0eb9d05646f2d0':
DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
9a84983a9fd9959671e102045eaf185b83291269 08-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.

Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem. Also lots of general cleanup of the am
dump output.

Change-Id: I99447b87f77a701af52aeca984d93dfe931f065d
es/Configuration.java
f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f 20-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.

And clean up some documentation.

Change-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232
syncTaskLoader.java
oader.java
2e4a3236a7634d17f89288e9739a438ecbea0471 13-May-2011 Dianne Hackborn <hackbod@google.com> am 46a282f3: am 0ed2e845: Merge "DO NOT MERGE. Integrate add new screen width/height in "dp" configs." into honeycomb-mr2

* commit '46a282f323bc05606e4fe1eba795bd9ac7c99819':
DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
ebff8f92f13513ce37bd74759eb1db63f2220590 13-May-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate add new screen width/height in "dp" configs.

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
m/ActivityInfo.java
m/PackageParser.java
es/AssetManager.java
es/Configuration.java
es/Resources.java
3d0724dc220a2e027b9e38f61c39c84c28a505d5 13-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 0e59729b to master

Change-Id: I2d3a6bddf66b1df0c101c45ea2fec1cf65caf01b
0e59729b104e48c7d935026f565c4b45f1f37d12 13-May-2011 Dianne Hackborn <hackbod@google.com> am 97280816: am 0f1de9ad: New compat mode front end: UI and persistence.

* commit '972808164adde6c0784e9c836d06219a9cf7eb7f':
New compat mode front end: UI and persistence.
0f1de9adde0b52d2a385a76232bd7ac30c3eeea2 12-May-2011 Dianne Hackborn <hackbod@google.com> New compat mode front end: UI and persistence.

Adds a really crappy UI for toggling compat mode.

Persists compat mode selection across boots.

Turns on compat mode by default for newly installed apps.

Change-Id: Idc83494397bd17c41450bc9e9a05e4386c509399
es/CompatibilityInfo.java
4a627c71ff53a4fca1f961f4b1dcc0461df18a06 01-Apr-2011 Christopher Tate <ctate@google.com> Full local backup infrastructure

This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device. The
basic process consists of these interacting pieces:

1. The framework's BackupManagerService, which coordinates the
collection of app data and routing to the destination.

2. A new framework-provided BackupAgent implementation called
FullBackupAgent, which is instantiated in the target applications'
processes in turn, and knows how to emit a datastream that contains
all of the app's saved data files.

3. A new shell-level program called "bu" that is used to bridge from
adb to the framework's Backup Manager.

4. adb itself, which now knows how to use 'bu' to kick off a backup
operation and pull the resulting data stream to the desktop host.

5. A system-provided application that verifies with the user that
an attempted backup/restore operation is in fact expected and to
be allowed.

The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process. Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.

The output format is 'tar'. This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore. It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.

Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:

apps/pkgname/a/ : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/ : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/ : Files stored relative to the root of the app's file tree
apps/pkgname/c/ : Reserved for the app's getCacheDir() tree; not stored.

For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname. This file contains some
metadata about the package whose data is stored in the archive.

The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:

shared/...

uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.

Forward-locked .apk files are never backed up. System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data. The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.

System packages can designate their own full backup agents. This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.

When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout. This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.

(*) The backup is not strictly a full mirror. In particular, the
settings database is not cloned; it is handled the same way that
it is in cloud backup/restore. This is because some settings
are actively destructive if cloned onto a different (or
especially a different-model) device: telephony settings and
AndroidID are good examples of this.

(**) On the framework side it doesn't care that it's adb; it just
sends the tar stream to a file descriptor. This can easily be
retargeted around whatever transport we might decide to use
in the future.

KNOWN ISSUES:

* the security UI is desperately ugly; no proper designs have yet
been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
dealing with them has been put in place.

Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
m/ApplicationInfo.java
m/PackageParser.java
aa9d84c37e05f696ec158dac98ce38cf41e18314 10-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 05be6d6f to master

Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
05be6d6fe09ddfb706d1bef3b20c3d37f45e3c8a 10-May-2011 Dianne Hackborn <hackbod@google.com> am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2

* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
Better compat mode part one: start scaling windows.
e2515eebf42c763c0a2d9f873a153711778cfc17 28-Apr-2011 Dianne Hackborn <hackbod@google.com> Better compat mode part one: start scaling windows.

First step of improving app screen size compatibility mode. When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling. Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling. The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible. It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode. This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well. I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly. There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
b7642cbae40aa6b1c54e5b39ed046f7f52e327d9 26-Apr-2011 Jean-Baptiste Queru <jbq@google.com> am 31418a1e: am 45e13ec1: am 5fcfce96: am 4b72eec3: Merge "Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise."

* commit '31418a1e9b905593587d8bf7a4705429db549d97':
Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise.
31418a1e9b905593587d8bf7a4705429db549d97 26-Apr-2011 Jean-Baptiste Queru <jbq@google.com> am 45e13ec1: am 5fcfce96: am 4b72eec3: Merge "Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise."

* commit '45e13ec1c5cd765162b7450b1c3a4632e8979894':
Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise.
5fcfce965f1380ee7e151c1df75b247dd42b349e 26-Apr-2011 Jean-Baptiste Queru <jbq@google.com> am 4b72eec3: Merge "Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise."

* commit '4b72eec34c983abb7a3afcbadd74d3bd807c4765':
Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise.
eb6b9e649e0e8a9d8f7bcfaac38bc244825e911a 22-Apr-2011 Marco Nelissen <marcone@google.com> Fix javadoc.

Change-Id: I6de2ac39626cb8749a525c51234018986dd95969
ntent.java
9d13264f6b5818812e61d66baaada599b8ad1faf 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Fix bug in deciding which rotation to use for an orientation.

Change-Id: Icc928c2188a5865035cafcdab2efd5bae3132b1f
es/Configuration.java
52c03d2cb9a782366e804d1910a7c8f072b05353 21-Apr-2011 Scott Main <smain@google.com> am a23ae0d7: am 69ccfd7a: am ca7f30eb: am b8a57841: Merge "docs: add a little info to Configuration class description" into honeycomb

* commit 'a23ae0d7be890b7590a87891b894a30f25bbd3ef':
docs: add a little info to Configuration class description
ca7f30ebb20dcf4c056f57a8c4ab3342cafaed83 21-Apr-2011 Scott Main <smain@google.com> am b8a57841: Merge "docs: add a little info to Configuration class description" into honeycomb

* commit 'b8a57841316171d6db4311a65914720213516153':
docs: add a little info to Configuration class description
63848e3df3a87c111617a81ff3e1f2685de7b031 21-Apr-2011 Scott Main <smain@google.com> docs: add a little info to Configuration class description

Change-Id: I3278759bd1c323330c1143ef71d0644872caa085
es/Configuration.java
9567a66a5e6f49dd8495fb5f6e2efb9f32e84b35 20-Apr-2011 Dianne Hackborn <hackbod@google.com> Deprecate a bunch of APIs.

And clean up some documentation.

Change-Id: I7882183b3daf883b7ac6098d19f88dc7cfbcdf61
syncTaskLoader.java
oader.java
25641ca1ac5b09727f86fe01389877332a00455d 19-Apr-2011 Amith Yamasani <yamasani@google.com> Merge "Plumbing in PackageManager and installd for multi-user support."
0e2c0f37d98bb5539b0fe41865aaf1add0ff1bb3 16-Apr-2011 Kenny Root <kroot@google.com> Break apart queries to getInstalled* API

To avoid blowing past the Binder IPC limit, change the
PackageManagerService to have a DB-like interaction where the client
tells the service the last "row" that it read.

The fact that we use a HashMap instead of a TreeMap makes this
problematic. For now we're just making a new ArrayList for the keys and
then sorting them for each call. This can make the API slower for callers
of this, but it's probably greatly overshadowed by the cost of the data
transfer itself.

Bug: 4064282
Change-Id: Ic370fd148d4c3813ae4f2daffa1a7c28d63d5a09
m/IPackageManager.aidl
m/ParceledListSlice.aidl
m/ParceledListSlice.java
41a5ed7cd9f56d955a797a485c11ae5e7ccfb094 19-Apr-2011 Jozef BABJAK <jozef.babjak@gmail.com> Re-assingning local variable if mStringBlocks was initialized here. NPE is thrown otherwise.

Change-Id: Ic8648aa5ae6a61348803171243c1c217feb058ec
es/AssetManager.java
0b285499db739ba50f2f839d633e763c70e67f96 15-Apr-2011 Amith Yamasani <yamasani@google.com> Plumbing in PackageManager and installd for multi-user support.

- Create /data/user directory and symlink /data/user/0 -> /data/data for
backward compatibility
- Create data directories for all packages for new user

- Remove data directories when removing a user

- Create data directories for all users when a package is created

- Clear / Remove data for multiple users

- Fixed a bug in verifying the location of a system app

- pm commands for createUser and removeUser (will be disabled later)

- symlink duplicate lib directories to the original lib directory

Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
m/UserInfo.aidl
m/UserInfo.java
0c5001d776d56bae02a5cc2663286a125d99bc5e 13-Apr-2011 Dianne Hackborn <hackbod@google.com> Add APIs to remove tasks.

You can remove sub-tasks inside of a task, or an entire task.

When removing an entire task, you can have its process killed
as well.

When the process is killed, any running services will get an
onTaskRemoved() callback for them to do cleanup before their
process is killed (and the service possibly restarted).

Or they can set a new android:stopWithTask attribute to just
have the service automatically (cleanly) stopped at this point.

Change-Id: I1891bc2da006fa53b99c52f9040f1145650e6808
m/PackageParser.java
m/ServiceInfo.java
beb182a4945b9b762fac77edd1183897bcac5b32 11-Apr-2011 Amith Yamasani <yamasani@google.com> Merge "Package manager changes to store and update user information."
4b2e934928a2eb65927bd39197198c28c49efb94 31-Mar-2011 Amith Yamasani <yamasani@google.com> Package manager changes to store and update user information.

Some API stubs for managing users and storing their details.
List of users is stored in an xml file.
Each user's properties are stored in a separate xml file.

Some unit tests for modifying the XML files.

Change-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5
m/PackageManager.java
m/UserInfo.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
ontentResolver.java
ontentService.java
ntentFilter.java
m/PackageParser.java
es/AssetManager.java
es/StringBlock.java
e17aeb31030cfeed339a39a107912ad5e9178390 08-Apr-2011 Dianne Hackborn <hackbod@google.com> Improve activity manager debug dumps.

Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem. Also lots of general cleanup of the am
dump output.

Change-Id: Id0dbccffb217315aeb85c964e379833e6aa3f5af
es/Configuration.java
9cdffa1788e2f24a674f185307000946aeb3760f 07-Apr-2011 Joe Onorato <joeo@google.com> A system setting for "advanced settings."

Change-Id: I622bc5fa7e5cba41362acd3b25ed9d3f119c72a2
ntent.java
3fc982f41fda1f254bfbc35490d81cd82a0ed90a 31-Mar-2011 Dianne Hackborn <hackbod@google.com> Add new resource configurations for screen width/height in "dp".

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I22f8afa136b4f274423978c570fa7c9855040496
m/ActivityInfo.java
m/PackageParser.java
es/AssetManager.java
es/Configuration.java
es/Resources.java
2f98f2670828a42ef93fe782b5be82b1dfeba6ce 29-Mar-2011 Dianne Hackborn <hackbod@google.com> Expand screen documentation with explicit screen size dimensions.

This updates the various documentation on screen sizes to discuss
the exact screen dimensions that are now associated with each size.
In addition, the screen sizes vs. densities table is updated to
include a number of additional representative screens.

Change-Id: Id07491148b1857e0265cef7139e564e190f38e03
es/Configuration.java
18cd686fc828c9c75596de1494ecaa5467fcc195 23-Mar-2011 Scott Main <smain@google.com> am ef6b305b: docs: fix markup error

* commit 'ef6b305b93009b60ad7c6ddbd200d1b5c554963f':
docs: fix markup error
ef6b305b93009b60ad7c6ddbd200d1b5c554963f 23-Mar-2011 Scott Main <smain@google.com> docs: fix markup error

Change-Id: I59e379a7a36c4184862095442c53a6b9496d856e
m/PackageManager.java
7866be2b76e421ca28e5dcbd3e7d362baf279dd9 03-Mar-2011 Mike Lockwood <lockwood@android.com> am 40bbf929: DO NOT MERGE: Backport USB accessory support to gingerbread

* commit '40bbf9295d5245d3917629ce15f7b37670aef1ac':
DO NOT MERGE: Backport USB accessory support to gingerbread
3dee21eb0f253a7e78572872b8dfc7b5d990a063 02-Mar-2011 Kenny Root <kroot@google.com> Merge "Switch to returnCode for IPackageDeleteObserver"
40bbf9295d5245d3917629ce15f7b37670aef1ac 01-Mar-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE: Backport USB accessory support to gingerbread

Signed-off-by: Mike Lockwood <lockwood@android.com>
ontext.java
m/PackageManager.java
c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb 28-Feb-2011 Kenny Root <kroot@google.com> Switch to returnCode for IPackageDeleteObserver

Before the IPackageDeleteObserver only knew whether the deletion
succeeded or failed, but not the reason why.

Bug: 2520191
Change-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b
m/IPackageDeleteObserver.aidl
m/PackageManager.java
c4308f01c965571dc2354107c3574df113e397ee 01-Mar-2011 Mike Lockwood <lockwood@android.com> Move USB framework support from android.hardware to android.hardware.usb package

Change-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d
Signed-off-by: Mike Lockwood <lockwood@android.com>
ontext.java
f4ca247158ffb83139d675ac0e1d25239c310be2 27-Feb-2011 Mike Lockwood <lockwood@android.com> Add platform features for USB host and USB accessory support.

Also removed config_hasUsbHostSupport framework resource, which is now obsolete.

Change-Id: I6f18cc1c4f68085de8b8363e1b5edff79aff404f
Signed-off-by: Mike Lockwood <lockwood@android.com>
m/PackageManager.java
239f77d20adcc0e2ce67a7907b3f6ca75b13fd00 27-Feb-2011 Jeff Brown <jeffbrown@google.com> Fix a regression matching intents when action doesn't matter.

Bug: 3482199
Change-Id: I0960e4396f4e71e9a3fc71146730030a52f96e9f
ntentFilter.java
e7f972122db87dc54e41ed1a6e417534d43bca3a 24-Feb-2011 Dianne Hackborn <hackbod@google.com> Implement issue #3426299: Introduce application "stopped" state

The package manager now keeps track of whether an application is
stopped. There are new intent flags to control whether intent
filters in a stopped application will match the intent. This is
currently used in one place, sending broadcasts, so that stopped
apps can not be launched due to background processes.

The package manager during first init makes sure no applications
are in the stopped state. When new applications are installed,
that begin in the stopped state. When the activity manager is
launching a component of an application, it ensures the application
is taken out of the stopped state.

The "force stop" button in manage applications will now put an
application back in to the stopped state; it can't go back out
of the stopped state until one of its components is launched by
the activity manager.

There will probably be a few more places where we need to filter
stopped applications out of intent matches, but doing this for
broadcast is a very big first step.

This also introduces a new broadcast that is sent to an application
after it is replaced with a new .apk. But only if the app is not
in the stopped state. This makes it a lot easier for developers to
implement code to get their application back in proper running shape
after an upgrade.

Finally another new broadcast is added that is sent to a package's
installer at the first time it is launched. This allows the installer
to tell the package about it being installed only when it is first
actually used.

Change-Id: I589c53ff0e0ece868fe734ace4439c0d202dca2d
ntent.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageParser.java
57283d7aba00e9e7b21d79778834140fa4207f12 22-Feb-2011 Jesse Wilson <jessewilson@google.com> Merge "Save a few bytes on the zygote heap."
179a3bda60044cf191ce9f47e3349398fc32bafb 18-Feb-2011 Jesse Wilson <jessewilson@google.com> Save a few bytes on the zygote heap.

The default LongSparseArray constructor builds two 10-element
arrays that we don't need.

Change-Id: I83ef4fbd8825109087cbe8990ad66d79eab33e5c
es/Resources.java
1bad83adf011ff4e6a6474c62b287d119ba43b3e 16-Feb-2011 Alon Albert <aalbert@google.com> Rename method to discourage use of this in favor of member field

Change-Id: Ie2d1e17e8879ad0f11fe815001fefccdd6603936
yncManager.java
b79db4cd5ccbe17e837c8943abb658bbf0dd0854 16-Feb-2011 Alon Albert <aalbert@google.com> am be5f82ab: Merge "DO NOT MERGE - Clear backoffs on reconnect" into gingerbread

* commit 'be5f82ab0ddacea3846cfa5aa846d1c97def0318':
DO NOT MERGE - Clear backoffs on reconnect
d1c3fe022efba45c43cc93694852884cb553314c 16-Feb-2011 Alon Albert <aalbert@google.com> Merge "Bring back auto clear backoff on reconnect Also, make sure it works this time by calling onBackoffChanged()"
ed1d253573a238fd53d27def24d298314f24d425 15-Feb-2011 Alon Albert <aalbert@google.com> Bring back auto clear backoff on reconnect
Also, make sure it works this time by calling onBackoffChanged()

Bug: 3460736
Change-Id: I0470d6cb0aabd798dab4116d5d135c7a2364ed28
yncManager.java
yncStorageEngine.java
c441e4e355b2c277da3ff72b6319cdf024d29e7f 16-Feb-2011 Alon Albert <aalbert@google.com> DO NOT MERGE - Clear backoffs on reconnect

Slightly modified backport from HC

Bug: 3460736
Change-Id: I155dfd34bb7abb76a10b5b58fe9a32af2449d4f1
yncManager.java
yncStorageEngine.java
55cdc0c9048fe63c5abe4ec8fc8a3479aba316d1 16-Feb-2011 Scott Main <smain@google.com> am 0ab1b326: am 13033ea5: docs: fix misc broken links

* commit '0ab1b326c72afb2bd7798462fcdd8e5d3b440fd2':
docs: fix misc broken links
0ab1b326c72afb2bd7798462fcdd8e5d3b440fd2 16-Feb-2011 Scott Main <smain@google.com> am 13033ea5: docs: fix misc broken links

* commit '13033ea52714d48d754c6bc8fccb18514c645a47':
docs: fix misc broken links
13033ea52714d48d754c6bc8fccb18514c645a47 15-Feb-2011 Scott Main <smain@google.com> docs: fix misc broken links

Change-Id: Id7d0ee36398aca452ceb2c3d15982397f58a06c6
m/package.html
121370d25c7c7113fb7913ab90f45c667b26af57 09-Feb-2011 Scott Main <smain@google.com> am 3c565377: am b508d6e2: Merge "docs: fix links to revised fundamentals documents" into honeycomb

* commit '3c5653773d6b48f27aa52d746a7a6f8728d5ba36':
docs: fix links to revised fundamentals documents
3c5653773d6b48f27aa52d746a7a6f8728d5ba36 08-Feb-2011 Scott Main <smain@google.com> am b508d6e2: Merge "docs: fix links to revised fundamentals documents" into honeycomb

* commit 'b508d6e26e3a1fd68bf637dc29df335f0e7ccd92':
docs: fix links to revised fundamentals documents
7aee61f5a96e94e158bf5ad3d8e192c4d4f7eff6 08-Feb-2011 Scott Main <smain@google.com> docs: fix links to revised fundamentals documents

Change-Id: Ie2a660cce1d00f924c9fde5c6a00776307e5e1c7
ontentProvider.java
ntent.java
f313e95821cdb7e9dca8e61d87747064a63e807b 07-Feb-2011 Alon Albert <aalbert@google.com> Merge "Move handing of a "cancel" inside try-finally block"
9257ec05639ac1a529c81ba94cc631b1fa5f49d9 07-Feb-2011 Alon Albert <aalbert@google.com> Move handing of a "cancel" inside try-finally block

Bug: 3417906
Change-Id: I87e41c0cdad74e2ba72a7b4d1f059e72d106e105
bstractThreadedSyncAdapter.java
4b7b7ccd6651f54239c8849d4d85a633c2bbdf6a 02-Feb-2011 John Reck <jreck@google.com> Fix COMPONENT_ENABLED_STATE check (copy from HC)

This fixes a problem where ai.enabled would be set to false incorrectly,
causing widgets to not show up in launcher.

Change-Id: I25e11ab9033e1d8d3dcc581edcbe40acdddd1f85
m/PackageParser.java
fe86a7f64c666b86c4aedbdd159c27e1cd0d7490 01-Feb-2011 Dianne Hackborn <hackbod@google.com> am 723453a7: am e9da0c1d: Merge "Fix issue #3408542: "resizeable" attribute required to get out of compat mode" into honeycomb

* commit '723453a7a77180b47720d3b5e8a9752349b77e2f':
Fix issue #3408542: "resizeable" attribute required to get out of compat mode
1368454815aaf793fe32ba32473fd11cf7b02e0d 31-Jan-2011 Dianne Hackborn <hackbod@google.com> am e6c6b760: DO NOT MERGE Fix issue #3408542: "resizeable" attribute required to get out of compat mode

* commit 'e6c6b760eb0c1068fdfa656007ec27e482313b58':
DO NOT MERGE Fix issue #3408542: "resizeable" attribute required to get out of compat mode
723453a7a77180b47720d3b5e8a9752349b77e2f 31-Jan-2011 Dianne Hackborn <hackbod@google.com> am e9da0c1d: Merge "Fix issue #3408542: "resizeable" attribute required to get out of compat mode" into honeycomb

* commit 'e9da0c1de179e3cdb2d3709bde2b5cb6eb192230':
Fix issue #3408542: "resizeable" attribute required to get out of compat mode
e6c6b760eb0c1068fdfa656007ec27e482313b58 31-Jan-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE Fix issue #3408542: "resizeable" attribute required to get out of compat mode

The "resizeable" attribute of supports-screens was never well documented,
so many apps don't set it. Assuming that if they are explicitly saying
they support large or xlarge screens then they are also implying that they
are resizeable.

Change-Id: Ibce45539d8910dfddb4f548da5464b31ac4a3a89
es/CompatibilityInfo.java
2bfa2ea1ecc538bef44ff2a7da1e2db149fd9970 31-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3408542: "resizeable" attribute required to get out of compat mode

The "resizeable" attribute of supports-screens was never well documented,
so many apps don't set it. Assuming that if they are explicitly saying
they support large or xlarge screens then they are also implying that they
are resizeable.

Change-Id: Iaa1ad431c9868254af7581499477bff98ed109e5
es/CompatibilityInfo.java
cc322207ccc1234c26cd21733d7f4fadd49a36cf 31-Jan-2011 Dianne Hackborn <hackbod@google.com> am 97510f6a: am 260c3c77: Fix issue #3381489: IllegalStateException: attempt to re-open...

* commit '97510f6abda493119cbf7db84064291a7edacfc0':
Fix issue #3381489: IllegalStateException: attempt to re-open...
97510f6abda493119cbf7db84064291a7edacfc0 31-Jan-2011 Dianne Hackborn <hackbod@google.com> am 260c3c77: Fix issue #3381489: IllegalStateException: attempt to re-open...

* commit '260c3c77d9b340164e055f87002c64d78da6e836':
Fix issue #3381489: IllegalStateException: attempt to re-open...
260c3c77d9b340164e055f87002c64d78da6e836 31-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3381489: IllegalStateException: attempt to re-open...

...an already-closed object: android.database.sqlite.SQLiteQuery

It turns out there is a state we are missing -- the loader is
still needed, but in the inactive list. In this case the loader
needs to continue holding on to its current data, and not deliver
any new data (which would result in it releasing its old data).

This introduces the new state to Loader, and uses it in
AsyncTaskLoader so all subclasses of that should get the new
correct behavior.

A further improvement would be to unregister CursorLoader's
content listener when going in to this state, but that can
wait for later.

Change-Id: I6d30173b94f8e30b5be31d018accd328cc3388ec
syncTaskLoader.java
oader.java
2c376fc46cd01b12e003a7bf83d82f527f6efaf1 29-Jan-2011 Jeff Brown <jeffbrown@google.com> Optimize IntentResolver to reduce lookup time by 50%.

IntentResolver frequently iterates over hundreds of different IntentFilters
and spends much of its time creating iterators and comparing strings.
This change avoids reduces the amount of garbage created by eschewing
iterators where possible. The FastImmutableArraySet type on its own
provides a 2.5x speed boost compared to repeatedly iterating over a HashSet.

In absolute terms, during orientation changes we spent about 160ms resolving
11 intents and performing 1129 calls to IntentFilter.match. Now we spend
half of that time.

Change-Id: Ia120e0082c8cf0b572a0317b9ef4a22c766dbad6
ntent.java
ntentFilter.java
c42eb2cce70aa4e985615ef9d4cddfff435f7b7f 27-Jan-2011 Scott Main <smain@google.com> am d2b87091: am 0f2e2b8b: Merge "Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it\'s not a good location and the info is avilable in the dev guide, but also added some of the

* commit 'd2b87091cc30c575496eb78ebea88297da775359':
Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it's not a good location and the info is avilable in the dev guide, but also added some of the info to the Resources class description.
d2b87091cc30c575496eb78ebea88297da775359 27-Jan-2011 Scott Main <smain@google.com> am 0f2e2b8b: Merge "Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it\'s not a good location and the info is avilable in the dev guide, but also added some of the info to the R

* commit '0f2e2b8b82c7b589bcc603ce57f8ff3d1c947784':
Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it's not a good location and the info is avilable in the dev guide, but also added some of the info to the Resources class description.
0f2e2b8b82c7b589bcc603ce57f8ff3d1c947784 27-Jan-2011 Scott Main <smain@google.com> Merge "Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it's not a good location and the info is avilable in the dev guide, but also added some of the info to the Resources class description." into honeycomb
036dfd0653c723d4515b43639b2ab0bbf50ce718 27-Jan-2011 Fabrice Di Meglio <fdimeglio@google.com> am 3782fe2b: am f728411b: Merge "Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)" into honeycomb

* commit '3782fe2b23c4a6fa2e512f1d200ffa85c37bfb14':
Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)
3782fe2b23c4a6fa2e512f1d200ffa85c37bfb14 27-Jan-2011 Fabrice Di Meglio <fdimeglio@google.com> am f728411b: Merge "Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)" into honeycomb

* commit 'f728411ba40d71a40a0cb0dbfcaa44764af17692':
Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)
f728411ba40d71a40a0cb0dbfcaa44764af17692 27-Jan-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)" into honeycomb
dc2dd88249f5e3df672fc3c7e18f3ddfb08e02b5 26-Jan-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)

- add human readable error messages

Change-Id: Ib6937684e61aca80b2c3bc78fd67b93c3df61d17
yncManager.java
f4f05b8f24183b9e0d6959fe8b71fb88543edd9b 07-Jan-2011 Scott Main <smain@google.com> Update package descriptions with editorial revisions.
Notably, this removes exessive info about resources
from the content package, because it's not a good location
and the info is avilable in the dev guide, but also
added some of the info to the Resources class description.

Change-Id: Ie78af26c9cec66314deb98e53078f48e16c08e70
ackage.html
m/package.html
es/Resources.java
es/package.html
7f13e47620077e44272f8bc795226fe55b540d33 26-Jan-2011 Dianne Hackborn <hackbod@google.com> am 1a904ded: am 8fca2ecc: Merge "New extra for GET_CONTENT." into honeycomb

* commit '1a904dedbb5a15b3e60cac0fab83a3734701aff6':
New extra for GET_CONTENT.
1a904dedbb5a15b3e60cac0fab83a3734701aff6 26-Jan-2011 Dianne Hackborn <hackbod@google.com> am 8fca2ecc: Merge "New extra for GET_CONTENT." into honeycomb

* commit '8fca2eccb03b9b8d71ec4a7ec088d617edec4e73':
New extra for GET_CONTENT.
c4d0e6fceafbf8b2f3e4e09bc2fc69af3c4eb92b 25-Jan-2011 Dianne Hackborn <hackbod@google.com> New extra for GET_CONTENT.

Change-Id: Ib367c02619ee301d9651dd70d35f7d57aa8a0cbc
ntent.java
1563966ca03361e2d90ecc66621dfb7a93c8ce8b 25-Jan-2011 Dianne Hackborn <hackbod@google.com> am 98d169ea: am 5d9d03a0: Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...

* commit '98d169eacd65e6278bb8eab354f0278065771e9f':
Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...
98d169eacd65e6278bb8eab354f0278065771e9f 25-Jan-2011 Dianne Hackborn <hackbod@google.com> am 5d9d03a0: Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...

* commit '5d9d03a0234faa3cffd11502f973057045cafe82':
Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...
5d9d03a0234faa3cffd11502f973057045cafe82 24-Jan-2011 Dianne Hackborn <hackbod@google.com> Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...

...Invalid index 0, size is 0 at
android.app.ActivityThread.performPauseActivity(ActivityThread.java:2326)

It looks like if an arrow key is dispatched between the time the
list view is told its data set has changed and it does the resulting
layout pass, we could try to move the position to a now invalid
index. This may prevent that from happening.

Also put in a better error message if saving state of a fragment
whose target is no longer in the fragment manager.

And fix a bug in PackageManager where we could return a null from
queryIntentActivities().

And add a new API to find out whether a fragment is being removed,
to help fix issue #3306021: NPE at
android.app.AlertDialog.getDefaultDialogTheme(AlertDialog.java)

Next, for new HC apps we can delay committing data to
storage until the activity is stopped.

Finally, use the new multi-threaded AyncTask executor in a few
places, so we don't have worked blocked by long-running tasks from
the application.

Change-Id: I27b2aafedf2e1bf3a2316309889613fa539760f3
syncTaskLoader.java
ontentProvider.java
c63ca57a16e9a3f5776376070cea748c9caa90aa 23-Jan-2011 Dan Morrill <morrildl@google.com> am fe7006c5: am 9dbf1351: Merge "Adding faketouch feature." into honeycomb

* commit 'fe7006c5fc6f972aca2a4471ea5cd7db3947e809':
Adding faketouch feature.
fe7006c5fc6f972aca2a4471ea5cd7db3947e809 23-Jan-2011 Dan Morrill <morrildl@google.com> am 9dbf1351: Merge "Adding faketouch feature." into honeycomb

* commit '9dbf1351e8cd1d8a320cdc7fecffc876fffb71f1':
Adding faketouch feature.
a537687c3863912b1199c13c1aa010d74c243fcc 23-Jan-2011 Dan Morrill <morrildl@google.com> Adding faketouch feature.

Change-Id: Idff0b059c2f82fa4237d6238710e87dc55ae76a8
m/PackageManager.java
e7d511e148bc901ef41ac44d7b3593e5d803f72f 30-Dec-2010 Mike Lockwood <lockwood@android.com> New APIs for USB host support:

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

UsbDevice:
- represents an attached USB device.

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

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

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

Change-Id: Ieef3e434c62760770ea839070cf5eba1a705967a
Signed-off-by: Mike Lockwood <lockwood@android.com>
ontext.java
016c6daff019377a1baa63dfd027472c6b7ed6e1 18-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> am b92d08a7: am 48395385: Merge "Hiding the AsyncTaskLoader.waitForLoader method" into honeycomb

* commit 'b92d08a7385f241722b2299a988ab7a55053f6ea':
Hiding the AsyncTaskLoader.waitForLoader method
b92d08a7385f241722b2299a988ab7a55053f6ea 18-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> am 48395385: Merge "Hiding the AsyncTaskLoader.waitForLoader method" into honeycomb

* commit '48395385039a0c845bba8913c8d0c76981425aa4':
Hiding the AsyncTaskLoader.waitForLoader method
4afde4fda383116a9730aea1e931d4bce7ea0fd0 18-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Hiding the AsyncTaskLoader.waitForLoader method

I introduced this method a couple of weeks ago,
but then we had a chat with Dianne and she made
a good point that rather than having this behavior
on AsyncTaskLoader, we should have it on LoaderManager
and then it will cover all kinds of loaders,
not just the ones inheriting from AsyncTaskLoader.
She suggested that we postpone that work until
after Honeycomb.

Change-Id: I1939956296cddb678791ba652ab5f4a0dd45eea1
syncTaskLoader.java
44b628d2f63f62b1c1990b1b6cb8ab63502264a7 18-Jan-2011 Dianne Hackborn <hackbod@google.com> am ad81f4ff: am f4c4b666: Merge "Remove old APIs." into honeycomb

* commit 'ad81f4ffb8b8c32afea1a742dbb9bbc734b7a8a1':
Remove old APIs.
ad81f4ffb8b8c32afea1a742dbb9bbc734b7a8a1 18-Jan-2011 Dianne Hackborn <hackbod@google.com> am f4c4b666: Merge "Remove old APIs." into honeycomb

* commit 'f4c4b666234d0e5c510c846b13382b77175f10e1':
Remove old APIs.
3c3a7f55bb818ccd14a7f29b94caf22e6658fabf 18-Jan-2011 Dianne Hackborn <hackbod@google.com> am 2d6dae2f: am 80ad0b0a: Merge "Fix a bunch of API review bugs." into honeycomb

* commit '2d6dae2f4d2ce98adcb6fe83bcaa91a506805859':
Fix a bunch of API review bugs.
2d6dae2f4d2ce98adcb6fe83bcaa91a506805859 18-Jan-2011 Dianne Hackborn <hackbod@google.com> am 80ad0b0a: Merge "Fix a bunch of API review bugs." into honeycomb

* commit '80ad0b0aeb5a55d2e62aaaf18863253501b87b60':
Fix a bunch of API review bugs.
17b9b81418c9166e181a992f27598e4de18d7203 18-Jan-2011 Dianne Hackborn <hackbod@google.com> Remove old APIs.

Change-Id: If676e4e7886ad71c4959d4253db99639b49218b8
lipData.java
327fbd2c8fa294b919475feb4c74a74ee1981e02 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix a bunch of API review bugs.

3362464 API REVIEW: android.content potpourri
3362445 API REVIEW: Fragment transaction stuff
3362428 API REVIEW: Fragment stuff
3362418 API REVIEW: Loader stuff
3362414 API REVIEW: android.content.pm.ActivityInfo

Change-Id: I6475421a4735759b458acb67df4380cc6234f147
syncTaskLoader.java
roadcastReceiver.java
lipData.java
lipboardManager.java
ursorLoader.java
mlDocumentProvider.java
m/ActivityInfo.java
9b4320f9db98556479fb61d0910d852f0c6c1878 17-Jan-2011 Kenny Root <kroot@google.com> am a33dd09b: am d6c54d97: Merge "Revert "Add the {get,set}PackageObbPaths calls to API"" into honeycomb

* commit 'a33dd09b5cc62b50afc3a15cd8b67b5344756f1e':
Revert "Add the {get,set}PackageObbPaths calls to API"
a33dd09b5cc62b50afc3a15cd8b67b5344756f1e 17-Jan-2011 Kenny Root <kroot@google.com> am d6c54d97: Merge "Revert "Add the {get,set}PackageObbPaths calls to API"" into honeycomb

* commit 'd6c54d97867edd566700c535f3edf57dd4396350':
Revert "Add the {get,set}PackageObbPaths calls to API"
a1cbb94dbc9a82d4eb3a47242fe161af21803858 17-Jan-2011 Kenny Root <kroot@google.com> Revert "Add the {get,set}PackageObbPaths calls to API"

This reverts commit 5d40fe9c6846ba765072e50ed1254293cb9195e4.

Change-Id: Ie41010c92fb860b19a12bcf63f6fe95ffa68da81
m/IPackageManager.aidl
m/PackageManager.java
e26aa3f78a33af5720e141e98a1ab0c77ef0456d 17-Jan-2011 Kenny Root <kroot@google.com> am 34d2b41e: Revert "Add the {get,set}PackageObbPaths calls to API"

* commit '34d2b41e48281d1df2c844e004740f008e699093':
Revert "Add the {get,set}PackageObbPaths calls to API"
c05dc09d273abe36c222a2df6e2efe12c2e25efb 17-Jan-2011 Kenny Root <kroot@google.com> am 898954d7: am d37d6616: Merge "Add OBB size to PackageStats" into honeycomb

* commit '898954d7469260c339eb776d0a3370b7dbcee720':
Add OBB size to PackageStats
898954d7469260c339eb776d0a3370b7dbcee720 17-Jan-2011 Kenny Root <kroot@google.com> am d37d6616: Merge "Add OBB size to PackageStats" into honeycomb

* commit 'd37d661669cc019faa93177aee9c6143eebe490f':
Add OBB size to PackageStats
34d2b41e48281d1df2c844e004740f008e699093 17-Jan-2011 Kenny Root <kroot@google.com> Revert "Add the {get,set}PackageObbPaths calls to API"

This reverts commit 6c4d904851772313930f800ac7c323cf90c709bb.

Going with a different tactic that doesn't dump stuff on
PackageManagerService.

Bug: 3214719
Change-Id: I0bbeccf3c21d264deda4256eb53713d2c98284f4
m/IPackageManager.aidl
m/PackageManager.java
bcd6c96e753d2efc76f918c403cecbfdbd4f037a 17-Jan-2011 Kenny Root <kroot@google.com> Add OBB size to PackageStats

Bug: 3356814
Change-Id: I4f871fb9fd0cb2f3177cc756631f95d928862571
m/PackageStats.java
c886ff38c73983d028feae7cca0ee90915ebe67b 17-Jan-2011 Jeff Brown <jeffbrown@google.com> am fed9d654: am 5cdf0752: Merge "Support non-rectangular input regions." into honeycomb

* commit 'fed9d654e9f769a2d81682121faff01fee11555f':
Support non-rectangular input regions.
c293a5627fb50a741e390d978596688f7429b93a 17-Jan-2011 Dianne Hackborn <hackbod@google.com> am e27145d8: am 805fd7ee: Add API to get path to OBBs.

* commit 'e27145d83f144eb025f34985a02cda9cd5e0bcfe':
Add API to get path to OBBs.
a9d5188cc61969188311d223d3273e00d01dbb12 17-Jan-2011 Kenny Root <kroot@google.com> am d259468f: am fc28f412: Merge "Put externalSize measurements in PackageStats" into honeycomb

* commit 'd259468fe92b9714b45a134e781ce09681e70217':
Put externalSize measurements in PackageStats
f2d4c9ec33d35d56a5beca703ed2435d31887e19 17-Jan-2011 Dianne Hackborn <hackbod@google.com> am 8a3a5320: am bdacefba: Merge "Change FLAG_FORWARD_LOCK back to its original value to not break things." into honeycomb

* commit '8a3a5320e616b79a227e5e1e4bc22b0b909925e1':
Change FLAG_FORWARD_LOCK back to its original value to not break things.
3b403694be42836b50adb061448d6a27697b12ac 17-Jan-2011 Dianne Hackborn <hackbod@google.com> am 64e30643: am c237bb27: Merge "Add manifest API to request a large heap." into honeycomb

* commit '64e306430570fcfb35a1b14e1b333ad114b23829':
Add manifest API to request a large heap.
fed9d654e9f769a2d81682121faff01fee11555f 17-Jan-2011 Jeff Brown <jeffbrown@google.com> am 5cdf0752: Merge "Support non-rectangular input regions." into honeycomb

* commit '5cdf07524132722e0db69db1ca8dcaf3f0073265':
Support non-rectangular input regions.
5cdf07524132722e0db69db1ca8dcaf3f0073265 17-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Support non-rectangular input regions." into honeycomb
fbf097732137a32930d151f7ba6816a5b870c32a 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Support non-rectangular input regions.

This enables the system bar to carve out a region through which
events will be sent to the IME behind it.

Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
es/CompatibilityInfo.java
e27145d83f144eb025f34985a02cda9cd5e0bcfe 17-Jan-2011 Dianne Hackborn <hackbod@google.com> am 805fd7ee: Add API to get path to OBBs.

* commit '805fd7ee0e5dc2939e85c84f78d9890a51982bc0':
Add API to get path to OBBs.
805fd7ee0e5dc2939e85c84f78d9890a51982bc0 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Add API to get path to OBBs.

Also hide the bitmap thumbnail stuff, we can't support it in its
current form.

And fix some bugs with propagating paths to native code. Yikes!

Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
ontext.java
ontextWrapper.java
d259468fe92b9714b45a134e781ce09681e70217 17-Jan-2011 Kenny Root <kroot@google.com> am fc28f412: Merge "Put externalSize measurements in PackageStats" into honeycomb

* commit 'fc28f412b54d811c61d4997ea94c79875f9ad015':
Put externalSize measurements in PackageStats
fc28f412b54d811c61d4997ea94c79875f9ad015 17-Jan-2011 Kenny Root <kroot@google.com> Merge "Put externalSize measurements in PackageStats" into honeycomb
366949c2d934435ff9ef8082408ca36ff14a2241 15-Jan-2011 Kenny Root <kroot@google.com> Put externalSize measurements in PackageStats

When measuring a package's usage, put the external size in the
PackageStats as well. This will allow programs using a lot of space on
the external card to be held accountable.

Bug: 3308791
Change-Id: If2df07bdbf6ffb31577074fad8f4a87ca4e89086
m/PackageStats.java
8a3a5320e616b79a227e5e1e4bc22b0b909925e1 16-Jan-2011 Dianne Hackborn <hackbod@google.com> am bdacefba: Merge "Change FLAG_FORWARD_LOCK back to its original value to not break things." into honeycomb

* commit 'bdacefba95dcd2680b17120d1721167f5c7990c3':
Change FLAG_FORWARD_LOCK back to its original value to not break things.
75e616e8203a540c860888ccff73ffaa87498c5e 16-Jan-2011 Dianne Hackborn <hackbod@google.com> Change FLAG_FORWARD_LOCK back to its original value to not break things.

Change-Id: Ib9a38521cc5031a81bae5a830aaf458b8a5ee7a5
m/ApplicationInfo.java
64e306430570fcfb35a1b14e1b333ad114b23829 16-Jan-2011 Dianne Hackborn <hackbod@google.com> am c237bb27: Merge "Add manifest API to request a large heap." into honeycomb

* commit 'c237bb2776facbfd3325ef23865fd7f6ced67f17':
Add manifest API to request a large heap.
3b81bc18bb661c02ad8074c39dab16644c1e65d0 15-Jan-2011 Dianne Hackborn <hackbod@google.com> Add manifest API to request a large heap.

You can now do android:largeHeap="true" on an application.

Doesn't yet do anything, waiting for Dalvik API.

Also tweak package parsing so that the SDK API level is set in the
configuration, allowing manifest resource value selection based on
that.

Change-Id: I6e035f9702a97b055416743b88f83a22ba4a9584
m/ApplicationInfo.java
m/PackageParser.java
es/Resources.java
dd4a1e3825f4f379ba36fd721f78de0101bb1833 15-Jan-2011 Dianne Hackborn <hackbod@android.com> am 7d234fab: Merge "Don\'t drop the drawable cache completely on configuration change"

* commit '7d234fabe61cd5f034fe4ff4484209fbf5130c4d':
Don't drop the drawable cache completely on configuration change
f445a8800936aa2f4074ae10a5692668b82a3aa0 15-Jan-2011 Dianne Hackborn <hackbod@google.com> am 909d447d: am 0b08c5cb: Merge "Don\'t drop the drawable cache completely on configuration change" into honeycomb

* commit '909d447d8ab565019f05c2003bc4f9d1037b1b17':
Don't drop the drawable cache completely on configuration change
909d447d8ab565019f05c2003bc4f9d1037b1b17 15-Jan-2011 Dianne Hackborn <hackbod@google.com> am 0b08c5cb: Merge "Don\'t drop the drawable cache completely on configuration change" into honeycomb

* commit '0b08c5cb14e848f41eb33093c3e8198ab416e0ab':
Don't drop the drawable cache completely on configuration change
0b08c5cb14e848f41eb33093c3e8198ab416e0ab 15-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Don't drop the drawable cache completely on configuration change" into honeycomb
27b775a62df01e214b139f44bb9b0b306097d9e9 14-Jan-2011 Kenny Root <kroot@google.com> am d9fa11b4: am 312206b9: Merge "Add the {get,set}PackageObbPaths calls to API" into honeycomb

* commit 'd9fa11b446da5dbc92776518c20bab1f04e55537':
Add the {get,set}PackageObbPaths calls to API
d9fa11b446da5dbc92776518c20bab1f04e55537 14-Jan-2011 Kenny Root <kroot@google.com> am 312206b9: Merge "Add the {get,set}PackageObbPaths calls to API" into honeycomb

* commit '312206b98749bbe395416634e6e82bd242b1d5f2':
Add the {get,set}PackageObbPaths calls to API
312206b98749bbe395416634e6e82bd242b1d5f2 14-Jan-2011 Kenny Root <kroot@google.com> Merge "Add the {get,set}PackageObbPaths calls to API" into honeycomb
0142e990ff8cf4f04265c0a77c9eabc9b52fc620 14-Jan-2011 Dianne Hackborn <hackbod@google.com> am f21ae269: am d922ae01: Add Holo theme for IMEs.

* commit 'f21ae26935349f45c55afa5c8e45e1f6aa880915':
Add Holo theme for IMEs.
f21ae26935349f45c55afa5c8e45e1f6aa880915 14-Jan-2011 Dianne Hackborn <hackbod@google.com> am d922ae01: Add Holo theme for IMEs.

* commit 'd922ae01ca99a2b6d39a9393f86776a1d10ebd14':
Add Holo theme for IMEs.
6efd2bad954e0e5bd74916a32f036a0f149dcd4d 13-Jan-2011 Christopher Lais <chris+android@zenthought.org> Don't drop the drawable cache completely on configuration change

There was a lot of fancy code just above the clear to ensure
that drawables that aren't affected by the change are kept,
then the entire array was cleared. This patch removes the
clear, so that the drawables that haven't changed are really
kept, matching the logs, comments and larger part of the code.

This patch also fixes the various constant states to return
correct ChangingConfigurations.

Change-Id: Ic11f6179537318d3de16dc58286989eb62a07f15
Old-Change-Id: I22495e6ed232dfe056207ce5155405af1fa82428
es/Resources.java
d922ae01ca99a2b6d39a9393f86776a1d10ebd14 14-Jan-2011 Dianne Hackborn <hackbod@google.com> Add Holo theme for IMEs.

Also clean up theme selection code to get rid of duplication.

Change-Id: Idf7b21db70ee83fce24756ead877169bd08b77a9
es/Resources.java
5d40fe9c6846ba765072e50ed1254293cb9195e4 14-Jan-2011 Kenny Root <kroot@google.com> Add the {get,set}PackageObbPaths calls to API

Add getPackageObbPaths() and setPackageObbPaths() to the public API.

Bug: 3214719
Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
m/IPackageManager.aidl
m/PackageManager.java
8d71769b9bc3d0e72b26217d9059ce4473a91fe5 13-Jan-2011 Christopher Lais <chris+android@zenthought.org> Don't drop the drawable cache completely on configuration change

There was a lot of fancy code just above the clear to ensure
that drawables that aren't affected by the change are kept,
then the entire array was cleared. This patch removes the
clear, so that the drawables that haven't changed are really
kept, matching the logs, comments and larger part of the code.

This patch also fixes the various constant states to return
correct ChangingConfigurations.

Change-Id: Ic11f6179537318d3de16dc58286989eb62a07f15
Old-Change-Id: I22495e6ed232dfe056207ce5155405af1fa82428
es/Resources.java
8c3dc00a7d34776f1abff6dabd4a3d9f377952a0 13-Jan-2011 Jason parks <jparks@google.com> am 4a534fa8: am a3cdaa53: Revert "Remove the APIs for the old encryption scheme."

* commit '4a534fa899e0101e26e5b670383aa357c10483b8':
Revert "Remove the APIs for the old encryption scheme."
4a534fa899e0101e26e5b670383aa357c10483b8 13-Jan-2011 Jason parks <jparks@google.com> am a3cdaa53: Revert "Remove the APIs for the old encryption scheme."

* commit 'a3cdaa5337fa573c4c61770195d6232c2e587090':
Revert "Remove the APIs for the old encryption scheme."
a3cdaa5337fa573c4c61770195d6232c2e587090 13-Jan-2011 Jason parks <jparks@google.com> Revert "Remove the APIs for the old encryption scheme."

This reverts commit 1125d780a8b61703b8eb28c5c77dac5f3f0022dd.
yncStorageEngine.java
m/ApplicationInfo.java
m/PackageParser.java
02f9acbdb4df8758d0474a1a968f12bd18ed6f92 13-Jan-2011 Jason parks <jparks@google.com> am da6f7dbf: am ca6777b2: Merge "Remove the APIs for the old encryption scheme." into honeycomb

* commit 'da6f7dbf9f8bf90c84147dbc57b885b3ece03e81':
Remove the APIs for the old encryption scheme.
da6f7dbf9f8bf90c84147dbc57b885b3ece03e81 13-Jan-2011 Jason parks <jparks@google.com> am ca6777b2: Merge "Remove the APIs for the old encryption scheme." into honeycomb

* commit 'ca6777b23bbe9283380efb2ba7e6d0a79d8669db':
Remove the APIs for the old encryption scheme.
ca6777b23bbe9283380efb2ba7e6d0a79d8669db 13-Jan-2011 Jason parks <jparks@google.com> Merge "Remove the APIs for the old encryption scheme." into honeycomb
2f71565aac3bbbe7b5b592a438161a39f983e6e3 13-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am ef5864f1: am 2e390809: Merge "Unhide Content{Resolver,Provider}.call()" into honeycomb

* commit 'ef5864f1bb1418307c40fc8ed4cae7545d8a44dd':
Unhide Content{Resolver,Provider}.call()
470750793b6e930a323ee63cbed05c43dc435ba1 13-Jan-2011 Kenny Root <kroot@google.com> am e8c04db7: Merge "Add the {get,set}PackageObbPaths calls to API" into gingerbread

* commit 'e8c04db71e347396e9537ead7113ba9f46706e44':
Add the {get,set}PackageObbPaths calls to API
e8c04db71e347396e9537ead7113ba9f46706e44 13-Jan-2011 Kenny Root <kroot@google.com> Merge "Add the {get,set}PackageObbPaths calls to API" into gingerbread
ef5864f1bb1418307c40fc8ed4cae7545d8a44dd 13-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 2e390809: Merge "Unhide Content{Resolver,Provider}.call()" into honeycomb

* commit '2e3908097b1c86004d50c0a070ca6b76a4d0d7c5':
Unhide Content{Resolver,Provider}.call()
534c84c1ce19ae20ded249315c3c0558577eca6c 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Unhide Content{Resolver,Provider}.call()

Change-Id: Ic7833b921f5a8e70ef7d565bfdf461e6e135ff1b
ontentProvider.java
ontentResolver.java
ContentProvider.java
1125d780a8b61703b8eb28c5c77dac5f3f0022dd 12-Jan-2011 Jason parks <jparks@google.com> Remove the APIs for the old encryption scheme.

Change-Id: I55116a5b29b10dfd50015805ec019b485257f68b
yncStorageEngine.java
m/ApplicationInfo.java
m/PackageParser.java
090093592e24a067c08c4049344fcf37601960c0 12-Jan-2011 Kenny Root <kroot@google.com> am c669559d: am b5a4b5d3: Merge "Allow updated system apps to retain priority" into honeycomb

* commit 'c669559dc3c1d348145d902c623166a9d874b5a8':
Allow updated system apps to retain priority
c669559dc3c1d348145d902c623166a9d874b5a8 12-Jan-2011 Kenny Root <kroot@google.com> am b5a4b5d3: Merge "Allow updated system apps to retain priority" into honeycomb

* commit 'b5a4b5d300bc05a969181155a4f155a79241f792':
Allow updated system apps to retain priority
0ee294470d09e1de0ce0fe6e3246e98e450a4d26 12-Jan-2011 Kenny Root <kroot@google.com> am 6688b6c3: Merge "Allow updated system apps to retain priority" into gingerbread

* commit '6688b6c31765242866fc276cea7fa241fc5b5e7b':
Allow updated system apps to retain priority
502e9a47c64d819a7aa45251bcf7cb5dd77a310b 10-Jan-2011 Kenny Root <kroot@google.com> Allow updated system apps to retain priority

Previously any updated system apps would not be able to have a greater
than 0 priority on an activity intent filter. Moving the priority check
later in the package scanning allows it to apply to updated system
packages as well.

Cherry-pick from gingerbread branch

Bug: 2572398
Change-Id: I95d8b6360bf7a3f39cd7a1ff09e1ee57e11583d8
m/PackageParser.java
8fecde99056df835ad2edd795bc9fa7593c4cd2a 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 43194ce0: am 52d70722: am cb842753: Merge "Closing cursor in finalizer to avoid GREF and fd leak in acore"

* commit '43194ce05eef26665572fb248a108fd24d247a8f':
Closing cursor in finalizer to avoid GREF and fd leak in acore
43194ce05eef26665572fb248a108fd24d247a8f 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 52d70722: am cb842753: Merge "Closing cursor in finalizer to avoid GREF and fd leak in acore"

* commit '52d70722654548d156bd7a1cb8c1f05b94b09f06':
Closing cursor in finalizer to avoid GREF and fd leak in acore
b540514cb2a85f8f52ed03229eb6fc6adce1a020 12-Jan-2011 Dianne Hackborn <hackbod@google.com> am b5637c46: am 45a8f53b: Merge "Get rid of old ParcelFileDescriptor API." into honeycomb

* commit 'b5637c467d7ea859f589d2006f3806c5a2c4a27f':
Get rid of old ParcelFileDescriptor API.
540f86aa42877ac73f6f2f24dac49382432aa078 12-Jan-2011 Dianne Hackborn <hackbod@google.com> Get rid of old ParcelFileDescriptor API.

Also some new debugging code in AsyncTaskLoader.

Change-Id: Ib13386b7862821cf0ee31b003bedef78f46240f1
syncTaskLoader.java
1c6e764275934b0ddf65aeb86179c75a50ba15d4 10-Jan-2011 Kenny Root <kroot@google.com> Allow updated system apps to retain priority

Previously any updated system apps would not be able to have a greater
than 0 priority on an activity intent filter. Moving the priority check
later in the package scanning allows it to apply to updated system
packages as well.

Bug: 2572398
Change-Id: I9fdf7906809518b28b49ffec31afec1442d85d3c
m/PackageParser.java
486bca10f5a245fa04ad7ea5ba2acba2f9c82d33 11-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> am 24bc5331: am cef29578: Merge "Change local names for greater clarity." into honeycomb

* commit '24bc5331cd302bfdf83ebee14a6acff7b6b48a34':
Change local names for greater clarity.
cef295780ade72a26201c0c92ed2b64fde03a261 11-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Merge "Change local names for greater clarity." into honeycomb
1b744ca49cd61482c9537e08dbd48e60037b2779 11-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Change local names for greater clarity.

Change-Id: I806284317c0c756260080b6c006b4c338b9cbc6d
yncManager.java
fab3f2fef84a100affd48694436c77b36733db0b 11-Jan-2011 Joe Onorato <joeo@google.com> am cb649050: am e5e95588: Merge "add ComponentInfo.isEnabled()" into honeycomb

* commit 'cb649050a9af1df45df5e99f965307e6684ac56d':
add ComponentInfo.isEnabled()
e38cabf5442745a462ad98013507cf6874221f68 11-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> am 7710465f: am 55ccb887: Merge "Don\'t check for services before boot-complete" into honeycomb

* commit '7710465f38217fd452ec6512c2c5d84c65d37729':
Don't check for services before boot-complete
a85a91573af97a76ab08ffd5f8558b73283e1faa 08-Jan-2011 Joe Onorato <joeo@google.com> add ComponentInfo.isEnabled()

Change-Id: I5ce59f62dc0ce3ce446bdbe397d1515e43031d76
m/ComponentInfo.java
03b15b976c7ba1a45e423fd3743fc7a28c28a7d9 11-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Don't check for services before boot-complete

fixes the build

Change-Id: I2ee55d9aaad53dac16fa8182df3a7b43b57eb719
yncManager.java
e896be71c70c7aaa86886fec1044c53e93c42621 10-Jan-2011 Subir Jhanb <subir@google.com> Making the sync manager take the data connected value from ConnectivityManager and not from the intent.
BUG:3337128

Change-Id: Ife2705569fcdde1b201773d6622a8a9d0b7ccfa1
yncManager.java
753c57bf729def69be3f3ed0bcc07b0d858b73bb 10-Jan-2011 Subir Jhanb <subir@google.com> Making the sync manager take the data connected value from ConnectivityManager and not from the intent.
BUG: 3337128
BUG: 3334394

Change-Id: I75b88c7cc0be526e8e7e441aa2668307e2452e62
yncManager.java
52d70722654548d156bd7a1cb8c1f05b94b09f06 10-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am cb842753: Merge "Closing cursor in finalizer to avoid GREF and fd leak in acore"

* commit 'cb8427538dfdc5eae941e377b11bfd11a95fc5a5':
Closing cursor in finalizer to avoid GREF and fd leak in acore
872a52c6b637faf75262b83fe68ff4e0d9fe044c 20-Dec-2010 Johannes Carlsson <johannes.carlsson.x@sonyericsson.com> Closing cursor in finalizer to avoid GREF and fd leak in acore

The finalize() call did not clean up completely, this eventually
caused the android.process.acore to crash since it ran out of fds
and GREF to increased above 2000 if an application forgot to close
its cursor objects. A warning was also added when this happens so
that application developers can correct their mistake. The
included test case tries to verify that the finalizer works as
expected by creating a bunch of Cursor objects without closing
them (without this fix the acore process crashes after about 400
iterations and the test case ends with "Process crashed").

Change-Id: I11e485cef1ac02e718b2742108aa88793666c31d
ontentResolver.java
6c4d904851772313930f800ac7c323cf90c709bb 19-Nov-2010 Kenny Root <kroot@google.com> Add the {get,set}PackageObbPaths calls to API

Add getPackageObbPaths() and setPackageObbPaths() to the public API.

Bug: 3214719
Change-Id: Icb9f2f92f8c59bb3d31317f609854e81abbd1449
m/IPackageManager.aidl
m/PackageManager.java
1f22d2a31abc5fa8a2d97f1f506bb2c25c87a96b 08-Jan-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE Fix issue #3333958: Package Manager can sometimes mistakenly think...

...an app is disabled!

Ouch.

Change-Id: I45dc2beef4e413fd447d905632901fadd924cb6e
m/PackageParser.java
412ebd6f9d18eebc11d8473318316aef1dfc5caa 09-Jan-2011 Dianne Hackborn <hackbod@google.com> am 433863b1: Fix issue #3333958: Package Manager can sometimes mistakenly think...

* commit '433863b1085248a8fdc9bcd0ac8501cc6a7b8ace':
Fix issue #3333958: Package Manager can sometimes mistakenly think...
433863b1085248a8fdc9bcd0ac8501cc6a7b8ace 08-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3333958: Package Manager can sometimes mistakenly think...

...an app is disabled!

Ouch.

Change-Id: I5788c5f8edfe2a0d6f4f0f3359e1742f8ed8d98e
m/PackageParser.java
59d8edd09dc88cc0eb629bdee711a004d300f2fa 09-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Fixed the waitForLoader method.

The reason we need a separate latch is that
AsyncTask will post onPostExecute/onCancelled
_after_ executing mFuture.get(). The previous
implementation would only wait for mFuture.get()
to complete and not the entire task.

Change-Id: I96964591980965148eb09af38b5838bfa5d28277
syncTaskLoader.java
247fe74c934cb3fba85aae7e051a8044f460fb11 09-Jan-2011 Dianne Hackborn <hackbod@google.com> Implement issue # 3255887 could CursorLoader offer...

...to throttle contentobserver-based requeries

Why yes, I guess it could.

This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.

And removes some of the old APIs that had been deprecated but
need to be gone for final release.

And fixes a few little problems with applying the wrong theme
in system code.

Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
syncTaskLoader.java
ontext.java
ontextWrapper.java
ursorLoader.java
oader.java
cd3676e7b835653b04d4f66251a63749e7603f5b 07-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Adding AsyncTaskLoader.waitForLoader() for testing

Change-Id: I8a4c13d48c9deca70594be58beafb68f08da65ea
syncTaskLoader.java
b35cd54b88292bd6cf0387406ad9071f5475c6a7 05-Jan-2011 Dianne Hackborn <hackbod@google.com> No longer needed.

Change-Id: Ia2e8264147bb02e29599227d0588e40b1e626358
m/PackageParser.java
2967aa3e6060f582f166cdb334a0fb9ff0cb4759 28-Dec-2010 Alon Albert <aalbert@google.com> am 672ebb61: Merge "Improved ignore-backoff handling Allow a non-epidited ignore-backoff op to pass through an expidited backed off op." into gingerbread

* commit '672ebb61a755e4bbe60e4e884b1adadf186733b6':
Improved ignore-backoff handling Allow a non-epidited ignore-backoff op to pass through an expidited backed off op.
03ee779b28227e75f16cb6240c5c667d097e59d1 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am e90a1b16: am 752942ec: Merge "The phone is crashing when unknown mime content is transferred."

* commit 'e90a1b16a3d6c559cb7fc47ad967a1810d88e923':
The phone is crashing when unknown mime content is transferred.
e90a1b16a3d6c559cb7fc47ad967a1810d88e923 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am 752942ec: Merge "The phone is crashing when unknown mime content is transferred."

* commit '752942ec4719e6a274d6ab11103ac28459cb0f0c':
The phone is crashing when unknown mime content is transferred.
d41fe75f09fa09fc708d389572639511d745c20e 22-Dec-2010 Alon Albert <aalbert@google.com> Improved ignore-backoff handling
Allow a non-epidited ignore-backoff op to pass through
an expidited backed off op.

To do this, I first refactored the complicated if statement:

if (best == null
|| ((bestSyncableIsUnknownAndNotARetry == syncableIsUnknownAndNotARetry)
? (best.expedited == op.expedited
? opRunTime < bestRunTime
: op.expedited)
: syncableIsUnknownAndNotARetry)) {
best = op;
bestSyncableIsUnknownAndNotARetry = syncableIsUnknownAndNotARetry;
bestRunTime = opRunTime;
}

Into a more readable:
boolean setBest = false;
if (best == null) {
setBest = true;
} else if (bestSyncableIsUnknownAndNotARetry == syncableIsUnknownAndNotARetry) {
if (best.expedited == op.expedited) {
if (opRunTime < bestRunTime) {
// if both have same level, earlier time wins
setBest = true;
}
} else {
if (op.expedited) {
setBest = true;
}
}
} else {
if (syncableIsUnknownAndNotARetry) {
setBest = true;
}
}
if (setBest) {
best = op;
bestSyncableIsUnknownAndNotARetry = syncableIsUnknownAndNotARetry;
bestRunTime = opRunTime;
}

The refactoring was all done automatically with IntelliJ to avoid human error
in the conversion.

After verifying this code still behaved as expected including the error
condition in the bug, I added handling for the cases when a non-expidited op
may override an expedited op if certain conditions occur, specificaly, if the
expidited op is backed off and the non-expidited op is not.

Finally, refactored to make it testable and added tests and logging.

Bug: 3128963

Change-Id: I131cbcec6073ea5fe425f6b5aa88ca56c02b6598
yncQueue.java
0e3b8f421dfcc5363f234eb1b76479cb2fb2e8ee 21-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3301572: onCreateLoader must not be a member class: VolumeMetadataLoader

Also some various cleanup.

Change-Id: I8e8616a86c50c86817f7ec9bb02a5954c1ccd84f
syncTaskLoader.java
ursorLoader.java
oader.java
145e6c4975536d927e506634514a06c43313df17 20-Dec-2010 Ola Olsson <ola1.olsson@sonyericsson.com> The phone is crashing when unknown mime content is transferred.

The content resolver does not take care of the IllegalStateException
that is thrown in getType and that needs to be fixed.

Change-Id: I3e66f1aa259ab91fb9233e1ba07faa1ab6c3f2dd
ontentResolver.java
a2ea747faaf5fcd437afbaaf4085cfc29e7c16b8 20-Dec-2010 Dianne Hackborn <hackbod@google.com> More cleanup of Loader APIs.

- Remove old method names.
- Introduce onXxx() hooks to Loader.
- Improve debugging.

Change-Id: I3fba072a05c7023aa7d2c3eb4e126feb514ab6d8
syncTaskLoader.java
ursorLoader.java
oader.java
8c972f2ce200a0f4b452cd5abb0ff0ae8fb5ee05 18-Dec-2010 Dianne Hackborn <hackbod@google.com> Merge "Some fixes to the new loader management."
f73c75ca20fcaaee1b0eeaaf756252c33e3099c6 18-Dec-2010 Dianne Hackborn <hackbod@google.com> Some fixes to the new loader management.

Change-Id: Ib882be5762b0ebeed9b027754159f401232718e9
ursorLoader.java
b23a82cc035bf48454732b1ef9d7c7643d79861a 17-Dec-2010 Fred Quintana <fredq@google.com> Merge "fix the TooManyDeletes to show up again"
c91893511dc1b9e634648406c9ae61b15476e65d 15-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3272082: Contacts: when going back from edit view,
list UI is not ready yet

This involves some reworking of Loaders.

Loaders, in particular CursorLoader, are now expected to retain
their current data after being stopped. This allows applications
to keep that data across onStop() -> onStart(), so when the user
returns to the app it doesn't have to wait for the data to reload
and thus cause flicker.

This includes various API changes to better reflect the new
semantics, plus a new LoaderCallbacks method to tell the application
when it is actually time to stop their use of a loader's data.

Note this is somewhat half-done, to help checking in the extensive
application changes that are required without causing build breakage.

Change-Id: Ib4b3bf8185a6da46e7f06ca125521d65e2e380a1
ursorLoader.java
oader.java
b19e62add0a747127952862bb7bea0b73379edcc 16-Dec-2010 Fred Quintana <fredq@google.com> fix the TooManyDeletes to show up again

It was moved so it was no longer in the location that
SyncManager expected. I fixed it by (a) moving it to the
SyncManager directory and by (b) changing the SyncManager to
refer to it by class rather than by class name, which means
it will now check for it at compile time, not run time.
Bug: 3289922

Change-Id: I24f8bac371a16c62c2a38ed1024702c6d0913b93
yncActivityTooManyDeletes.java
yncManager.java
051c751569bebade2ae3fa7f68b70b174a4c0840 16-Dec-2010 Eric Laurent <elaurent@google.com> Merge "Fix error in HDMI and digital dock intent strings"
4d29b2f11d4ea3b0cf60f1a1bf394740d64ef416 16-Dec-2010 Eric Laurent <elaurent@google.com> Fix error in HDMI and digital dock intent strings

Intent.ACTION_USB_DGTL_HEADSET_PLUG and Intent.ACTION_HDMI_AUDIO_PLUG
where mistakenly using the same string.

Change-Id: Iede1896196585396dcc7e00aad06ad60e9a87875
ntent.java
744e310f6635026396e32ab0a2c009e464c2be3c 14-Dec-2010 Alon Albert <aalbert@google.com> Clear all pending backoffs on a reconnect event

Change-Id: I509e2c6c9d95922d196ac805eded523b674ad805
yncManager.java
yncStorageEngine.java
194157638ae59418b9d9cb4d73f7e285f59bc579 15-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix launching of activities that I broke.

Change-Id: I39f4189bad6bdecdc7f9362410f36453fd816121
m/PackageManager.java
4e920f70f38d52d3a74c6a3133388a2e2cb6c175 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Add MODE_MULTI_PROCESS flag to Context.getSharedPreferences()

Also, changes to make this testable with CTS:

-- special PENALTY_DEATH StrictMode fast path that doesn't use
the Looper idling to "time" the violation. Only used when
death is the only violation,

-- make PENALTY_DEATH throw a RuntimeException instead of
killing its process with a signal. this means we can catch
it in CTS tests, but it's also more consistent with
PENALTY_NETWORK_DEATH in Honeycomb.

-- make FileUtils.getFileStatus() invoke StrictMode, which isn't
(yet?) aware of I/O in native code. so help it out.

CTS test for MODE_MULTI_PROCESS is in I6154edab

Change-Id: Icf93f9dfb0ece06b16781e4803dd2c17df3cf1b3
ontext.java
aeeb620906d037902d0c111a2272b6efd97f377a 10-Dec-2010 Alon Albert <aalbert@google.com> Do not increase backoff before it expires

Change-Id: Ia5f382f3cc0b0d41bf382d98665dc50512513dda
yncManager.java
ccc714131359eb1022d8c6702b7d82ab9e93f27c 13-Dec-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 78e9f4cb to master

Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
78e9f4cbaece783b7b87ce3fb0a157dae766012a 13-Dec-2010 Dianne Hackborn <hackbod@google.com> am e4a59519: Fix issue #3154576: battery stats checkin should include UID -> packages+ map

* commit 'e4a5951925f16f18dae91ed65567e96528f17fee':
Fix issue #3154576: battery stats checkin should include UID -> packages+ map
e4a5951925f16f18dae91ed65567e96528f17fee 07-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3154576: battery stats checkin should include UID -> packages+ map

Includes some other small fixes to battery collection and a few
other things.

Output of package info looks like this:

5,0,i,uid,1000,com.android.settings
5,0,i,uid,1000,com.android.providers.subscribedfeeds
5,0,i,uid,1000,com.android.providers.settings
5,0,i,uid,1000,com.android.server.vpn
5,0,i,uid,1000,android
5,0,i,uid,1000,com.android.systemui
5,0,i,uid,1000,com.google.android.backup
5,0,i,uid,1001,com.android.phone
5,0,i,uid,1001,com.android.providers.telephony
5,0,i,uid,1022,com.android.nfc
5,0,i,uid,10021,com.google.android.location
5,0,i,uid,10021,com.google.android.syncadapters.calendar
5,0,i,uid,10021,com.google.android.gsf
5,0,i,uid,10021,com.google.android.syncadapters.contacts
5,0,i,uid,10026,com.android.providers.downloads.ui
5,0,i,uid,10026,com.android.providers.media
5,0,i,uid,10026,com.android.providers.drm
5,0,i,uid,10026,com.android.providers.downloads
5,0,i,uid,10032,com.android.launcher
5,0,i,uid,10039,com.google.android.gm
5,0,i,uid,10041,com.google.android.gallery3d
5,0,i,uid,10049,com.android.providers.calendar

Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
m/PackageParser.java
30d7189067524000c738c188c4ff91f84f474d25 11-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3274841: Orientation change problem with a paused activity

Plus a bunch of debug output improvements.

And some new Intent helpers for dealing with restarting an app.

Change-Id: I50ec56bca6a86c562156b13fe8a6fdf68038a12e
ntent.java
m/PackageManager.java
d250746716305717d7cde64032d2d25cda14e6c9 13-Dec-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of 1d0d1188 to master

Change-Id: I80413d5a54a0284ab6f685c4c6197a2c009ea717
1d0d1188d71ed086b3910cfe1d244fdeee47f182 11-Dec-2010 Nick Pelly <npelly@google.com> am ae56a851: Merge "Make getSystemService(NFC_SERVICE) the NFC entry point." into gingerbread

* commit 'ae56a851624c2b2e78da8a2c339d2caa64c4f981':
Make getSystemService(NFC_SERVICE) the NFC entry point.
50b4d8f643f31b37e9872f562fb869059cf79c8a 08-Dec-2010 Nick Pelly <npelly@google.com> Make getSystemService(NFC_SERVICE) the NFC entry point.

This gives NFC service a handle to the application context.

Deprecate NfcAdapter.getDefaultAdapter(), it does not provide a context.
Using this method will print a warning, and will later throw an exception
if a method that requires a context is called. No 2.3 API's will fail, but
new API's that do require a context might fail.

Also add helper NfcAdapter.getDefaultAdapter(Context).

Change-Id: I9a6378de4ef4b61ad922f8d53e64e2a1a1d5d60c
ontext.java
957d85ec046651a8b0549b62021079ddcc0b8f53 10-Dec-2010 Fred Quintana <fredq@google.com> revert an API change that conflicted witha previous SDK version

Change-Id: I71ef6bd135296846021c0e7ee465cac9181b5473
yncAdapterType.java
0c4d04ac2e8aa62560d8d767fa1c87e5361b0b08 04-Nov-2010 Fred Quintana <fredq@google.com> allow sync adapter authors to control more policies

- let the SyncManager know that the SyncAdapter can handle
parallel syncs even within sync adapter types
- allow indicating that the sync adapter should be auto
initialized without requiring the sync adapter to run first.
When this setting is used then setIsSyncable(1) is automatically
called for the sync adapter.

Change-Id: Ib40eba95c2556eaee4bb0fe715f379af1b72b84a
bstractThreadedSyncAdapter.java
yncAdapterType.java
yncAdaptersCache.java
yncManager.java
yncOperation.java
yncQueue.java
eca7511f61a6bfbb43a6646f87b5771bcc5d3fdc 09-Dec-2010 Alon Albert <aalbert@google.com> Listen for SyncAdapter death to cancel a sync

Change-Id: Icbb439c56b89fea1726723d7061c347867834dc8
yncManager.java
af8962e48ecf0ff3833084f540ca7e2f05295560 08-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> am 5f8524d4: am 36af7943: Fix malformed Javadoc.

* commit '5f8524d446fb217516eebafe5d347005051891d1':
Fix malformed Javadoc.
5f8524d446fb217516eebafe5d347005051891d1 08-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> am 36af7943: Fix malformed Javadoc.

* commit '36af79434fb62c26238132eaeda2ec5e732f3c2f':
Fix malformed Javadoc.
36af79434fb62c26238132eaeda2ec5e732f3c2f 08-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Fix malformed Javadoc.

Change-Id: I5cfbd49272117defce5226da0f40a8392457a2e2
ontext.java
26b71be600a44341a34079a007ce1492a6f26c1f 07-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Fix doc typo.

Change-Id: I9d4db682e3d365e783d5d70fbf66d47fe04e88eb
ontext.java
5695c7b4e5bedb692c78a92b95b26e22ae33316b 07-Dec-2010 Fred Quintana <fredq@google.com> make sure that pending operation reconstituted from disk
always have an extras bundle

Bug:3226463
Change-Id: I16db632e0be1e75a77853394f716d4c47c08359e
yncStorageEngine.java
384977fceaba842fd4a5f64111a2266c9e61dba5 06-Dec-2010 Fred Quintana <fredq@google.com> Merge "add caching to the AccountManagerService"
56285a60e83138bb4b4f2d3bdec91b2f3ca11aa2 02-Dec-2010 Fred Quintana <fredq@google.com> add caching to the AccountManagerService

- cache the accounts, userdata and authtokens
- make the AccountManagerServiceTest work again
- add a log statement for every binder call

http://b/issue?id=3188457

Change-Id: I96b94b9b690cf391fe4341e2a72893a6d823777b
m/RegisteredServicesCache.java
1921eab4e7e61bf4e50b09efa4513853521e5281 03-Dec-2010 Bjorn Bringert <bringert@android.com> Merge "Only decrement mRemaining once in read()."
eca53640a863b40ea9f96f280a90ce8aa538f9d1 02-Dec-2010 Fabrice Di Meglio <fdimeglio@google.com> Add better SQL exception handling to the Sync framework (see bug #3202693)

- do the reply.writeNoException() only if there are NO exceptions
- before, the code could actually generate an exception when asking for the count or the index,
and then the exception could not be unmaarshalled because we previously calling reply.writeNoException()

Change-Id: I241120878c3fc10fea5fbaeb74f9124b1413a3d4
ontentProviderNative.java
212799338d7be336e73eb65de3dcd0338a705a11 02-Dec-2010 Bjorn Bringert <bringert@android.com> Only decrement mRemaining once in read().

In the old code AssetFileDescriptor.AutoCloseInputStream.read()
called super.read(), which calls read(byte[] buffer, int offset, int count),
which decrements mRemaining. Then read() decremented mRemaining again
after super.read() returned.

I'm extending the CTS tests for AssetFileDescriptor.AutoCloseInputStream
to cover this.

Bug: 3240844
Change-Id: I70b945abc773d3ce5c1317dad23a0d797b31f111
es/AssetFileDescriptor.java
7d3a5bcf300aea7bffb1d46f28e244ca807f5e82 30-Nov-2010 Dianne Hackborn <hackbod@google.com> Auto-show IME for dialogs on large screens.

On a large screen the IME is not going to as significantly
cover a pan & scan window, so allow it to auto-show if the
app hasn't otherwise specified its visibility.

Also some fixes here and there.

Change-Id: I10227ec59c43454e06e6870633f53426f4d78b83
es/Configuration.java
711e62a84fe6e127592fb14642e9d08cf25a5b75 30-Nov-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3225529: AlertDialogs are squishing their content views

ViewRoot is now smarter about measuring WRAP/WRAP windows.

Change-Id: I690fc78ddbe252d7c8070edb8e7352aec6c67ce9
es/Configuration.java
621e17de87f18003aba2dedb719a2941020a7902 23-Nov-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3221502: New APIs to support new back stack / task navigation

What this adds:

- A new Intent activity flag to completely replace an existing task.
- A new Intent activity flag to bring the current home task up behind
a new task being started/brought to the foreground.
- New versions of startActivity() that take an array of Intents to be
started, allowing applications to start a task in a specific state.
- A public moveTaskToFront() method on ActivityManager, with a new flag
that allows the caller to have the task moved to the front with the
current home task immediately behind it.

Change-Id: Ie8028d09acffb5349d98043c67676daba09f75c8
ontext.java
ontextWrapper.java
ntent.java
cb4541fc8e1dd6165d65b16cd7c8b2b9fb763c80 20-Nov-2010 Brian Muramatsu <btmura@google.com> Merge "Fix ClipboardManager#hasText"
3f6b3b6430f3fad595e46c63876ee8c96e22e127 20-Nov-2010 Brian Muramatsu <btmura@google.com> Fix ClipboardManager#hasText

Bug 3202642

I didn't see any usage of ClipboardService#hasClipboardText.
It seemed like this method was designed to be called by the
deprecated hasText method to retain compatibility rather
than calling hasPrimaryClip.

Change-Id: I84d73d618a6ee2feb2e8e603c611b393850230e7
lipboardManager.java
880119bf43d738ca632b5d3861eb52d655c1c0fc 19-Nov-2010 Dianne Hackborn <hackbod@google.com> Implement issue #2367442: Please add API for manipulating installer
package names

Change-Id: I0563e896a47ae1a6e77aebc2d624fb1bde52ffbc
m/IPackageManager.aidl
m/PackageManager.java
33710fc4a95df602cffc338fdfe79e27eaea4f06 19-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> am 096c4c44: am 251384a7: Merge "Improve performance when getting styled string."

* commit '096c4c448d8110c21108f2db4a19a85099e78557':
Improve performance when getting styled string.
096c4c448d8110c21108f2db4a19a85099e78557 19-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> am 251384a7: Merge "Improve performance when getting styled string."

* commit '251384a7595022ddbc53f4ab0fa386f9c040f1f5':
Improve performance when getting styled string.
62fd4e3fcb5af7ddbeae9f6faec73aa667a3a702 18-Nov-2010 Daisuke Miyakawa <dmiyakawa@google.com> Make AsyncQueryHandler emit more helpful log.

The log is introduced in a5f743f1fc7c5037ee7ad4ab611115b6d44af5b8
We need more info for understanding what is happening.

Bug: 3204897
Change-Id: Ie2fbc838cb76757837c8dedb05055fbcc287d2b4
syncQueryHandler.java
ac4a181d2e02f2dd375c61ce231d35e50d0d1836 18-Nov-2010 Peter Eliasson <peter.eliasson.x@sonyericsson.com> Improve performance when getting styled string.

The style used in the composing text for input methods
takes a long time to create. This is experienced as a
lag when composing the first word.

The bottleneck lies in the 10 calls to
nativeIndexOfString which does a linear search through
thousands of strings.

Change-Id: I3184b2be3673d384cca19e9a70ad94b4d3085576
es/StringBlock.java
866647f9b4d78ea5791d7480a459d93629afbf97 10-Nov-2010 Fred Quintana <fredq@google.com> handle a race condition where a cursor receives an inflight onChange after the cursor has been closed

Change-Id: I11e3d969ef48ef5150976241bb62717c6c0c1b83
ontentQueryMap.java
6e079a32bceb85a44da3b396f8d37e718d1421d5 12-Nov-2010 Alon Albert <aalbert@google.com> Reset backoff on successful sync

Change-Id: I5661485e580dae127c756cd13e814987242e26dd
yncManager.java
3fa51e3430e3bf902ae4f2d72dfb956103b6bd2d 11-Nov-2010 Alon Albert <aalbert@google.com> Improve logging

Change-Id: Ia855b1a45a3abbc1a87233462f19b330b72d30b9
m/RegisteredServicesCache.java
03595d01188d88c169e8c9dd51b357fd545e69cc 02-Nov-2010 Robert Greenwalt <rgreenwalt@google.com> Tell each VM to flush their DNS cache.

bug:3095357
Change-Id: I93de24e3e5a7d8b94d55f4facfffc863a2b8c202
ntent.java
26e37349831476d3225570af2dfbf1e459374c6b 03-Nov-2010 Praveen Bharathi <pbharathi@motorola.com> frameworks/base: switch audio to hdmi when cable is plugged in

Change-Id: I01c4ee968bc0ffbb6ce75370935571cc1ff6f8c7
Signed-off-by: Iliyan Malchev <malchev@google.com>
ntent.java
21e941bf43362ddc6639a9f2d0828053360f53d7 06-Oct-2010 Praveen Bharathi <pbharathi@motorola.com> Added support for dock headset observer

Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
ntent.java
23493ac1b73bcae513ae197cea2cb4d0b975934d 01-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am a87cdd39: am b1fa549a: Merge "Fixes Issue 7907 in the public bugs database (http://code.google.com/p/android/issues/detail?id=7907)."

* commit 'a87cdd398fa8b46eb48b4f9a7a6b114a336e3bf2':
Fixes Issue 7907 in the public bugs database (http://code.google.com/p/android/issues/detail?id=7907).
a87cdd398fa8b46eb48b4f9a7a6b114a336e3bf2 01-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am b1fa549a: Merge "Fixes Issue 7907 in the public bugs database (http://code.google.com/p/android/issues/detail?id=7907)."

* commit 'b1fa549a49fd8fa2fe67ee30d107cc2d1486645f':
Fixes Issue 7907 in the public bugs database (http://code.google.com/p/android/issues/detail?id=7907).
0a675fd8fe145ce636f363c8d29e2416d7d52003 31-Oct-2010 Daniel Trebbien <dtrebbien@gmail.com> Fixes Issue 7907 in the public bugs database (http://code.google.com/p/android/issues/detail?id=7907).

The Javadoc comment for class `android.content.UriMatcher` had four issues:
1. The example calls to `addURI` should not be using a leading forward slash in
the path parameter (reported by Ester Ytterbrink).
2. The sample code to construct a `UriMatcher` was incorrect because the
`UriMatcher` constructor takes a parameter (reported by Ross Light).
3. The code example for using `match` was incorrect because it showed two
parameters being passed, when `match` only takes one (reported by
Ross Light).
4. The sample `getType` implementations were incorrect because `getType` takes
a `Uri` object, not an array of `String`s.

Change-Id: I560bff6f021c13cabf736f40ff0f47a205074291
riMatcher.java
03034739eb90a41c930201253f5d709c232ce5a9 29-Oct-2010 Kenny Root <kroot@google.com> Merge "Add path to get different DPI drawables"
55fc850cf992cdcb0993cb109d2f716613c0dbdd 28-Oct-2010 Kenny Root <kroot@google.com> Add path to get different DPI drawables

Allow a caller to request a different density than their current display
allows. This can mean a device displaying mdpi can get a resource that's
in hdpi and have it pretend to be in mdpi resolution. If a drawable
that's returned is not in the requested density, it will set it at the
appropriate density to be scaled up later on.

The API for this is hidden currently.

Bug: 3134688
Change-Id: I6c3908cbdef4907b8d3f1576df9e3b0e7af1755a
es/AssetManager.java
es/Resources.java
ae5ace55d9fc45bc11608c9fb59c9ee884fd9ea6 28-Oct-2010 Jeff Hamilton <jham@android.com> am bd8ff5b5: Merge "DO NOT MERGE. Fix asset file descriptor for pipe based fds." into gingerbread

* commit 'bd8ff5b5d4f4c74889ce20a0c7a2f8e0ab7b6ea9':
DO NOT MERGE. Fix asset file descriptor for pipe based fds.
c1ac7769d884ad54a320ab3ec6d8406801cfb420 28-Oct-2010 Alon Albert <aalbert@google.com> Apply backoff to operation that caused it

Change-Id: I4f0c9598f031fc7c440071db14eca40094956afb
yncManager.java
145fe77dbf930761ccc8617f93014bf88afc7140 28-Oct-2010 Jeff Hamilton <jham@android.com> DO NOT MERGE. Fix asset file descriptor for pipe based fds.

Change-Id: Ic366d01f91017109abfcfa65bd2231dd7416ce71
es/AssetFileDescriptor.java
e829fef63957a23b61cdb01bb692a17a041ff2dc 27-Oct-2010 Dianne Hackborn <hackbod@google.com> Add facility for broadcasts receives to do work asynchronously.

You can now call goAsync() and move your work to a background thread.
If you are that kind of receiver. You weirdo.

Also allows SharedPreferences.apply() to be committed off the main
thread after returning from onReceive().

Change-Id: I27f975910e28f230ababcaeb551eb9a78ec4fc76
roadcastReceiver.java
f834dfabbcbbe1f209682f18c67f2e8b9d3e1dd7 26-Oct-2010 Dianne Hackborn <hackbod@google.com> ClipDescription no longer inherits from ClipData.

Change-Id: Ie4939f87c7e1628d9c19ecb5c0b3036d1f76ef29
lipData.java
dc28be1095c681522ed0784038b30f5630e62291 25-Oct-2010 Scott Main <smain@google.com> resolved conflicts for merge of 177b05d6 to master

Change-Id: I21072a31a28d0e0ea242d1d4f81e5f5f657e6364
177b05d6140cb0fb25fa75a61b888cf53f44564e 25-Oct-2010 Scott Main <smain@google.com> am abb50f15: Merge "docs: fix a couple api links" into gingerbread

Merge commit 'abb50f152879cc8dff1bf5cbc4d6375e959305cd' into gingerbread-plus-aosp

* commit 'abb50f152879cc8dff1bf5cbc4d6375e959305cd':
docs: fix a couple api links
abb50f152879cc8dff1bf5cbc4d6375e959305cd 25-Oct-2010 Scott Main <smain@google.com> Merge "docs: fix a couple api links" into gingerbread
a0b46c9c441f017a2008ca8ee2c864987465996b 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3116702: New manifest tags for supported screen sizes

Merged from GB.

Change-Id: I94730b54bcacd083f77708e84c35f4932a7b9d2e
m/PackageParser.java
9c7489f8bdcd08990c44250cbad64399badc72be 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am 38993d8d: Merge "Fix issue #3122240: Expose xlarge in GB." into gingerbread
5383f502e4479d117c89666fb2ee1ca53f3d27cf 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3122240: Expose xlarge in GB.

Plus some other small API cleanup.

Change-Id: I1a3c60f510f99224cccac9cc3f838f04141064f8
es/Configuration.java
101f14b275ab2451aef50dec427376d721d17aea 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am ba501785: Merge "Implement issue #3116702: New manifest tags for supported screen sizes DO NOT MERGE" into gingerbread

Merge commit 'ba501785c7b298198d1c6e4787fd40e98f97da67' into gingerbread-plus-aosp

* commit 'ba501785c7b298198d1c6e4787fd40e98f97da67':
Implement issue #3116702: New manifest tags for supported screen sizes DO NOT MERGE
a6d9c7c04c4b17d85ac70f4494777555655f3be1 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3116702: New manifest tags for supported screen sizes DO NOT MERGE

Change-Id: Iabf64d86c89d387ffbfbc39f950d308a73fe17eb
m/PackageParser.java
46cb1d9602905061ff2a9ba3bc7654bfe94183db 21-Oct-2010 Dianne Hackborn <hackbod@google.com> am 674b856c: am fb2cd0aa: Merge "Fix java doc on FLAG_EXTERNAL." into gingerbread

Merge commit '674b856c15206a23d9d8a22fbd936a4f3055894d'

* commit '674b856c15206a23d9d8a22fbd936a4f3055894d':
Fix java doc on FLAG_EXTERNAL.
4b5da6829aa5e324f5e9414c25d132ba0a9ebeb3 21-Oct-2010 Scott Main <smain@google.com> docs: fix a couple api links

Change-Id: If0e35011a28dc87324e2d53e856cfcdb35236061
ontext.java
674b856c15206a23d9d8a22fbd936a4f3055894d 21-Oct-2010 Dianne Hackborn <hackbod@google.com> am fb2cd0aa: Merge "Fix java doc on FLAG_EXTERNAL." into gingerbread

Merge commit 'fb2cd0aa9d140efdf78f0d920d8e3bb7db39c8de' into gingerbread-plus-aosp

* commit 'fb2cd0aa9d140efdf78f0d920d8e3bb7db39c8de':
Fix java doc on FLAG_EXTERNAL.
eddfc04a08cc4d5315930d94d4627caa7dad5596 21-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix java doc on FLAG_EXTERNAL.

Change-Id: Ic533b3a6c3300a986dd8d0da04243d723cf393ef
m/ApplicationInfo.java
cd0e839a2448deea50f79bddeba782c546b33893 14-Oct-2010 Nick Pelly <npelly@google.com> NFC: Move NFC service implementation out of system_server.

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

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

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

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

Bug: 3041259
Bug: 3097445
Change-Id: If7f00cd8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
ontext.java
36e7790b6b3c2c36c67fbe5dc2e2313cdd537349 16-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Merge a851d8d0 from gingerbread

Change-Id: Iea0e3fa1662d6326ab337821fe52a65a9dfd989a
fcab0f5502410b975afe045354bbae31ccba68a5 15-Oct-2010 Kenny Root <kroot@google.com> am 8fda1636: am bdf8034c: Merge "OBB: use PBKDF2 for key generation." into gingerbread

Merge commit '8fda1636e3e35f060b9046294efd3c062a1fdb84'

* commit '8fda1636e3e35f060b9046294efd3c062a1fdb84':
OBB: use PBKDF2 for key generation.
bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48 14-Oct-2010 Nick Pelly <npelly@google.com> NFC: Move NFC service implementation out of system_server.

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

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

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

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

Bug: 3041259
Bug: 3097445
Change-Id: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
ontext.java
b079a106524c8028a1602b6df9be5d273a6552cf 15-Oct-2010 Wink Saville <wink@google.com> am 94980e0f: am 07e1be62: Merge "Fix NPE caused by Change I4df27119." into gingerbread

Merge commit '94980e0f76295de53bd168608d11dba3c39cca9d'

* commit '94980e0f76295de53bd168608d11dba3c39cca9d':
Fix NPE caused by Change I4df27119.
8fda1636e3e35f060b9046294efd3c062a1fdb84 14-Oct-2010 Kenny Root <kroot@google.com> am bdf8034c: Merge "OBB: use PBKDF2 for key generation." into gingerbread

Merge commit 'bdf8034c657147226b2390eef113ff841e0d6065' into gingerbread-plus-aosp

* commit 'bdf8034c657147226b2390eef113ff841e0d6065':
OBB: use PBKDF2 for key generation.
1b422d8cd8ed83b79e977a3afb99969cea4a6700 14-Oct-2010 Wink Saville <wink@google.com> am 090ac9f7: am a3100314: Merge "Remove some PII." into gingerbread

Merge commit '090ac9f7dd883aa75c899745182471d409a2b762'

* commit '090ac9f7dd883aa75c899745182471d409a2b762':
Remove some PII.
bdf8034c657147226b2390eef113ff841e0d6065 14-Oct-2010 Kenny Root <kroot@google.com> Merge "OBB: use PBKDF2 for key generation." into gingerbread
3b1abba6bbc895d63da3e82e9b158c01bd12eddd 14-Oct-2010 Kenny Root <kroot@google.com> OBB: use PBKDF2 for key generation.

Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.

Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
es/ObbInfo.java
94980e0f76295de53bd168608d11dba3c39cca9d 13-Oct-2010 Wink Saville <wink@google.com> am 07e1be62: Merge "Fix NPE caused by Change I4df27119." into gingerbread

Merge commit '07e1be62c7a8650313e7ad8690968c58ec8e88ad' into gingerbread-plus-aosp

* commit '07e1be62c7a8650313e7ad8690968c58ec8e88ad':
Fix NPE caused by Change I4df27119.
c491ee02237fc5c0e6a4ad81ebc899d97c9778b5 13-Oct-2010 Wink Saville <wink@google.com> Fix NPE caused by Change I4df27119.

This change caused Music APP to throw an NPE the fix
is to test that scheme is not null before using it.

Bug: 3092886
Change-Id: Ib29f944cbd9a9ff628462bdd6f4b68a308468536
ntent.java
090ac9f7dd883aa75c899745182471d409a2b762 12-Oct-2010 Wink Saville <wink@google.com> am a3100314: Merge "Remove some PII." into gingerbread

Merge commit 'a310031438877a7b70a6ac30eb2f2b33e06907e6' into gingerbread-plus-aosp

* commit 'a310031438877a7b70a6ac30eb2f2b33e06907e6':
Remove some PII.
a42880749b368e60caee77dd682d434e48ca96bd 12-Oct-2010 Wink Saville <wink@google.com> Remove some PII.

Change-Id: I4df27119b6bbd28bf950516fd6f44676a8e04f06
ntent.java
yncStorageEngine.java
d532d8d8c16c8b83a75310453d1f9f7197961bbf 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am ca1db5ae: am dd644c17: Fallback to SharedPreferences.commit() when no apply() exists.

Merge commit 'ca1db5ae68971779fd8af83c908128849f470ae0'

* commit 'ca1db5ae68971779fd8af83c908128849f470ae0':
Fallback to SharedPreferences$Editor.commit() when no apply() exists.
ca1db5ae68971779fd8af83c908128849f470ae0 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am dd644c17: Fallback to SharedPreferences.commit() when no apply() exists.

Merge commit 'dd644c179c1bf47d82d776d7f644e4fc1467159d' into gingerbread-plus-aosp

* commit 'dd644c179c1bf47d82d776d7f644e4fc1467159d':
Fallback to SharedPreferences$Editor.commit() when no apply() exists.
dd644c179c1bf47d82d776d7f644e4fc1467159d 10-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Fallback to SharedPreferences$Editor.commit() when no apply() exists.

Gingerbread widened the SharedPreferences.Editor interface, adding an
apply() method. Most people don't implement this interface
themselves, but a couple apps do.

A few spots in the core framework take a SharedPreferences[.Editor]
from apps, which might be a pre-Gingerbread implementation without an
apply() method. This patch makes sure we never depend on the presence
of an apply() method, falling back to commit() if apply() isn't
available.

Change-Id: I32693ac9227a60b694526a26a30234fb17a40581
haredPreferences.java
615e2fa1755ea3b6b8196f783842cd394ad3beb2 10-Oct-2010 Dianne Hackborn <hackbod@google.com> am b77455ee: am 78d68836: Implement tracking of package install times.

Merge commit 'b77455ee290691b036ac79236a93e57ff294ef0c'

* commit 'b77455ee290691b036ac79236a93e57ff294ef0c':
Implement tracking of package install times.
fa9921e4bca92025810b946955910fbdfe6c8482 09-Oct-2010 Dianne Hackborn <hackbod@google.com> am e89bf502: am ef083ec0: Merge "Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider" into gingerbread

Merge commit 'e89bf50261902bf263887923bf95595ec8eae069'

* commit 'e89bf50261902bf263887923bf95595ec8eae069':
Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider
c6a69559cb62bd20166c0c9684e64c60d779da38 28-Sep-2010 Fred Quintana <fredq@google.com> Add getCurrentSyncs() to the SDK, which replaces the deprecated
getCurrentSync().

Change-Id: I1112df41e48ed93ff4c0c5af4825dbdce0c4cccc
ontentResolver.java
ontentService.java
ContentService.aidl
yncInfo.java
yncStorageEngine.java
b77455ee290691b036ac79236a93e57ff294ef0c 08-Oct-2010 Dianne Hackborn <hackbod@google.com> am 78d68836: Implement tracking of package install times.

Merge commit '78d688369a2240009d3bbe4126996a973b2e2fe2' into gingerbread-plus-aosp

* commit '78d688369a2240009d3bbe4126996a973b2e2fe2':
Implement tracking of package install times.
78d688369a2240009d3bbe4126996a973b2e2fe2 07-Oct-2010 Dianne Hackborn <hackbod@google.com> Implement tracking of package install times.

Provides information about the time at which the package was
first installed and the time it was last updated.

Change-Id: Icb43f77b5b669a1ce685e8913046b8be386b6175
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
8c4e779a4c968d4c7a4e4902484004e1659217aa 07-Oct-2010 Dianne Hackborn <hackbod@google.com> am e112b744: am 930d6c3c: Merge "Fix issue #3056500: Problem report for ASTRO" into gingerbread

Merge commit 'e112b744c08cd7dcffe142f3cd22c96870bad482'

* commit 'e112b744c08cd7dcffe142f3cd22c96870bad482':
Fix issue #3056500: Problem report for ASTRO
e89bf50261902bf263887923bf95595ec8eae069 07-Oct-2010 Dianne Hackborn <hackbod@google.com> am ef083ec0: Merge "Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider" into gingerbread

Merge commit 'ef083ec008a3ec69180340912e7f0137472c97d9' into gingerbread-plus-aosp

* commit 'ef083ec008a3ec69180340912e7f0137472c97d9':
Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider
72b526a13c9b548a1e1a0239f670e36744cb0fdc 07-Oct-2010 Dianne Hackborn <hackbod@google.com> am cb9f1e4d: am 6f7e10ca: Merge "Make it easier to figure out whether an app can go on sd card." into gingerbread

Merge commit 'cb9f1e4d30ab4f9203e30abe807cbe33d07db4a0'

* commit 'cb9f1e4d30ab4f9203e30abe807cbe33d07db4a0':
Make it easier to figure out whether an app can go on sd card.
043fcd9847a804bc6394728e5785aecc495e6347 06-Oct-2010 Dianne Hackborn <hackbod@google.com> Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider

Exposes an Intent I need (okay it fixes an unrelated thing in the power widget),
and fixes some dump output.

Change-Id: I51d6c93a6ac879bab64e9d5aa21129e2bbcd461b
yncStorageEngine.java
c8b7971cb3e09dfd4480a4bb8875a32157b62192 06-Oct-2010 Fred Quintana <fredq@google.com> Merge "Make a separate active sync queue for initialization and regular syncs."
918339ab8255f8e1d03d8448ab1d9036c7c15173 05-Oct-2010 Fred Quintana <fredq@google.com> Make a separate active sync queue for initialization and regular syncs.

This entails allowing multiple syncs to happen in parallel, with
different limits for regular and initialization syncs.

Change-Id: I0e47c6515af5c98faf899f91855b342b0d0c708c
yncManager.java
yncOperation.java
yncQueue.java
yncStorageEngine.java
e112b744c08cd7dcffe142f3cd22c96870bad482 05-Oct-2010 Dianne Hackborn <hackbod@google.com> am 930d6c3c: Merge "Fix issue #3056500: Problem report for ASTRO" into gingerbread

Merge commit '930d6c3cd5ad387489eb1d35a38beeafe54166b6' into gingerbread-plus-aosp

* commit '930d6c3cd5ad387489eb1d35a38beeafe54166b6':
Fix issue #3056500: Problem report for ASTRO
817c24752cf1d70bcd53a038a0d06abbb1ec6aad 05-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3056500: Problem report for ASTRO

Change-Id: Ifa07dbc50930f5d6a20cdc0ee541c0566f3785ba
m/ApplicationInfo.java
90f4aafa336d9f2f07281ead3c846d323a710015 27-Sep-2010 Dianne Hackborn <hackbod@google.com> Implement permission granting in clipboard.

Change-Id: I9a7a949d1aaf4b3beabceaf807fb7d3b040e4ea8
lipboardManager.java
Clipboard.aidl
38014763a2ceec005682066da01849adf95839bd 05-Oct-2010 Dianne Hackborn <hackbod@google.com> am 89230e3b: am 458fc5f5: Merge "Fix issue #3041660: Camera image flips upside down when rotating device" into gingerbread

Merge commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d'

* commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d':
Fix issue #3041660: Camera image flips upside down when rotating device
cb9f1e4d30ab4f9203e30abe807cbe33d07db4a0 05-Oct-2010 Dianne Hackborn <hackbod@google.com> am 6f7e10ca: Merge "Make it easier to figure out whether an app can go on sd card." into gingerbread

Merge commit '6f7e10ca0aa869c4b3ed4c37e56cf9d471fd9283' into gingerbread-plus-aosp

* commit '6f7e10ca0aa869c4b3ed4c37e56cf9d471fd9283':
Make it easier to figure out whether an app can go on sd card.
54e570f78b45d6c47578a4a2513097b590b6d43f 05-Oct-2010 Dianne Hackborn <hackbod@google.com> Make it easier to figure out whether an app can go on sd card.

Change-Id: I9195a0881b2c435b138f39c2ab1505dc820caf10
m/ApplicationInfo.java
m/PackageParser.java
89230e3b7b9ec455373e3f60b62ff65589a9c57d 04-Oct-2010 Dianne Hackborn <hackbod@google.com> am 458fc5f5: Merge "Fix issue #3041660: Camera image flips upside down when rotating device" into gingerbread

Merge commit '458fc5f52e25d7a8b4e482010711aed66f0b4999' into gingerbread-plus-aosp

* commit '458fc5f52e25d7a8b4e482010711aed66f0b4999':
Fix issue #3041660: Camera image flips upside down when rotating device
e5439f228f603f60febe058f633d91d5af2fff76 03-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3041660: Camera image flips upside down when rotating device

Apps now must explicitly opt in to having their rotation changed while
forcing landscape mode. Also add some new orientation constants for other
things apps may want to do.

Change-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd
m/ActivityInfo.java
4768a16cbc9c25fac6bfb9f1f2f7ddfba67aac7b 02-Oct-2010 Dianne Hackborn <hackbod@google.com> am 9e1556de: am 14e7d693: Merge "Some documentation fixes." into gingerbread

Merge commit '9e1556de8382c3eb68d324a7ef559b2cde1b3d6c'

* commit '9e1556de8382c3eb68d324a7ef559b2cde1b3d6c':
Some documentation fixes.
9e1556de8382c3eb68d324a7ef559b2cde1b3d6c 02-Oct-2010 Dianne Hackborn <hackbod@google.com> am 14e7d693: Merge "Some documentation fixes." into gingerbread

Merge commit '14e7d693415832a974abc298124a6a5797d49a04' into gingerbread-plus-aosp

* commit '14e7d693415832a974abc298124a6a5797d49a04':
Some documentation fixes.
4d023d214d12c8588b6a3441c2b4bd7c09900937 01-Oct-2010 Dianne Hackborn <hackbod@google.com> Some documentation fixes.

Change-Id: Iaae452fc1430af788ce440a043ca7fb53e667a61
m/PackageManager.java
dc71b9e4d67327065a992924a021cad4bc100fa2 01-Oct-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 6a3eddb4 to master

Change-Id: I1ca1d100274d4a733ef2bf58b0d5d7217b4f858e
9e95468bbb4b4cb48d817cee2960681aa876b12a 01-Oct-2010 Kenny Root <kroot@google.com> am 6ce5f60c: am 38cf8867: Remove OBBs from state list when volume unmounted

Merge commit '6ce5f60c791401ed0faf5d36baf4fc6612358676'

* commit '6ce5f60c791401ed0faf5d36baf4fc6612358676':
Remove OBBs from state list when volume unmounted
6a3eddb469b282f7d904e5dbcb375ad44ada3ee3 01-Oct-2010 Dianne Hackborn <hackbod@google.com> am 0a69f597: Merge "Rub in a little \'ol log-b-gone." into gingerbread

Merge commit '0a69f597604254bc37721b135ab612eaacdd0cbd' into gingerbread-plus-aosp

* commit '0a69f597604254bc37721b135ab612eaacdd0cbd':
Rub in a little 'ol log-b-gone.
0a69f597604254bc37721b135ab612eaacdd0cbd 01-Oct-2010 Dianne Hackborn <hackbod@google.com> Merge "Rub in a little 'ol log-b-gone." into gingerbread
cef65eeb0315c3118bf8860d6f723cb49ff6bc52 01-Oct-2010 Dianne Hackborn <hackbod@google.com> Rub in a little 'ol log-b-gone.

Mmmmmm... great fresh scent!

Change-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d
m/PackageParser.java
6ce5f60c791401ed0faf5d36baf4fc6612358676 01-Oct-2010 Kenny Root <kroot@google.com> am 38cf8867: Remove OBBs from state list when volume unmounted

Merge commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94' into gingerbread-plus-aosp

* commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94':
Remove OBBs from state list when volume unmounted
38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94 26-Sep-2010 Kenny Root <kroot@google.com> Remove OBBs from state list when volume unmounted

Don't keep tracking OBBs when the volume they're located on goes away.
Remove them from our state tracking maps and then send a notification to
any listener that is still around.

Add a dump handler to MountService so the state of the mount lists
can be inspected.

Change the API to just make a callback directly to the change listener
when mount is called when it's already mounted or unmount called when
it's already unmounted.

Change-Id: Idb4afbb943ca5ca775825f908bff334e3ce1cfcc
es/ObbInfo.java
es/ObbScanner.java
a53146c5569f8ff5f7eb55e9ad35d23ddacf2add 07-Sep-2010 Christopher Tate <ctate@google.com> Drag/drop APIs and infrastructure

A View initiates a drag-and-drop operation (hereafter just called a "drag")
by calling its startDrag(ClipData) method. Within the processing of that
call, two callbacks are made into the originating View. The first is to
onMeasureDragThumbnail(). Similarly to the core onMeasure() method, this
callback must respond by calling setDragThumbnailDimension(width, height) to
declare the size of the drag thumbnail image that should be used. Following
this, the View's onDrawDragThumbnail(canvas) method will be invoked to
actually produce the bits of the thumbnail image.

If all goes well, startDrag() will return 'true', and the drag is off and
running. (The other arguments to startDrag() provide reconciliation between
the current finger position and where the thumbnail should be placed on
the screen relative to it.)

Potential receipients of the ClipData behind the drag are notified by a
new dispatch mechanism, roughly parallel to motion event dispatch. The core
routine is the View's onDragEvent(event) callback, with the mechanics of
dispatch itself being routed through dispatchDragEvent(event) -- as in
the case of motion events, the dispatch logic is in ViewGroup, with leaf
View objects not needing to consider the dispatch flow.

Several different event 'actions' are delivered through this dispatch
mechanism:

ACTION_DRAG_STARTED: this event is propagated to every View in every window
(including windows created during the course of a drag). It serves as a
global notification that a drag has started with a payload whose matching
ClipDescription is supplied with the event. A View that is prepared to
consume the data described in this event should return 'true' from their
onDragEvent() method, and ideally will also make some visible on-screen
indication that they are a potential target of the drop.

ACTION_DRAG_ENTERED: this event is sent once when the drag point
enters the View's bounds. It is an opportunity for the View to set up
feedback that they are the one who will see the drop if the finger goes
up now.

ACTION_DRAG_LOCATION: when the drag point is over a given View, that
View will receive a stream of DRAG_LOCATION events, providing an
opportunity for the View to show visual feedback tied to the drag point.

ACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point
leaves the View's bounds. The View should undo any visuals meant to
emphasize their being the hovered-over target.

ACTION_DROP: when the drag ends at a given point, the View under that
point is sent this event, with the full ClipData of the payload.

ACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global
broadcast that the drag has ended and all Views should return to their
normal visual state. This happens after the DROP event.

Change-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6
es/CompatibilityInfo.java
ea7ee3f4d31b92828df005d021cf482f6332514a 30-Sep-2010 Kenny Root <kroot@google.com> am 8bd545ab: am 212d81a0: Merge "Move all the permissions check up for unmount" into gingerbread

Merge commit '8bd545ab4f7e75634c970b50ed15c20858d6ac0c'

* commit '8bd545ab4f7e75634c970b50ed15c20858d6ac0c':
Move all the permissions check up for unmount
4715bd91f5949a1919156a5a5cb50f0cccda645e 29-Sep-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of f4c3b7e9 to master

Change-Id: Idcdc521144f3072058b2bb6cb383e42c852e64f4
8bd545ab4f7e75634c970b50ed15c20858d6ac0c 29-Sep-2010 Kenny Root <kroot@google.com> am 212d81a0: Merge "Move all the permissions check up for unmount" into gingerbread

Merge commit '212d81a004f50e51ed8f6d803b79f4b71546b351' into gingerbread-plus-aosp

* commit '212d81a004f50e51ed8f6d803b79f4b71546b351':
Move all the permissions check up for unmount
212d81a004f50e51ed8f6d803b79f4b71546b351 29-Sep-2010 Kenny Root <kroot@google.com> Merge "Move all the permissions check up for unmount" into gingerbread
f1121dc1d35c7e8c317c278aad0dd4ad1358d870 29-Sep-2010 Kenny Root <kroot@google.com> Move all the permissions check up for unmount

We have already scanned the state of the OBB in mountObb, so check the
caller against the stored state in the unmountObb call. This allows us
to ensure the calling binder is the same one that mounted it since we
tie the lifecycle of the OBB to the lifecycle of the binder.

Change-Id: I45d9cfbab5d3f5b37a6a9b594b10bd8b91cccc45
es/ObbScanner.java
f4c3b7e916b417fabb468ec0a565dc79cd7ba2b3 29-Sep-2010 Nick Pelly <npelly@google.com> am 038cabe0: NFC integration

Merge commit '038cabe0247ee46df62f9363f1a303bc5b9c1028' into gingerbread-plus-aosp

* commit '038cabe0247ee46df62f9363f1a303bc5b9c1028':
NFC integration
038cabe0247ee46df62f9363f1a303bc5b9c1028 24-Sep-2010 Nick Pelly <npelly@google.com> NFC integration

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

Conflicts:

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

Change-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573
Signed-off-by: Nick Pelly <npelly@google.com>
ontext.java
bff405f91001237ec94ec64f86fa2370c4509559 29-Sep-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of d8e8186c to master

Change-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5
d8e8186c887fe47977721315f439465771a96374 29-Sep-2010 Kenny Root <kroot@google.com> am 05105f7a: Update OBB API to include callbacks

Merge commit '05105f7abe02b2dff91d6260b3628c8b97816bab' into gingerbread-plus-aosp

* commit '05105f7abe02b2dff91d6260b3628c8b97816bab':
Update OBB API to include callbacks
d58429f9acdb33f05bdb233b7bba495de80cb336 28-Sep-2010 Steve Howard <showard@google.com> Manual merge: Move DownloadManager to android.app

Changing package at hackbod's request.

Change-Id: I867017b6a9f4684d30c6c5bd1b07f9cabecddb9f
ontext.java
05105f7abe02b2dff91d6260b3628c8b97816bab 23-Sep-2010 Kenny Root <kroot@google.com> Update OBB API to include callbacks

Add a callback for users of the StorageManager API to be able to receive
notifications when the requested operation completes for mountObb and
unmountObb.

Add NDK API to get to ObbInfo like the Java API has.

Also update the docs for the API and remove the "STOPSHIP" comments.

Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
es/ObbInfo.java
es/ObbScanner.java
9d9719c44ad05834b48542ea0fc4edbb4f59c311 28-Sep-2010 Steve Howard <showard@google.com> am 5bdb89d7: Merge "Move DownloadManager to android.app (DO NOT MERGE)" into gingerbread

Merge commit '5bdb89d7ac20d4d3e71660d7fe78002a63900399' into gingerbread-plus-aosp

* commit '5bdb89d7ac20d4d3e71660d7fe78002a63900399':
Move DownloadManager to android.app (DO NOT MERGE)
cc8f44bc819a76ac8d0127c57a303bd839240a62 28-Sep-2010 Kenny Root <kroot@google.com> am e7dd4e38: am 04a426f5: Merge "Use buffered I/O during certificate parsing" into gingerbread

Merge commit 'e7dd4e38c47f2f7760d1ce4f86d6321e17f98d1d'

* commit 'e7dd4e38c47f2f7760d1ce4f86d6321e17f98d1d':
Use buffered I/O during certificate parsing
64bbbb471ed78ae06f411224849a4556a30fd362 28-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of a8bce7c8 to master

Change-Id: I34526a3aed6591639e1a1bff8f42e0c5d8e328cc
cca1f0e3476edd09cdd81b075a6b7780a2959b46 27-Sep-2010 Dianne Hackborn <hackbod@google.com> Allow all apps to call ContentResolver.getType().

I can't find the bug number for this, but it is needed for some things
we are doing where the app building an intent may not have access to the
URI in the data field. This is for HC, but doing in GB to avoid introducing
integration issues.

Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
ontentProvider.java
ontentResolver.java
31fd85f39b554e09b2e6c1c2ccf5c186859880fa 28-Sep-2010 Steve Howard <showard@google.com> Move DownloadManager to android.app (DO NOT MERGE)

Changing package at hackbod's request. I'll merge this manually, as
there's some additional master-only code that will be to be
simultaneously changed.

Change-Id: Ibb629ec1c31807fbee31e0193c6a941d04be0117
ontext.java
e7dd4e38c47f2f7760d1ce4f86d6321e17f98d1d 27-Sep-2010 Kenny Root <kroot@google.com> am 04a426f5: Merge "Use buffered I/O during certificate parsing" into gingerbread

Merge commit '04a426f5b50a628fb73bc29b003b0e5bece17c27' into gingerbread-plus-aosp

* commit '04a426f5b50a628fb73bc29b003b0e5bece17c27':
Use buffered I/O during certificate parsing
04a426f5b50a628fb73bc29b003b0e5bece17c27 27-Sep-2010 Kenny Root <kroot@google.com> Merge "Use buffered I/O during certificate parsing" into gingerbread
a8bce7c8acb3904eb69bf21276c0ca2635c76a20 27-Sep-2010 Dianne Hackborn <hackbod@google.com> am d8691d73: Merge "Allow all apps to call ContentResolver.getType()." into gingerbread

Merge commit 'd8691d73d158acd9ffc63748126e822afd656707' into gingerbread-plus-aosp

* commit 'd8691d73d158acd9ffc63748126e822afd656707':
Allow all apps to call ContentResolver.getType().
d8691d73d158acd9ffc63748126e822afd656707 27-Sep-2010 Dianne Hackborn <hackbod@google.com> Merge "Allow all apps to call ContentResolver.getType()." into gingerbread
2b0fa71c1a9e588fc31944baa5a21c362a0ab1ca 27-Sep-2010 Dan Morrill <morrildl@google.com> am c6581a10: am 4e9751f0: Merge "Adding a feature to indicate that the device possesses low-latency audio. The specific criteria for low-latency audio are defined in the CDD, but since that hasn\'t yet been settled for Gingerbread, this change doesn\'t go into details

Merge commit 'c6581a1046b062d0e06e50e9b09e6c12a8e54efc'

* commit 'c6581a1046b062d0e06e50e9b09e6c12a8e54efc':
Adding a feature to indicate that the device possesses low-latency audio.
c6581a1046b062d0e06e50e9b09e6c12a8e54efc 27-Sep-2010 Dan Morrill <morrildl@google.com> am 4e9751f0: Merge "Adding a feature to indicate that the device possesses low-latency audio. The specific criteria for low-latency audio are defined in the CDD, but since that hasn\'t yet been settled for Gingerbread, this change doesn\'t go into details. We can do a d

Merge commit '4e9751f0770c8bfe6f7d57465cba754af5aa942b' into gingerbread-plus-aosp

* commit '4e9751f0770c8bfe6f7d57465cba754af5aa942b':
Adding a feature to indicate that the device possesses low-latency audio.
d63f7dbf5d30320e8fd4dd8056d245f7b1e818ba 27-Sep-2010 Kenny Root <kroot@google.com> Use buffered I/O during certificate parsing

The PackageParser was using a raw InputStream instead of wrapping it in
a BufferedInputStream which could degrade performance.

Change-Id: I15c86c3ead363ddbadf4ae27e011feda90fcc579
m/PackageParser.java
8313fc7e94e46e5cc09f457a15a771a325b9f74f 27-Sep-2010 Dianne Hackborn <hackbod@google.com> Allow all apps to call ContentResolver.getType().

I can't find the bug number for this, but it is needed for some things
we are doing where the app building an intent may not have access to the
URI in the data field. This is for HC, but doing in GB to avoid introducing
integration issues.

Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
ontentProvider.java
ontentResolver.java
898e1e8860dea8490ba9208fca7965adf9cb8298 27-Sep-2010 Dan Morrill <morrildl@google.com> Adding a feature to indicate that the device possesses low-latency audio.
The specific criteria for low-latency audio are defined in the CDD, but since
that hasn't yet been settled for Gingerbread, this change doesn't go into
details. We can do a docs change later once GB CDD is final.

Change-Id: Ic5ad9d04e8ecd78c81b6f09439affec6bf8cb9b2
m/PackageManager.java
c388844d50a67ecd8eb93d29d618bae1fa3a3c5d 25-Sep-2010 Dianne Hackborn <hackbod@google.com> am 234e42df: DO NOT MERGE. Fix issue #3000764: API REVIEW: android.R.*

Merge commit '234e42df5fac958ed9f15aae6005dd72e4bdf08a' into gingerbread-plus-aosp

* commit '234e42df5fac958ed9f15aae6005dd72e4bdf08a':
DO NOT MERGE. Fix issue #3000764: API REVIEW: android.R.*
234e42df5fac958ed9f15aae6005dd72e4bdf08a 25-Sep-2010 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Fix issue #3000764: API REVIEW: android.R.*

Not going out in GB.

Change-Id: I9d4f5938ec7d2a54c0f72b8eb5a177ee66f12146
m/PackageParser.java
4d891e7db56c823a7baefd94fd3fb4af8b485ea9 22-Sep-2010 Dmitri Plotnikov <dplotnikov@google.com> Making observer registration customizable.

There is a need to skip registering the observer
or register a different observer in cases when
we have an extremely chatty content provider
(think MediaStore).

Change-Id: Iadfb8e0193736cb231762a147c2df1491ad22e0e
ursorLoader.java
596b55d9c82a52049702931839f69a12cd7dc920 22-Sep-2010 Dan Morrill <morrildl@google.com> am 62018429: Merge "Adding new feature definitions for new sensors (barometer and gyroscope.)" into gingerbread

Merge commit '62018429c2639b8a0f27e9b18b9b186df80bca4d' into gingerbread-plus-aosp

* commit '62018429c2639b8a0f27e9b18b9b186df80bca4d':
Adding new feature definitions for new sensors (barometer and gyroscope.)
5744bb4aa5dea525d1ae236cd16379134024eae1 02-Sep-2010 Dan Morrill <morrildl@google.com> Adding new feature definitions for new sensors (barometer and gyroscope.)

Change-Id: Ic3a35c7b277921eaa5b05e3285b6aed5ed75bea6
m/PackageManager.java
bfb619a12aa723ab2d6a9ce9444f633488cc31a4 17-Sep-2010 Jeff Hamilton <jham@android.com> Merge "Convert Numbers to Booleans when calling getAsBoolean()."
d208c3a68b96cf0c1dde5cdeab0e8464b9e52018 17-Sep-2010 Jeff Hamilton <jham@android.com> Convert Numbers to Booleans when calling getAsBoolean().

Change-Id: I31ad0bccd422f8e76cf37d500a93744cc23d4859
ontentValues.java
04065bdcca44d419812d4a2d955e3ee7b6c914eb 16-Sep-2010 Joe Onorato <joeo@google.com> am ee76ed9c: am 4198cece: Merge "Fix the rest of the javadoc warnings." into gingerbread

Merge commit 'ee76ed9c0df11ac70ae67bae051cb64c9d79dafb'

* commit 'ee76ed9c0df11ac70ae67bae051cb64c9d79dafb':
Fix the rest of the javadoc warnings.
ee76ed9c0df11ac70ae67bae051cb64c9d79dafb 16-Sep-2010 Joe Onorato <joeo@google.com> am 4198cece: Merge "Fix the rest of the javadoc warnings." into gingerbread

Merge commit '4198cececf70bf034e12f19bb87f29cc29931c39' into gingerbread-plus-aosp

* commit '4198cececf70bf034e12f19bb87f29cc29931c39':
Fix the rest of the javadoc warnings.
d3ad696b1daaa6c92d8fa268c81ce220ed1d9ffc 16-Sep-2010 Joe Onorato <joeo@google.com> Fix the rest of the javadoc warnings.

Change-Id: Ifbf422a2eb177858813d118f03ceddcd807e73b4
bstractThreadedSyncAdapter.java
ontentProviderOperation.java
c5e2e26b9da40dc0941d0a6a33a82d8923924051 15-Sep-2010 Chris Palmer <palmer@google.com> am 5bade703: Merge "DO NOT MERGE Correct the PackageManager.checkSignatures documentation." into gingerbread

Merge commit '5bade703fd8434ba4cd5c9d1e8e1dc0f383b32b5' into gingerbread-plus-aosp

* commit '5bade703fd8434ba4cd5c9d1e8e1dc0f383b32b5':
DO NOT MERGE Correct the PackageManager.checkSignatures documentation.
5bade703fd8434ba4cd5c9d1e8e1dc0f383b32b5 15-Sep-2010 Chris Palmer <palmer@google.com> Merge "DO NOT MERGE Correct the PackageManager.checkSignatures documentation." into gingerbread
ade9916d5ca5795ced859a7d7405ef32140ccee8 14-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 6421ae7e to master

Change-Id: Ic8c4418f13a42fc1d3a44ad68e32b4e438b07f6f
6421ae7eff277da7c0f84eb1cb78c2015ff04b25 14-Sep-2010 Dianne Hackborn <hackbod@google.com> am 5251c800: Merge "Fix potential crash in sync." into gingerbread

Merge commit '5251c800c93c6f6fd473475c36b8ab3b360c1e4d' into gingerbread-plus-aosp

* commit '5251c800c93c6f6fd473475c36b8ab3b360c1e4d':
Fix potential crash in sync.
50addddba5154f6ca00d8e275d279bf4ec66921f 14-Sep-2010 Dianne Hackborn <hackbod@google.com> Fix potential crash in sync.

Change-Id: I523d8faa24b7ba57dcc09cbe91b5cb91d9f6f262
yncManager.java
e746f03c6c8b8d0897d322ab524d545ace200fcd 14-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 53686433 to master

Change-Id: I27004dc464f5771d3205ae5757c6eccc5b16854d
53686433a9790bcfe7211a661b26783ee12bb436 13-Sep-2010 Dianne Hackborn <hackbod@google.com> am 7e9f4eb2: Track client requests through location manager.

Merge commit '7e9f4eb2608148436cef36c9969bf8a599b39e72' into gingerbread-plus-aosp

* commit '7e9f4eb2608148436cef36c9969bf8a599b39e72':
Track client requests through location manager.
09f3360f51b216fb9c40f78e7a4eee41cd9cc187 13-Sep-2010 Chris Palmer <palmer@google.com> DO NOT MERGE Correct the PackageManager.checkSignatures documentation.

Make the documentation match the current behavior since change ID
Ibdeff170bd386d723f774136b18e0ad59d9cdabb.

Will add @deprecated tags back in in a separate CL. This is just to get
things in the same state as master, following the build breakage mishap.

Change-Id: I47c53700892473061093002c32ad8f095b5813d1

Do not merge to master; an equivalent CL has already been committed there.
m/PackageManager.java
7e9f4eb2608148436cef36c9969bf8a599b39e72 11-Sep-2010 Dianne Hackborn <hackbod@google.com> Track client requests through location manager.

This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like... say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).

To solve this, we introduce a new class WorkSource representing
the source of some work. Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.

For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.

This should also be used elsewhere, such as in the GPS provider,
but this is a good start.

Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
yncManager.java
f5aafff4851cc55523ac3beb164e994ec223985d 13-Sep-2010 Chris Palmer <palmer@google.com> Unbreak the build.

Just a quick fix. Will properly re-add @deprecated and update-api next, and
then get API approval.

Change-Id: Idf57a33dc97bc2619cf48509f74d9e0de935124b
m/PackageManager.java
ed35d0ee857353f42e58342023647d0b10ab9fd3 13-Sep-2010 Chris Palmer <palmer@google.com> Merge "Correct the PackageManager.checkSignatures documentation."
cec7eb1c079331ba38ed4472abe26a55d6427324 13-Sep-2010 Kenny Root <kroot@google.com> am 8b11f30c: am 1bece432: Make nativeLibraryDir visible in the API

Merge commit '8b11f30cb2cfe9922439e8a032311de114ce4da4'

* commit '8b11f30cb2cfe9922439e8a032311de114ce4da4':
Make nativeLibraryDir visible in the API
8b11f30cb2cfe9922439e8a032311de114ce4da4 13-Sep-2010 Kenny Root <kroot@google.com> am 1bece432: Make nativeLibraryDir visible in the API

Merge commit '1bece4320c1d2308b4a5b5aeda47b065312b3053' into gingerbread-plus-aosp

* commit '1bece4320c1d2308b4a5b5aeda47b065312b3053':
Make nativeLibraryDir visible in the API
1bece4320c1d2308b4a5b5aeda47b065312b3053 13-Sep-2010 Kenny Root <kroot@google.com> Make nativeLibraryDir visible in the API

Change-Id: Ic88e76a85b0041e97b4c29c42dfa09db0356391c
m/ApplicationInfo.java
42855149750fb848b0d743cf0e5f204a05be2f07 10-Sep-2010 Chris Palmer <palmer@google.com> Correct the PackageManager.checkSignatures documentation.

Make the documentation match the current behavior since change ID
Ibdeff170bd386d723f774136b18e0ad59d9cdabb.

Change-Id: I9d24800ba98f14cb278f029cdf37a086394d1747
m/PackageManager.java
94bf9431e5464c7757890abfe0716997151f153f 08-Sep-2010 Jake Hamby <jhamby@google.com> am e7578344: am 5872e9d7: Merge "Allow incoming SMS until internal storage is almost full." into gingerbread

Merge commit 'e75783440a55fb0a5ef75066be94a11898f652f0'

* commit 'e75783440a55fb0a5ef75066be94a11898f652f0':
Allow incoming SMS until internal storage is almost full.
e75783440a55fb0a5ef75066be94a11898f652f0 08-Sep-2010 Jake Hamby <jhamby@google.com> am 5872e9d7: Merge "Allow incoming SMS until internal storage is almost full." into gingerbread

Merge commit '5872e9d7f31e5a4c5f3d871dba02b6d72a7ada78' into gingerbread-plus-aosp

* commit '5872e9d7f31e5a4c5f3d871dba02b6d72a7ada78':
Allow incoming SMS until internal storage is almost full.
bb3716332321e22537a5015be13e2229fb9b90bc 24-Aug-2010 Jake Hamby <jhamby@google.com> Allow incoming SMS until internal storage is almost full.

Fix for bug 2382830: new incoming SMS should not be rejected when
running low on internal phone storage.

Testing revealed that the /data partition should have at least 256 KiB
available in order to prevent random app crashes (including system apps)
due to SQLite transaction failures. With 256 KiB free, the device should
safely boot without storage full errors. This takes into account the
36-40 KiB that the YAFFS2 filesystem reports as available even after
the partition has been completely filled. I've set the default full
threshold to 1 MiB to provide a generous safety margin.

For this bug, I changed the DeviceStorageMonitorService demon to send
two new hidden notifications for device storage "full" and "not full",
when the free space falls below the full threshold (default 1 MiB,
but configurable as a system setting), in addition to the existing
storage low/okay notifications sent when the storage crosses the threshold
of 90% full (also configurable).

The SMS code was changed to use these new notifications so that it can
accept messages until the data partition has been filled to the maximum
safe capacity rather than stopping when it hits 90% full. There should
be no negative impact on battery life because the additional check in
the storage polling service should be offset by an optimization to cache
the free threshold values which were previously being computed every time
through the loop.

While testing this change, I discovered that SMSDispatcher was being
instantiated twice, the first time in GSMPhone/CDMAPhone, and the second
time in SimSmsInterfaceManager / RuimSmsInterfaceManager. Changed the code
to pass the original SMSDispatcher to the Sim/RuimSmsInterfaceManager
constructor.

Change-Id: Ie0c6d05294778ab6ee42e0fa01313af96d824c77
ntent.java
7e955e7ccef41fba8bed9f6b9d4fd59afb9007ae 04-Sep-2010 Kenny Root <kroot@google.com> am a060b5f7: am 6dc003a7: Merge "Reduce footprint of Signature from ~7000 to ~1448" into gingerbread

Merge commit 'a060b5f73863f4b5f161674a9c5ac0a0d8d76072'

* commit 'a060b5f73863f4b5f161674a9c5ac0a0d8d76072':
Reduce footprint of Signature from ~7000 to ~1448
a060b5f73863f4b5f161674a9c5ac0a0d8d76072 04-Sep-2010 Kenny Root <kroot@google.com> am 6dc003a7: Merge "Reduce footprint of Signature from ~7000 to ~1448" into gingerbread

Merge commit '6dc003a73f7f01aa5dd5831e777e2aa44f65b032' into gingerbread-plus-aosp

* commit '6dc003a73f7f01aa5dd5831e777e2aa44f65b032':
Reduce footprint of Signature from ~7000 to ~1448
6dc003a73f7f01aa5dd5831e777e2aa44f65b032 04-Sep-2010 Kenny Root <kroot@google.com> Merge "Reduce footprint of Signature from ~7000 to ~1448" into gingerbread
de0ff63700c1836771d797e6c7340b18cb814484 04-Sep-2010 Kenny Root <kroot@google.com> Reduce footprint of Signature from ~7000 to ~1448

Signature had lazy initialization of the mString member when needed, but
it would stick around forever when initialized. Each package had one or
more Signatures that would be ~7000 bytes each. At a couple hundred
packages, that's over 1.3MB just for signatures.

Whenever packages.xml was written out, it would write the Signature for
each program as well which happens at boot thereby initializing the
mString member pretty much immediately.

Change-Id: Idb882ffeca2861b3e87437fc83f001710d6c0441
m/Signature.java
acc4e041d27c24b45fb190c493717fda987b52c2 04-Sep-2010 Dianne Hackborn <hackbod@google.com> am 69717ccd: DO NOT MERGE. Some stuff that is Not Ready.

Merge commit '69717ccd13bb5568b912701ab39d603cfa7091cc' into gingerbread-plus-aosp

* commit '69717ccd13bb5568b912701ab39d603cfa7091cc':
DO NOT MERGE. Some stuff that is Not Ready.
69717ccd13bb5568b912701ab39d603cfa7091cc 03-Sep-2010 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Some stuff that is Not Ready.

Change-Id: I8fdba32722d86b92c791dbf7c6c0166bcdb02852
m/ApplicationInfo.java
es/Configuration.java
6c82f673f6c01cdcf7ede82c67601fbd53d090f3 04-Sep-2010 Dianne Hackborn <hackbod@google.com> am fd3f44b3: am e1aa82a4: Merge "Adding a feature denoting support for 5 or more fully independent multitouch pointers." into gingerbread

Merge commit 'fd3f44b38882c74c10aff0e238ee4ad9fcd8b724'

* commit 'fd3f44b38882c74c10aff0e238ee4ad9fcd8b724':
Adding a feature denoting support for 5 or more fully
fd3f44b38882c74c10aff0e238ee4ad9fcd8b724 04-Sep-2010 Dianne Hackborn <hackbod@google.com> am e1aa82a4: Merge "Adding a feature denoting support for 5 or more fully independent multitouch pointers." into gingerbread

Merge commit 'e1aa82a4228d009537693253ba3a0113abbf5ab8' into gingerbread-plus-aosp

* commit 'e1aa82a4228d009537693253ba3a0113abbf5ab8':
Adding a feature denoting support for 5 or more fully
6993d3d136fed8600a3e337d710907b50d8d6e49 03-Sep-2010 Dan Morrill <morrildl@google.com> Adding a feature denoting support for 5 or more fully
independent multitouch pointers.

Change-Id: I9997ed9c481dbd507e9eff70d8beb9e1140cca3f
m/PackageManager.java
16750623421fb404181b12ae04baa2fe26c5b9dd 02-Sep-2010 Dan Morrill <morrildl@google.com> Adding features for new hardware, and creating a baseline list of required
hardware for the Tablet profile. This is very much subject to change.

Change-Id: Id0921b373cf610a7ec9ddd75dc020bf8b22a6911
m/PackageManager.java
f83d4f1779eb4801275a56023c343459a95009af 02-Sep-2010 Hung-ying Tyan <tyanh@google.com> resolved conflicts for merge of 3e4975a5 to master

Change-Id: Icd382fc43c8a1975801ab42eb184b633520149c7
3e4975a52ccd9dade7fffc9f8c144bff0f4c3cb1 02-Sep-2010 Hung-ying Tyan <tyanh@google.com> am 3424c02e: Add software features for SIP and VOIP

Merge commit '3424c02e6b931a8bbd651ae75217bebd008b2605' into gingerbread-plus-aosp

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

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

Change-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc
m/PackageManager.java
90324669f21e0676e66bc4ed681be560bba5f188 02-Sep-2010 Dan Morrill <morrildl@google.com> am 61f1cbdd: am a800a2ef: Merge "Adding a feature definition corresponding to support for Near-Field Communications (NFC)." into gingerbread

Merge commit '61f1cbdd71942433ce1515b614ec3d9c259ea037'

* commit '61f1cbdd71942433ce1515b614ec3d9c259ea037':
Adding a feature definition corresponding to support for Near-Field
61f1cbdd71942433ce1515b614ec3d9c259ea037 02-Sep-2010 Dan Morrill <morrildl@google.com> am a800a2ef: Merge "Adding a feature definition corresponding to support for Near-Field Communications (NFC)." into gingerbread

Merge commit 'a800a2efa29d88e198220753f07e7d9ff69ddd9b' into gingerbread-plus-aosp

* commit 'a800a2efa29d88e198220753f07e7d9ff69ddd9b':
Adding a feature definition corresponding to support for Near-Field
76437d379357a418b8236b041d1b3e03939264e6 01-Sep-2010 Dan Morrill <morrildl@google.com> Adding a feature definition corresponding to support for Near-Field
Communications (NFC).

Change-Id: I32b1b949524bfd978f53e23e02d38dfba4a2ea9c
m/PackageManager.java
2394c164a76f6d3f8ad9f1c1517f58f72adab9d7 01-Sep-2010 Dianne Hackborn <hackbod@google.com> am ec438e14: am 361199b5: Add PackageManager API to get information about a provider component.

Merge commit 'ec438e1448ebc578ee5a4c4beb1e26292cdedd6e'

* commit 'ec438e1448ebc578ee5a4c4beb1e26292cdedd6e':
Add PackageManager API to get information about a provider component.
ec438e1448ebc578ee5a4c4beb1e26292cdedd6e 01-Sep-2010 Dianne Hackborn <hackbod@google.com> am 361199b5: Add PackageManager API to get information about a provider component.

Merge commit '361199b5e742c6635d4d7a03de6cf37b31cf442c' into gingerbread-plus-aosp

* commit '361199b5e742c6635d4d7a03de6cf37b31cf442c':
Add PackageManager API to get information about a provider component.
361199b5e742c6635d4d7a03de6cf37b31cf442c 31-Aug-2010 Dianne Hackborn <hackbod@google.com> Add PackageManager API to get information about a provider component.

Kind-of useful when all you have is a ComponentName.

Change-Id: I9a99f12daabb29e97e882e09c43ca0df70c00651
m/IPackageManager.aidl
m/PackageManager.java
02f4f0eb4919453e8dbf40549d4ae9c05f05b8dd 31-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am 734d2707: am bb660d7e: Merge "Renaming SharedPreferences.startCommit to apply" into gingerbread

Merge commit '734d270769c609c7d3a1f2ec46e1d329d9682ab4'

* commit '734d270769c609c7d3a1f2ec46e1d329d9682ab4':
Renaming SharedPreferences$Editor.startCommit to apply
734d270769c609c7d3a1f2ec46e1d329d9682ab4 31-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am bb660d7e: Merge "Renaming SharedPreferences.startCommit to apply" into gingerbread

Merge commit 'bb660d7e1bed3a07a1804bd9641d9634bfaa4972' into gingerbread-plus-aosp

* commit 'bb660d7e1bed3a07a1804bd9641d9634bfaa4972':
Renaming SharedPreferences$Editor.startCommit to apply
66fce5068a8a3aeb28aaf713843891b286a75280 31-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> Renaming SharedPreferences$Editor.startCommit to apply

Also removes the artifical restriction that only one apply() can be in
flight at once. That was old from when I thought it'd end up being
required, but wasn't.

Change-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55
haredPreferences.java
6dabe240ed0adcf74d0b5eed37d7085095e20ffd 30-Aug-2010 Patrick Dubroy <dubroy@google.com> Add an Intent category for apps that provide an app market.
ntent.java
44af754cf0c9ad9a8162e1bd2af60737e81a8beb 28-Aug-2010 Daniel Sandler <dsandler@android.com> am d02bdaab: Remove experimental immersive mode support. DO NOT MERGE

Merge commit 'd02bdaab495641ab50e2123fdfd99a819cc40540' into gingerbread-plus-aosp

* commit 'd02bdaab495641ab50e2123fdfd99a819cc40540':
Remove experimental immersive mode support. DO NOT MERGE
d02bdaab495641ab50e2123fdfd99a819cc40540 26-Aug-2010 Daniel Sandler <dsandler@android.com> Remove experimental immersive mode support. DO NOT MERGE

Bug: 2949215

Change-Id: I7d998ef571ef7e149bb96261430e92150b80b77d
m/ActivityInfo.java
m/PackageParser.java
818c830c59fb8fb0fe7576f1e5a073ab599227c8 28-Aug-2010 Kenny Root <kroot@google.com> am 83285781: am 7046bd92: Merge "Allow native shared libraries in ASEC containers" into gingerbread

Merge commit '8328578152fbfd23952a6cda4b2e60853d78eb74'

* commit '8328578152fbfd23952a6cda4b2e60853d78eb74':
Allow native shared libraries in ASEC containers
8328578152fbfd23952a6cda4b2e60853d78eb74 28-Aug-2010 Kenny Root <kroot@google.com> am 7046bd92: Merge "Allow native shared libraries in ASEC containers" into gingerbread

Merge commit '7046bd924f77c54585b9e0e0c95e5edd2ceb55a3' into gingerbread-plus-aosp

* commit '7046bd924f77c54585b9e0e0c95e5edd2ceb55a3':
Allow native shared libraries in ASEC containers
85387d7ba36e56b291cbde87acb5a5b2200fe01c 26-Aug-2010 Kenny Root <kroot@google.com> Allow native shared libraries in ASEC containers

This change moves the native library handling earlier in the package
installation process so that it may be inserted into ASEC containers
before they are finalized in the DefaultContainerService.

Note that native libraries on SD card requires that vold mount ASEC
containers without the "noexec" flag on the mount point.

Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
m/ApplicationInfo.java
m/InstrumentationInfo.java
7f7ce40f90cf00dc046fb9520d77d29e96b474d6 28-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 28130bae to master

Change-Id: I13df8dc12092c3d2536e12216df9130d5914380a
f6d952bbc85706031e1ad29ec389c1e02cfff433 28-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix some SDK build breakage. Not all.

Change-Id: I2791b0a7c48d03cb6e5ca93771efb56c0a0c1956
lipData.java
lipDescription.java
28130baefb4fa6d1e0ff9c92337295ba74461cf7 27-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 6b50986a to gingerbread-plus-aosp

Change-Id: I7c5ec7ae717e75ad242e2c1ad4537052e4eea718
41bfa37cb2ca244432061bddb1c8bf802545ae6e 27-Aug-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 409b7120 to master

Change-Id: I1741e205b5ff5ae62a38ab3b096bcc3d96883538
1040dc465cbf5ca8f834a87c949e476abefa3f76 27-Aug-2010 Dianne Hackborn <hackbod@google.com> Improve clipboard API.

- Rename ClippedData to ClipData.
- Introudce ClipDescription subclass.
- Add convenience APIs for creating a ClipData.
- Add ClipboardManager API to get just the ClipDescription.
- Define MIME types associated with a clip.

Change-Id: If97ef91aa99a4dd0ec74ccaea504345c9ef12b5c
lipData.aidl
lipData.java
lipDescription.aidl
lipDescription.java
lipboardManager.java
lippedData.aidl
lippedData.java
ontentProvider.java
Clipboard.aidl
333b8cba996c8ebb8ca55ebfc5cc536bdd64af94 26-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> SharedPreferences$Editor.startCommit()

Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.

This commit adds the implementation. The previous commit added the
interface and docs:

previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
git commit: edf32d01316bd3432c023f17747461b08ae36375

In addition, this change:

-- adds a generic "runPendingWorkFinishers" mechanism to
ActivityThread to wait on async operations that are still
in flight and use it for this.

-- ties runPendingWorkFinishers into Activity.onPause,
BroadcastReceiver, and Service.

-- makes sSharedPreferences keyed on name, not File, to avoid
unnnecessary allocations

-- documents and guarantees what thread
OnSharedPreferenceChangeListener callbacks run on

-- makes a few things in frameworks/base use startCommit(), notably
Preference.java (which was ignoring the return value anyway)

Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
haredPreferences.java
409b71201a982e188c05238d95a2eb53ea9e0cf7 26-Aug-2010 Dianne Hackborn <hackbod@google.com> am 02486b13: Hide heavy-weight API.

Merge commit '02486b1327e3007c62d253dd89ba9db1852b87f8' into gingerbread-plus-aosp

* commit '02486b1327e3007c62d253dd89ba9db1852b87f8':
Hide heavy-weight API.
02486b1327e3007c62d253dd89ba9db1852b87f8 26-Aug-2010 Dianne Hackborn <hackbod@google.com> Hide heavy-weight API.

And give it a better name, for when it is later un-hidden.

Change-Id: Iae0d3054d44f873b9f953bc41d175a47802a185e
m/ApplicationInfo.java
m/PackageParser.java
4cbc4f1067503b5de62a5338478d3cad8c25bd3d 26-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am 49209cbc: am d0e6598b: Merge "Start of SharedPreferences.startCommit()" into gingerbread

Merge commit '49209cbcef37c4b20c9d0649ba284a51144b3930'

* commit '49209cbcef37c4b20c9d0649ba284a51144b3930':
Start of SharedPreferences$Editor.startCommit()
49209cbcef37c4b20c9d0649ba284a51144b3930 26-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am d0e6598b: Merge "Start of SharedPreferences.startCommit()" into gingerbread

Merge commit 'd0e6598b4a32f3000247341414449a3aa4d9f7f4' into gingerbread-plus-aosp

* commit 'd0e6598b4a32f3000247341414449a3aa4d9f7f4':
Start of SharedPreferences$Editor.startCommit()
edf32d01316bd3432c023f17747461b08ae36375 25-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> Start of SharedPreferences$Editor.startCommit()

No implementation yet, just the interface.

Change-Id: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
haredPreferences.java
f924a513da2ec1989a06dc16d007c0eca422ea67 25-Aug-2010 Jeff Hamilton <jham@android.com> Fix the documentation of ContentValues.

Bug: 2172562
Change-Id: If7752b937dabc7238723787bb0aa5c348406e28b
ontentValues.java
103bff317be898498afa1a2f33b960f09592da74 24-Aug-2010 Dianne Hackborn <hackbod@google.com> am 5474b0f8: am 39792d22: Fix bugs with granting permissions through onNewIntent().

Merge commit '5474b0f8603ee66413c3e44600ca46f162f3089e'

* commit '5474b0f8603ee66413c3e44600ca46f162f3089e':
Fix bugs with granting permissions through onNewIntent().
3e6d50cc484f2eee0cff63789cc7796718eb6b68 24-Aug-2010 Dianne Hackborn <hackbod@google.com> Make Theme.Holo the default theme for new apps.

Also change Holo to have an action bar, instead of a title bar.

Change-Id: I45c2f06938509ae02cde99d1c06c228f86e8e3e8
m/PackageParser.java
0c0250c8515f8b2502db6472c16f99980b7a4101 21-Aug-2010 Gilles Debunne <debunne@google.com> am bbe5fb2b: am 189de282: Merge "Fix for a Resource system bug that displayed the wrong name for missing asset." into gingerbread

Merge commit 'bbe5fb2b73172a6b42b3406354a3556bd53916e1'

* commit 'bbe5fb2b73172a6b42b3406354a3556bd53916e1':
Fix for a Resource system bug that displayed the wrong name for missing asset.
e49564e0f710ba4a1405cfdfde068cb776ee474e 21-Aug-2010 Kenny Root <kroot@google.com> am 821afa9a: am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread

Merge commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973'

* commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973':
Add OBB flags to support overlays
37444f4239b26944d24f039c537d411ac7004243 21-Aug-2010 Dianne Hackborn <hackbod@google.com> am d172594e: am cf6d2a1d: Merge "Fix issue #2845673: android:exported="false" is not obeyed" into gingerbread

Merge commit 'd172594e3a1e25f1f2c190e99421cb7d4963389b'

* commit 'd172594e3a1e25f1f2c190e99421cb7d4963389b':
Fix issue #2845673: android:exported="false" is not obeyed
5474b0f8603ee66413c3e44600ca46f162f3089e 20-Aug-2010 Dianne Hackborn <hackbod@google.com> am 39792d22: Fix bugs with granting permissions through onNewIntent().

Merge commit '39792d2262352ae775091876d5488d2412a2ff92' into gingerbread-plus-aosp

* commit '39792d2262352ae775091876d5488d2412a2ff92':
Fix bugs with granting permissions through onNewIntent().
39792d2262352ae775091876d5488d2412a2ff92 20-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix bugs with granting permissions through onNewIntent().

It would grant the permission to the temporary ActivityRecord,
not the real one, so it never got cleaned up.

Also allow granting of permissions to services because... well,
it would be really really useful. And it introduces some
refactoring that we'll need to support cut/paste.

Change-Id: If521f509042e7baad7f5dc9bec84b6ba0d90ba09
m/ApplicationInfo.java
bbe5fb2b73172a6b42b3406354a3556bd53916e1 20-Aug-2010 Gilles Debunne <debunne@google.com> am 189de282: Merge "Fix for a Resource system bug that displayed the wrong name for missing asset." into gingerbread

Merge commit '189de2820932fd5dc98b9639fdc420a57cfa2316' into gingerbread-plus-aosp

* commit '189de2820932fd5dc98b9639fdc420a57cfa2316':
Fix for a Resource system bug that displayed the wrong name for missing asset.
189de2820932fd5dc98b9639fdc420a57cfa2316 20-Aug-2010 Gilles Debunne <debunne@google.com> Merge "Fix for a Resource system bug that displayed the wrong name for missing asset." into gingerbread
75399683a418fff55539e6028341caa2e7572362 19-Aug-2010 Gilles Debunne <debunne@google.com> Fix for a Resource system bug that displayed the wrong name for missing asset.

I didn't reproduce the bug and cannot ensure that this will fix it. The monkey
with identical parameters stops with an ANR.

Bug http://b/issue?id=2931528

Change-Id: I45f156c6a694f2d67fe514e0f0bb367aa017f08e
es/TypedArray.java
821afa9aec8d3a4ffd2e72ce797d8097eaf13973 19-Aug-2010 Kenny Root <kroot@google.com> am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread

Merge commit '54d41379357d1d800d0a7bd7c5dc56111710482a' into gingerbread-plus-aosp

* commit '54d41379357d1d800d0a7bd7c5dc56111710482a':
Add OBB flags to support overlays
54d41379357d1d800d0a7bd7c5dc56111710482a 19-Aug-2010 Kenny Root <kroot@google.com> Merge "Add OBB flags to support overlays" into gingerbread
d172594e3a1e25f1f2c190e99421cb7d4963389b 19-Aug-2010 Dianne Hackborn <hackbod@google.com> am cf6d2a1d: Merge "Fix issue #2845673: android:exported="false" is not obeyed" into gingerbread

Merge commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab' into gingerbread-plus-aosp

* commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab':
Fix issue #2845673: android:exported="false" is not obeyed
b424b633bb3664bed924d2ea89036290a57eb2bd 19-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2845673: android:exported="false" is not obeyed

Thou shall obey.

Change-Id: I09f163a0db7cc9189c8d7f5116cc8ca9d4f7a76c
ontentProvider.java
02ca31fbae9f35dd30f79de6927fae11b549391a 12-Aug-2010 Kenny Root <kroot@google.com> Add OBB flags to support overlays

* Add flags field in OBB footer to support overlays.

* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
later be supported in the "flags" field of the OBB footer).

* Add notes to document OBB classes before shipping.

Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
es/ObbInfo.java
a006b47298539d89dc7a06b54c070cb3e986352a 14-Apr-2010 Bjorn Bringert <bringert@android.com> New API and implementation of DB and memory-backed FDs

This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
es/AssetFileDescriptor.java
3f00be5bd0b46e7937b68909baeff295b86215cc 16-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I9e887aacf3d3ba642df287dfdecbc2ff1ef02033
ontentProvider.java
def1537e9e8d0dd190cde5310ddae8b921088c9b 15-Aug-2010 Dianne Hackborn <hackbod@google.com> More fragment work:

- Introduce FragmentManager as a public API, deprecating the fragment
APIs on Activity. (They will be removed soon.)
- Add APIs to write a fragment reference to a bundle and later retrieve
it.
- Add Fragment API to set another fragment as its target, for delivering
results.
- Change when onInflate() is called and formalize its meaning in relation
to the fragment arguments that were previously introduced.
- Change onDestroyView() to always be called, regardless of when
onCreateView() returns. It now also is called slightly differently,
after the view hierarchy's state is saved.
- Fix some issues with DialogFragment's lifecycle with its associated
Dialog and state save/restore.
- Preference can now have a Bundle associated with it to provide
arguments to a fragment. The data for this Bundle call be supplied
via <extra> tags under a PreferenceScreen.
- PreferenceActivity's header XML tags are now <preference-headers>
and <header>, and you can supply <extra> tags under a <header> to set
arguments for the header's fragment.

Change-Id: I22c212c9fa862d50840201ca16e51f9de5ef0031
es/Resources.java
02dfd2630437ea5591942e503606fdeff29eb11e 13-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix bug with calls to the typeless open API.

Fix bug where we weren't using the default stream if a caller
requested "*/*" as a type. This broke apps calling the old open
APIs on content providers that did not report MIME types.

Change-Id: Id6e3e64e36cb8637097c3a7834b09407c27487d2
ontentProvider.java
7b6d0d99b6904b511996267efae215fe9cb5e98f 11-Aug-2010 Dianne Hackborn <hackbod@google.com> am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbread

Merge commit '679ac09a5c22175354f3a04b28456b323839530e'

* commit '679ac09a5c22175354f3a04b28456b323839530e':
More native work.
679ac09a5c22175354f3a04b28456b323839530e 11-Aug-2010 Dianne Hackborn <hackbod@google.com> am a5ae50cd: Merge "More native work." into gingerbread

Merge commit 'a5ae50cd838b5725c63ed485292aae4edd1a98cb' into gingerbread-plus-aosp

* commit 'a5ae50cd838b5725c63ed485292aae4edd1a98cb':
More native work.
08d5b8fad8d46ccb64db2fdcb4d66972ec87bf48 04-Aug-2010 Dianne Hackborn <hackbod@google.com> More native work.

Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
es/Resources.java
53aa7afe2944aa8fc85b95d5079daccdf7ae85ae 10-Aug-2010 Manuel Roman <manuelroman@google.com> Merge "Incorporated Joe's comments"
2c96a0c7acddb5f2e8027e9ffac73f82c297c4b9 06-Aug-2010 Manuel Roman <manuelroman@google.com> Incorporated Joe's comments

Change-Id: I07f9b00282acb5e1b505b578e6fae1dcb90d1e52
ontentProvider.java
09328a254bddd41642f77693687a4bce4d333245 10-Aug-2010 Dmitri Plotnikov <dplotnikov@google.com> Removing closed cursor on stop

The client of the loader may have already closed the cursor,
so we need to forget it, otherwise the closed cursor
will be redelivered on start.


Change-Id: I30e005ea0827966956bc276a2d3d7b13c95850af
ursorLoader.java
23fdaf6fb62a9b5154b2508916a21c678462c5d0 06-Aug-2010 Dianne Hackborn <hackbod@google.com> Add new ContentProvider for doing conversions to data streams.

This introduces basic infrastructure that should allow content
providers holding complex data to perform on-demand conversion
of their data to streams of various types. It is achieved through
two new content provider APIs, one to interrogate the possible
stream MIME types the provider can return, and the other to
request a stream of data in a particular MIME type.

Because implementations of this will often need to do on-demand
data conversion, there is also a utility intoduced in ContentProvider
for subclasses to easily run a function to write data into a
pipe that is read by the client.

This feature is mostly intended for cut and paste and drag and
drop, as the complex data interchange allowing the source and
destination to negotiate data types and copy (possible large)
data between them. However because it is fundamental facility
of ContentProvider, it can be used in other places, such as for
more advanced GET_CONTENT data exchanges.

An example implementation of this would be in ContactsProvider,
which can now provider a data stream when a client opens certain
pieces of it data, to return data as flat text, a vcard, or other
format.

Change-Id: I58627ea4ed359aa7cf2c66274adb18306c209cb2
lipboardManager.java
lippedData.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
ntent.java
es/AssetFileDescriptor.java
024d59601e8439e6884e50c22301e35eaf53120a 05-Aug-2010 Chung-yih Wang <cywang@google.com> resolved conflicts for merge of a06ad953 to master

Change-Id: I282525787d7475cc72b2dec10fbc2cf8c5727b82
a06ad953a2c44e81ea2d376ffefeae5ffb91de81 06-Aug-2010 Chung-yih Wang <cywang@google.com> am 7324489f: Merge "Add SIP service into system server." into gingerbread

Merge commit '7324489f18ee01586931f577f00567092cbf52df' into gingerbread-plus-aosp

* commit '7324489f18ee01586931f577f00567092cbf52df':
Add SIP service into system server.
7324489f18ee01586931f577f00567092cbf52df 06-Aug-2010 Chung-yih Wang <cywang@google.com> Merge "Add SIP service into system server." into gingerbread
c6e7d7658c8b3dd1d8c46090a2cf5a8aaba5b18d 06-Aug-2010 Fred Quintana <fredq@google.com> am c2a836a5: am 5005a6c0: am cdf16787: Merge "Changed SyncOperation.toKey() to not rely on the implementation of Account.toString()" into froyo

Merge commit 'c2a836a5f41897267aa92e5fdeecdf94203d640c'

* commit 'c2a836a5f41897267aa92e5fdeecdf94203d640c':
Changed SyncOperation.toKey() to not rely on the implementation of
c2a836a5f41897267aa92e5fdeecdf94203d640c 06-Aug-2010 Fred Quintana <fredq@google.com> am 5005a6c0: am cdf16787: Merge "Changed SyncOperation.toKey() to not rely on the implementation of Account.toString()" into froyo

Merge commit '5005a6c031b5d66c1b47cad6f0dbaacebcbb6803' into gingerbread-plus-aosp

* commit '5005a6c031b5d66c1b47cad6f0dbaacebcbb6803':
Changed SyncOperation.toKey() to not rely on the implementation of
5005a6c031b5d66c1b47cad6f0dbaacebcbb6803 06-Aug-2010 Fred Quintana <fredq@google.com> am cdf16787: Merge "Changed SyncOperation.toKey() to not rely on the implementation of Account.toString()" into froyo

Merge commit 'cdf16787fc1234b7f21a9cddc6f8a27b4056bc39' into gingerbread

* commit 'cdf16787fc1234b7f21a9cddc6f8a27b4056bc39':
Changed SyncOperation.toKey() to not rely on the implementation of
2d94231ef91c732f649ff7af9520ee9eac441b16 04-Aug-2010 Chung-yih Wang <cywang@google.com> Add SIP service into system server.

Change-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10
ontext.java
cdf16787fc1234b7f21a9cddc6f8a27b4056bc39 06-Aug-2010 Fred Quintana <fredq@google.com> Merge "Changed SyncOperation.toKey() to not rely on the implementation of Account.toString()" into froyo
b4b7b4837bfdecb0b6ab8e76c15f495b3ae3d37c 05-Aug-2010 Fred Quintana <fredq@google.com> Changed SyncOperation.toKey() to not rely on the implementation of
Account.toString()

bug: 2898033
Change-Id: I6bfac976127190d2d667312df7aa9c7d57b21555
yncOperation.java
9f53119b72e6da865bcd53173d3dacd1eba01aee 05-Aug-2010 Dianne Hackborn <hackbod@google.com> First pass at a new clipboard API.

ClipboardManager was in android.text(!!) so it needed to be moved
up to android.content to have access to the richer data types we
now need.

ClippedData is the data representation. Still needs a lot of
fleshing out to allow holding more than one data type at a time
and perhaps conversions between them. (MIME-oriented interrogation
and conversion will be done through ContentProvider, which needs
to grow an ability to report multiple MIME types and accept a
desired MIME type when a stream is being opened.)

Change-Id: Ifa51bedcd084a677813b255d171804e8496b0cb5
lipboardManager.java
lippedData.aidl
lippedData.java
Clipboard.aidl
OnPrimaryClipChangedListener.aidl
ab847c44d0549a47717f16ead806b03eecc957db 05-Aug-2010 Scott Main <smain@google.com> am c9de8c34: am 97c2d840: am 8dd87ad9: fix some doc errors in the resources; add link to resource docs for ColorStateList class

Merge commit 'c9de8c34a32af1b305b49096ee96da4c35acd2e8'

* commit 'c9de8c34a32af1b305b49096ee96da4c35acd2e8':
fix some doc errors in the resources;
ce845d73015acea0a337dd06721f5c649f565242 05-Aug-2010 Kenny Root <kroot@google.com> am c5183aca: am c68bcc32: Merge "Only allow one movePackage operation in-flight" into gingerbread

Merge commit 'c5183acae55e08f4bfcb58aa122a200863748a63'

* commit 'c5183acae55e08f4bfcb58aa122a200863748a63':
Only allow one movePackage operation in-flight
c9de8c34a32af1b305b49096ee96da4c35acd2e8 05-Aug-2010 Scott Main <smain@google.com> am 97c2d840: am 8dd87ad9: fix some doc errors in the resources; add link to resource docs for ColorStateList class

Merge commit '97c2d840a10813164d82571775a3566637d6c5de' into gingerbread-plus-aosp

* commit '97c2d840a10813164d82571775a3566637d6c5de':
fix some doc errors in the resources;
97c2d840a10813164d82571775a3566637d6c5de 05-Aug-2010 Scott Main <smain@google.com> am 8dd87ad9: fix some doc errors in the resources; add link to resource docs for ColorStateList class

Merge commit '8dd87ad9440bc63bc312b06f292adcd2642b1c41' into gingerbread

* commit '8dd87ad9440bc63bc312b06f292adcd2642b1c41':
fix some doc errors in the resources;
8dd87ad9440bc63bc312b06f292adcd2642b1c41 05-Aug-2010 Scott Main <smain@google.com> fix some doc errors in the resources;
add link to resource docs for ColorStateList class

Change-Id: I7f59bfd136d5bd3c2ea066b6123ee13ccd57f502
es/ColorStateList.java
96183e16e4f32e28213b7a6c7f4a136df7e970a6 05-Aug-2010 Manuel Roman <manuelroman@google.com> Merge "add shutdown() to ContentProvider & call in ProviderTestCase*.tearDown"
0c9e14aa4aa1370e01872dc05238f822f2dd552c 04-Aug-2010 Vasu Nori <vnori@google.com> add shutdown() to ContentProvider & call in ProviderTestCase*.tearDown

Change-Id: I3dd69b6907d68b7c1184139f22297ab92337f043
ontentProvider.java
a7dd5eab33d1a87135ae5bd40a02f2e3c564f5de 04-Aug-2010 Vasu Nori <vnori@google.com> requery() return value should be checked

if not checked and if the cursor continues to be used, it will result in
bug:2529736

Change-Id: I920f665643561374c2211acded6cc31fa8931909
ontentQueryMap.java
529b60a3b16ac3dff24f2403d760ab8ebc9670ff 04-Aug-2010 Romain Guy <romainguy@google.com> Add android:hardwareAccelerated to Activity.

Hardware acceleration can now be enabled/disabled locally on each activity
declared in the manifest. It can also be enabled/disabled directly on a
window through the WindowManager.LayoutParams.

Change-Id: I91dd0b26c4e7eb8cd7288e523ed6b7bda6d0990b
m/ActivityInfo.java
m/ApplicationInfo.java
m/PackageParser.java
c5183acae55e08f4bfcb58aa122a200863748a63 04-Aug-2010 Kenny Root <kroot@google.com> am c68bcc32: Merge "Only allow one movePackage operation in-flight" into gingerbread

Merge commit 'c68bcc320522abf856211e9aa00bba71ccaddacb' into gingerbread-plus-aosp

* commit 'c68bcc320522abf856211e9aa00bba71ccaddacb':
Only allow one movePackage operation in-flight
deb112674e9940a46c87fa4e3bae5d8d1ee84ef3 02-Aug-2010 Kenny Root <kroot@google.com> Only allow one movePackage operation in-flight

When a movePackage operation is requested, don't allow multiple requests
to pile up for one package. Once a move is completed, an observer will
receive the message and be allowed to call movePackage again.

Change-Id: Ie3842b6d96446febc0037bf9b8f1ca250735edc2
m/PackageManager.java
m/PackageParser.java
ec37c88570bdd1b94309ad613395295f13449c3f 03-Aug-2010 Makoto Onuki <omakoto@google.com> Adding a method called when detecting content change.

Added Loader.onContentChanged() which is called by ForceLoadContentObserver
when it detects a change, rather than forceLoad().

By default onContentChanged() just calls forceLoad(), so there's no change
in behavior.

This is useful when a subclass wants to perform custom operations upon
data chantes. For example, a subclass may want to limit the number
of automatic requeries per second.

Change-Id: I493dac3f4f1a75b056d2c7065336ea9252dbf424
oader.java
532abb65308725c649fe94ba485abc24ece05b2e 03-Aug-2010 Vasu Nori <vnori@google.com> add public method in ContentValues to return set of all keys

why not this method? it is useful and cheap.

Change-Id: I5db96d149b13d26b5359b52515a8eabf033eb000
ontentValues.java
b0289f62af77a2811b4528fe284aad871e3c6b31 02-Aug-2010 Kenny Root <kroot@google.com> am 59d4a536: am 739cdab7: Merge "Do not deference before null check" into gingerbread

Merge commit '59d4a5369cd68d4b65809ded407611b62b013f9a'

* commit '59d4a5369cd68d4b65809ded407611b62b013f9a':
Do not deference before null check
59d4a5369cd68d4b65809ded407611b62b013f9a 02-Aug-2010 Kenny Root <kroot@google.com> am 739cdab7: Merge "Do not deference before null check" into gingerbread

Merge commit '739cdab7cb63d53440bb411fa2d558e2114b4c81' into gingerbread-plus-aosp

* commit '739cdab7cb63d53440bb411fa2d558e2114b4c81':
Do not deference before null check
930d3af75f9e9663222f4c4a1d75b326cf811e35 31-Jul-2010 Kenny Root <kroot@google.com> Do not deference before null check

The return of parsePackageLite wasn't checked until after it was
deferenced. Move the deference below the null check and remove redundant
set.

Bug: 2852726
Change-Id: I3eaaea5050948145eed44b64507dc846993d98eb
m/PackageParser.java
84383376d87f89bc9ed7fe5351c6aa2cccd3e309 30-Jul-2010 Daniel Sandler <dsandler@google.com> Merge "More readable Configuration#toString() output."
48c05739dd7e58552fb5b856c243edc692e9c456 30-Jul-2010 Steve Howard <showard@google.com> am 6a114b21: am 7c600369: Merge "Update Context.getSystemService() docs for download manager." into gingerbread

Merge commit '6a114b211a77bdd4f4c687f99f9e5f9273ec1a76'

* commit '6a114b211a77bdd4f4c687f99f9e5f9273ec1a76':
Update Context.getSystemService() docs for download manager.
6a114b211a77bdd4f4c687f99f9e5f9273ec1a76 30-Jul-2010 Steve Howard <showard@google.com> am 7c600369: Merge "Update Context.getSystemService() docs for download manager." into gingerbread

Merge commit '7c600369c9695de73ca37db552eb81b8b89d5e76' into gingerbread-plus-aosp

* commit '7c600369c9695de73ca37db552eb81b8b89d5e76':
Update Context.getSystemService() docs for download manager.
7c600369c9695de73ca37db552eb81b8b89d5e76 30-Jul-2010 Steve Howard <showard@google.com> Merge "Update Context.getSystemService() docs for download manager." into gingerbread
7083c42fff819b2c4949984a461bd54e9fa822a3 29-Jul-2010 Steve Howard <showard@google.com> Update Context.getSystemService() docs for download manager.

Change-Id: Ic514b3289b38d6da7d5fe4ffc87c6865280d66d8
ontext.java
127fe81448aebe21ef9bb318fbe81f29bd6e002c 28-Jul-2010 Dan Egnor <egnor@google.com> am 8190f485: am b350bec5: am 17876aa5: Minor changes to ContentProvider javadoc to improve consistency.

Merge commit '8190f485539c36803489dcf5f198d03ed87ae8f9'

* commit '8190f485539c36803489dcf5f198d03ed87ae8f9':
Minor changes to ContentProvider javadoc to improve consistency.
8190f485539c36803489dcf5f198d03ed87ae8f9 28-Jul-2010 Dan Egnor <egnor@google.com> am b350bec5: am 17876aa5: Minor changes to ContentProvider javadoc to improve consistency.

Merge commit 'b350bec514eb9fee473e4ef62680c53e992dc49b' into gingerbread-plus-aosp

* commit 'b350bec514eb9fee473e4ef62680c53e992dc49b':
Minor changes to ContentProvider javadoc to improve consistency.
b350bec514eb9fee473e4ef62680c53e992dc49b 28-Jul-2010 Dan Egnor <egnor@google.com> am 17876aa5: Minor changes to ContentProvider javadoc to improve consistency.

Merge commit '17876aa586cc9acfb3e5b909c14b9e73537a1a8d' into gingerbread

* commit '17876aa586cc9acfb3e5b909c14b9e73537a1a8d':
Minor changes to ContentProvider javadoc to improve consistency.
17876aa586cc9acfb3e5b909c14b9e73537a1a8d 28-Jul-2010 Dan Egnor <egnor@google.com> Minor changes to ContentProvider javadoc to improve consistency.

Change-Id: I710f618c94ffd5d6368ef04a39ac08f675bec11b
ontentProvider.java
a58a8751b4c2ce457f0082a0baaee61312d56195 13-Jul-2010 Bai Tao <michaelbai@google.com> Add new system service CountryDetector

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

b. All added APIs are hidden at this stage.

Change-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4
ontext.java
c3a8c8a767acdcb66b4a80401224f977ab82348e 28-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am a4ab2651: am 4d544376: am 86c035f0: Merge "COMMENT ONLY change to clarify ContentProvider documentation." into froyo

Merge commit 'a4ab26513426bf86c51c3c9419efb148be3aca8e'

* commit 'a4ab26513426bf86c51c3c9419efb148be3aca8e':
COMMENT ONLY change to clarify ContentProvider documentation.
82d0249f5b2629f977be3621ba5a55879ec39c32 28-Jul-2010 Steve Howard <showard@google.com> am 55020622: am 7feab347: Merge "Un-@hide new download manager public API." into gingerbread

Merge commit '550206226b59ff116cc677121c82aa61eac966bc'

* commit '550206226b59ff116cc677121c82aa61eac966bc':
Un-@hide new download manager public API.
a4ab26513426bf86c51c3c9419efb148be3aca8e 28-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 4d544376: am 86c035f0: Merge "COMMENT ONLY change to clarify ContentProvider documentation." into froyo

Merge commit '4d5443762bd2b44b28edc2f2f75728911d70eac1' into gingerbread-plus-aosp

* commit '4d5443762bd2b44b28edc2f2f75728911d70eac1':
COMMENT ONLY change to clarify ContentProvider documentation.
4d5443762bd2b44b28edc2f2f75728911d70eac1 28-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 86c035f0: Merge "COMMENT ONLY change to clarify ContentProvider documentation." into froyo

Merge commit '86c035f0d176be9cb06b1e4f2390c25701417586' into gingerbread

* commit '86c035f0d176be9cb06b1e4f2390c25701417586':
COMMENT ONLY change to clarify ContentProvider documentation.
550206226b59ff116cc677121c82aa61eac966bc 28-Jul-2010 Steve Howard <showard@google.com> am 7feab347: Merge "Un-@hide new download manager public API." into gingerbread

Merge commit '7feab3470156c7864fe159115d575c16f0974493' into gingerbread-plus-aosp

* commit '7feab3470156c7864fe159115d575c16f0974493':
Un-@hide new download manager public API.
6fcc0f073d8583cf1f485b9548cde41336a422be 28-Jul-2010 Dan Egnor <egnor@google.com> COMMENT ONLY change to clarify ContentProvider documentation.

Gets a little more specific about thread behavior, and makes
pointed comments about not doing too much work in onCreate().

Change-Id: I682f0eb7d7559babee901ed26642751a6ba0a1ea
ontentProvider.java
46be2a5bb647a2429c16ce7d613dd9cce8c3c43b 27-Jul-2010 Steve Howard <showard@google.com> Un-@hide new download manager public API.

Change-Id: Ia8433160ef40e25fb9408f05f97c7bbfa10a807e
ontext.java
6e34636749217654f43221885afb7a29bb5ca96a 23-Jul-2010 Adam Powell <adamp@google.com> Moved context modes into view, renamed to action modes

ContextualMode renamed to ActionMode. Adds a reference to the action
bar and reduces confusion around things named "Context".

Change-Id: Ia5098b1d0799a0ece0810c34e6696eda039fb005
ontext.java
4cca89c0425a93dd842d85a56205c017a418e1c1 26-Jul-2010 Dianne Hackborn <hackbod@google.com> am 3a2ff74f: am 46730fc7: Fix handling of application disabled state.

Merge commit '3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111'

* commit '3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111':
Fix handling of application disabled state.
3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111 26-Jul-2010 Dianne Hackborn <hackbod@google.com> am 46730fc7: Fix handling of application disabled state.

Merge commit '46730fc78388607fd562044cbaaa26ffc9f65337' into gingerbread-plus-aosp

* commit '46730fc78388607fd562044cbaaa26ffc9f65337':
Fix handling of application disabled state.
46730fc78388607fd562044cbaaa26ffc9f65337 25-Jul-2010 Dianne Hackborn <hackbod@google.com> Fix handling of application disabled state.

Change-Id: I617b76e89eeb75437b384b92f1205bb00b15bb70
m/PackageParser.java
8e6f69b08fa3be56ad11aaffbecbcbead49afd33 23-Jul-2010 Ben Komalo <benkomalo@google.com> Release resources for a previously loaded cursor if a new one
comes in.

Change-Id: I43b8788869d5bfdd06096de6cb23acdf26a1c19a
ursorLoader.java
7d6bddc9a22b1eccc360417a1ca4d1f63a3df4f1 22-Jul-2010 Daniel Sandler <dsandler@google.com> More readable Configuration#toString() output.

Change-Id: I761cba019d7c09c79db59b705dbd3390c62c94e2
es/Configuration.java
63ae85f0e17f09892e87e2b02de38599289eac5a 21-Jul-2010 The Android Open Source Project <initial-contribution@android.com> am 42ef77f3: merge from open-source master

Merge commit '42ef77f3603ae54990d6718db79afae61e91dc61'

* commit '42ef77f3603ae54990d6718db79afae61e91dc61':
Shoud specify the Resource class instance as an argument of the method
42ef77f3603ae54990d6718db79afae61e91dc61 21-Jul-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ide1539b6777faf232d5360d6dc89a5d255982747
ac695c608ba620e2362f57126d7be453cf5b7e1b 21-Jul-2010 Adam Powell <adamp@google.com> Refactored contextual modes out of action bar.

Change-Id: I1fc1c9383e5ee90f135b92a5afa8eadbf1c13d20
ontext.java
708654c0b8d45001bc333a3b7b9fd845c81c6f26 20-Jul-2010 Masanori Ogino <ogino.masanori@sharp.co.jp> Shoud specify the Resource class instance as an argument of the method
newDrawable and change the name from 'DrawableCacheClear' to 'clearDrawableCache'
(additional changes for ID:15815)
https://review.source.android.com/#change,15815

Change-Id: I6bf19b8e6e187df8c8e3cb57d9e04278ddfe5055
es/Resources.java
bf4564f03daf9a43bafae8cbfe6c3cecd60847f0 16-Jul-2010 The Android Open Source Project <initial-contribution@android.com> am 5adfe6c5: merge from open-source master

Merge commit '5adfe6c56369b48e10493c0bb9e9b64ac553a19f'

* commit '5adfe6c56369b48e10493c0bb9e9b64ac553a19f':
Fix the problem that color drawable cache key conflicts another drawable one.
5adfe6c56369b48e10493c0bb9e9b64ac553a19f 16-Jul-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Iacd42b06fa01fa6dfd18b81f07ce4b6da922dfff
fb4e1e24a93c7e6bc0fcdb3f5cfadfbc19503cd8 16-Jul-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 181bb0ab to master

Change-Id: I2284e7c671d127da0d124fbabae8d887727fd5bf
6ba776ad34a8029e4d0c784ce0092f1fcbc91bef 16-Jul-2010 Christopher Tate <ctate@google.com> am 078ccbdb: am 2c40582a: Merge "Add native C APIs for working with the Asset Manager" into gingerbread

Merge commit '078ccbdbb98c118aa87cab2fef61ff90dd128358'

* commit '078ccbdbb98c118aa87cab2fef61ff90dd128358':
Add native C APIs for working with the Asset Manager
02c8730c1bf19daf48bec8c6995df676a00a73b1 01-Jul-2010 Kenny Root <kroot@google.com> Add API to call to vold for mounting OBBs

* Unhide StorageService class; hide all the USB-related items

* Add application-visible API to StorageManager for OBB files

* Add class for parceling OBB info across binders (ObbInfo)

* Add a JNI glue class to libutils/ObbFile (ObbScanner)

* Add API to MountService to deal with calling into vold and checking
permissions

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
ontext.java
es/ObbInfo.aidl
es/ObbInfo.java
es/ObbScanner.java
4565d52bdd60490b05f9f8f7c1fd3c552974948c 16-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing NPE in CursorLoader

Change-Id: I8d005473166f43dd018ac304ff9ec606e90483a3
ursorLoader.java
c7d9d2790f0b7a036d70bac2f100b42790ff0979 09-Jul-2010 Masanori Ogino <ogino.masanori@sharp.co.jp> Fix the problem that color drawable cache key conflicts another drawable one.
The cache key of a color drawable resource may be the same as another
drawable resource's value.

Change-Id: Ia971bb242ceac5e8f9346094009a10f356399ab9
(Reduced duplicated codes and replace TAB to white spaces)

And try to fix compile error.
es/Resources.java
6cce32b6adbb3a9725fc730ba0e0068a74657e60 13-Jul-2010 Christopher Tate <ctate@google.com> Add native C APIs for working with the Asset Manager

Change-Id: I493b142c4b35e5cc1a1e85283bb5dfb306a6d261
es/AssetManager.java
4c14a0f13fb9f5d796b505991e0178b60efbaccf 13-Jul-2010 Steve Howard <showard@google.com> am 47b46648: am b8d890eb: Merge "Initial implementation of the download manager public API." into gingerbread

Merge commit '47b46648b5a9b8c518b96db37618fc49c5e5f2d1'

* commit '47b46648b5a9b8c518b96db37618fc49c5e5f2d1':
Initial implementation of the download manager public API.
a2709360665f77ed8bebccb2df86f08e8c83a701 03-Jul-2010 Steve Howard <showard@google.com> Initial implementation of the download manager public API.

The implementation is in android.net.DownloadManager, which is
obtained through Context.getSystemService(). Right now this class
acts as a simple wrapper on top of the existing DownloadProvider,
exposing a simple interface to a subset of DownloadProvider's
functionality. There are several TODOs for features that require
changes to the underlying download manager implementation.

Change-Id: I2f26e51b60b6e82af8478ac7ccd895667df095b6
ontext.java
511d9ec363c5bb460e4695de56edc1b7785dc7bf 09-Jul-2010 Kenny Root <kroot@google.com> am 0a21801f: am a5402dab: Merge "OBB API for PackageManager" into gingerbread

Merge commit '0a21801f5fae22cd5e1b3e9f1c1405c744e24c9b'

* commit '0a21801f5fae22cd5e1b3e9f1c1405c744e24c9b':
OBB API for PackageManager
93565c4b3265c16aee4a82d7556f811776c17db8 19-Jun-2010 Kenny Root <kroot@google.com> OBB API for PackageManager

Simple API for tracking .obb files associated with packages. Stores the
path in the PackageSettings. No verification of file content is done
now since the PackageManagerService can't read the SD card where these
files will likely live.

Change-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e
m/IPackageManager.aidl
m/PackageManager.java
1ad636c31501b1f407a3bf504d14689c1d5c7f5a 02-Jul-2010 Elliott Hughes <enh@google.com> Defer to ICU's knowledge of language-specific grammatical quantity rules.

Also improve the documentation to make it a little less unclear what this
is all about. In particular, explain why the original submitter's complaint
about "zero" never being used in English, is expected behavior.

Bug: 2663392
Change-Id: Iade3b4f5c549ce01a95fd0e7e5c6ea394178eda3
es/PluralRules.java
es/Resources.java
1df11fc8f17573f0f23229e5eb77c0f82942f7f7 28-Jun-2010 Chih-Chung Chang <chihchung@google.com> am cbbc035b: am de1057c4: Unhide new API for supporting multiple cameras.

Merge commit 'cbbc035b640790650d0e377a2d6291cc523a2a35'

* commit 'cbbc035b640790650d0e377a2d6291cc523a2a35':
Unhide new API for supporting multiple cameras.
de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb 14-Jun-2010 Chih-Chung Chang <chihchung@google.com> Unhide new API for supporting multiple cameras.

Change-Id: I916a536c80330444a15986ba380205a6deed2390
m/PackageManager.java
36e5f667bc889a7b1bc17f9a5bd44f33b2d47020 25-Jun-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 2eb12a47 to master

Change-Id: I79eb9d9f083e51ec1b99145d81632683669e7a99
01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301 25-Jun-2010 Dianne Hackborn <hackbod@google.com> Some ActivityThread/ActivityManager cleanup.

- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
package scoped.

Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
ontentResolver.java
03f0292744094ec107ffce71301c394503a31ded 09-Jun-2010 Gilles Debunne <debunne@google.com> New XmlDocumentProvider class.

Minor changes in the Adapters.java helper class.

Extracts data out of a XML document using an XPath-like syntax.

Change-Id: I0617b0783f11c86118b42cd8485d54440810c805
ontentResolver.java
mlDocumentProvider.java
c4c6635d1a1dc5ac60abf39d239a9c2a6ce97845 23-Jun-2010 Daniel Sandler <dsandler@android.com> am 57b53265: am ef730e6e: Merge "Fix javadocs." into gingerbread

Merge commit '57b5326561b6edb22b09016985b41b7cdb2156c0'

* commit '57b5326561b6edb22b09016985b41b7cdb2156c0':
Fix javadocs.
6c55b8b143b4cc8335789bff58a2ac545bd58806 23-Jun-2010 Daniel Sandler <dsandler@android.com> am 71764c4c: am 613dde4a: Revised "immersive mode" API.

Merge commit '71764c4ce5b248a79542238b171a783e82e0fe37'

* commit '71764c4ce5b248a79542238b171a783e82e0fe37':
Revised "immersive mode" API.
8091ca5015b2a9f591ad7d3ee5ec832c16cf5548 22-Jun-2010 Daniel Sandler <dsandler@android.com> Fix javadocs.

Change-Id: Ic37c16625ddd0175cc048dd2b22bc75c6962d43d
m/ActivityInfo.java
613dde4aa651e11dac3db859723cc6faf8fc0a82 21-Jun-2010 Daniel Sandler <dsandler@android.com> Revised "immersive mode" API.

No longer a window bit, FLAG_IMMERSIVE is now set on
ActivityInfo.flags and in the Activity's manifest as
android:immersive="true" (ActivityInfo).

[An "immersive" activity is one that wishes to avoid being
paused by full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE/android:immersive is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.]

[Originally: change Ie290c2e.]

Change-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736
m/ActivityInfo.java
m/PackageParser.java
bef9c7a59dc020c5cdcbd555b5212ae5a10e8045 17-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Preventing cursor leaks when a query is interrupted

Re-ran runtest cts-os

Change-Id: I518a2a4f842b01d082078e16643aa377a4575237
syncTaskLoader.java
ursorLoader.java
d0b15cecc63b03ca4e42549ed3a54ae2c7e31866 04-Jun-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of f3307ae8 to master

Change-Id: Ic59db363391f73343eba32894113914ceea5a963
860755faa6bdd3c2aeae49c05b87b5bc080ae60c 04-Jun-2010 Dianne Hackborn <hackbod@google.com> Add support for heavy-weight applications.

Only one can be running at a time, their process can not be killed,
and a notification is posted while it is running.

Change-Id: I843015723947e0c934ae63a1aeee139327c0bc01
ntentSender.java
m/ApplicationInfo.java
m/PackageParser.java
03acd51bae7d3fe746d21aa89f5b6de539d92bc8 03-Jun-2010 Vasu Nori <vnori@google.com> fix docs errors

Change-Id: I775dc3e665a8ce32ed6c95f3240280ddef984bb6
ontext.java
74f170f9468d3cf6d7d0ef453320141a3e63571b 02-Jun-2010 Vasu Nori <vnori@google.com> new API in Context. on openDatabase, new param DatabaseErrorHandler

add new method openOrCreateDatabase in Context.java to allow
callers specify a DatabaseErrorHandler object to be used when
database corruption occurs.
add new constructor in SQLiteOpenHelper to accept DatabaseErrorHandler
as an additional param to be used when SQLiteDatabase instance is
created.

Change-Id: I912a0202a74510f9ca0206dd8101c4abab9102ae
ontext.java
ontextWrapper.java
812ccbeb3ce55c50463fda1d161b2eeed8b19cd2 01-Jun-2010 Romain Guy <romainguy@google.com> Add new hardwareAccelerated manifest attribute to enable HW drawing.

Change-Id: I2bb0252f3699cb720e7f5b6868419c9904e4fb35
m/ApplicationInfo.java
m/PackageParser.java
a2f2a34d51fe3bd9f5a00a61e5d8cf1224671f5b 19-May-2010 The Android Open Source Project <initial-contribution@android.com> am 6af002b7: am b32a74c7: am ee1cdd0e: merge from open-source master
b32a74c73b1433a3613419e61c05f6ff8efb5b41 19-May-2010 The Android Open Source Project <initial-contribution@android.com> am ee1cdd0e: merge from open-source master

Merge commit 'ee1cdd0e605e9154b3b61d4bf7dd5aad9cab88ed' into kraken

* commit 'ee1cdd0e605e9154b3b61d4bf7dd5aad9cab88ed':
Don't allow invalid Uris to be added as observers.
ee1cdd0e605e9154b3b61d4bf7dd5aad9cab88ed 19-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I1612bf92bf47eb88299ed0e627e6662b23adc35a
f51266471cb6c3e824435ae6e416012a62266d52 22-Mar-2010 Anthony Newnam <anthony.newnam@garmin.com> Don't allow invalid Uris to be added as observers.

If a null segment is added, it will cause problems traversing the list
at a later point.

Change-Id: I5aa97b969cac7231e214168af7d3263b1c16f0a0
ontentService.java
7860b10d1687b7102a14f321d327620bb4191fa6 18-May-2010 Jeff Hamilton <jham@android.com> Another try at fixing the docs build.

Change-Id: Ief60f4e71efee1d3bb4ee36e2f2a2fcaeb996284
syncTaskLoader.java
e6c6d09a7eb9a7cd6e94c164e75a08dc499fd577 18-May-2010 Jeff Hamilton <jham@android.com> Fix a broken docs link.

Change-Id: I2e940165726ecfce306cd143ed049045c927b6a0
syncTaskLoader.java
9911b7f83db2e960f72345e6d50df2b77ca75e3f 15-May-2010 Jeff Hamilton <jham@android.com> Add the Loader and supporting classes.

Loaders are designed to make it easier to manage
asynchronously loading data.

Change-Id: I948db08c721411e94fca071dc6fb4db2b83ea4d6
syncTaskLoader.java
ursorLoader.java
oader.java
2b6b8351961d627be87396bbeb3e0ab811747bf3 13-May-2010 Costin Manolache <costin@google.com> am 0c6028c1: am c1959658: am fa2e3dcd: am 8ea9f130: Merge "Bug 2680071: Rename the Cloud to Device" into froyo
c195965893da2003a3da9936391c27db05d47dd8 13-May-2010 Costin Manolache <costin@google.com> am fa2e3dcd: am 8ea9f130: Merge "Bug 2680071: Rename the Cloud to Device" into froyo

Merge commit 'fa2e3dcd855f573e160dbf258fd60a172b6e3f02' into kraken

* commit 'fa2e3dcd855f573e160dbf258fd60a172b6e3f02':
Bug 2680071: Rename the Cloud to Device
8d83f9e31bfff0281b522c53e035dffc7dd00ba9 13-May-2010 Costin Manolache <costin@google.com> Bug 2680071: Rename the Cloud to Device

Change-Id: I12ab32de393e44a499e3f9e3a0b38f4682156ff5
ntent.java
3a17fbb757576ab52ff1ec5fcd54101f33977099 12-May-2010 Costin Manolache <costin@google.com> am b20842c7: am 8579a4d7: am 625de488: am e2055fe4: Merge "Bug 2673557: rename datamessaging" into froyo
8579a4d72697a752fe33445b5c57d09e0151b559 12-May-2010 Costin Manolache <costin@google.com> am 625de488: am e2055fe4: Merge "Bug 2673557: rename datamessaging" into froyo

Merge commit '625de488973f262e56d3ee6825a8cf1ebaee089b' into kraken

* commit '625de488973f262e56d3ee6825a8cf1ebaee089b':
Bug 2673557: rename datamessaging
161c75a0f3ca5255001f7d737a02a4f9d728f1f4 11-May-2010 Costin Manolache <costin@google.com> Bug 2673557: rename datamessaging

Change-Id: I583ac61c7b8fce69d60801dc76aeca9f13d250b2
ntent.java
09d91ca47c6594db43215c3bb2d21e7a7ee24180 30-Apr-2010 Dianne Hackborn <hackbod@google.com> am fefe7a22: Merge "Fix build." into kraken
22ec9ab3b881d71866279ba9363c644a9e4e7164 30-Apr-2010 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: Iac00a1d02d04c346807ff2580362adfc838d1813
m/ApplicationInfo.java
8640c1d0e55281530da58350ef54a881d5c51187 29-Apr-2010 Dianne Hackborn <hackbod@google.com> am 14cee9f6: New xlarge screen size.
14cee9f688c32d63d8521188e7422811629bb7c2 24-Apr-2010 Dianne Hackborn <hackbod@google.com> New xlarge screen size.

Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
m/ApplicationInfo.java
m/PackageParser.java
es/CompatibilityInfo.java
es/Configuration.java
ca3a7b9bc55ef232c282108cf9d65cb81d008d68 29-Apr-2010 Vasu Nori <vnori@google.com> am 43f2c35b: am 91a62f3d: am a07c4cbe: Merge "bug:2622719 move \'forcing of cursor execution\' to ContentProvider" into froyo
43f2c35bf3bbc475c2434ef14f36f1623650a69e 29-Apr-2010 Vasu Nori <vnori@google.com> am 91a62f3d: am a07c4cbe: Merge "bug:2622719 move \'forcing of cursor execution\' to ContentProvider" into froyo

Merge commit '91a62f3d4a6b4f92c694d09e991fc6f82701fc47' into kraken

* commit '91a62f3d4a6b4f92c694d09e991fc6f82701fc47':
bug:2622719 move 'forcing of cursor execution' to ContentProvider
020e5345795a157d7829ebbe4d7864595dafc576 28-Apr-2010 Vasu Nori <vnori@google.com> bug:2622719 move 'forcing of cursor execution' to ContentProvider

revert part of the CL: Ia561135e974a44ad3e3774ecb23c6a3d0fc38176
and add it to ContentProvider.query() to force query execution
in worker thread, instead of having the main thread incur the cost
of query execution and potentially get ANR

Change-Id: I0ea8a170bd954a421f4ad825f8090319a83a5b2b
ontentResolver.java
2e192931d50ca5c5899ee12149a1edd72520c9b9 28-Apr-2010 Fred Quintana <fredq@google.com> am 2bf0f1a3: am 00b92b94: am 9aaf24f2: Merge "revert a change in the SyncManager that caused it to not cancel long running syncs if the next sync had the same account and authority." into froyo
2bf0f1a3c153c432faa050479a8d8b4259d4999f 28-Apr-2010 Fred Quintana <fredq@google.com> am 00b92b94: am 9aaf24f2: Merge "revert a change in the SyncManager that caused it to not cancel long running syncs if the next sync had the same account and authority." into froyo

Merge commit '00b92b943ff397cb7f7c4827a0eea9df7aa22071' into kraken

* commit '00b92b943ff397cb7f7c4827a0eea9df7aa22071':
revert a change in the SyncManager that caused it to not cancel
9aaf24f2a46eacd1e342f8c0300c3093646e2814 28-Apr-2010 Fred Quintana <fredq@google.com> Merge "revert a change in the SyncManager that caused it to not cancel long running syncs if the next sync had the same account and authority." into froyo
f910cf4dcb978b7663ef088b22abe197c8158f33 28-Apr-2010 Fred Quintana <fredq@google.com> am 018579c4: am b2dbae87: am 6ce78924: Merge "Add JavaDoc for SyncResult http://b/2420252" into froyo
12664a7a4d0a17c4c4db33374550f7ff19593be7 28-Apr-2010 Fred Quintana <fredq@google.com> revert a change in the SyncManager that caused it to not cancel
long running syncs if the next sync had the same account and
authority.

Change-Id: I0c18ce3b7098e79e2080e401e441ad246b1d6910
http://b/2631221
yncManager.java
525bb6a0cd4c269c8becd91affe96a7512d72749 27-Apr-2010 Dianne Hackborn <hackbod@google.com> am b6c45927: am 44f2c6ba: am 2e4b98dc: Merge "Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE" into froyo
018579c473858de49cc17e6ec739bb3d11f05cd8 27-Apr-2010 Fred Quintana <fredq@google.com> am b2dbae87: am 6ce78924: Merge "Add JavaDoc for SyncResult http://b/2420252" into froyo

Merge commit 'b2dbae879d32ce654528ab550c0dd017b67d7b08' into kraken

* commit 'b2dbae879d32ce654528ab550c0dd017b67d7b08':
Add JavaDoc for SyncResult
6ce78924ebd179611c71122b864807dc4525f593 27-Apr-2010 Fred Quintana <fredq@google.com> Merge "Add JavaDoc for SyncResult http://b/2420252" into froyo
20c640e0f4c11f56cb02abaac0a25fe84ebfa487 27-Apr-2010 Fred Quintana <fredq@google.com> Add JavaDoc for SyncResult
http://b/2420252

Change-Id: I88be5232d54959f6ec3480c36751a8fb7dc369fd
yncResult.java
yncStats.java
ff121670b7f5f886e12aad5a46e8ad05dc419ca3 27-Apr-2010 Dianne Hackborn <hackbod@google.com> am 34483a0f: resolved conflicts for merge of 5a8f877c to kraken
b6c459276f222e01777380c4c1e3a31680e561ec 27-Apr-2010 Dianne Hackborn <hackbod@google.com> am 44f2c6ba: am 2e4b98dc: Merge "Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE" into froyo

Merge commit '44f2c6baa68e02f7837cd1ca285d5c4f0f871b18' into kraken

* commit '44f2c6baa68e02f7837cd1ca285d5c4f0f871b18':
Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE
34483a0f6e1db9b0d96abc8b6dd056ec385f82b6 27-Apr-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 5a8f877c to kraken

Change-Id: I3e320cfe9fcafe4f49e1863eaeddac96bc3f72c6
94c567e1e344d49168603f5a0560215a4ce735e6 27-Apr-2010 Dianne Hackborn <hackbod@google.com> Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE

There was a gap in the bit numbers.

Change-Id: I0feef7dc4abed5db7412659b5ad078caffe4f2d4
m/ApplicationInfo.java
3202d380226043fa665df3c92252f791f8c52d55 27-Apr-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2631417: Expose FLAG_EXTERNAL_STORAGE

Also update 8.xml to match the current API.

Change-Id: I668fe56f6c156c2e8daa458baa7410fdb8ebef52
m/ApplicationInfo.java
b9eab6c793959cae13399620965d44bd3a6871c3 24-Apr-2010 Adam Powell <adamp@google.com> resolved conflicts for merge of 81cd2e90 to master

Fixed public.xml value padding for kraken/master

Merge commit '81cd2e90' into manualmerge

Conflicts:
api/current.xml

Change-Id: I09d2c5c7e6acbf4086c0bb8756a5aaf41a646d71
81cd2e90ccdda498234384c8207afe2213714e60 22-Apr-2010 Adam Powell <adamp@google.com> Logo attribute for manifest and PackageManager methods to fetch it

Change-Id: I2c5ac44a4e2af982a616b2012901d7395013b19f
m/ComponentInfo.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
ef404b7aa0430a67300355a607c81a4b379c911a 21-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> am 0c64ff75: am d32f9422: am 0dde41fb: Merge "Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted." into froyo
0c64ff7568f0e1e37e300005ea0de3f21faa08e0 21-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> am d32f9422: am 0dde41fb: Merge "Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted." into froyo

Merge commit 'd32f942280cc4390ab853321557eef06292b300e' into kraken

* commit 'd32f942280cc4390ab853321557eef06292b300e':
Fix 2610961
89e0c1a9f5a86d47c20b1bf9b9c78507ffbafd1f 20-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> Fix 2610961
Unhide broadcast intents that are sent when sdcard gets mounted/unmounted.

Change-Id: Ibb5700178e98f657f1c2b6a2f83e722151c4a44f
ntent.java
212db7d3f8ce5297f4a556234a9c0675c697f1cf 09-Apr-2010 Adam Powell <adamp@google.com> Added MultiSelectListPreference

Added set support to XmlUtils; added Set<String> functions to SharedPreferences.

MultiSelectListPreference allows multiple selection and persistence of
string preferences. Addresses bug 2575634.

Change-Id: Icd56022d444b0ce43cccf819cd7d600fdb00e88a
haredPreferences.java
7829f3d4b1bbcdfb3182d69999863276f39e29f9 08-Apr-2010 Dan Egnor <egnor@google.com> am c138fd3a: am a28a05f3: am f1f00f5b: am 21248080: Merge "Missed these ones in the previous rename." into froyo
a28a05f31b7e4837a1ec0aa661f5202576694580 08-Apr-2010 Dan Egnor <egnor@google.com> am f1f00f5b: am 21248080: Merge "Missed these ones in the previous rename." into froyo

Merge commit 'f1f00f5bddd6b222879166f4528055a30bed307e' into kraken

* commit 'f1f00f5bddd6b222879166f4528055a30bed307e':
Missed these ones in the previous rename.
3f73e4869f2044f2fdd3fed7b1517ac678f213f3 08-Apr-2010 Brad Fitzpatrick <bradfitz@android.com> am 341d0a52: am 9c3554e9: am 4183b514: am c62cdef4: Merge "Rename logtag for clarity." into froyo
2124808060a1eb5ea396238b7b99d2ed266b0b53 08-Apr-2010 Dan Egnor <egnor@google.com> Merge "Missed these ones in the previous rename." into froyo
9c3554e997aae8226bd437a1dd8edee3cbd5d6dc 08-Apr-2010 Brad Fitzpatrick <bradfitz@android.com> am 4183b514: am c62cdef4: Merge "Rename logtag for clarity." into froyo

Merge commit '4183b514bb72d96e8ed925c14266a23067c02fe5' into kraken

* commit '4183b514bb72d96e8ed925c14266a23067c02fe5':
Rename logtag for clarity.
a8fbedbf5e274581ba0cbb20da34ade286fc1cfc 08-Apr-2010 Brad Fitzpatrick <bradfitz@android.com> Missed these ones in the previous rename.

BUG=2581935

Change-Id: I12e7fc924d7164ab4a5ff7bd6ee52a10f7551ad4
ontentResolver.java
ac6ec41b679bab78ac33bf4ecde445d616030bbd 08-Apr-2010 Robert Greenwalt <robdroid@android.com> resolved conflicts for merge of 4e33e9c1 to master

Change-Id: I3a150497693009a4cf4300c8445a791c1e1eea3b
228629e920edf056eb12a3d0f4adf6ef84642632 08-Apr-2010 Brad Fitzpatrick <bradfitz@android.com> Rename logtag for clarity.

BUG=2581935

Change-Id: I85f0b704435861acd5a406ce5ec084b60696580c
ventLogTags.logtags
6646cf7af9a050c9c2b698507756f96be9f30169 08-Apr-2010 Robert Greenwalt <robdroid@android.com> am 6f72a313: am 2b4b5738: Merge "Add service to monitor/control the flow of data." into froyo

Merge commit '6f72a313a042fdf0a5345f83eda74c5970b7db05' into kraken

* commit '6f72a313a042fdf0a5345f83eda74c5970b7db05':
Add service to monitor/control the flow of data.
9e696c29f06d45d2891e1d38fd8d9033a9e21bb9 01-Apr-2010 Robert Greenwalt <robdroid@android.com> Add service to monitor/control the flow of data.

bug:2576057
Change-Id: Ib343c7ee1d619c6978910d9ee597db195d5aa3b6
ontext.java
08695a5c9157a28e7b875c9fe5c2f99a8622426c 08-Apr-2010 Fred Quintana <fredq@google.com> Merge "create a SyncManager WakeLock for each syncadapter accountType/authority pair so that it will be easy to tell via bugreport which sync adapter is holding the wake lock the most"
4baf4e6a742fffba238ad79f8b2ce7bc52f96b18 08-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> am eb606ec9: am 3e543abb: am a599469f: am c2461be6: Merge "Fix 2579461 Move install location values to secure settings. Diable attribute for UI. Set default value to auto. Add command line interface to set install location via pm." into froyo
3e543abbc18eec03ba7300b53cd65dc1c30fd40b 08-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> am a599469f: am c2461be6: Merge "Fix 2579461 Move install location values to secure settings. Diable attribute for UI. Set default value to auto. Add command line interface to set install location via pm." into froyo

Merge commit 'a599469f9095532cac95a8e7600412f156b88f1c' into kraken

* commit 'a599469f9095532cac95a8e7600412f156b88f1c':
Fix 2579461
40e472521a544f26cb6956995788f7c36fff1404 08-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> Fix 2579461
Move install location values to secure settings.
Diable attribute for UI. Set default value to auto.
Add command line interface to set install location via pm.

Change-Id: I80e97b3d24845adad7102f40dcbe238f00efa406
m/IPackageManager.aidl
b3029c3d563cf99ea07395282b053e87d5dbbb95 06-Apr-2010 Fred Quintana <fredq@google.com> create a SyncManager WakeLock for each syncadapter
accountType/authority pair so that it will be easy to tell via
bugreport which sync adapter is holding the wake lock the most

http://b/issue?id=2571451
yncManager.java
f974b84b547f6a0f239dec79363fe0fc4a57b417 07-Apr-2010 Ray Chen <raychen@google.com> am e4b62c23: am 84d12f3f: am dbad286c: am 25c2dd60: Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo
b4d32b5657e5a57a7d2f6046f811c1bb26ea6a1e 07-Apr-2010 Dianne Hackborn <hackbod@google.com> am c24a1498: am 7aed1e14: am d66e2b23: am 4e7cacd3: Merge "Maybe fix issue #2568615: System server crashed in SyncStorageEngine" into froyo
84d12f3fe7aad8d024dd7d89aea813d5e556387e 07-Apr-2010 Ray Chen <raychen@google.com> am dbad286c: am 25c2dd60: Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo

Merge commit 'dbad286c4640ab7d2244695c5b175ebd1b6fcbab' into kraken

* commit 'dbad286c4640ab7d2244695c5b175ebd1b6fcbab':
Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
25c2dd60d43298c18b9459abd6ff33046d675fe6 07-Apr-2010 Ray Chen <raychen@google.com> Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo
7aed1e14b53778ea4044362b001fb5bf5cac09c0 07-Apr-2010 Dianne Hackborn <hackbod@google.com> am d66e2b23: am 4e7cacd3: Merge "Maybe fix issue #2568615: System server crashed in SyncStorageEngine" into froyo

Merge commit 'd66e2b23a5c6b4b2b6586015c1a6951b4d6d1bfa' into kraken

* commit 'd66e2b23a5c6b4b2b6586015c1a6951b4d6d1bfa':
Maybe fix issue #2568615: System server crashed in SyncStorageEngine
4e80820ab54f3985220ff06b2fcd381565e9f19d 07-Apr-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2568615: System server crashed in SyncStorageEngine

Ack, we were acquiring the wrong lock at some points when
accessing the data structure!

Change-Id: I8bbc8e1ffa2e3e8a94bf7625e3d7f020c458eea2
yncStorageEngine.java
b7c8c76180dc1abbf55c734ab121a7a2469060f6 31-Mar-2010 Ray Chen <raychen@google.com> Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
http://2553871

Change-Id: I293b8138a2c23ea107b634da014902f838966c0e
ontext.java
7a3a6dba21d3b14a9836af51ce9db5a1dad05645 06-Apr-2010 Dianne Hackborn <hackbod@google.com> am 5a0797a9: am c94dad83: am 6e52b5d7: 2568467 System crash when installing corrupt APK
49313315523fd182391780b63c54974c11efab1a 06-Apr-2010 Dianne Hackborn <hackbod@google.com> am f0adaa1b: am eab92d7b: am 01f6b75b: Merge "Fix issue #2564479: Favorite Recipes App Installation Fail" into froyo
5a0797a91016e85bb50a7d5c0d7e031166429ddd 06-Apr-2010 Dianne Hackborn <hackbod@google.com> am c94dad83: am 6e52b5d7: 2568467 System crash when installing corrupt APK

Merge commit 'c94dad83be792928206363cb43524a68b6a62ffe' into kraken

* commit 'c94dad83be792928206363cb43524a68b6a62ffe':
2568467 System crash when installing corrupt APK
f0adaa1bd579a0749406f6f5c72d00a0a62eb0e6 06-Apr-2010 Dianne Hackborn <hackbod@google.com> am eab92d7b: am 01f6b75b: Merge "Fix issue #2564479: Favorite Recipes App Installation Fail" into froyo

Merge commit 'eab92d7bec5ff0d12ee68047bba4ade3afb718a7' into kraken

* commit 'eab92d7bec5ff0d12ee68047bba4ade3afb718a7':
Fix issue #2564479: Favorite Recipes App Installation Fail
6e52b5d76850ee60bbef2f3d8a2e47bd589e28e8 05-Apr-2010 Dianne Hackborn <hackbod@google.com> 2568467 System crash when installing corrupt APK

Also fix another crash I just saw in the package manager, when a
permission got left around from a previous install but as no
longer defined.

Change-Id: I33b87420f0c59e24b8b77fab8b0316461d99e048
m/PackageParser.java
01f6b75baa3b9144240fa8c9772859ab4ac948bd 06-Apr-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #2564479: Favorite Recipes App Installation Fail" into froyo
7d6eef83d34439d7a95232e89aad3e5dd281a911 06-Apr-2010 Dan Morrill <morrildl@google.com> am a03dfc07: am ca5e7de8: am 21390f08: Merge "Adding a feature definition for touchscreens that was overlooked in the last round." into froyo
a03dfc079263bc6eb9bbb060273ea346930b4944 06-Apr-2010 Dan Morrill <morrildl@google.com> am ca5e7de8: am 21390f08: Merge "Adding a feature definition for touchscreens that was overlooked in the last round." into froyo

Merge commit 'ca5e7de82b18dcd5fb8f617b40b45c95edce8c3e' into kraken

* commit 'ca5e7de82b18dcd5fb8f617b40b45c95edce8c3e':
Adding a feature definition for touchscreens that was overlooked in the last
b0fe033ff8695418645ede29ce683949f68033c2 05-Apr-2010 Dan Morrill <morrildl@google.com> Adding a feature definition for touchscreens that was overlooked in the last
round.

Change-Id: I8f30676a7b468a9868503b05f366709d5534a44e
m/PackageManager.java
d1cff1b4a477bad7f6c968572ecdff26ca6e8cda 03-Apr-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2564479: Favorite Recipes App Installation Fail

Change-Id: Ide1045e3f6bef9ed2a2fee08bfeda8c58feb685f
m/PackageParser.java
488fd5d9c364964851ea4c6ed37768bcdfabb3d8 02-Apr-2010 Dianne Hackborn <hackbod@google.com> am 4d075b02: am 9bdc4508: am e13beb09: Merge "Add a new intent category used for activities running in carmode." into froyo
4d075b029f13e9c38e70d87ca4b246902d3f72c4 02-Apr-2010 Dianne Hackborn <hackbod@google.com> am 9bdc4508: am e13beb09: Merge "Add a new intent category used for activities running in carmode." into froyo

Merge commit '9bdc45084f963869d4e9dd68de2280d3de7dda1d' into kraken

* commit '9bdc45084f963869d4e9dd68de2280d3de7dda1d':
Add a new intent category used for activities running in carmode.
aea4b678b5f59f63ba6810f94dbc40ea4139e708 31-Mar-2010 Bernd Holzhey <holzhey@google.com> Add a new intent category used for activities running in carmode.

Change-Id: I4702538c9f53cc0b64eae72298e27232cdfb3548
ntent.java
48d9980d0c7169f353c2cd60657c399fa7fce0ac 01-Apr-2010 Bjorn Bringert <bringert@android.com> Expose Context.STORAGE_SERVICE in master

This was recently hidden in Froyo, and the the change automerged
to Master, where it broke the SDK build since StorageManager is
exposed in Master.

Change-Id: I44f9f666c7644e1c16e3274adc6ae6cd5ac0fdd4
ontext.java
767225d8206adf4db968f3fa86d9ebb107a12067 31-Mar-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of d9ee01a9 to kraken

Change-Id: I645177513e6dfa4b3b02c0061b8026bde4acde8d
07330791116513710d879c45b2f095cd314cbfd0 31-Mar-2010 Jeff Brown <jeffbrown@google.com> Show SD unavailable icon for apps on SD when ejected.

This change include a minor refactoring of PackageItemInfo and related
classes to eliminate code duplication and to avoid redundant work
searching for an ApplicationInfo instance we already have.

Bug: b/2537578
Change-Id: Id0794c3f055ea58b943028f7a84abc7dec9d0aac
m/ApplicationInfo.java
m/ComponentInfo.java
m/PackageItemInfo.java
m/ResolveInfo.java
6669a7b4b5d14c16a08983d25354dd2ae106f62c 31-Mar-2010 Fred Quintana <fredq@google.com> am 4a2f285d: am 77c560f3: - changed periodic sync scheduling to just creating pending and changed the "get next operation to sync" logic just look at pending syncs, rather than them and periodic syncs - made syncoperation dup-detection ignore the initialization

Merge commit '4a2f285deafc996435ac20162abaeb21838c1c40' into kraken

* commit '4a2f285deafc996435ac20162abaeb21838c1c40':
- changed periodic sync scheduling to just creating pending
77c560f3d7891d9ae1ad714b5f65a22ff4f4c06b 30-Mar-2010 Fred Quintana <fredq@google.com> - changed periodic sync scheduling to just creating pending
and changed the "get next operation to sync" logic just look
at pending syncs, rather than them and periodic syncs
- made syncoperation dup-detection ignore the initialization
sync extra
- made the sync dispatcher treat initialization syncs as just
a regular sync request and also made it explicitly set or
clear the initialization extra based on whether the sync
adapter was in the syncable or unknown state
- change the getNextSync logic to prioritize syncable "unknown"
syncs above everything else (since they should be fast and
are important)
- make it reschedule completed initialization syncs if the
sync adapter is now marked syncable
- fix some logging in SyncStorageEngine
- change SyncStorageEngine to not reuse authority ids when one
is removed

http://b/issue?id=2531359
http://b/issue?id=2429638

Change-Id: I79805b582da74f4f0b6193eafaff24c2371d51e8
yncManager.java
yncOperation.java
yncQueue.java
yncStorageEngine.java
010fbfc9842ee3b86eafb1b3fc6bccd83be99b9e 31-Mar-2010 Fred Quintana <fredq@google.com> am 344ba661: am d5e4fdc8: some changes due to an API review - make EntityIterator extend Iterator and thus not throw a RemoteException, instead converting it into a RuntimeException. - rename ActiveSyncInfo to SyncInfo - change getActiveSync to getCurrentSync -

Merge commit '344ba661ab406759a91ecaba1378a4907971b119' into kraken

* commit '344ba661ab406759a91ecaba1378a4907971b119':
some changes due to an API review
d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6b 31-Mar-2010 Fred Quintana <fredq@google.com> some changes due to an API review
- make EntityIterator extend Iterator and thus not throw a
RemoteException, instead converting it into a RuntimeException.
- rename ActiveSyncInfo to SyncInfo
- change getActiveSync to getCurrentSync
- remove the accessors in SyncInfo and instead make the final
fields publicly accessible
- made AbstractThreadedSyncAdapter.cancelSync not take a thread

Change-Id: I99fde5585bc5f1e95f4873ffbba189074a8d6372
http://b/issue?id=2553539
http://b/issue?id=2553541
http://b/issue?id=2553550
bstractThreadedSyncAdapter.java
ctiveSyncInfo.aidl
ctiveSyncInfo.java
ontentResolver.java
ontentService.java
ursorEntityIterator.java
ntityIterator.java
ContentService.aidl
yncInfo.aidl
yncInfo.java
yncManager.java
yncStorageEngine.java
591ad27d748c5c605d4fd44b89b2a8ea8f0057ff 31-Mar-2010 Dianne Hackborn <hackbod@google.com> am 6d630607: am 5cdd7858: Merge "Fix issue #2553553: API REVIEW: android.context.Context" into froyo

Merge commit '6d63060768f9d73c6062a2b603d3c51c7d5f0043' into kraken

* commit '6d63060768f9d73c6062a2b603d3c51c7d5f0043':
Fix issue #2553553: API REVIEW: android.context.Context
acaf028fc9efd9754f57ed65476e79a816811b35 30-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2553553: API REVIEW: android.context.Context

Change-Id: I3e3ab7a909329d498544dc9ed4d500cbcc4ed281
ontext.java
b4915265a09361c375e792781ead5bfec6c797d9 30-Mar-2010 Dianne Hackborn <hackbod@google.com> am ab86fc91: am de2722af: Merge "Package manager optimizations." into froyo

Merge commit 'ab86fc91f5b54b8b730c0f594f04bbfb4c41697a' into kraken

* commit 'ab86fc91f5b54b8b730c0f594f04bbfb4c41697a':
Package manager optimizations.
d7c096845dee7616095eda0fe9e7aa08f0ba9c20 30-Mar-2010 Dianne Hackborn <hackbod@google.com> Package manager optimizations.

Addresses:
Issue #2550648: PackageManagerService setComponentEnabledSetting unconditionally
writes Settings xml
Issue #2549084: Make PackageManager.addPermission have async version

Also make the writing of settings when changing the preferred activities to use
the same async mechanism, and fiddle with thread priorities in the background
thread to go up to foreground priority when holding the lock to write settings
and a few other places. (At some point we should really clean this up to never
acquire the main lock while in the background.)

Change-Id: Ib2b7632543f6fb3f92a225518579f3b2d15e1413
m/IPackageManager.aidl
m/PackageManager.java
1f4df90bfab8ca42eabe95f19eadff3432eee7fd 27-Mar-2010 Oscar Montemayor <oam@google.com> DO NOT MERGE
Removing unused features from source tree.
Please refer to Bug#2502219.

Change-Id: I879c29bfd5ffe933f64bb1082aaae7c956450a5a
yncStorageEngine.java
m/ApplicationInfo.java
m/PackageParser.java
691b806ff8b4a6428588e8495cb1a5819a0aee99 30-Mar-2010 Romain Guy <romainguy@google.com> Merge "Fix possible security issue. Bug #2553187" into froyo
ef3f5ddc2137ed99e41f00441b688fb56b855179 30-Mar-2010 Ben Cheng <bccheng@android.com> Replace "safeMode" with a more specific name "vmSafeMode" in the public API.

Bug: 2553512
Change-Id: Id0dad80ecdcb8c7430dcf1ac26132ccd9c0770f5
m/ApplicationInfo.java
m/PackageParser.java
2aba11f6b9b7b202742a11797084a23d0f940c35 30-Mar-2010 Romain Guy <romainguy@google.com> Fix possible security issue.
Bug #2553187

Limit the max number of lines for each entry in the ResolveActivity to 2. Also
make sure to discard potential styling tags and newlines/space characters from
package name and activity labels.

Change-Id: Ibda3688267aa948b921164d3d3abc8c9236e61a2
m/PackageItemInfo.java
m/ResolveInfo.java
2c5da313dd72c284fbc2c11839f8a452ab5ce574 25-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Log blocking Binder calls to the EventLog.

This mimics what we do already for SQLiteDatabase's db_operation and
ContentProvider's content_query_operation and
content_update_operation: over a threshold things are always logged,
and under which they're sub-sampled.

Change-Id: Ia0280b9b07b336ee88b17be2a31a7af0fd7c5770
ventLogTags.logtags
1f343ebed1859c2033759983391278572d97e5ba 24-Mar-2010 Fred Quintana <fredq@google.com> Merge "fix bug where sync settings set lost upon upgrade from donut and eclair to froyo"
fb084400d6afa6443a421117fbcaee0265d38fb6 24-Mar-2010 Fred Quintana <fredq@google.com> fix bug where sync settings set lost upon upgrade from donut and eclair
to froyo

- intepret a missing syncavble attribute from donut as "unsynced"
rather than the traditional "true"
- copy the sync settings from the authorities "contacts" and "calendar"
to "com.android.contacts" and "com.android.calendar" if the latter
don't already have settings
- delay the database cleanup until after boot completed, which will give
the GoogleLoginService accounts migration code a chance to run; this
was causing all the settings to get removed upon a donut to froyo upgrade

Change-Id: I8795e97ba0c9b930d1a50784229ca9ab15dff9d2
http://b/issue?id=2531359
yncManager.java
yncStorageEngine.java
1c4027b68d5938795cc536c1d45e8d942ea537a4 23-Mar-2010 Daniel Lehmann <lehmannd@google.com> Small speedup in getAsString and comment fix

Change-Id: I19744983bbc0f4b9060de326bd539137e373415b
ontentValues.java
e99bb5f10b90736d10cee9729b56cba156fc0921 19-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Add new method call back in MountService.
PackageManager invokes this call back when its done handling
the media status update.
Add new uid check for updateExternalMediaStatus
Change killPids method in ActivityManager.
Remove mountsd command in Pm.java We cannot arbitrarily enable/disable
packages in PackageManager now.

Change-Id: I28dcba4afd2b4486f68abdaa1628a31b66544c91
m/IPackageManager.aidl
2e805b19cdb309ea6eeb6d2e8b0915681f831f5a 22-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Grammar fixes.

Change-Id: I77672d2260c26aee146bb6a853137c14e3db1f28
m/PackageManager.java
806da1d46c94c71728b94dec75dec6519c962b5c 19-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2512507: Shortcuts and Widgets lost on upgrading from Eclair to FRE70D

Apps on the system partition are now allowed to change their certs, as
long as they are not using a shared user id.

Change-Id: I02ff7ac874dc649b7f8cbb705ae8d7ed31e1d125
m/PackageParser.java
90d8ee650be988d8479f4f14ae8e541bb4cb034b 18-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Switch default install location to unspecified.
Add a new install location unspecified for backward compatibility.
There is not much difference between policies auto and unspecified.
But we dont have to make any code changes in PackageParser based
on our preference for install location.
Add tests

Change-Id: I563238133261d911d08fbc66344687b7dfc870b1
m/PackageInfo.java
m/PackageParser.java
694f79b5d1196640d1beb680b7d1fc68e6e77cbd 18-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2519590: Lock screen stuck in landscape mode

Well, mostly. There is still a problem here where the first time
you show the lock screen it just doesn't draw itself. I assume
this is something breaking in the view hierarchy as it floounders
around removing and adding new views as it is first being shown...
but no idea at this point what is the actual case.

Change-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe
es/Configuration.java
14b6abda1309631d49d4bebbb0317a7e1dfc0a50 17-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Add new install flag to install on internal flash only
Change default install location policy for new flag.
New error code for media unavailable.

Change-Id: I5a5d0828b067692b2b94a15a2bcc7534f796c1a2
m/PackageManager.java
8a9ab24a5c9b595ac0268fcade4b5bbfe7c45c2d 12-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Do storage checks before initiating a move.
Add new remote method to check for insufficient error conditions.
Some fixes in MountService when updating media status on PackageManagerService
Fix size calculation condition in installd.

Add new error code if media is unavailable.
New tests for testing error codes.
Some additional debugging statements in MountService.

Change-Id: Ibfe90d5ed6c71d57f9c1c67806f38b5ae9ecdfbf
m/PackageManager.java
7620f1ae498e01bf2df58eaa1b9b20ef1eb47fa1 16-Mar-2010 Fred Quintana <fredq@google.com> Clean the settings for the account/authority when trying to sync an
adapter that is not installed.

Change-Id: Id4a804615b9546155948797f9dd9a0f03fbe4b2f
http://b/issue?id=2520175
yncManager.java
yncStorageEngine.java
c2e4691d788088b22eadc9b2d35e9bdf0b6a0ffc 16-Mar-2010 Fred Quintana <fredq@google.com> - make the SyncManager add periodic syncs when it upgrades from a
version of the accounts.xml file that pre-dated periodic syncs,
e.g. eclair or early froyo. http://b/2515823
- make the AccountManagerService dump() use a getAccounts call that
doesn't check the GET_ACCOUNTS permission to make it useful
in "adb bugreport"
- add some logging to SyncManager to help track down a problem

Change-Id: Icb646909074e2d327d71f6bb39cf06b6fac29e77
yncManager.java
yncStorageEngine.java
3de55bcd34afd5871816526294f9514d1adf3fe5 13-Mar-2010 Christopher Tate <ctate@google.com> API CHANGE: expose the backup-related ApplicationInfo flag masks

Fixes bug #2507582 by doing the following:

- Un-@hide the FLAG_ALLOW_BACKUP, FLAG_KILL_AFTER_RESTORE, and
FLAG_RESTORE_ANY_VERSION mask constants in ApplicationInfo. These
correspond, respectively, to the <application> manifest tag's
android:allowBackup, android:killAfterRestore, and
android:restoreAnyVersion attributes.

- Remove the android:restoreNeedsApplication attribute and the
corresponding FLAG_RESTORE_NEEDS_APPLICATION constant [which was still
marked @hide]. We now always use the application's own Application
class when performing a normal restore. In the future when we support
an externalized full-filesystem backup/restore operation, we will use
an OS-defined agent class with a base-class Application instance, but
this will not happen until a future release.

Also expands real documentation on the above ApplicationInfo constants;
that work is part of bug #2465360

Change-Id: I735d07a963ae80a01343637d83bef84e4c23fdcc
m/ApplicationInfo.java
m/PackageParser.java
a839703e0dec352bba9c7e4165e91b9083f58185 12-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2483335: android.content.res.cts.ConfigurationTest test's are failing

Change-Id: Ic2d10809c88f24d84e58d9f2edfd95912af29038
es/Configuration.java
15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab 12-Mar-2010 Kenny Root <kroot@google.com> Add correct copyright headers to multiple files

Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
ursorEntityIterator.java
yncOperation.java
yncQueue.java
yncResult.java
m/ActivityInfo.java
m/ApplicationInfo.java
m/FeatureInfo.java
m/InstrumentationInfo.java
m/LabeledIntent.java
m/PackageInfo.java
m/PackageInfoLite.java
m/PackageItemInfo.java
m/PackageStats.java
m/RegisteredServicesCacheListener.java
m/ResolveInfo.java
m/ServiceInfo.java
m/XmlSerializerAndParser.java
es/Configuration.java
es/TypedArray.java
2ee89ea2887252053c31541c54126a8b084c9bca 11-Mar-2010 Dianne Hackborn <hackbod@google.com> Applications should -not- be able to set preferred activities.

I can't believe I let this slip through. And in the SDK no less. :(

The APIs for setting preferred activities will now throw a security
exception when used. This may break some apps, we'll see how it
goes. If it is too bad we can just make these log and not throw
anything, but I would much prefer they throw an exception.

Change-Id: I3aed434750eef8b202aa9d5bd774a0121be521c6
m/PackageManager.java
d2a2daaa89865d19e881ab9af133ce0f3902c820 11-Mar-2010 Omari Stephens <xsdg@android.com> Fix small typo in javadoc: "deleting" -> "updating"

Change-Id: Ie0464aa92d33eb5b076a8122f5bd6317fd44a7b2
ontentResolver.java
3802141d17631183b6638d8e66630750f75daf38 10-Mar-2010 Fred Quintana <fredq@google.com> Merge "make the syncmanager keep track if whether a service has been unbound from so that it knows whether to call unbind at a later time"
3ec4730e375689b8ad9a03fcf98ff7773d726dda 10-Mar-2010 Fred Quintana <fredq@google.com> make the syncmanager keep track if whether a service has been unbound
from so that it knows whether to call unbind at a later time

Change-Id: Ida0d4b06454909d84380e2336fcc238834d292bc
http://b/2492397
yncManager.java
6069beb2dfed6da837bf7faa3db3f6119edc017a 10-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Rename ApplicationInfo.FLAG_ON_SDCARD to ApplicationInfo.FLAG_EXTERNAL_STORAGE

Change-Id: Iadef9f9bb2851c38b6d79be1bafbf932abce4210

Change-Id: I2e412bace3d8005db5057a3497bd836d0038b90c
m/ApplicationInfo.java
m/PackageParser.java
cf244ada58539ce857ec041d7288d0271204fbb6 10-Mar-2010 Dianne Hackborn <hackbod@google.com> Add ability for some manifest attributes to reference resources.

This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources. This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).

Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8
m/PackageParser.java
es/TypedArray.java
104798b706370c1bf403a1d07a0d69a740a3fb2f 10-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Speed up ContentProvider.query() in simple case by ~30%"
9ffdfa0c238fce3b85741d7f6828fd484cd8f195 09-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Speed up ContentProvider.query() in simple case by ~30%

When query() uses bulkQuery() and we know we're going to need some
metadata right afterwards (number of rows and column index of _id, if
present), just asked for it in the initial binder transaction instead
of immediately fetching it again.

Also, this defers loading column names until the client asks for them.

This gets down the simpler (and very common) use cases of
ContentProvider.query() down to 3 binder calls:

QUERY_TRANSACTION to android.content.ContentProvider$Transport
GET_CURSOR_WINDOW_TRANSACTION to android.database.CursorToBulkCursorAdaptor
CLOSE_TRANSACTION to android.database.CursorToBulkCursorAdaptor

More can still be done, but this is a good bite-sized first piece.

Change-Id: I7ad45949f53e0097ff18c2478d659f0f36929693
ontentProviderNative.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 06-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Add conditions to check for updated system applications. Restrict them
to internal flash only even before we copy.

Return error codes when install flag options mismatch.
Some conditions for existings apps
- install flags override existing location
- explicity manifest option install location overrides previous location
- if upgraded package's install location is unspecified or auto, fall
back to recommended install policy which considers user setting as well.

Check for sdcard status before finding available size on sdcard
Add light weight parsing for manifest attributes including package name and
install location only

Change-Id: I5143dda87c88c595f564b317326c926d0ec3ceb8
m/PackageInfo.java
m/PackageInfoLite.aidl
m/PackageInfoLite.java
m/PackageParser.java
f19d43d8805948a85924706f76ef9b0eb5f80c9f 09-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Fix Parcel leak in ContentProvider.call()"
dfb437e17c6ba3b29f9e636d064125668d706249 09-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Fix Parcel leak in ContentProvider.call()

This manifested itself as memory allocation and Binder failures during
my load testing / benchmarking.

BUG=2498615

Change-Id: I260fd916f97777fc98bee98d10474f12deb21dee
ontentProviderNative.java
50ab63f5831fed5cfa888fb67f0a27eb4c0a86c4 06-Mar-2010 Dan Morrill <morrildl@google.com> Adding definitions & APIs for features that are newly-optional in FroYo.
This also refactors the files containing the features so that they are more
modular. Note that this also changes data/etc/Android.mk so that
required_hardware.xml is NOT copied automatically for all devices
anymore. Accordingly, that file is removed.
m/PackageManager.java
4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3 06-Mar-2010 Christopher Tate <ctate@google.com> Refactor android.backup => android.app.backup

Change-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8
ontext.java
1877d0158b529663b8315482e7346a7bcaa96166 05-Mar-2010 Brad Fitzpatrick <bradfitz@android.com> Add "call" method on ContentProvider.

This permits implementing interfaces which are faster than using
remote Cursors. It then uses it for Settings & SettingProvider, which
together account for ~50% of total ContentProvider event loop stalls
across Froyo dogfooders.

For fetching Settings this looks like it should reduce average
Settings lookup from 10 ms to 0.4 ms on Sholes, once the
SettingsProvider serves most gets from in-memory cache. Currently it
brings the Sholes average down from 10ms to 2.5 ms while still using
SQLite queries on each get.
ontentProvider.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
7299c41630935a2b106e73e5603579a7747f7535 05-Mar-2010 Dianne Hackborn <hackbod@google.com> Refactor car mode.

Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

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

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it. Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
ntent.java
es/Configuration.java
1a31ae34a073b9769775f9e6cf5818888173a8e8 04-Mar-2010 Joe Onorato <joeo@android.com> Merge "Fix typo. According to grep, this is the only place in the tree that has it."
8a051a4ec34680dc93554457fec84677cb2cdcbf 04-Mar-2010 Joe Onorato <joeo@android.com> Fix typo. According to grep, this is the only place in the tree that has it.
ntent.java
20cb56e26e91df91bd64d4251222e0d421cdbe47 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix some bugs.

Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
yncAdaptersCache.java
m/RegisteredServicesCache.java
c1552397be706c243338389c628a44eee6011eae 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Allow multiple original-package tags.

Also fix some issues with moving files from update commands.
m/PackageParser.java
bf2dd44a6f86d13efd55d1e690822fba11187bf8 03-Mar-2010 Mike Lockwood <lockwood@android.com> MountService: Send ACTION_MEDIA_UNSHARED Intent a volume is no longer shared via UMS.

Change-Id: I21c887ae76eccabcc5d8449aa0a38e98758e8958
Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
db204c2383ccf2e4e5e8776e93c20b376aa6934e 02-Mar-2010 Fred Quintana <fredq@google.com> Merge "change ObserverNode.binderDied() to lock the root node before manipulating the observers tree by calling removeObserverLocked()"
002ffad599964653186c01f8e07fadc82dc0acee 02-Mar-2010 Fred Quintana <fredq@google.com> change ObserverNode.binderDied() to lock the root node before manipulating
the observers tree by calling removeObserverLocked()

http://b/issue?id=2457485
ontentService.java
ef05e076ced1a32c5c0aaee28403779834adb2ba 02-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2448075: aapt doesn't fix up activity-alias android:targetActivity links

And related:

- The aapt tool now sets a resource configurations sdk level to match any configs
that have been set (for example if you specify density your sdk level will be
at least 4).
- New option to modify the targetPackage attribute of instrumentation.
- Clean up of aapt options help.
- Fix of UI type values to leave 0 for "unspecified".
- Make the UI mode config APIs public.
m/ActivityInfo.java
es/Configuration.java
881cc1dffb12a21cc9d2dbf1908b3a3cf4e1ac0c 01-Mar-2010 Fred Quintana <fredq@google.com> Merge "fix a bug where if a syncmanager gets back a SyncAlreadyInProgress error it immediately reschedules another sync, thus burning up the battery if the sync is in progress for a while."
82c5c4248a5dcd648ecbc311e2b8cd765c388aab 01-Mar-2010 Fred Quintana <fredq@google.com> fix a bug where if a syncmanager gets back a SyncAlreadyInProgress error
it immediately reschedules another sync, thus burning up the battery if
the sync is in progress for a while.

http://b/issue?id=2477901
yncManager.java
yncOperation.java
87bba1ee14279bb14a28d42e27c4ef66d9967bf8 27-Feb-2010 Dianne Hackborn <hackbod@google.com> Move DeviceAdmin APIs to android.app.admin.

Also add ability for admins to hide themselves when not in use,
a facility for admins to not allow other admins to reset
their password, and debug dumping.
ontext.java
1f9e1b4c37c135b75cf064cbb5675aa576e2942a 26-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Remove public variables in PackageManager
Dont invoke getInstallLocation for forward locked apps.
If INSTALL_ON_SDCARD is selected as default, forward locked
apps are not being installed because of conflicting flags.
m/PackageManager.java
6cb6f246fe9fa7bd2be88946f531a82576008be4 26-Feb-2010 Fred Quintana <fredq@google.com> remove redundant @hides
ctiveSyncInfo.java
1b487ec44b6b5594914d52fa427bec4f29a60541 26-Feb-2010 Fred Quintana <fredq@google.com> expose some sync control methods
- ActiveSyncInfo
- ContentResolver.addStatusChangeListener
- SYNC_OBSERVER_TYPE_SETTINGS
- SYNC_OBSERVER_TYPE_PENDING
- SYNC_OBSERVER_TYPE_ACTIVE
- make the ContentService resilient to nulls passed in to the
status change listener registration and unregistration calls

bug http://b/issue?id=2337197
ctiveSyncInfo.java
ontentResolver.java
ontentService.java
yncManager.java
yncStorageEngine.java
08bbffb049c135c5dfd40d261118c90d1a6dc111 25-Feb-2010 Bjorn Bringert <bringert@android.com> Support CharSequence lists+arrays in Bundle+Intent

Fixes http://b/issue?id=2468093

Change-Id: Id82686f6ca8c9501f6db8a07018278a78ddacd05
ntent.java
aaec779513737a70007dea955f60e1b8bcbc2f1a 25-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Pick up default install location
m/PackageParser.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
ntent.java
ntentFilter.java
yncStorageEngine.java
m/PackageParser.java
m/RegisteredServicesCache.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
es/XmlBlock.java
3dda518a4fd57cdded3afa50d8aa206501de7fc6 25-Feb-2010 Christopher Tate <ctate@google.com> Add 'restoreAnyVersion' attr for apps that want to restore "future" data

If a backup-participating app sets android:restoreAnyVersion="true" in its
manifest <application> tag, then its agent will be invoked for restore
even if the available dataset was created by a later version of the app
than is currently installed on the device. This will not typically be
a problem for third party applications, since for them the installation
and initial data restore are tightly coupled, but it can cause serious
problems for applications which are both preinstalled on the system
partition and overridden by later updates. The primary difficulty
that this new attribute addresses is this:

1. User buys a Nexus One, Market self-updates, and the user installs some apps.
At this point the backup data on the server may indicate that the version of
Market which originated its bookkeeping is newer than the stock N1 Market app.
2. User loses their phone, and buys a replacement N1. At setup time, Market
has not yet had a chance to self-update, so when the restore comes in, it's
tagged as being from "the future" and so the restore is refused. No apps get
reinstalled.

Bug: 2442127
Change-Id: I076a9553dc613e5c3189350e778315718ed1ed2b
m/ApplicationInfo.java
m/PackageParser.java
c3b91fd26a940f8cee54888f91b490cb1768b03c 24-Feb-2010 Dianne Hackborn <hackbod@google.com> Fix crash in PendingIntentRecord debug output.

Add null checks to a few places to avoid crashes when dumping
debug data.

Also add some sanity checks for accessing content providers in
the activity manager.
es/AssetManager.java
es/XmlBlock.java
cf6eaeaae9e6745dd6e07540812c79821d7043c2 24-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Some framework fixes for apps on sd
change hard coded path in installd
fix tests
Work around for renaming containers.
Do forced unmount when destroying containers.
Force a gc in default container service to release handle to parsed package
and thus avoid getting killed by vold
Some cosmetic changes to PackageManager api.
Unit tests for renaming container for MountService
Remove internal size limit on app to be installed.
m/IPackageManager.aidl
25880968cbde25c9edb162c0d70d45dc75239456 23-Feb-2010 Brad Fitzpatrick <bradfitz@android.com> Reduce SQLiteDatabase and ContentResolver EventLog logging thresholds.

Turns out the database is used a ton, and not particularly quickly, so
these were spamming the logs at their prior 100ms thresholds. Setting
it to 500ms now. (still sub-sampled, so should be ~5x less spammy...)
ontentResolver.java
53332883543868fb83e111a07306368b7772b340 19-Feb-2010 Tobias Haamel <haamel@google.com> Manager for controlling the UI modes.

The ui modes can be controlled with the UiModeManager class, which
is can be retrieved as a system service via getSytemService(Context.UIMODE_SERVICE).

The class is necessary so that CarHome can be unbundled and other apps can
disable the car mode. Its currently a hidden class, since I'm not sure if this
is the best way to provide this functionality to the user.
ontext.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa 20-Feb-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2438980: Implement package watcher for voice recognizer service setting

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

Introducing PackageMonitor.

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

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

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

In addition, this finally introduces a mechanism to determine if the
"force stop" button should be enabled, with convenience in PackageMonitor
for system services to handle it. All services have been updated to support
this. There is also new infrastructure for reporting battery usage as an
applicatin error report.
omponentName.java
ntent.java
1bb6906c7a903ee6427c8ff37bdc5896c386ff73 20-Feb-2010 Christopher Tate <ctate@google.com> Automatically restore app data at install time

When an application being installed defines a backupAgent in its manifest, we
now automatically perform a restore of the latest-known-good data for that app.
This is defined as "data backed up by this app from this handset, if available;
otherwise data for this app as it existed when the device was initially
provisioned." If neither option exists for the app, no restore action is
taken.

The CL involves major changes in the Backup and Package Managers...

* The Package Manager's act of installing an application has now been split
into two separate phases, with a data-restore phase optionally occurring
between these two PM actions. First, the details of the install are performed
as usual. Instead of immediately notifying install observers and issuing the
install-related broadcasts, the in-process install state is snapshotted and
the backup manager notified that a restore operation should be attempted. It
does this by calling a new API on IBackupManager, passing a token by which it
identifies its in-progress install state.

The backup manager then downloads [if possible] the data for the newly-installed
application and invokes the app's backupAgent to do the restore. After this
step, regardless of failure, it then calls back into the Package Manager to
indicate that the restore phase has been completed, supplying the token that
was passed in the original notification from the Package Manager.

The Package Manager then runs the final post-install actions: notifying install
observers and sending out all the appropriate broadcasts. It's only at this
point that the app becomes visible to the Launcher and the rest of the OS.

... and a few other bits and pieces...

* The ApplicationInfo.backupAgentName field has been exposed to the SDK. This
can be reverted if there's a reason to do so, but it wasn't clear that this
info needs to be hidden from 3rd party apps.

* Debug logging of restore set IDs and operation timeout tokens [used during
any asynchronous Backup Manager operation] are now consistently in hex for
readability.

* We now properly reset our binder identity before calling into the transport
during restore-set operations. This fixes a permissions failure when a
single-app restore was attempted.

* The 'BackupTest' test app is no longer lumped onto the system partition
by default.

Change-Id: If3addefb846791f327e2a221de97c8d5d20ee7b3
m/ApplicationInfo.java
m/IPackageManager.aidl
35abad216da8a49128c3899a206c15d44c471617 19-Feb-2010 Ken Shirriff <kens@google.com> Add error logging to ContentProviderOperation.

This will dump out the contents of the operation in some error cases
to make debugging easier.
ontentProviderOperation.java
6c81defa3d1111c36f8b0c9c4e84e8b2c342620f 19-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Merge "Move package from internal to external and vice versa."
8946dd3355fc1dcbad872c0546e356474d4cc5de 19-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Move package from internal to external and vice versa.
m/IPackageManager.aidl
m/IPackageMoveObserver.aidl
m/PackageManager.java
bda8874a2990a864f32f8d2d916f7a05f33f797b 19-Feb-2010 Fred Quintana <fredq@google.com> improve logging of errors when trying to resolve backrefs http://b/2371475
ontentValues.java
ac7c8e6cd1756d527d381308b7ff8c669531385c 19-Feb-2010 Fred Quintana <fredq@google.com> Merge "- fix the AccountManager documentation. http://b/2401790 - only pass the authtoken through from the authenticator to the client for getAuthToken() and strip it out from the other calls, like addAccount(). http://b/2332762 - beef up the documentation to indicate what calls are allowed to be made from the main thread and which are not allowed. http://b/2384961 - wait a bit before retrying syncs that failed because one was already in progress. http://b/2414235"
bd3f527ea0fcca2be0f773e5d6832a80a884699f 19-Feb-2010 Mike LeBeau <mlebeau@android.com> Elaborate a little on the documentation for PackageManager's resolveActivity.

Not sure if this wording is perfectly appropriate, so comments welcome.
m/PackageManager.java
8570f7440780db5c9b410e033e843b0e80e2fd27 18-Feb-2010 Fred Quintana <fredq@google.com> - fix the AccountManager documentation. http://b/2401790
- only pass the authtoken through from the authenticator to the client
for getAuthToken() and strip it out from the other calls, like
addAccount(). http://b/2332762
- beef up the documentation to indicate what calls are allowed to be made
from the main thread and which are not allowed. http://b/2384961
- wait a bit before retrying syncs that failed because one was already
in progress. http://b/2414235
yncManager.java
e36d6e277e49475076b7872d36ea6a5c5b996e9d 18-Feb-2010 Dianne Hackborn <hackbod@google.com> Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes

This is a bunch of reworking of how configuration changes are handled:

- When orientation is changing (for whatever reason), the window manager no
longer tries to pre-emptively compute a new configuration. Instead, it
just determines change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
final configuration it is using. This is both so it knows whem the
activity manager is done with its configuration updates, and so the window
manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
screen and keep it frozen until the activity manager has given us the
final configuration.
- The window manager can now send new configurations to its clients during
its layout pass, as part of a resize, if it has determined that it has
changed. This allows for a new View.onConfigurationChanged() API for any
view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
current resources are updated to the new configuration when it receives one
from a window. This ensures that at the time onConfigurationChanged() and
other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
ActivityThread uses to avoid using stale configurations. This is needed now
that it can receive configurations asynchronously from both the window
manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
fixed by having Configuration initialize its locale to "unknown" instead of
a valid default value.
es/Configuration.java
es/Resources.java
154f7a1cc2d4f0468a7cc8dfa36e837c84cd9f7e 17-Feb-2010 Tobias Haamel <haamel@google.com> Show car mode notification in status bar.

The notification is an ongoing event and can be used to get out of car mode.
ntent.java
fb6a5359e4ae8d36bcba601aa4ce81dbeb287617 17-Feb-2010 Fred Quintana <fredq@google.com> remove check for obsolete property ro.config.sync
yncManager.java
63cfebf2dbe628508cccc10f47754fdacd48c1a0 05-Feb-2010 Costin Manolache <costin@google.com> Switch from REMOTE_INTENT to the new push messaging, add the required permission.
ntent.java
5b993ce7bc29e43a3215a50ce6ce5d6550d4e5e2 12-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Include install location preference when installing packages.
Changes include
Add new remote call in default container service to determine
install location.
Rename INSTALL_ON_SDCARD
Remove recommentAppInstall method
Add some additional flags used in remote stubs.
Move check for protected apps prior to copy.
Unit tests

DefaultContainerService first parses the file uri(if content uri is specified
it returns a default install internal only value) and returns
a recommended location. Based on which the temporary id is determined
either a file name or a container id and the file is copied there.
This is then later renamed during install.
Todo's light weight parsing of package when determining location since we
just need the install location attribute only when finding out
recomended location. This will also enable to move the check for
updated system apps(cannot be on sdcard) prior to copying.
m/PackageManager.java
470969346d7958f859d97d1a136b4ecc11e2a464 12-Feb-2010 Dianne Hackborn <hackbod@google.com> Add APIs for mapping between new and current package names.

This will allow Market and others to find out what the "real" name
of a package is, when it is currently running under the old name of
a previously installed version.
m/IPackageManager.aidl
m/PackageManager.java
d72f718c9cc4bd5e4701f4c5cdab51b4d8cf6435 12-Feb-2010 Brad Fitzpatrick <bradfitz@android.com> Measure walltime in ContentResolver and SQLiteDatabase operations logging.

Previously, SQLiteDatabase was using Debug.threadCpuTimeNanos(), which
doesn't include I/O time (user-perceived latency), and ContentResolver
was using System.currentTimeMillis(), which didn't account for deep
sleeps.

Now both are consistently using SystemClock.uptimeMillis().
ontentResolver.java
27b28b3f62bd3b54fa13acd5d035940b9be464f3 09-Feb-2010 Tobias Haamel <haamel@google.com> Introduce special UI modes for night and car usage.

The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
ntent.java
m/ActivityInfo.java
es/AssetManager.java
es/Configuration.java
es/Resources.java
6dee18c5cfdd5d63f3a9c299d2b61f819c07e920 10-Feb-2010 Dianne Hackborn <hackbod@google.com> New implementation of <original-package> tag.

We now have the new package retain the name of the old package. This makes
sure that all existing references to it (shortcuts, widgets, etc) will still
work.

This does mean that your package can run under either the old or new name,
depending on whether the user got it with an update. Buyer beware!

I have tried testing all of the paths of updating, installing another
update in /data, uninstalling the update, updating system with an even
newer update, etc. I think they all work. No promises though.
m/PackageParser.java
23085b781e145ed684e7270af1d5ced6800b8eff 09-Feb-2010 Ben Cheng <bccheng@android.com> Support per-application switch to execute the VM in safe mode.

The new attribute can be set by adding android:safeMode="true"
in AndroidManifest.xml with the SDK.

Tested with pairing locally compiled SDK with Eclipse and verified that the JIT
(the only component currently included in the safe mode) is indeed disabled
with the new attribute.

Bug: 2267583
m/ApplicationInfo.java
m/PackageParser.java
caa6f3860f8cf493daace8d7c2230973759d7f3d 10-Feb-2010 Fred Quintana <fredq@google.com> Merge "fix an NPE in SyncManager's dump where it can get a null AuthorityInfo; instead create one if one doesn't exist yet"
1bbcd105a164ebbd69ee3fd1fe8fb75cd8a8c0cb 10-Feb-2010 Fred Quintana <fredq@google.com> fix an NPE in SyncManager's dump where it can get a null AuthorityInfo; instead create one if one doesn't exist yet
yncManager.java
yncStorageEngine.java
117818e4f171b1fd9daa05349c48f61388f04567 09-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Add new manifest option for install location
Change recommendAppInstallLocation api
add code to parse new attribute.
Define flags in PackageInfo
Add new settings attributes for enabling setting and value for install location
Some tests
The policy for install location: if explicitly set in manifest as internal only we try to install the app only on internal storage. if set to preferExternal, we try to install it on sdcard if possible. If not we fall back to internal.
If the user enables setting SET_INSTALL_LOCATION(which will always
be set to false in final release builds) and sets a prefered location, we try
to honour it.
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
a63730d1f103f78589faef461d2af7351fc49f42 08-Feb-2010 Brad Fitzpatrick <bradfitz@android.com> Log ContentProvider operations to the EventLog.

Just like with db_operation, operations over 100ms are always logged,
while operations under that are subsampled.

This will help with performance analysis, getting real-world
performance numbers from dogfooders.
ontentResolver.java
ventLogTags.logtags
e83cefcef07f9ac025642c1ffec76b4c7ab39cf2 05-Feb-2010 Dianne Hackborn <hackbod@google.com> New external storage APIs.

This implements the spec for external storage organization, and
properly reflects how the media scanner organizes the files it finds.

Also includes package manager support for removing app private
files from external storage when the application is uninstalled.

For the new APIs and paths, the main place to look is Environment
and Context.
ontext.java
ontextWrapper.java
m/IPackageManager.aidl
m/PackageManager.java
8e867eb454efadca1f45a48d879ee57c883dbb91 09-Feb-2010 Bjorn Bringert <bringert@android.com> Merge "Fix NPE in PackageParser"
b104340496e3a531e26c8f428c808eca0e039f50 05-Feb-2010 San Mehat <san@google.com> Framework: Clean up / Refactor Mount APIs

- Move android.storage.* -> android.os.storage.* and refactor users
- Refactor generic shares back to explicit ums enable/disable/isEnabled
- Remove media insert/removed event callbacks (not ready for Froyo)
- Remove 'label' from volume state change callbacks
- Add public API functions for enabling/disabling USB mass storage (permissions enforced
in MountSevice)
- Remove some stray un-needed import lines
- Move android.os.IMountService / android.os.IMountServiceListener -> android.os.storage
- Improve code comments

Updated:
MountService: Add dup state check and move debugging behind a conditional
UsbStorageActivity: Fix review comments + a TODO
StorageNotification: Add @Override tags
StorageManager: Don't use a static Listener list
MountService: Reduce bloat and fix == where I meant .equals()
PackageManagerTests: Update for new API

Signed-off-by: San Mehat <san@google.com>
ontext.java
ace5a3fbfbf1b41905410925f1ea007040a7a675 05-Feb-2010 Kenny Root <kroot@google.com> Hide resourceDirs from public API

Change-Id: I070558c0adca43c8650ac740d3cda4334d0f4a50
m/ApplicationInfo.java
e04b1ad9cd3d9a159d4c7721a374f987be1062cd 09-Feb-2010 Bjorn Bringert <bringert@android.com> Fix NPE in PackageParser

Before, PackageParser threw NPE when reading <path-permission>
android:writePermission set.

Fixes http://b/issue?id=2430967

Change-Id: I4c69f0210ab362a649ff239c5f9e927d93c2f241
m/PackageParser.java
53bd2522ca7767f46646606123b6e2689b811850 06-Feb-2010 Fred Quintana <fredq@google.com> - change the SyncManager to retry MANUAL syncs that encounter a soft error
- make the sync dump handle the case where there are no accounts
- fix a bug that caused the SyncManager to burn up CPU in the system process

The following was implemented:

scheduler offers:
- settings to disable sync
- retries of certain errors
- backoffs

want a way to control these when scheduling a sync
- "ignore_settings"
- "ignore initial backoff"
- "manual" : ignore settings, ignore initial backoff
- "do not retry"

- need to change the default behavior of not retrying manual syncs to retry regardless
ontentResolver.java
yncManager.java
yncOperation.java
yncQueue.java
b56ae20b22fd7283df32072a431ab6d4965f3c1b 05-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Rename media resource broadcasts
Add checks for fwdlocked and updated system apps
add more tests
remove duplicate adds
ntent.java
m/PackageManager.java
m/RegisteredServicesCache.java
e8d898f4edb4dca397ec21c14f2a63c79ffdeccc 08-Feb-2010 Joe Onorato <joeo@google.com> Merge "Make ComponentName cloneable."
edc649aabc795bb31ff08c94836cd7268a70c73a 08-Feb-2010 Joe Onorato <joeo@android.com> Make ComponentName cloneable.
omponentName.java
c5d1c6db61f208b206b260f897bb5bbc64be4d97 27-Jan-2010 Fred Quintana <fredq@google.com> add sync polling

- added the ability to specify that a sync (of account/authority/extras)
should occur at a given frequency
- the existing daily poll code was replaced with seeding each
account/authority with a 24 hour periodic sync
- enhanced the "adb shell dumpsys content" output to show the
periodic syncs and when they will next run
ontentResolver.java
ontentService.java
ContentService.aidl
eriodicSync.aidl
eriodicSync.java
yncManager.java
yncQueue.java
yncStatusInfo.java
yncStorageEngine.java
b858dfda5012a1040927ed62c3bb856c3294d882 02-Feb-2010 Dianne Hackborn <hackbod@google.com> Implement system data migration support.

This adds three new features:

- <original-package android:name="com.foo" /> manifest tag.
This allows an .apk to specify another package it originally came from,
propagating all state and data from the old to new package.

- <adopt-permissions android:name="com.foo" /> manifest tag.
In some more complicated cases, a new .apk may be a combination
of multiple older .apks that each declared their own permissions.
This allows you to propagate the permissions from these other
.apks into the new one.

- A new system/etc/updatecmds directory.
You can place files here which describe data files to move from
one package to another. (See below for details.)

Also in this change: we now clean up the data directories of
.apks that disappear from the system image, and some improvements
to logging and reporting error messages.

A typical file in the updatecmds directory looks like this:

-------
com.google.android.gsf:com.google.android.providers.talk
databases/talk.db
com.google.android.gsf:com.google.android.googleapps
databases/gls.db
-------

This says that for com.google.android.sfs, there are two packages to
move files from:

From com.google.android.providers.talk, the file databases/talk.db.
From com.google.android.googleapps, the file databases/gls.db

As part of moving the file, its owner will be changed from the old
package to whoever is the owner of the new package's data directory.

If those two files had existed, after booting you would now have the
files:

/data/data/com.google.android.gsf/databases/talk.db
/data/data/com.google.android.gsf/databases/gls.db

Note that all three of these facilities assume that the older .apk
is completely removed from the newer system. The WILL NOT work
correctly if the older .apk still remains.
m/PackageParser.java
08675a3376819a82aa5ab344bc3e7b1635c30b05 28-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> Apps on sdcard: Add new broadcasts

Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
ntent.java
m/RegisteredServicesCache.java
556d350a4d68be72c74b30ca9cd87a152f8512c2 02-Feb-2010 San Mehat <san@google.com> StorageManager: API_CHANGE: Move StorageManager into android.storage

Signed-off-by: San Mehat <san@google.com>
ontext.java
9ec33186c9f35e5dee23c65fb51873636694258e 02-Feb-2010 Oscar Montemayor <oam@google.com> Merge "Apps on SD project. Javadoc fixes for new method in PackageManager class."
c9d8175f40691228e25f0dd924cc2453a6f08e10 01-Feb-2010 San Mehat <san@google.com> Context: API_CHANGE: Add support for retrieving StorageManager

Signed-off-by: San Mehat <san@google.com>
ontext.java
cdc428bdb73db7e0d3403b6515c65573b182e218 01-Feb-2010 Oscar Montemayor <oam@google.com> Apps on SD project.
Javadoc fixes for new method in PackageManager class.
m/PackageManager.java
539d3c475f44b1499499a8b70375a192545cf113 30-Jan-2010 Oscar Montemayor <oam@google.com> Apps on SD card project.
Refactored recommendAppInstallLocation(..) method in PackageManager by making it an instance method.
Since PackageManager has only abstarct instance methods, moved implementation to ApplicationContext.ApplicationPackageManager class, in line with the rest of the method
implementations. Tah way, chage is consistent with best coding practices.
Also MockPackageManager received the additional method.
m/PackageManager.java
1228d0a1dddb8c03474ee3823499936a8b1d850c 28-Jan-2010 Oscar Montemayor <oam@google.com> Apps on SD card project.
This class implements heuristics to determine best app install location, without looking at the package flags (pre-parsing stage).
m/PackageManager.java
a322dfa47eab8d49eeb71b5245de7147c0207137 28-Jan-2010 Fred Quintana <fredq@google.com> am 6f3e1e27: am 9a400fa4: Merge "initialize sync adapters that get installed while the system is running bug http://b/issue?id=2360782" into eclair

Merge commit '6f3e1e27a697d3e64bf73792c1007135319ff0d5'

* commit '6f3e1e27a697d3e64bf73792c1007135319ff0d5':
initialize sync adapters that get installed while the system is running
8aa2e8939c61d788cbc192098465e79f584e173a 22-Jan-2010 Dianne Hackborn <hackbod@google.com> More device admin work: description, policy control.

There is now a description attribute associated with all components,
that can supply user-visible information about what the component does.
We use this to show such information about device admins, and wallpapers
are also updated to be able to show this in addition to the existing
description in their meta-data.

This also defines security control for admins, requiring that they
declare the policies they will touch, and enforcing that they do
so to be able to use various APIs.
m/ComponentInfo.java
m/PackageParser.java
508370f0cb5d3e03b1bcf04f1164ea1f384f496f 26-Jan-2010 David Turner <digit@google.com> Merge "Make PackageManager unpack gdbserver binaries at installation time."
d1df8ac6d076ef15ba8857211da2e447b6505fb3 26-Jan-2010 San Mehat <san@google.com> NetworkManagementService: Start service when SystemServer starts up

Signed-off-by: San Mehat <san@google.com>
ontext.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e 21-Jan-2010 Fred Quintana <fredq@google.com> enhance the sync manager backoff logic and add support for retry-after

moved SyncQueue and SyncOperation into their own top-level classes
to ease maintainability and testing6

removed some dead code
yncManager.java
yncOperation.java
yncQueue.java
yncResult.java
yncStorageEngine.java
1edab2b551995a8df25f4b533405d6003b8b8b66 22-Jan-2010 David 'Digit' Turner <digit@google.com> Make PackageManager unpack gdbserver binaries at installation time.

Native-debuggable packages contain a lib/<abi>/gdbserver executable.
This patch ensures that the package manager will copy it to the
proper location (/data/data/<appname>/lib) at installation time.

Note that such packages are marked with a new ApplicationInfo flag
named FLAG_NATIVE_DEBUGGABLE, to be used later by the Activity
Manager.
m/ApplicationInfo.java
d1ab01682b136b586aac94334f976f03c762b3c7 22-Jan-2010 Kenny Root <kroot@google.com> Add extra resources field for ApplicationInfo

Allow ApplicationInfo to track multiple files it wants to use as
resources by adding a string array to its public definition.

Change-Id: Ieffc4b1755270520b59c4e5a3c084e86aef02346
m/ApplicationInfo.java
3214839482aebcdfccc7cec0b0849739ef46fa68 22-Jan-2010 Kenny Root <kroot@google.com> Unhide resource-related API calls in Context

Context hides methods related to the underlying functioning of
resources which are readily available from the ApplicationInfo
object. This change allows getting access to information
without having to make PackageManager calls for it.

Change-Id: Icf6a9da652dad8175bd11b5cd81a924181070373
ontext.java
6f3e1e27a697d3e64bf73792c1007135319ff0d5 22-Jan-2010 Fred Quintana <fredq@google.com> am 9a400fa4: Merge "initialize sync adapters that get installed while the system is running bug http://b/issue?id=2360782" into eclair

Merge commit '9a400fa4d3e89a3ab3669c0aa2ef6676020646d1' into eclair-plus-aosp

* commit '9a400fa4d3e89a3ab3669c0aa2ef6676020646d1':
initialize sync adapters that get installed while the system is running
3a19833750de7f8872ad44892054e409b2d77614 22-Jan-2010 Kenny Root <kroot@google.com> Multiple asset adding in one shot for AssetManager

Add a hidden convenience method to allow adding multiple assets
to an AssetManager at once.

Change-Id: I56753a85904a2c8e9a405cba2ea3cb85ec40e1cc
es/AssetManager.java
44037e6c41f8167bf5ac51fcb684ad28b20073ce 21-Jan-2010 Fred Quintana <fredq@google.com> initialize sync adapters that get installed while the system is running
bug http://b/issue?id=2360782
yncManager.java
d68478467e3f837511196c80891d7245d0e163df 13-Jan-2010 Dianne Hackborn <hackbod@google.com> First pass at new device policy and administration APIs.

This adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.
See the java docs for each on documentation on them. Basically: a DeviceAdmin
is what you derive from to administer a device; DevicePolicyManager is what you
use to apply and check your policy requirements and perform other administration
tasks.
ontext.java
130a8b71bbfb93c1cbe0642e7f2cb97322f899d1 15-Jan-2010 Ficus Kirkpatrick <ficus@android.com> Add Dialog.setOnShowListener() to the public API.
ialogInterface.java
8d528c85d00cea5168ed6842f17c7f5afae338c4 15-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> Fix build error
m/ApplicationInfo.java
af8e9f4805643f90a9dc0ecfa119e0a860c12f8a 12-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> app install on sdcard. provide skeleton implementation
to install an app on sdcard, just resources.
Add new install path for /asec in installd.
ignore . when checking for apk path since the sdcard packages id'ed
by package name.
Add new -s option to adb shell pm
Refactor fwd locked from scanMode to ApplicationInfo.
Add new flag for sd install
Add new parse flags for fwd locking and installing on sdcard
New mock api's in PackageManagerService to invoke MountService api's. These
will be refactored again and so have been wrapped internally.
Some error codes in PackageManager
Changes in PackageManagerService to use mPath and mScanPath during installation
and switch to using PackageParser.Package.applicationInfo attributes for
source and public resource directories.
Some known issues that will be addressed later
using system_uid for now. needs some tinkering with uid and packagesetting creation to use the actual app uid
error handling from vold not very robust. ignoring lot of things for now
sending a delayed destroy to delete packages. will revisit later
revisit temp file creation later. just copy for now
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
a94e7afb28c6bd9af6f2b0142a577086399066b2 13-Jan-2010 Bjorn Bringert <bringert@android.com> Remove Intent.ACTION_GLOBAL_SEARCH

I added Intent.ACTION_GLOBAL_SEARCH a little while ago, since
I thought we needed it to be different from the old
SearchManager.INTENT_ACTION_GLOBAL_SEARCH. Since GlobalSearch is
no longer built, reusing SearchManager.INTENT_ACTION_GLOBAL_SEARCH
should be fine.

Change-Id: If3a11a77a8e1d9940cf2b20817a60888cdd9d69f
ntent.java
44641d3db3b5fd5c7616c8a646ec8b6af20baa18 09-Jan-2010 Paul Westbrook <pwestbro@google.com> Bug 2321983

Move SYNC_DETAILS from framework/base to the gsf clientlib
ventLogTags.logtags
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
ackage.html
046dd0111c834a16d812ef41f9f12b6e127e6c0c 08-Jan-2010 Tom O'Neill <tomo@google.com> Merge "ContentResolver.query() includes performance considerations"
0ba1cb06c6a0332b76c469bd54dcf6f98128ac82 08-Jan-2010 Tom O'Neill <tomo@google.com> ContentResolver.query() includes performance considerations

Mention the desirability of using "?"-substitution in the where clause,
and reemphasize the importance of using an explicit projection.

Change-Id: Iaa489d50db409f34e78bcd55253e5a4e53445cf2
ontentResolver.java
edc5189c33de03f3e2f5f73edc0e007992b933c9 07-Jan-2010 Doug Zongker <dougz@android.com> change remaining frameworks/base Gservices to Secure settings

Change-Id: I61bdb05a2526523700c2833154d5a4133881ef10
yncManager.java
4cb8b8ffdf7cc1d4413c7837a4f1a056fc847e50 04-Jan-2010 Romain Guy <romainguy@google.com> Merge "Fix typo in ColorStateList documentation."
79dc8ccddd846816d4e0e55405ad0dbefa5b0ff6 04-Jan-2010 Romain Guy <romainguy@android.com> Fix typo in ColorStateList documentation.
es/ColorStateList.java
1337b012f8e18c725b1ec17b456dc57a084d594d 04-Jan-2010 Dan Egnor <egnor@google.com> Fix DropBox reference in SDK comment. (Fix SDK build.)
ontext.java
e38d58bf890c03eb034afd18c62c730c7d735f1c 31-Dec-2009 Dan Egnor <egnor@google.com> Remove Google-specific (or only-used-by-Google-code) classes.

Fix a small typo in Context javadoc.
ontext.java
f0108cda21bec61418b24aa6217406072780b5d5 22-Dec-2009 Tom Taylor <tomtaylor@google.com> resolved conflicts for merge of ad2fa35d to master

Change-Id: Ia4362cd48ac0689b91003943a4cd9660da72ff90
ee0511d76ce0ceae2f54782ca33e400e62d08137 22-Dec-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1154972: clone defined, but class doesn't implement Cloneable
ntent.java
d4a4729c0cac582a2dcec7c8cfb316b81885a0f0 21-Dec-2009 Tom Taylor <tomtaylor@google.com> Update imports to android-common

Several files were moved to android-common. Update all the references
to import those files from the new location.
ntent.java
ntentFilter.java
yncStorageEngine.java
m/PackageParser.java
m/RegisteredServicesCache.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
es/XmlBlock.java
009909b417ba0dd79aad5e9ec887e0562fbb148b 16-Dec-2009 Xavier Ducrohet <xav@android.com> am b43b35a0: am e6547423: Merge change I10073d50 into eclair

Merge commit 'b43b35a034ad667ba749270537155e7534906153'

* commit 'b43b35a034ad667ba749270537155e7534906153':
Add Annotation for optional features.
b43b35a034ad667ba749270537155e7534906153 16-Dec-2009 Xavier Ducrohet <xav@android.com> am e6547423: Merge change I10073d50 into eclair

Merge commit 'e6547423e3ed7d84f0d7fee8199e5bbb015fd8c3' into eclair-plus-aosp

* commit 'e6547423e3ed7d84f0d7fee8199e5bbb015fd8c3':
Add Annotation for optional features.
2c5634198a4438e0d6be3e8cc3ae5fc6b0fdf588 16-Dec-2009 Fred Quintana <fredq@google.com> resolved conflicts for merge of 5a374f94 to master
3274b9b7da6f3ee0ee0285deb955907adec52bad 15-Dec-2009 Xavier Ducrohet <xav@android.com> Add Annotation for optional features.

This is used by the SDK to display available features in the
editors.

Change-Id: I10073d503d1b3dcb92a5dc526cd054285b85fa3a
m/PackageManager.java
274dc9d35fdf5d0464f74071a9a8f14e497d4d5f 11-Dec-2009 Fred Quintana <fredq@google.com> moved the hidden sync helpers out of the framework
bstractSyncableContentProvider.java
bstractTableMerger.java
bstractThreadedSyncAdapter.java
yncAdapter.java
yncStateContentProviderHelper.java
yncableContentProvider.java
empProviderSyncAdapter.java
empProviderSyncResult.java
74a76d5e071ba11eb92c92933fa5de338010374d 15-Dec-2009 Dianne Hackborn <hackbod@google.com> am 83652ebf: am 3a3fd2ba: Merge change Iaf1f0918 into eclair-mr2

Merge commit '83652ebfe1963bcecdcf24383165904223baca6e'

* commit '83652ebfe1963bcecdcf24383165904223baca6e':
Implement API to have new broadcasts replace existing broadcasts.
1c633fc89bae9bf0af6fe643ac7ad2e744f27bed 09-Dec-2009 Dianne Hackborn <hackbod@google.com> Implement API to have new broadcasts replace existing broadcasts.

Use this in various places where it should serve no purpose to deliver
both broadcasts. This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
ntent.java
34bb11536790337ae354d8a386cfc97c859e13e8 10-Dec-2009 Fred Quintana <fredq@google.com> am c7afd922: am 97ef7637: - move the EventLog stuff out of ATSA - move the google calendar sync adapter settings out of Settings.java

Merge commit 'c7afd9221babd89ca4acd859c608f41c29f3731b'

* commit 'c7afd9221babd89ca4acd859c608f41c29f3731b':
- move the EventLog stuff out of ATSA
36b1907693a4c6f4462018a683579f4c119d98bf 10-Dec-2009 Doug Zongker <dougz@android.com> am fc96523b: am b3c1f1cf: Merge change I7daa7ae8 into eclair-mr2

Merge commit 'fc96523b94ddaad1da39bee0d6861e2186d8479c'

* commit 'fc96523b94ddaad1da39bee0d6861e2186d8479c':
move event log tags used by SyncAdapter into a local .logtags file
e11a00111977103a6549916e585819bb32e4f21a 10-Dec-2009 Bjorn Bringert <bringert@android.com> am c0c7b32e: am 45e77ce3: Merge change I154386b1 into eclair-mr2

Merge commit 'c0c7b32e0b5ab6af749db638a7f08d8a3767d167'

* commit 'c0c7b32e0b5ab6af749db638a7f08d8a3767d167':
Use unbundled QSB for global search
97ef7637c6799e72956db8e08192539f1b1942f6 10-Dec-2009 Fred Quintana <fredq@google.com> - move the EventLog stuff out of ATSA
- move the google calendar sync adapter settings out of Settings.java
bstractThreadedSyncAdapter.java
2ec6c5699181316e5a5c2cd293c006ac4a8bb101 10-Dec-2009 Fred Quintana <fredq@google.com> am 328c0e79: - removed the concept of Entity from the ContentProvider APIs - removed the parcelling ability from Entity and EntityIterator and made them public - added an EntityIterator abstract implementation that allow easy wrapping of a Cursor - changed the VCard c

Merge commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f' into eclair-mr2-plus-aosp

* commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f':
- removed the concept of Entity from the ContentProvider APIs
bstractCursorEntityIterator.java
syncQueryHandler.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ursorEntityIterator.java
ntity.aidl
ntity.java
ntityIterator.java
ContentProvider.java
EntityIterator.java
b3c1f1cff4ecf5c88a0bd00d421beeb022bb41e4 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7daa7ae8 into eclair-mr2

* changes:
move event log tags used by SyncAdapter into a local .logtags file
9b902a5266603ac969dfc64eee48c51706b54a83 10-Dec-2009 Dianne Hackborn <hackbod@google.com> am eb68a226: am af9788a9: Merge change Ia53c6725 into eclair-mr2

Merge commit 'eb68a226563f60265663f1688dda77c4f909e5de'

* commit 'eb68a226563f60265663f1688dda77c4f909e5de':
Add bindService API to not bring ot foreground.
630432e4249ca775e28eedeeb28d1f367ca45296 10-Dec-2009 Ken Shirriff <kens@google.com> am d44c2f2c: am 1270e2e2: Merge change I96ddd6e2 into eclair-mr2

Merge commit 'd44c2f2c85c8720763837b89a8988b6e5cc248bf'

* commit 'd44c2f2c85c8720763837b89a8988b6e5cc248bf':
Migration to TrafficStats.
936b1ba33dc20fdbed3e2d2e8567d8b472998c7d 10-Dec-2009 Trevor Johns <tjohns@google.com> am 15650af4: am 7e42e8f3: am d59fb6e7: Updating list of standard Intents in android.content.Intent documentation.

Merge commit '15650af4ab1df7fb84839162f9409d88cb4a3ccc'

* commit '15650af4ab1df7fb84839162f9409d88cb4a3ccc':
Updating list of standard Intents in android.content.Intent
f7ae3c958b4888969f8ee6b0a9a5226680397a94 10-Dec-2009 Fred Quintana <fredq@google.com> am 517ebaa6: am 18ff0e32: am 1067c3cb: Merge change Ia5ef9acd into eclair

Merge commit '517ebaa69a9c4baed99bb5667b956dab129c96e7'

* commit '517ebaa69a9c4baed99bb5667b956dab129c96e7':
remove an old STOPSHIP comment
45e77ce36ae1d26bcf35afb1f7662d7b6fb08212 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I154386b1 into eclair-mr2

* changes:
Use unbundled QSB for global search
45e6dbf90b24543c90f8c6b0426e9b70c934838d 08-Dec-2009 Doug Zongker <dougz@android.com> move event log tags used by SyncAdapter into a local .logtags file
ventLogTags.logtags
yncAdapter.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f 07-Dec-2009 Fred Quintana <fredq@google.com> - removed the concept of Entity from the ContentProvider APIs
- removed the parcelling ability from Entity and EntityIterator and made them public
- added an EntityIterator abstract implementation that allow easy wrapping of a Cursor
- changed the VCard code to use the new APIs
bstractCursorEntityIterator.java
syncQueryHandler.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ursorEntityIterator.java
ntity.aidl
ntity.java
ntityIterator.java
ContentProvider.java
EntityIterator.java
3c50ef6f665ab22cdb50c76bb31283e6bac47fc6 09-Dec-2009 Bjorn Bringert <bringert@android.com> Use unbundled QSB for global search

This obsoletes the following:
- The need to run SearchDialog in the system process.
- The global search mode code in SearchDialog.
- The GlobalSearch package.
- The search widget built into Launcher.

I will remove these in future changes.

Change-Id: I154386b1d6be73cfeab8376b6959a1dc5483e5f0
ntent.java
09c916bccbf236ccd0a2c80941e28cc55006e02a 08-Dec-2009 Dianne Hackborn <hackbod@google.com> Add bindService API to not bring ot foreground.

Add a new flag for bindService that tells the system to not bring the
target service's process in to the foreground scheduling class. This is
used by the sync system to not cause the current sync adapter to come to
the foreground as it is running.

Also some small improvements to the debug output of the process list
of oom adj and scheduling info.
ontext.java
yncManager.java
1719a39a4c0ff3afbf9c9e5f03f20ba50f490902 08-Dec-2009 Ken Shirriff <kens@google.com> Migration to TrafficStats.

TrafficStats is the SDK version of NetStat.
bstractThreadedSyncAdapter.java
empProviderSyncAdapter.java
cd337edc8511f56847673409867f43297b586dfa 08-Dec-2009 Trevor Johns <tjohns@google.com> am d59fb6e7: Updating list of standard Intents in android.content.Intent documentation.

Merge commit 'd59fb6e7435b57d83662b196f5430e6f2bc5427b' into eclair-plus-aosp

* commit 'd59fb6e7435b57d83662b196f5430e6f2bc5427b':
Updating list of standard Intents in android.content.Intent
7e42e8f33446107d6abcbb69f4624abf1bba5fad 08-Dec-2009 Trevor Johns <tjohns@google.com> am d59fb6e7: Updating list of standard Intents in android.content.Intent documentation.

Merge commit 'd59fb6e7435b57d83662b196f5430e6f2bc5427b' into eclair-mr2

* commit 'd59fb6e7435b57d83662b196f5430e6f2bc5427b':
Updating list of standard Intents in android.content.Intent
d59fb6e7435b57d83662b196f5430e6f2bc5427b 20-Nov-2009 Trevor Johns <tjohns@google.com> Updating list of standard Intents in android.content.Intent
documentation.
ntent.java
c1dc8e4e24509a99dfc1abac668d3aa5e36a7d6c 08-Dec-2009 Fred Quintana <fredq@google.com> am 1067c3cb: Merge change Ia5ef9acd into eclair

Merge commit '1067c3cbab73a4bc75a2ebd2e3c51077db96fa24' into eclair-plus-aosp

* commit '1067c3cbab73a4bc75a2ebd2e3c51077db96fa24':
remove an old STOPSHIP comment
18ff0e329b314e033e4bfb92b24ecab961f0eb99 08-Dec-2009 Fred Quintana <fredq@google.com> am 1067c3cb: Merge change Ia5ef9acd into eclair

Merge commit '1067c3cbab73a4bc75a2ebd2e3c51077db96fa24' into eclair-mr2

* commit '1067c3cbab73a4bc75a2ebd2e3c51077db96fa24':
remove an old STOPSHIP comment
1067c3cbab73a4bc75a2ebd2e3c51077db96fa24 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia5ef9acd into eclair

* changes:
remove an old STOPSHIP comment
a5ef9acdf4dc31bfe4756b933806070355d6aa3f 07-Dec-2009 Fred Quintana <fredq@google.com> remove an old STOPSHIP comment
ontext.java
9946639f74e73b85aa91370f812bd27912e8c9ab 04-Dec-2009 Daisuke Miyakawa <dmiyakawa@google.com> am 8ad6ec2e: am 8280c2b1: Implement new MockContentProvider. Also make ContentProvider aware of the class.

Merge commit '8ad6ec2eb4a58a6dad34be60d49f32a53f2419f4'

* commit '8ad6ec2eb4a58a6dad34be60d49f32a53f2419f4':
Implement new MockContentProvider. Also make ContentProvider aware of the class.
5ff9239f4f86da5c44b6875e6339b231c926a47e 04-Dec-2009 Fred Quintana <fredq@google.com> am a8dd0a54: am 298de218: am 0ce8431c: Merge change Iaa7edda4 into eclair

Merge commit 'a8dd0a545409af281b73e483dc203f6e3f8d1de6'

* commit 'a8dd0a545409af281b73e483dc203f6e3f8d1de6':
don't reschedule syncs that failed with a tooManyRetries error
8280c2b15f6875b2d387c05df23d264864eb9cd5 22-Oct-2009 Daisuke Miyakawa <dmiyakawa@google.com> Implement new MockContentProvider. Also make ContentProvider aware of the class.

Rename the old MockContentProvider to MockIContentProvider since it is
more appropriate name.

Detail:
Current developers inevitably depend on the backend used by ContentProvider,
which is useful but not ideal nor "testable" from the view of them.

Current MockContentResolver only accepts exact "ContentProvider" class, not
IContentProvider interface, since we want to hide "IContentProvider" while
the old MockContentProvider implements IContentProvider and as a result some
methods we want to hide may be exposed to the public SDK now and probably
for the future.

On the other hand, ContentProvider is not interface but an exact class
heavily depends on the internal logic and not suitable for external
developers to use for tests.

The new MockContentProvider introduces the mock implementation
for ContentProvider.
It extends ContentProvider, so "is" ContentProvider, but tries to avoid
depending on any backend System like IPC in Android, etc.
This should be useful from the view of application developers who do not
want to be confused with ContentProvider/ContentResolver backend
implementation "at all" and want to use MockContentResolver without
any other ContentProvider implementations tightly connected to the
external worlds.
ontentProvider.java
ac1cd3181acfc0a2783e48e9d80ef06dd12b9a3c 04-Dec-2009 Fred Quintana <fredq@google.com> am 0ce8431c: Merge change Iaa7edda4 into eclair

Merge commit '0ce8431c15078e095a22a123dbabcd91049a9652' into eclair-plus-aosp

* commit '0ce8431c15078e095a22a123dbabcd91049a9652':
don't reschedule syncs that failed with a tooManyRetries error
298de218c540eab6c4e6c3415ab8a5c985c57772 04-Dec-2009 Fred Quintana <fredq@google.com> am 0ce8431c: Merge change Iaa7edda4 into eclair

Merge commit '0ce8431c15078e095a22a123dbabcd91049a9652' into eclair-mr2

* commit '0ce8431c15078e095a22a123dbabcd91049a9652':
don't reschedule syncs that failed with a tooManyRetries error
0ce8431c15078e095a22a123dbabcd91049a9652 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iaa7edda4 into eclair

* changes:
don't reschedule syncs that failed with a tooManyRetries error
aa7edda4719dc0accbc29ff917b4280f6b600675 03-Dec-2009 Fred Quintana <fredq@google.com> don't reschedule syncs that failed with a tooManyRetries error
yncManager.java
8da7873f94d5a3722b5bb2dd73d51377ce3dff8a 03-Dec-2009 Joe Onorato <joeo@android.com> am dbed5350: am b28632a5: am c7a63eea: Add a new field to Intent that allows you to give a hint about what on screen caused the intent to be sent.

Merge commit 'dbed53504f515337ccc2f60248bb589dff0f24fb'

* commit 'dbed53504f515337ccc2f60248bb589dff0f24fb':
Add a new field to Intent that allows you to give a hint about what on screen caused the intent to
b28632a5206d11844db39ca1ab5f64a99ec74e29 03-Dec-2009 Joe Onorato <joeo@android.com> am c7a63eea: Add a new field to Intent that allows you to give a hint about what on screen caused the intent to be sent.

Merge commit 'c7a63eea8d3d346addaaf892b5bbe0aa80651640' into eclair-mr2

* commit 'c7a63eea8d3d346addaaf892b5bbe0aa80651640':
Add a new field to Intent that allows you to give a hint about what on screen caused the intent to
03cd88b3ffee71fc22a2355eb462b6f99891411c 03-Dec-2009 Joe Onorato <joeo@android.com> am c7a63eea: Add a new field to Intent that allows you to give a hint about what on screen caused the intent to be sent.

Merge commit 'c7a63eea8d3d346addaaf892b5bbe0aa80651640' into eclair-plus-aosp

* commit 'c7a63eea8d3d346addaaf892b5bbe0aa80651640':
Add a new field to Intent that allows you to give a hint about what on screen caused the intent to
c7a63eea8d3d346addaaf892b5bbe0aa80651640 03-Dec-2009 Joe Onorato <joeo@android.com> Add a new field to Intent that allows you to give a hint about what on screen caused the intent to
be sent.
ntent.java
8a1b6decfbee41bd513540d86423258743cf8d00 03-Dec-2009 Dianne Hackborn <hackbod@google.com> am e2585127: am 9ed7dc10: am 5886050f: Merge change I0d8f7593 into eclair

Merge commit 'e2585127974ce972a013407e2af95d8776a99a8e'

* commit 'e2585127974ce972a013407e2af95d8776a99a8e':
Fix issue #2296457: PackageManager.addPackageToPreferred needs to a no-op
9ed7dc10d263a505da32522139098f085fee811a 02-Dec-2009 Dianne Hackborn <hackbod@google.com> am 5886050f: Merge change I0d8f7593 into eclair

Merge commit '5886050fad97923c33cbc831fe07a5b1746b2b58' into eclair-mr2

* commit '5886050fad97923c33cbc831fe07a5b1746b2b58':
Fix issue #2296457: PackageManager.addPackageToPreferred needs to a no-op
0b63b9fb5666347f610e02f2ef5516f27907a3a7 02-Dec-2009 Dianne Hackborn <hackbod@google.com> am 5886050f: Merge change I0d8f7593 into eclair

Merge commit '5886050fad97923c33cbc831fe07a5b1746b2b58' into eclair-plus-aosp

* commit '5886050fad97923c33cbc831fe07a5b1746b2b58':
Fix issue #2296457: PackageManager.addPackageToPreferred needs to a no-op
a7ca0e5e320bbb643f8bc9feb4717dbc5e78e0b9 01-Dec-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2296457: PackageManager.addPackageToPreferred needs to a no-op

Change-Id: I0d8f75938226e1bb49cf7b1154445631b0bb0bc9
m/PackageManager.java
506de3b57667e76cf92086b30d007c21c2cebbfd 25-Nov-2009 Dianne Hackborn <hackbod@google.com> am 5417933a: am d1689ea8: am 8e1985d4: Merge change Ie552036f into eclair

Merge commit '5417933a456f23a0ca30bb73632feee5dd5f8e46'

* commit '5417933a456f23a0ca30bb73632feee5dd5f8e46':
Fix issue #2286419: maxSdkVersion causes existing apps to disappear.
d1689ea8b7ec4b36865072aa23a6622d3c5a9513 25-Nov-2009 Dianne Hackborn <hackbod@google.com> am 8e1985d4: Merge change Ie552036f into eclair

Merge commit '8e1985d4f28bfa9bea7db05f324759991d4e59e9' into eclair-mr2

* commit '8e1985d4f28bfa9bea7db05f324759991d4e59e9':
Fix issue #2286419: maxSdkVersion causes existing apps to disappear.
31826a5ac636339abca8b0b5d97d4cd4d750794b 25-Nov-2009 Dianne Hackborn <hackbod@google.com> am 8e1985d4: Merge change Ie552036f into eclair

Merge commit '8e1985d4f28bfa9bea7db05f324759991d4e59e9' into eclair-plus-aosp

* commit '8e1985d4f28bfa9bea7db05f324759991d4e59e9':
Fix issue #2286419: maxSdkVersion causes existing apps to disappear.
935ef2c4f43eaa849f62055c383d8fd7dcf3eead 25-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2286419: maxSdkVersion causes existing apps to disappear.

Change-Id: Ie552036f4ea673e0ce9981ff1cbd1fbe08678510
m/PackageParser.java
a8529f68671a8a118751cb6ad577f44eaf076b96 18-Nov-2009 Oscar Montemayor <oam@google.com> Encrypted File Systems Project. Installer modifications.
Started to modify isntaller for data redirection to a secure location.
yncStorageEngine.java
187f0749b8412553a0b8ff6abecc1d956653e03b 20-Nov-2009 Dianne Hackborn <hackbod@google.com> am 79374643: am b9ab7126: am 524812fb: Merge change I7d40ad9a into eclair

Merge commit '7937464319133d478d5e8b386e9d08668eddd8a9'

* commit '7937464319133d478d5e8b386e9d08668eddd8a9':
More on issue #2271640: Fix wallpaper etc docs
b9ab71263ebff601a7c5e00258d92493de85fb36 20-Nov-2009 Dianne Hackborn <hackbod@google.com> am 524812fb: Merge change I7d40ad9a into eclair

Merge commit '524812fbf583db5053ff56f7a146fa8fe9296742' into eclair-mr2

* commit '524812fbf583db5053ff56f7a146fa8fe9296742':
More on issue #2271640: Fix wallpaper etc docs
166569f62aba3b426f45b9f1736928f87f8bac4e 20-Nov-2009 Dianne Hackborn <hackbod@google.com> am 524812fb: Merge change I7d40ad9a into eclair

Merge commit '524812fbf583db5053ff56f7a146fa8fe9296742' into eclair-plus-aosp

* commit '524812fbf583db5053ff56f7a146fa8fe9296742':
More on issue #2271640: Fix wallpaper etc docs
08ee42ce864dc2b3ca2ca92af7220a3681d06835 20-Nov-2009 Dianne Hackborn <hackbod@google.com> More on issue #2271640: Fix wallpaper etc docs

Publish the features developers may be interested in.

Change-Id: I7d40ad9a9f4b9770e2f8dd1b0a729b0d322c062e
m/PackageManager.java
14d9431a5ff69d0b0fad7adbe3404a052aa9251b 18-Nov-2009 Dianne Hackborn <hackbod@google.com> am 08a22a20: am a2f4c254: am 1d62ea9d: Fix issue #2249821: Unable to start passion in safe mode

Merge commit '08a22a200739e0e14784e1c7139ed78e50c15dfa'

* commit '08a22a200739e0e14784e1c7139ed78e50c15dfa':
Fix issue #2249821: Unable to start passion in safe mode
a2f4c2543a7f78b77491c701230e8f406dcca540 18-Nov-2009 Dianne Hackborn <hackbod@google.com> am 1d62ea9d: Fix issue #2249821: Unable to start passion in safe mode

Merge commit '1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e' into eclair-mr2

* commit '1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e':
Fix issue #2249821: Unable to start passion in safe mode
abcb849d098eb7d3b7669247209f4715e75ab585 18-Nov-2009 Dianne Hackborn <hackbod@google.com> am 1d62ea9d: Fix issue #2249821: Unable to start passion in safe mode

Merge commit '1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e' into eclair-plus-aosp

* commit '1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e':
Fix issue #2249821: Unable to start passion in safe mode
1d62ea9d8c2646d198b6967e2c6ae3dad5c18f9e 17-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2249821: Unable to start passion in safe mode

Holding down the trackball now works.

Also fix a little API check warning from Intent.

Change-Id: Icb1f901535cb521917bf7f847a93c4ff7861d20e
ntent.java
87e5afb6e4483679861df8f589b5d9134ae69357 17-Nov-2009 Dianne Hackborn <hackbod@google.com> am 003ac2c8: am beaf87bf: am 60d7db4c: Fix #2262593: 42 ANR reports from android.process.acore

Merge commit '003ac2c8e9a684a28180dac01340c759bf321cfd'

* commit '003ac2c8e9a684a28180dac01340c759bf321cfd':
Fix #2262593: 42 ANR reports from android.process.acore
beaf87bfec29378b27bd28c1d1d2c4db1116d7ce 17-Nov-2009 Dianne Hackborn <hackbod@google.com> am 60d7db4c: Fix #2262593: 42 ANR reports from android.process.acore

Merge commit '60d7db4c3e3d60060e7ac021445ea1f510b7a1fb' into eclair-mr2

* commit '60d7db4c3e3d60060e7ac021445ea1f510b7a1fb':
Fix #2262593: 42 ANR reports from android.process.acore
09299282128ccb67eb74f1a20574caf414866e81 17-Nov-2009 Dianne Hackborn <hackbod@google.com> am 60d7db4c: Fix #2262593: 42 ANR reports from android.process.acore

Merge commit '60d7db4c3e3d60060e7ac021445ea1f510b7a1fb' into eclair-plus-aosp

* commit '60d7db4c3e3d60060e7ac021445ea1f510b7a1fb':
Fix #2262593: 42 ANR reports from android.process.acore
60d7db4c3e3d60060e7ac021445ea1f510b7a1fb 17-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix #2262593: 42 ANR reports from android.process.acore

There was a lock in AssetManager that purported to be per-instance (mSync)
but was actually static. A lot of code used it like it was per-instance,
but this would actually block all instances. This is now changed to fix
the name and make everything except the actual static data lock on the
specific AssetManager instance.

Change-Id: Ie8e9ad60f962184e76b2301f7a2790d0c2487063
es/AssetManager.java
abc577250460b8042898339288cac0fac8723470 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master

Merge commit 'goog/stage-korg-master' into HEAD
05ffc255c0232b5d4663b6281b1c6c914ed3b585 12-Nov-2009 Fred Quintana <fredq@google.com> always preserve rows for accounts with type of localhost even if the account manager doesn't know about them
bstractSyncableContentProvider.java
9db3d07b9620b4269ab33f78604a36327e536ce1 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
bstractCursorEntityIterator.java
bstractSyncableContentProvider.java
bstractTableMerger.java
bstractThreadedSyncAdapter.java
ctiveSyncInfo.java
syncQueryHandler.java
roadcastReceiver.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentProviderOperation.java
ontentProviderResult.java
ontentResolver.java
ontentService.java
ontext.java
ontextWrapper.java
ntity.aidl
ntity.java
ntityIterator.java
ContentProvider.java
ContentService.aidl
EntityIterator.java
IntentReceiver.aidl
SyncAdapter.aidl
ntent.java
ntentSender.java
perationApplicationException.java
yncAdapter.java
yncAdapterType.aidl
yncAdapterType.java
yncAdaptersCache.java
yncContext.java
yncManager.java
yncResult.java
yncStateContentProviderHelper.java
yncStats.java
yncStatusInfo.java
yncStatusObserver.java
yncStorageEngine.java
yncUIContext.java
yncableContentProvider.java
empProviderSyncAdapter.java
m/ActivityInfo.java
m/ApplicationInfo.java
m/ConfigurationInfo.java
m/FeatureInfo.aidl
m/FeatureInfo.java
m/IPackageManager.aidl
m/LabeledIntent.java
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
m/ProviderInfo.java
m/RegisteredServicesCache.java
m/RegisteredServicesCacheListener.java
m/ResolveInfo.java
m/ServiceInfo.java
m/XmlSerializerAndParser.java
es/AssetManager.java
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
es/StringBlock.java
bfdece49cf34eda8d5f1e8bfb9437ccaf62ebe41 13-Nov-2009 Eric Laurent <elaurent@google.com> am 355743c7: am 609acfd2: am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '355743c70d9810fda3e59d718d055f9513fb05b7'

* commit '355743c70d9810fda3e59d718d055f9513fb05b7':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
609acfd2a1067f49e51925776484b070a24d8301 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-mr2

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
67abf57846168dd00fa951489c3d636e6016f3ce 12-Nov-2009 Dan Egnor <egnor@google.com> am 00556831: am f18a01c7: Rename [I]DropBox[Service] to [I]DropBoxManager[Service].

Merge commit '00556831f7503a922a5402c525b4387ebdd1a4bb'

* commit '00556831f7503a922a5402c525b4387ebdd1a4bb':
Rename [I]DropBox[Service] to [I]DropBoxManager[Service].
f18a01c77e78209b74e34d05cfb352fa4a92db5f 12-Nov-2009 Dan Egnor <egnor@google.com> Rename [I]DropBox[Service] to [I]DropBoxManager[Service].

Un-hide the DropBoxManager interface, and update the public API accordingly.
ontext.java
923d7d721d37f6ba5148e7d79d61a4fa48e79df2 12-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.

The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.

Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
ntent.java
1ee0d41b0b7f6458d067f4e51875fd3d34c2efe6 12-Nov-2009 Dianne Hackborn <hackbod@google.com> am d2aaeefc: am c5dc6872: am 360d710e: Merge change I580de484 into eclair

Merge commit 'd2aaeefc31c37417e6074fefeabe3434ea2768d9'

* commit 'd2aaeefc31c37417e6074fefeabe3434ea2768d9':
Fix issue #2256270: Package manager sends bad broadcasts when components change
c5dc6872dac40f87b6b8261c3cd5260a52325aba 12-Nov-2009 Dianne Hackborn <hackbod@google.com> am 360d710e: Merge change I580de484 into eclair

Merge commit '360d710ebccc2a2b53bf6233e722d3287d585476' into eclair-mr2

* commit '360d710ebccc2a2b53bf6233e722d3287d585476':
Fix issue #2256270: Package manager sends bad broadcasts when components change
86a72dacbea3331cd5423c1f2f6ecbfae535e57c 12-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2256270: Package manager sends bad broadcasts when components change

Also reworks this intent protocol a little bit to be much more efficient, only
requiring one broadcast per package.

Change-Id: I580de4843ebd3c7f2e6df7295a2f80d2937cef7c
ntent.java
5a1a55e54ab81d60e6b41e3a1bf24c72df382116 12-Nov-2009 Dianne Hackborn <hackbod@google.com> am 7bd2179f: am 823edb76: am 532d5603: Merge change I80022375 into eclair

Merge commit '7bd2179f22c63cba9b444b4089242af327501f85'

* commit '7bd2179f22c63cba9b444b4089242af327501f85':
Fix issue #2256032: Change CONFIGURATION_CHANGED and add a locale changed broadcast
78bceeb925dff57543d7d9cd27f560448fb2e854 12-Nov-2009 Dianne Hackborn <hackbod@google.com> am 8c3fc080: am 5bb200fd: am 2ade6421: Merge change I775e1ec0 into eclair

Merge commit '8c3fc0801bb32a99dd5ab97c93bb615999b2c977'

* commit '8c3fc0801bb32a99dd5ab97c93bb615999b2c977':
Debugging for issue #2250075: Desk dock clock app sometimes doesn't
823edb76661d57c1af7dbf4eb56eb0e3cb78e229 12-Nov-2009 Dianne Hackborn <hackbod@google.com> am 532d5603: Merge change I80022375 into eclair

Merge commit '532d56034532809da7691059742371c1b4d0656c' into eclair-mr2

* commit '532d56034532809da7691059742371c1b4d0656c':
Fix issue #2256032: Change CONFIGURATION_CHANGED and add a locale changed broadcast
5bb200fde2306d9da1972a81c0238c26ca6f475b 12-Nov-2009 Dianne Hackborn <hackbod@google.com> am 2ade6421: Merge change I775e1ec0 into eclair

Merge commit '2ade6421f2d6dd615b559c951deace7143958b90' into eclair-mr2

* commit '2ade6421f2d6dd615b559c951deace7143958b90':
Debugging for issue #2250075: Desk dock clock app sometimes doesn't
362d5b9b6429a2766f5b980d2010262135788ad8 12-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2256032: Change CONFIGURATION_CHANGED and add a locale changed broadcast

You can no longer receive CONFIGURATION_CHANGED in a manifest, which is really really
bad (launching apps every time the screen is rotated!). A new LOCALE_CHANGED broadcast
is sent that you can receive in a manifest.

Change-Id: I80022375f0716db2e672382a29db3cea1af74702
ntent.java
12527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6 12-Nov-2009 Dianne Hackborn <hackbod@google.com> Debugging for issue #2250075: Desk dock clock app sometimes doesn't

This adds a history of the last 100 broadcasts that is printed in the
debug log, to be able to see what recently happened at the time the
bug report was taken. Also does some optimization of the printing of
the broadcast records to make it feasible to print this number of
entries. (We kind-of need to do this because there are some broadcasts
like SIG_STR and SYNC_STATE_CHANGED that are being broadcast a LOT.)

Change-Id: I775e1ec0f63369c8bca8c83cee27b95ddc5ec450
m/ActivityInfo.java
m/ApplicationInfo.java
m/PackageItemInfo.java
2f20558f09a43c497c7e49ad70745c3f12567891 12-Nov-2009 Fred Quintana <fredq@google.com> am f291a68d: am d73f7de4: am 4cb6fc7e: Merge change Icc48b1e7 into eclair

Merge commit 'f291a68dbff5fb74696204b2a0bc49d5eba67c93'

* commit 'f291a68dbff5fb74696204b2a0bc49d5eba67c93':
don't request a sync when temp providers are created
d73f7de40e1bdd0d8aee1ee793db36e7a9f7d8cb 12-Nov-2009 Fred Quintana <fredq@google.com> am 4cb6fc7e: Merge change Icc48b1e7 into eclair

Merge commit '4cb6fc7ed2e4371b7ea4d053064fbeb3f86cfc20' into eclair-mr2

* commit '4cb6fc7ed2e4371b7ea4d053064fbeb3f86cfc20':
don't request a sync when temp providers are created
bb3921c9dd351d9fb2ca197d2aaf6aa1845f2aea 12-Nov-2009 Fred Quintana <fredq@google.com> am 7efa6715: am e871be66: Merge change I735f4553 into eclair-mr2

Merge commit '7efa671569955aead877d10e7d6b1fa3129184a4'

* commit '7efa671569955aead877d10e7d6b1fa3129184a4':
Make the RegisteredSErvices Cache not allow the registered service for a
735f45538650728e9ca9856b9ff87ec54c972f04 12-Nov-2009 Fred Quintana <fredq@google.com> resolved conflicts for merge of ae0cf6dc to eclair-mr2
cc48b1e77dfe74e1acf7cfa85215e68551b37ee6 12-Nov-2009 Fred Quintana <fredq@google.com> don't request a sync when temp providers are created
bstractSyncableContentProvider.java
1874aa487cf5da31f5770d21f0973a417f99247c 11-Nov-2009 Oscar Montemayor <oam@google.com> Encrypted File Systems project. Implementation of opt-out flag in AndroidManifest XML file.
This flag is necessary for applications to specifythat their daa is never to be encrypted when the encrypted file system feature is
commplete and enabled.
Encrypted File Systems project.
Adding android:neverEncrypt flag to AndroidManifest.XML to allow packages to opt-out from EFS features.

Encrypted File Systems Project.
Fixing white spaces and end-line issues.

Encrypted File SYstems Project: opt-out flag.
Removed AndroidManifest.xml changes, as will make that change in a separate integration.
m/ApplicationInfo.java
m/PackageParser.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 10-Nov-2009 Fred Quintana <fredq@google.com> Make the RegisteredSErvices Cache not allow the registered service for a
type to change without first uninstalling the previous service for that
type, unless the newly installed service is in the system image.

Notify the listener when a service is added or removed.

Make the AccountManagerService remove the accounts for an authenticator
when the registered authenticator changes from one uid to another.

Make the AbstractSyncableContentProvider force a sync when the database is first created.
bstractSyncableContentProvider.java
yncAdaptersCache.java
m/RegisteredServicesCache.java
m/RegisteredServicesCacheListener.java
m/XmlSerializerAndParser.java
d62b063fd4ac0ae1419348ac62c55527cb398fd9 02-Nov-2009 Dianne Hackborn <hackbod@google.com> am b6a6791f: Merge change I60413727 into eclair

Merge commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f' into eclair-mr2

* commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f':
Fix issue #2226370: Resource versions match with equality
553399518f39cd9f31f2bb6f502866c3c9d6d1a5 02-Nov-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2226370: Resource versions match with equality

Also fixed turned-around increment of version number for resources. :(

Change-Id: I604137272da984bcd69cee4f174e6b7f2c786e46
es/Resources.java
5546e9e6721a5b05678ea6ceb3be433219f53fe6 30-Oct-2009 Jeff Sharkey <jsharkey@android.com> am 824838d7: Avoid NPE when callers send null selection args.

Merge commit '824838d74eb0316f6987a1d98d2d9e9fa8d4e15b' into eclair-mr2

* commit '824838d74eb0316f6987a1d98d2d9e9fa8d4e15b':
Avoid NPE when callers send null selection args.
cd79e5e173e00995f072104f7a89cf4015a90efd 30-Oct-2009 Jeff Hamilton <jham@android.com> am b5c05516: Merge change I3b7d5cbe into eclair

Merge commit 'b5c05516ba2c341655d54f17bdd17a5ab2d173df' into eclair-mr2

* commit 'b5c05516ba2c341655d54f17bdd17a5ab2d173df':
Copy the selection args when creating a CPO since callers often reuse the passed in array.
a7bbedca97498e75b32c6f6ca4afe56d4cf481f7 30-Oct-2009 Suchi Amalapurapu <asuchitra@google.com> am 22dad592: Merge change I6cae32c7 into eclair

Merge commit '22dad5928d1d1f2c791616d9d6ab3a3172cec62e' into eclair-mr2

* commit '22dad5928d1d1f2c791616d9d6ab3a3172cec62e':
When upgrading packages with shared user ids make sure we are eliminating
824838d74eb0316f6987a1d98d2d9e9fa8d4e15b 30-Oct-2009 Jeff Sharkey <jsharkey@android.com> Avoid NPE when callers send null selection args.

Fixes http://b/2226007
ontentProviderOperation.java
0fca5b45ffe86c1c69359e6eb3727a9953b971c9 29-Oct-2009 Fred Quintana <fredq@google.com> am 5e5eb393: Merge change Id572ffc7 into eclair

Merge commit '5e5eb393729630800079206498f283de8f02f3a7' into eclair-mr2

* commit '5e5eb393729630800079206498f283de8f02f3a7':
don't throw an exception when we can't find a pending sync operation in the database
b5c05516ba2c341655d54f17bdd17a5ab2d173df 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3b7d5cbe into eclair

* changes:
Copy the selection args when creating a CPO since callers often reuse the passed in array.
d83006cbe86545a1e8882b1a4ed90005ebf3423e 29-Oct-2009 Suchi Amalapurapu <asuchitra@google.com> When upgrading packages with shared user ids make sure we are eliminating
the package about to be deleted or upgraded when updating permissions associated
with the shared user. Include a simple null check when retrieving the permission.

Fix PackageParser to avoid ArrayIndexOutOfBounds exceptions in several places
m/PackageParser.java
952402704a175ba27f6c89dff1ada634c5ce5626 28-Oct-2009 Dan Egnor <egnor@google.com> Instead of a raw AIDL interface, give DropBox a Java
interface (android.os.DropBox); move the Binder interface
behind the scenes. Make DropBoxEntry into DropBox.Entry.
Make it possible to get a dropbox from an (Application)Context
with the usual getSystemService(DROPBOX_SERVICE) type thing.
Update the tests accordingly.
ontext.java
cb41faa285ad0c00bcdc8815d4bf83219552007d 28-Oct-2009 Fred Quintana <fredq@google.com> don't throw an exception when we can't find a pending sync operation in the database
yncManager.java
acff20bda404f59ffba6035b18956d6aff7afcd8 28-Oct-2009 Jeff Hamilton <jham@android.com> Copy the selection args when creating a CPO since callers often reuse the passed in array.

Bug: 2221947
Change-Id: I3b7d5cbef61777d76ca7fc0d7c91c44553e609a9
ontentProviderOperation.java
e341c7e7c8eed486113cbb721b09ac3aeda07d2f 19-Oct-2009 Ken Shirriff <kens@google.com> Add access to ContentProvider for SyncState.

This is used (temporarily) by the new calendar sync implementation.
bstractSyncableContentProvider.java
e7424ffdafb0c18f753f383ebfb121ea5ebf582b 15-Oct-2009 Fred Quintana <fredq@google.com> add an IPC for sync initialization
bstractThreadedSyncAdapter.java
SyncAdapter.aidl
yncAdapter.java
yncContext.java
yncManager.java
083a50a394915b562ad53be9fd8ec7524e3db21c 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I66693ea2 into eclair

* changes:
fix sync exponential backoff for expedited syncs
66693ea208a233993b541784d99f3a8333b7ac69 10-Oct-2009 Fred Quintana <fredq@google.com> fix sync exponential backoff for expedited syncs
yncManager.java
f242b7b931898856bcbcb7ec36cacf43098ba544 08-Oct-2009 Nick Pelly <npelly@google.com> Introduce BluetoothAdapter.getDefaultAdapter().

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

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

DrNo: eastham
Bug: 2158765
Joke: Why can't you play cards in the jungle? Because there's too many cheetas!
Change-Id: Ieed8be009ee5aba621cb69090ee8c8a9c19c840d
ontext.java
f038004f4a5e4fab18df9c87573ba1e82790c30f 07-Oct-2009 Fred Quintana <fredq@google.com> changes from Sync Manager API Review: bug 2164262
bstractThreadedSyncAdapter.java
yncContext.java
yncResult.java
yncUIContext.java
f83d9b3fcd74f2528b0acc74185d2d7bdd716942 06-Oct-2009 Fred Quintana <fredq@google.com> fix build breakage
syncQueryHandler.java
5bba632d877c2878384ff21566c8eb6a1a22f37b 05-Oct-2009 Fred Quintana <fredq@google.com> - hide Entity and all its references
- remove updateEntity and insertEntity, since they are not
used
- add the RawContacts.Entity class, which is used in lieu of the
android.content.Entity
bstractCursorEntityIterator.java
syncQueryHandler.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ntity.java
ntityIterator.java
ContentProvider.java
8d5ae98549f68a1214a72e6d79456503eb7d96f5 06-Oct-2009 Suchi Amalapurapu <asuchitra@google.com> Make sdk version and code names static finals in PackageParser.
Remove api to set these values.
Remove an unused method in AppSecurityPermissions
m/PackageParser.java
68d881cf2d2b252f6f795cd64d43e316a1d736e5 05-Oct-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2166755: BroadcastReceiver trying to return result during a non-ordered broadcast

Tell the broadcast receiver whether it is getting an initial sticky value,
so it will be quiet about attempts to do ordered broadcast stuff.

Note that the original bug being reported was not actually a crash, just
an error log. So all we are doing here is making the log quieter.

Change-Id: Iaf1b718d82093ec1197142410a64feff47eb3859
roadcastReceiver.java
IntentReceiver.aidl
ntentSender.java
f7ae77cd67f1a3993b8e56c1af4720a7adf4e69d 03-Oct-2009 Fred Quintana <fredq@google.com> account manager api review changes
bstractSyncableContentProvider.java
yncManager.java
bd0a81ff1c0e92e80e05e2f12bb1805c7d081e94 04-Oct-2009 Dianne Hackborn <hackbod@google.com> Work on issue #2163789: Way too much logging

Dr.No from mcleron.

Change-Id: Iaca2268684f83fe8757e64db0b0e047a19755311
yncStorageEngine.java
m/PackageParser.java
29e4a3c566f435c32f0b95e4ac8e8b33cac6faba 01-Oct-2009 Dianne Hackborn <hackbod@google.com> Update from API review.

Change-Id: I16b1c566f91167aac9615ac59dd297a154c828ea
m/RegisteredServicesCacheListener.java
a33e3f79259b56b03c7912af35944f34ad190e3c 30-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2154794: Force close when start facebook application.

I think when we were scanning the updated app in the system image,
from an older version on the data partition, we were not setting
the existing package to have the system flag, so not auto-granting
any new permissions.

This also includes some other cleanup in the package manager to
remove old files in various places, and tighten up logging.

Also similar logging cleanup elsewhere.

Change-Id: I6d113c7cf7e736ab9be512d6d7c94c806a24199a
yncStorageEngine.java
m/PackageParser.java
d2c494d9be366aed081742c097b97816a6ed9d44 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8b2e000c into eclair

* changes:
add class description and revise descriptions for get*Drawable and peek*Drawable methods for clarity. also fix some links.
8b2e000c43f5a93209be269a0b9e08943fad8d3c 30-Sep-2009 Scott Main <smain@google.com> add class description and revise descriptions for
get*Drawable and peek*Drawable methods for clarity.
also fix some links.
ntent.java
609c2c08d7d059681434ea322b551264abab8a71 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia54b1bf0 into eclair

* changes:
- make SyncManager get the accounts list during the constructor, which will allow syncs to be scheduled during bootup. The providers need this so that they can potentially schedule syncs while they are starting up. - make the SyncManager message handler wait until boot has completed to start dispatching messages
e91ebe2be9580625ff31af8583e55aaefc50474f 30-Sep-2009 Fred Quintana <fredq@google.com> - make SyncManager get the accounts list during the constructor,
which will allow syncs to be scheduled during bootup. The
providers need this so that they can potentially schedule
syncs while they are starting up.
- make the SyncManager message handler wait until boot
has completed to start dispatching messages
yncManager.java
3348f14b3d46b172a5b557f81aac526b7e8bf5fb 30-Sep-2009 Costin Manolache <costin@google.com> Remove GAIA string
bstractSyncableContentProvider.java
ontentResolver.java
yncStorageEngine.java
7eca687c2ee8f633678a1cd3ebf0886c0e6bbcf9 29-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix bug where we would return null with disabled components.

Change-Id: I1624a42803f1c4b02736f558a8eeeeba2890667e
m/PackageParser.java
093f581090d8cf98f5877746d924107f7695dd8b 27-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27238 into eclair

* changes:
The touch screen is probably a feature.
039c68e75606e837cf021815a0210836724574ad 27-Sep-2009 Dianne Hackborn <hackbod@google.com> The touch screen is probably a feature.

Also extend the feature APIs a bit.

Change-Id: I99e932d7f4e61edb0e20f75c55e9831e4b59a14d
m/IPackageManager.aidl
m/PackageManager.java
86135d3240a50f9224b49fb8407a1c86cae0e1b9 25-Sep-2009 Tadashi G. Takaoka <takaoka@google.com> Pass provider authority to SyncActivityTooManyDeletes

Internal Bug: 2138733
yncManager.java
3b3e145d3c41fd68974e08f799b1fd1f8f060cf0 25-Sep-2009 Dianne Hackborn <hackbod@google.com> A variety of work on animations.

- The lock screen now fades in and out.
- Fixed a bug where we would accidentally freeze the screen when switching
to an activity with a different orientation than the current (but
the screen itself is in the current orientation). This would mess up
the animations on the car dock.
- New API to force a particular animation for an activity transition
(untested).
- New wallpaper animations.
- Resources now uses the next API version when in a development build,
to help applications being developed against such builds.

Change-Id: I2d9998f8400967ff09a04d693dc4ce55f0dbef5b
m/ApplicationInfo.java
es/Resources.java
ffa424800d0338b8b894aef2ea1e3e3344cbda7a 24-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2133206: dialogs/menus should auto-dismiss when screen turns off

Lot of infrastructure for more things to go away when "clear system dialogs"
happens, and now do this when we turn on the lock screen.

Change-Id: I567130296fe47ce82df065ed58ef21b37416ceaf
m/ActivityInfo.java
m/PackageParser.java
600dde04ee07b740dc119c879cf096b5d697ec32 23-Sep-2009 Fred Quintana <fredq@google.com> make the SyncManager listen for backgroun data setting changes and do a sync when the setting is enabled
yncManager.java
be3bceb5b908c23eeda5a8d04d2ea3d43cc7ed10 23-Sep-2009 Fred Quintana <fredq@google.com> fix the logic for starting a sync after the accounts changed
yncManager.java
4271c7c36bc6c3acef1a7d0926a5cf300e5efa4a 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26449 into eclair

* changes:
Keep track of 'initial' sync state in SyncStatusInfo
5ed64cd06ce308e91a5ab74e51bcea5fba9a3860 22-Sep-2009 Costin Manolache <costin@google.com> Keep track of 'initial' sync state in SyncStatusInfo
yncStatusInfo.java
yncStorageEngine.java
9bfb707597898f54722460b48588007b682f3e2a 22-Sep-2009 Dianne Hackborn <hackbod@google.com> Various fixes and improvements to window, activity.

- New meta-data you can add to a dock activity to have it launched by the
home key when the device is in that dock.

- Fix a deadlock involving ActivityThread's internal content provider lock.

- New window flag to have a non-secure keyguard entirely dismissed when a
window is displayed.

- New WindowManagerPolicy APIs to allow the policy to tell the system when
a change it makes during layout may cause the wall paper or
overall configuration to change.

- Fix a bug where an application token removed while one of its windows is
animating could cause the animating window to get stuck on screen.

Change-Id: I6d33fd39edd796bb9bdfd9dd7e077b84ca62ea08
ntent.java
585c67f70f18b8879ced854c5865141d6c650cd8 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26300 into eclair

* changes:
experimental fix for compatibility mode. When we scale up by 1.5 (240 dpi), we put stretched ninepatches on exact pixel boundaries when we walk the inverse matrix (e.g. 2/3, 1+1/3, 2, 2+2/3, 3+1/3, 4, ...).
b5c17a64edbdac47d8aa48951b50ea0a8e982655 22-Sep-2009 Mike Reed <reed@google.com> experimental fix for compatibility mode. When we scale up by 1.5 (240 dpi), we put stretched ninepatches on
exact pixel boundaries when we walk the inverse matrix (e.g. 2/3, 1+1/3, 2, 2+2/3, 3+1/3, 4, ...).

These are not stable, since any variance in the inverse matrix (even in the lowest bit) can cause some other
part of the ninepatch to start a hair to the left, resulting in misaligning every 3 pixels.

The fix changes the matrix' phase enough to keep all of the stretched ninepatches in phase.
es/CompatibilityInfo.java
bfe319e06aa56c081d0d94d64a8181291d7f7388 21-Sep-2009 Dianne Hackborn <hackbod@google.com> Turn animations on by default.

Add API to skip the animation for a particular start activity, so that
a latter better one can be used.

Fix Theme.NoDisplay to actually work.

Fiddle with various animations: don't do a different animation for task
switching, try a scale animation for switching in/out of the wallpaper.

Adjust the animation duration so that at normal speed we have something
more like the slower animation option (so slow is now the default).

Change-Id: Ieba9f3db0bd9a762a19b327a3ecccbc7b547893d
ntent.java
e256c79731ecd412fbf0d566ea6c844ea8e972a1 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26053 into eclair

* changes:
log hash of account name in sync event log
44f574781545781c31db3dcf495ed08763073f75 21-Sep-2009 Doug Zongker <dougz@android.com> log hash of account name in sync event log

Add an account field to the sync event, which is the java hash of the
account name. (A hash is used for privacy reasons.)
yncManager.java
6cca1599f78549716ef120245e54fa1961976dda 20-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1862317: Browser does not appear to honor anchors (#es) in links

Also a little improved debugging output of bad resource identifiers.

Change-Id: I054064ef22855608ffd722e4ccf12ce57d1992b2
ntent.java
d163f4babe101b89aaf322c34d3bafeae237f7da 20-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25853 into eclair

* changes:
Don't back up / restore certain sync-related settings
edd9316ca9b3b24d54e8a2468927da7e813098fc 19-Sep-2009 Dianne Hackborn <hackbod@google.com> Add better APIs for the battery status, and other cleanup.

Also add new configs for keeping screen on while docked, which will
be used elsewhere.

Change-Id: Ifaa1118f14fd850ac809895f9a5c9e8c413259b8
ntent.java
efa199f016985b0a9d0471e42c803ee9f7941f0e 19-Sep-2009 Dianne Hackborn <hackbod@google.com> Add API to send an ordered sticky broadcast.

Change-Id: Ida7081204e226db0cd07ff618c08e308a909ec0c
ontext.java
ontextWrapper.java
a286f419084d56217f05a64f1d24c9e07917212e 19-Sep-2009 Christopher Tate <ctate@android.com> Don't back up / restore certain sync-related settings

In particular, this no longer attempts to back up the on/off state of specific
backend syncing [gmail/contacts/calendar], nor the "background data" toggle.
The former was causing a great deal of spurious trips through backup as the
notification was being tickled during general sync operation, and the latter
makes little sense at restore time.

Fixes these issues:

b/2097613 - frequent "backup_data_changed" messages in event log
b/2131662 - should not backup background data, master sync settings
yncStorageEngine.java
ae22c05b91d1e7a458066792eb5cfc0974c1be9e 18-Sep-2009 Dianne Hackborn <hackbod@google.com> Try to fix docs build.

Change-Id: I331e128fa95c3bc0b8bc4ab2537cc2ea92e310e7
ontext.java
fa82f22f1d8c4c828bdf9b670006be4f4fec772e 18-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2093608: Calendar widget takes a few seconds to launch

Avert your eyes!

The key change here is that RemoteViews can now call a Context API to
start its pending intent, which inside of the activity manager we can
use to determine to cancel the timeout delay for external entities
to disrupt the home screen.

Change-Id: If097cf7478cbed7a3c04a304050bd7fd5703d197
ontext.java
ontextWrapper.java
ntent.java
ntentSender.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 17-Sep-2009 Fred Quintana <fredq@google.com> - Make the AccountManagerService delete accounts that
have no Authenticator, both when the package is removed
and when the phone is booted.
- add the ability to register with the RegisteredServicesCache
to be notified when the set of Authenticators changes.
m/RegisteredServicesCache.java
m/RegisteredServicesCacheListener.java
5f78786cf9802b988a4de3c08555eb43f1e02e04 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25190 into eclair

* changes:
add the ability to do a newAssert with no values
9092ab4d458ad60b459d5fad52368bde5d25f665 16-Sep-2009 Mike Lockwood <lockwood@android.com> Add support for launching activities when attaching to a car or desk dock.

Categories CATEGORY_CAR_DOCK and CATEGORY_DESK_DOCK can be assigned to
activities to make them launchable on docked events.
This is a better mechanism than listening for ACTION_DOCK_EVENT with a broadcast receiver.

Change-Id: Ic5f3ab3555ce02ca922bc31ebba41978cefe8bda
Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
57384101b9757b1c67570fae60cdb8f89c84bf32 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25270 into eclair

* changes:
Use Resources to load search icons with android.resource URIs
4c87a3f26a7c0c75fa371024a8726b59a108fd0f 16-Sep-2009 Bjorn Bringert <bringert@android.com> Use Resources to load search icons with android.resource URIs

Before, all icon URIs were opened with
ContentResolver.openInputStream(Uri), but that does not
include the density information from the source
application.

Now, if the URI uses the android.resource scheme,
we resolve the URI to a Resources and a resource ID,
and load it with Resources.getDrawable(int).
This requires making OpenResourceIdResult and getResourceId()
in ContentResolver public (but hidden).

This change also caches icons that were specified using just a
resource ID.

Since loading a Drawable from a URI is a generally useful operation,
it would be good to make it easy for apps to do it in the proper
density-independent way. We could add a getDrawable(Uri)
method to the framework. The question is where.

It would be easiest to add it to ContentResolver, but that may be a
bit odd since there is no other code for dealing with Drawables in
ContentResolver. Another alternative is in Resources, since
getDrawable(int) is there, but that class deals with the resources
for a single app, whereas getDrawable(Uri) can open a drawable
from any app. Putting it in Context may be the best choice,
since that's in android.content, and can thus access package
private members in ContentResolver, and since it's already
a dumping place for random useful high-level methods.
Opinions?

Fixes http://b/issue?id=2034526
"Icons on search do not scale for wide VGA"

Change-Id: I44de0b74826e5560141a3174bcbba991ba6264ac
ontentResolver.java
93e462b79d6896da10e15e74c5aec6beb098dddf 16-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1780928: Need support hiding nav keys.

This implements support for devices whose hardware can hide
their navigation keys. It works much like the existing keyboardHidden
configuration, and for compatibility uses the same configuration
change bit.

Also add FLAG_TURN_ON_SCREEN for windows, which has the system
cause the screen to be turned on when the window is displayed.
Great fun when used with FLAG_SHOW_WHEN_LOCKED!

Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
m/ActivityInfo.java
es/Configuration.java
5ab78057a35dc71b2847920031cd707a7e2c6c64 16-Sep-2009 Fred Quintana <fredq@google.com> add the ability to do a newAssert with no values
ontentProviderOperation.java
d2a3a8a7ba869247e6d1a8e3f72780e4841b39d6 16-Sep-2009 Jim Miller <jaggies@google.com> Fix for #2092883: Allow manual sync even when background data is disabled
yncManager.java
c2974809373697147cbe5754835cc871fb93aef1 14-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2116977: buttons are huge and bent

Now that we are using preloaded drawables in compatibilty mode, when
constructing them from their constant state we need to set the new
drawable's target density appropriately.

Change-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266
es/Resources.java
e7f47f50ad0a97e32c87104e56f311db910e98f1 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24921 into eclair

* changes:
add system properties for experimenting with sync timeouts.
44ee0f03f99b3eea8bf3d3e7f63ad0553623f426 14-Sep-2009 Debajit Ghosh <debajit@google.com> add system properties for experimenting with sync timeouts.
yncManager.java
19382ac1a4e4e7c23a1346d299368763f149de9c 12-Sep-2009 Dianne Hackborn <hackbod@google.com> Some optizations to wallpaper drawing/scrolling.

First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off. We take of dithering
when loading, to make sure we don't use it when drawing.

Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable. As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.

Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset. This ensures
that the wallpaper better tracks the application. Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.

Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
es/Resources.java
8cae124af2142687a6833dbaab8a43df6dd67b43 10-Sep-2009 Dianne Hackborn <hackbod@google.com> Various cleanup around resources and nine-patches.

Remove the stuff that doesn't use preloaded drawables when in
compatibility mode, since this works fine ever since we were able
to deal with drawables in a different density than the canvas.

Change the snapshot function on View to return a snapshot at
the same size that will actually be drawn on screen (when in
compatibility mode), to be able to show scaling artifacts and
all.

This change was original an attempt to fix issue #2101917: Text
field edges appears to be improperly rounded. That turns out to
probably be something deeper in the graphics system, but also
included here is the debugging code I did to try to track down the
problem to make it easy to turn on again later.

Change-Id: I34bfca629639c7ff103f3989d88874112ef778d9
es/AssetManager.java
es/Resources.java
b752098e8d12d6e7925d97458078dbb896ca8a05 03-Sep-2009 Costin Manolache <costin@google.com> Sync status was ignoring account - the new UI has specific sync status for each account, so we need to use it.
ontentService.java
yncStorageEngine.java
eb034652c2037a47ebfd99779e8383bb8bb528af 07-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement all of the infrastructure for configuring wallpapers.

Actually being able to configure a wallpaper relies on additional
work in the launcher and wallpapers that will be in another change.
Also note that this breaks all existing wallpapers, since they now
need to include a meta-data item about themselves. This also
will be fixed in another change.

Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
ntent.java
m/LabeledIntent.java
m/ResolveInfo.java
m/ServiceInfo.java
ff86d9f9dc30d2eebe56af27c8cdb0bcd4227bf4 05-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24002 into eclair

* changes:
Fix SparseArray accesses
0e3cd546001cb82b8d9c8e910cf751d1d2a584df 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23907 into eclair

* changes:
Add sync_details support.
360e454b2b2f911e9e29268519017cc94ae9d4f4 04-Sep-2009 Costin Manolache <costin@google.com> Fix SparseArray accesses
yncStorageEngine.java
5962d279f9f231add9a2ad436eb432ac95ab0706 04-Sep-2009 Chih-Chung Chang <chihchung@google.com> Add more documents on the ACTION_SEND_MULTIPLE intent.

Change-Id: Ic3d7b74299611158470b729be654fbadde1691ff
ntent.java
6fd7385f56b129b49164f606d23771a39507f772 04-Sep-2009 Ken Shirriff <kens@google.com> Add sync_details support.

This adds sync_details logging to AbstractThreadedSyncAdapter and thus
the new contacts code.
bstractThreadedSyncAdapter.java
dd9b82c283815747b75fe4434c65e4b6c9c9b54f 03-Sep-2009 Dianne Hackborn <hackbod@google.com> Add better service reporting.

This will be used elsewhere.

Change-Id: Id561fa7fed5eb65446312cb697813483903d33a6
ntent.java
yncManager.java
c42c0dd1c4e2f7a4abaac1b2c9a6344448f9db7a 03-Sep-2009 Jeff Hamilton <jham@android.com> Fix the registration of the package changes broadcast receiver.

Change-Id: Ib0b49153a0ec1af7c5a92753860df0f46064a7df
m/RegisteredServicesCache.java
a34f1ad7c3a68d971e6332aa2fb1c16d083920b3 02-Sep-2009 Dianne Hackborn <hackbod@google.com> Fiddle system boot ordering.

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

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

Change-Id: Ib2d287d8441d155d393fe740a5f98690895fd358
yncManager.java
14de0880dd7b716f39b822917e874ca5e579ff37 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23698 into eclair

* changes:
suppress syncs until boot is complete
32f589046b4105f1a1b7cc2231d334e3971549e6 03-Sep-2009 Suchi Amalapurapu <asuchitra@google.com> Make new attribute EXTRA_CHANGED_COMPONENT_NAME in
broadcast intent ACTION_PACKAGE_CHANGED public so that
apps like launcher can find out the changed component name
when loading changes made in components.
ntent.java
4f9cfc5c52c8b40975c1bc2829efa46b4bddb03f 03-Sep-2009 Fred Quintana <fredq@google.com> suppress syncs until boot is complete
yncManager.java
0214e9475fa3b9aa00a784b5152bf4f1939c941e 02-Sep-2009 Suchi Amalapurapu <asuchitra@google.com> For intent ACTION_PACKAGE_CHANGED, there could be a lot of broadcasts related to enabling/disabling
components by apps which could result in thrashing on the PackageManager. For apps that
do not want to be restarted when such a broadcast is sent, we can just aggregate these broadcasts and
handle them at one go.
Changes include:
New structure to hold pending broadcasts by class name. If a component is enabled or disabled frequently
aggregate component enabled/disabled settings in this structure in a 10 second window and then
send out the accumulated list of broadcasts to the ActivityManager.
A new Handler implementation handles this message
Add new attribute name EXTRA_CHANGED_COMPONENT_NAME in broadcast intent Intent.ACTION_PACKAGE_CHANGED for
additional information for apps like Launcher.
Rename a couple of parameters, the names were too jarring.
ntent.java
5e1ab335e6e8fbfa19c64d53880a22f472010953 02-Sep-2009 Christopher Tate <ctate@android.com> Expand apps' control over the settings restore process

Applications can now specify two more aspects of the restore process: whether
they need to run with their own custom Application subclass rather than being
launched in the usual restricted mode during restore, and whether it's okay for
the backup manager to kill the app process once restore has completed. The new
manifest attributes for these are, respectively, android:restoreNeedsApplication
and android:killAfterRestore.

If unspecified in the manifest, restoreNeedsApplication is false, and
killAfterRestore is true.

In order to support kill-after-restore cleanly, this change also adds a new
system-process-only interface to the Activity Manager, which will schedule a
"commit suicide" event on the target app's main thread looper.

The framework backup agents have been given the appropriate new backup
attributes as well.
m/ApplicationInfo.java
m/PackageParser.java
04f6da353d4e79f49ba1d4897ed617e91acc3f77 02-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23376 into eclair

* changes:
- don't schedule syncs that we will never dispatch - expedite the INITIALIZATION sync
f892fb3a431e04151382d1bddc4438fd04487a6a 28-Aug-2009 Fred Quintana <fredq@google.com> - don't schedule syncs that we will never dispatch
- expedite the INITIALIZATION sync
yncManager.java
fcb14322f4afaf87b816ee120ad1e2f217b1350e 01-Sep-2009 Fred Quintana <fredq@google.com> re-enable cancelation of the sync thread upon receipt of ISyncAdapter.cancelSync()
bstractThreadedSyncAdapter.java
c58b611652c62b269cdc323ff8285ef789b1853d 01-Sep-2009 Fred Quintana <fredq@google.com> Revert "- don't schedule syncs that we will never dispatch"

This reverts commit fae7ff106b3ed791e324ddcec17226c3fe1cd809.
yncManager.java
7cb08accdd923e05518f4bacd103bfe68d589e5d 01-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23066 into eclair

* changes:
- don't schedule syncs that we will never dispatch - expedite the INITIALIZATION sync
72b1f379d5c97c8ff31d2201e78215af777d6bda 31-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
es/AssetManager.java
5ebe32deb5ce9935b9e38eef6105850c4e726083 31-Aug-2009 Fred Quintana <fredq@google.com> disable canceling until the http connection code is understood
bstractThreadedSyncAdapter.java
56f67d21459ad3f136c73c8932904d4a495989c0 28-Aug-2009 Fred Quintana <fredq@google.com> add the ability to specify yieldpoints in a ContentProviderOperation
ontentProviderOperation.java
perationApplicationException.java
49237345d83e62fdb9eb8d50b13ad086636a04fa 28-Aug-2009 Dianne Hackborn <hackbod@google.com> Add platform infrastructure for features.

This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.

Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).

Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
m/ConfigurationInfo.java
m/FeatureInfo.aidl
m/FeatureInfo.java
m/IPackageManager.aidl
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
fae7ff106b3ed791e324ddcec17226c3fe1cd809 28-Aug-2009 Fred Quintana <fredq@google.com> - don't schedule syncs that we will never dispatch
- expedite the INITIALIZATION sync
yncManager.java
c298a8518a8fd73a303132c7db241f10eb46c5b6 28-Aug-2009 Fred Quintana <fredq@google.com> add an accessor for Context for use by subclasses
bstractThreadedSyncAdapter.java
a640c49edafde3d00887d9c099b2d13b71f8b6d6 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22984 into eclair

* changes:
fix AbstractThreadedSyncAdapter to actually cancel syncs
b19b4c711f51ef63f16727026b31216f9b4d5818 27-Aug-2009 Fred Quintana <fredq@google.com> fix AbstractThreadedSyncAdapter to actually cancel syncs
bstractThreadedSyncAdapter.java
aa52f9a7c63d4fdeba0fa16fe0aba3b47fef3738 26-Aug-2009 Dianne Hackborn <hackbod@google.com> Make SINGLE_TOP work with CLEAR_TOP.

Change-Id: Ie98b491dc4b1a2ae5e8fc8452c6410597bc9676b
ntent.java
b3b1ccfe0e8d9ea6582646a6cedb7f4669e41352 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22950 into eclair

* changes:
Change these string constants back to match donut.
fe240ecf85ba4b5e95caa602398587d4cce6459b 27-Aug-2009 Dianne Hackborn <hackbod@google.com> Change these string constants back to match donut.

Unfortunately we are stuck with the donut ones, can't change these in Eclair
to be the more correct names.

Change-Id: Id8aaa2e90cd21631b18a36bea3755a63d0e6d577
ntent.java
c748541ca0caffbe33c1d4690773d89c06bb3253 27-Aug-2009 Suchi Amalapurapu <asuchitra@google.com> Add a null check in PackageParser
m/PackageParser.java
3cff76aaa893049d02467a231d477e86a0f80daa 27-Aug-2009 Fred Quintana <fredq@google.com> make sure that the sync thread is protected by a consistent lock
bstractThreadedSyncAdapter.java
c848b7023bcb19d7a392eb9f4669e56906e5382c 26-Aug-2009 Fred Quintana <fredq@google.com> clean up the too many deletes dialog
yncManager.java
16c758fb156cc8184e9c3ace7aa4717af4bb05ea 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22702 into eclair

* changes:
run the sync thread at background priority
9acc030be474db2bc2371440a12cbdc478238689 25-Aug-2009 Dianne Hackborn <hackbod@google.com> Implement issue #2071750: add a pre-boot upgrade step.

Change-Id: I7133a03a6bf302dbac00c5f8b0420071d2453f89
ntent.java
75d797c2e78d53f49d05b518adb14fd57e0c785c 26-Aug-2009 Fred Quintana <fredq@google.com> run the sync thread at background priority
bstractThreadedSyncAdapter.java
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
ontentResolver.java
ontext.java
m/IPackageManager.aidl
m/ProviderInfo.java
725fcbf5ec0cbbe7fe9b899fe7acd01c9170c290 24-Aug-2009 Mike Lockwood <lockwood@android.com> Fix some Javadoc typos.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
77709755b74bcc852cd511ff833c2827c0f0e1aa 21-Aug-2009 Fred Quintana <fredq@google.com> - add a reset to EntityIterator to allow it to go back to the beginning
- clean up the debug printing of SyncResult
bstractCursorEntityIterator.java
ontentProviderNative.java
ontentResolver.java
ntityIterator.java
EntityIterator.java
yncResult.java
yncStats.java
e0616ffb741b64e3bc7a1e3ad9def3d50eee53fd 19-Aug-2009 Fred Quintana <fredq@google.com> add a supportsUploading flag in the SyncAdapter description and honor it in the SyncManager
yncAdapterType.java
yncAdaptersCache.java
yncManager.java
45e2704ff512d41e22af2801d76e96955469ce8d 19-Aug-2009 Nick Pelly <npelly@google.com> API CHANGE

Javadoc, and unhide the first pieces of the Bluetooth API.

With this commit there is enough public API to connect and use an RFCOMM
connection between Bluetooth devices.
ontext.java
b763ab265130b5aa59e4de561ba3836ac294fe62 19-Aug-2009 Fred Quintana <fredq@google.com> clean up some logs and clamp the syncable value
yncStorageEngine.java
4a6679b97e0285c5b65ec5c0d9080ff90d3e9e81 17-Aug-2009 Fred Quintana <fredq@google.com> make syncadapter set whether the account is syncable
bstractThreadedSyncAdapter.java
ontentResolver.java
ontentService.java
yncAdapter.java
yncAdapterType.java
yncAdaptersCache.java
yncManager.java
yncStorageEngine.java
empProviderSyncAdapter.java
bd022f423a33f0794bb53e5b0720da2d67e4631c 15-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

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

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

TODO:
Javadoc
ontext.java
20ea6ce0e8a758cc5c33eb2577495bf9f4dce16e 18-Aug-2009 Jim Miller <jaggies@google.com> Change get/set IsSyncable() methods to static. Add isUserFacing flag to SyncAdapterType. Update api file.
ontentResolver.java
yncAdapterType.java
718671b441c6318276e6d954a41a95db0d7e6c49 17-Aug-2009 Fred Quintana <fredq@google.com> fix build breakage
ontentResolver.java
5e787c42f2a6b3afc8ec8320a08d51b2d44b8614 17-Aug-2009 Fred Quintana <fredq@google.com> - add a "isSyncable" flag to a given account/authority pair that
indicates whether or not syncs should be attempted for it.
- add public methods to get and set this parameter
ontentResolver.java
ontentService.java
ContentService.aidl
yncManager.java
yncStorageEngine.java
921831b4dcad1898c265889430a32367e99ef6c1 17-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21522 into eclair

* changes:
Dock changes:Docking station intents
c9f4eaf4388087f23aa97e55349850f0902a19d3 12-Aug-2009 Dan Murphy <D.Murphy@motorola.com> Dock changes:Docking station intents

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

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

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

Docking station updates

Add constants for the dock

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
7341d7a104b47996445d069a695e155a07184606 14-Aug-2009 Dianne Hackborn <hackbod@google.com> More work on wallpapers.

- Do better about figuring out when to stop them and other related window
management.
- Fix problem where we were not redrawing the surface when the orientation
changed. This was the cause of the device hang.
es/Resources.java
ffd0cb04f97e62d286d185c520580d81a9c328b1 16-Aug-2009 Fred Quintana <fredq@google.com> do not merge: cherrypicked 3710f390968e683a0ad3adf0b517dfcade3564ce from master branch
bstractSyncableContentProvider.java
bstractTableMerger.java
yncManager.java
yncStateContentProviderHelper.java
yncStorageEngine.java
25660ec2c8175559d86d50bc2bfdef29589d0813 13-Aug-2009 Joe Onorato <joeo@android.com> Unbreak the sdk build.

I didn't break it, so if this doesn't fix it, somebody else should give
it a shot.
m/PackageManager.java
766cbfe44be3c5013a6a22bd6cd8ad1055a37256 13-Aug-2009 Dianne Hackborn <hackbod@google.com> Add new API to compare certs of two UIDs.
m/IPackageManager.aidl
m/PackageManager.java
a9f1dd021f8f6ee777bc4d27913bd40c42e753af 13-Aug-2009 Eric Fischer <enf@google.com> Make <font size> and <font height> in string resources respect density.

This unfortunately requires API changes because the existing text markup
classes had no access to the screen density.

TextPaint gains a "density" field so that TextView can pass the density
along. AbsoluteSizeSpan gains a new flag to indicate that its argument
is in dip instead of in physical pixels. LineHeightSpan gains an inner
interface whose chooseHeight() method includes a TextPaint argument so
it can get at the density. And when StringBlock creates the markup
objects, it now uses the density-aware versions.

Bug 1976971, Bug 2031746
es/StringBlock.java
a5f743f1fc7c5037ee7ad4ab611115b6d44af5b8 12-Aug-2009 Jeff Sharkey <jsharkey@android.com> Add AsyncQueryHandler helper for queryEntities().

Recently we added queryEntities() to the ContentProvider
interface to read out Entity objects atomically. This
change adds a helper to AsyncQueryHandler to perform these
queries on a background thread, returning the result when
finished.
syncQueryHandler.java
90f77218a24ac66bea52faef79c30d45420ce135 12-Aug-2009 Dianne Hackborn <hackbod@google.com> am b8546001: Merge change 20878 into donut

Merge commit 'b8546001701405a76dad7e6235046e592296fac2'

* commit 'b8546001701405a76dad7e6235046e592296fac2':
Fix issue #2048263: More debugging information
82e1ee93eece8fb0aec6acc3ef4ee7b1c86feec7 12-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2048263: More debugging information

We now hopefully do better about generating the anr reports, and include
information about the malloc loaded assets in meminfo.
es/AssetManager.java
08b75b1ffb856ab97e1577eb7d20c69a18fcacca 02-Aug-2009 Jeff Sharkey <jsharkey@android.com> New ContentProviderOperation to assert values during batch.

When performing a set of batch operations, some callers need
to enforce that a query has specific values. For example,
when persisting edited Contact values, we need to assert
that the RawContacts.VERSION matches the version we read out
through queryEntities().

This change adds a new TYPE_ASSERT that uses withValues()
and withSelection(), and checks all values when applying the
batch operation, bailing if any values don't match.
ontentProviderOperation.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 09-Aug-2009 Dianne Hackborn <hackbod@google.com> Very primitive wallpapers in a surface.

This is all of the basic pieces:

- The WallpaperService now creates a surface with the window manager for its
contents.
- There is a simple service that displays a bitmap.
- The wallpaper manager takes care of starting and stopping the service.
- The window manager knows about wallpaper windows and how to layer them with
the windows that want to be shown on top of wallpaper.

Lots and lots of issues remain, but at this point you can actually write a
wallpaper service, select it in the UI, and see it behind an activity.
ontext.java
3b7c3c6b551b95c58849e40b53b01d38714bb782 07-Aug-2009 Jeff Sharkey <jsharkey@android.com> Added lightweight exception logging to AsyncQueryHandler.

Without this, it's really hard to debug exceptions coming
over from a ContentProvider. This is lightweight logging
that is only triggered by an exception, and doesn't write a
full stacktrace.
syncQueryHandler.java
8851e163fc5bc17d139bf29cd2ec2f3926d342bc 06-Aug-2009 Fred Quintana <fredq@google.com> - add several common kinds and beef up some others
- change the ContentProviderOperation selection backref store the backref as a long instead of as a string
ontentProviderOperation.java
8cc6a5026aeb5cf9cc36529426fe0cc66714f5fb 06-Aug-2009 Dianne Hackborn <hackbod@google.com> First bit of wallpaper work.

This is mostly refactoring, adding a new WallpaperManager class that takes care
of the old wallpaper APIs on Context, so we don't need to pollute Context with
various new wallpaper APIs as they are needed. Also adds the first little
definition of a wallpaper service, which is not yet used or useful.
ontext.java
5c1207be90fdf296c1b83034b7c68915e1749284 01-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ontext.java
ontextWrapper.java
ntent.java
ntentSender.java
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
es/AssetManager.java
es/CompatibilityInfo.java
es/TypedArray.java
afcf686cb070313ae5ce6c54ac381a3a86a60ed2 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 25dff70f: Merge change 9039 into donut

Merge commit '25dff70f153529b87f5ad4a92f4de21e8950b1de'

* commit '25dff70f153529b87f5ad4a92f4de21e8950b1de':
Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA
bad80e0dccdeaeea97991f7d092678ff0df1bc84 30-Jul-2009 Mike Lockwood <lockwood@android.com> Add Activity Intent.ACTION_REQUEST_SHUTDOWN for requesting a system shutdown.

The Intent.EXTRA_KEY_CONFIRM extra can be set to require user confirmation before shutting down.
The ACTION_REQUEST_SHUTDOWN Intent is protected by android.permission.SHUTDOWN.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ntent.java
cdc0d941e8d34e63ef2f4b2eda6e040a7d902792 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 2bad713f: Merge change 8860 into donut

Merge commit '2bad713f31d642d5350949b90b3abe00fbd9ca55'

* commit '2bad713f31d642d5350949b90b3abe00fbd9ca55':
Fix bug 2017664
0d221012ff5fd314711c00ed30e9b807b9c454c1 30-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA

It turns out we were not returning the density for anything retrieved from a
TypedArray... which basically means any bitmap references from a layout or style...!!!

This is now fixed.

Also fiddle with the density compatibility mode to turn on smoothing in certain situations,
helping the look of things when they need to scale and we couldn't do the scaling at
load time.
es/AssetManager.java
es/TypedArray.java
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
bstractTableMerger.java
ontentProvider.java
ialogInterface.java
ntent.java
yncStorageEngine.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageParser.java
m/PathPermission.java
m/ProviderInfo.java
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
ed06578eddde07abe325fa4c92910bb7246cd49f 28-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2017664
Removed the TTS_ prefix in the TextToSpeech class to follow the standard naming convention.
Moved the TTS-related intents from the Intent class to TextToSpeech and TextToSpeech.Engine.
Renamed the TextToSpeech.Engine constants that are used as extras for the
ACTION_TTS_CHECK_TTS_DATA intent to prefix them with EXTRA_.
Cleaned up the other TextToSpeech.Engine constant to remove superfluous mentions of
"TTS" in the name.
ntent.java
bc25407b9299ae433023ddf147fe633f3b3b640c 29-Jul-2009 Jeff Sharkey <jsharkey@android.com> Expose type constants and accessor for unit tests.

Internally, ContentProviderOperation maintains a "type",
which correspond to builder methods, such as "newInsert()".

Unit tests often need to assert which operations are
being built, so this change adds a getType() accessor and
esposes the internal constants used. They are marked with
@hide so they are not exposed in the public API.
ontentProviderOperation.java
02f5228c3c224dc8804cbedd40899fa0c42bfd4a 29-Jul-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of f0d83fd9 to master
7f2054392e9957d3ba8579ef08c29cfb27df564e 28-Jul-2009 Dianne Hackborn <hackbod@google.com> Updates from API review.

* AccessibilityService -- document onBind() to not be implemented.
* GestureLibrary.getLearner() -- needs to be hidden.
* IntentSender -- remove protected constructors, document that it is retrieved from a PendingIntent.
* Hide permissions: SHUTDOWN, STOP_APP_SWITCHES.
* Context -- hide BACKUP_SERVICE.
* ContextWrapper -- hide getSharedPrefs bla h blah
* Intent.parseUri() -- fix docs.
* ApplicationInfo.FLAG_TEST_ONLY?!?
* Hide MockContext.getSharedPrefs blah blah
ontext.java
ontextWrapper.java
ntent.java
ntentSender.java
m/ApplicationInfo.java
30b06eb8b98b6e6dc685cf65ad4faa25a85008c5 24-Jul-2009 Mitsuru Oshima <oshima@google.com> am 589cebe2: * Use the scaled size for surface view instead of native. The surface will be always scaled by surface flinger in compatiblity mode. The original approach confused the app because the surface size and the view size were different. * a few clean up. remo

Merge commit '589cebe2d58591403de4a77077941c0454bc91bc'

* commit '589cebe2d58591403de4a77077941c0454bc91bc':
* Use the scaled size for surface view instead of native. The surface will be always scaled
d4a1d2e14297a3387fdb5761090961e714370492 17-Jul-2009 Fred Quintana <fredq@google.com> add account manager permission checking
m/RegisteredServicesCache.java
589cebe2d58591403de4a77077941c0454bc91bc 23-Jul-2009 Mitsuru Oshima <oshima@google.com> * Use the scaled size for surface view instead of native. The surface will be always scaled
by surface flinger in compatiblity mode. The original approach confused the app because
the surface size and the view size were different.
* a few clean up. removed unsed arguments, obsolete conditions from getTranslator()
(expandable check was a bug)
es/CompatibilityInfo.java
c00c04d7d8758a5ade185d465624e47dcf1bd7c0 22-Jul-2009 Dianne Hackborn <hackbod@google.com> am 11b822d2: Simplify density compatibility to a boolean.

Merge commit '11b822d2a91ea17c34c0cb1c11e80a9a30d72864'

* commit '11b822d2a91ea17c34c0cb1c11e80a9a30d72864':
Simplify density compatibility to a boolean.
11b822d2a91ea17c34c0cb1c11e80a9a30d72864 22-Jul-2009 Dianne Hackborn <hackbod@google.com> Simplify density compatibility to a boolean.

Instead of a list, we now just have a single boolean indicating whether an
application is density aware, and this set set to true by default as of
Donut.
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
es/CompatibilityInfo.java
a8339dfec9d1b2c6d6fd2f8268f8075d184f64c0 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 9fc20b0e: Merge change 8126 into donut

Merge commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf'

* commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf':
First pass at reworking screen density/size APIs.
c4db95c077f826585d20be2f3db4043c53d30cf5 22-Jul-2009 Dianne Hackborn <hackbod@google.com> First pass at reworking screen density/size APIs.

This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources. Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
m/ApplicationInfo.java
m/PackageParser.java
es/CompatibilityInfo.java
es/Configuration.java
fead9b8ad0c6e64066fb73f4285b088ab68f452b 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am fe6f45c8: Merge change 8098 into donut

Merge commit 'fe6f45c81463d2d28e11ac6083f2653e1286c5ef'

* commit 'fe6f45c81463d2d28e11ac6083f2653e1286c5ef':
cast is floor. Use round instead.
fe6f45c81463d2d28e11ac6083f2653e1286c5ef 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8098 into donut

* changes:
cast is floor. Use round instead. This fixes a few layout issues (that was due to smaller widnow size)
61324e58c549670c015010d0be14c6af76e3e9f7 22-Jul-2009 Mitsuru Oshima <oshima@google.com> cast is floor. Use round instead.
This fixes a few layout issues (that was due to smaller widnow size)
es/CompatibilityInfo.java
078bc317b741b601b857f64393e639df0e9a7dc4 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 43f8d2e5: Merge change 8106 into donut

Merge commit '43f8d2e58ce75d1705ad3ee347ae4eaee5dc9b6a'

* commit '43f8d2e58ce75d1705ad3ee347ae4eaee5dc9b6a':
Add note to Intent.fillIn javadoc to describe component copying behavior.
43f8d2e58ce75d1705ad3ee347ae4eaee5dc9b6a 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8106 into donut

* changes:
Add note to Intent.fillIn javadoc to describe component copying behavior.
3e391759d9e7e99fd5ab2d5400bf5acdd54dc808 22-Jul-2009 Brett Chabot <brettchabot@google.com> Add note to Intent.fillIn javadoc to describe component copying behavior.
ntent.java
fe923cf2d6b5dec2b49370d70689152e0966c40d 21-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 2c25fac2: Merge change 8036 into donut

Merge commit '2c25fac23e5daafd62238f4c3dd031e3f4cd76f1'

* commit '2c25fac23e5daafd62238f4c3dd031e3f4cd76f1':
* Disable compatibility mode for all cases.
69fff4a72d4dfc9208db79d773ef3ca23350287e 21-Jul-2009 Mitsuru Oshima <oshima@google.com> * Disable compatibility mode for all cases.
m/ApplicationInfo.java
m/PackageParser.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
bstractSyncableContentProvider.java
bstractTableMerger.java
ontext.java
ontextWrapper.java
IntentReceiver.aidl
IntentSender.aidl
ntent.java
ntentFilter.java
ntentSender.aidl
ntentSender.java
yncStorageEngine.java
m/ActivityInfo.java
m/ApplicationInfo.java
m/ConfigurationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
es/AssetFileDescriptor.java
es/AssetManager.java
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
87d78b55095312bd7c8c5ce78d7e7bf142a89adb 21-Jul-2009 Ken Shirriff <kens@google.com> resolved conflicts for merge of 732140ce to master
c1f2836796a7dfc679547689ee8124ae0b09b60e 20-Jul-2009 Ken Shirriff <kens@google.com> Fix updates from read-only calendar.

Change 2934 introduced a bug that causes updates to an event on a
read-only shared calendar to be discarded by the device. The
issue is the server version is null for a read-only calendar.

bug=1990826
bstractTableMerger.java
a065b01904d5017232c9b51ccb174412ff57e138 20-Jul-2009 Mitsuru Oshima <oshima@google.com> am 841f13c8: * Reverted the change in PackageParser that I checked by accident * More surface view fix. - correct event translation on surface view. - use compatible window * removed FLAG_NO_COMPATIBILITY_SCALE. It was my misunderstanding of how SurfaceView works,

Merge commit '841f13c8e9ff3f7695b6c18a8abcec3c947983ff'

* commit '841f13c8e9ff3f7695b6c18a8abcec3c947983ff':
* Reverted the change in PackageParser that I checked by accident
bec99bffeecacb1af603966391014895f9a16025 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 5c536e91: Merge change 7840 into donut

Merge commit '5c536e9162721c460699a041959a0d67de1d20db'

* commit '5c536e9162721c460699a041959a0d67de1d20db':
Fix issue where scaled bitmap sizes could be wrong.
469b4c67adc77a87eb2c9ed9217edf1778002828 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am aad0fcc9: Merge change 7783 into donut

Merge commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54'

* commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54':
Add "nodpi" density, and expose a bunch of density-related APIs.
841f13c8e9ff3f7695b6c18a8abcec3c947983ff 18-Jul-2009 Mitsuru Oshima <oshima@google.com> * Reverted the change in PackageParser that I checked by accident
* More surface view fix.
- correct event translation on surface view.
- use compatible window
* removed FLAG_NO_COMPATIBILITY_SCALE. It was my misunderstanding of how SurfaceView works, and this was not necessary.
* Added compatibility related info to package dumpsys
m/PackageParser.java
es/CompatibilityInfo.java
2784ff0af88128f66ae690b73d48fb7e4a211e68 19-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix issue where scaled bitmap sizes could be wrong.

The Bitmap functions to get the scaled width/height couldn't actually
do the right thing because they didn't know the destination they would
be drawing to. Now there are two forms of them, taking an explicit
parameter specifying the destination.
es/CompatibilityInfo.java
a53b828635fce8b6b2d3e3377d74d72070056623 17-Jul-2009 Dianne Hackborn <hackbod@google.com> Add "nodpi" density, and expose a bunch of density-related APIs.

Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
es/CompatibilityInfo.java
es/Resources.java
0fde7de9d660e4acdb8404f954f75d8c331b5d45 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 54f09101: Merge change 7613 into donut

Merge commit '54f09101381fa63dca35ae4ea0ba3802ee863236'

* commit '54f09101381fa63dca35ae4ea0ba3802ee863236':
* Use Fede In/Out animation if one of opening/closing apps is in compatibility mode.
54f09101381fa63dca35ae4ea0ba3802ee863236 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7613 into donut

* changes:
* Use Fede In/Out animation if one of opening/closing apps is in compatibility mode. * preserve compatibility window flag when the app updates window's layout params. * Added assertion in DEFAULT_COMPATIBILITY_INFO object to prevent unintentional modification. * A few minor updates * log/dump message improvement * Removed unnecessary method in FadeInOutAnimator * Fixed 100 char issue in WindwoManagerServer.java
5a2b91dc14e4c92e91c6abcc795f54ac98ee5866 17-Jul-2009 Mitsuru Oshima <oshima@google.com> * Use Fede In/Out animation if one of opening/closing apps is in compatibility mode.
* preserve compatibility window flag when the app updates window's layout params.
* Added assertion in DEFAULT_COMPATIBILITY_INFO object to prevent unintentional modification.
* A few minor updates
* log/dump message improvement
* Removed unnecessary method in FadeInOutAnimator
* Fixed 100 char issue in WindwoManagerServer.java
es/CompatibilityInfo.java
bd3e0ce5a288d75e5e420f52da31c34be59063f4 17-Jul-2009 Charles Chen <clchen@google.com> resolved conflicts for merge of 3e522c45 to master
49a60157d1c4b49450410fc30b8fcd8ab0e3480b 16-Jul-2009 Charles Chen <clchen@google.com> Adding public intents for TTS to enable checking for TTS data,
installing TTS data, and finding out when the TTS queue has
finished processing.
ntent.java
6a294263f78ce8177de48cb9480bbe39d9e442cd 16-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'goog/readonly-korg-master' into merge_korg_master

* commit 'goog/readonly-korg-master':
Fixed Android issue #400, where the Intent documentation was inaccurate in a number of places, undoubtedly causing untold grief to innumerable masses.
Bug Fixed for libagl.
8294fadb155a33da8a40d8412afb35e6b424afcb 16-Jul-2009 Joe Onorato <joeo@android.com> Make sync not start until setup wizard is done.
yncManager.java
yncStorageEngine.java
6630e4a1dc40850eb7a4ddc8aaa06479469e8c4d 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am b5c735d3: Merge change 7106 into donut

Merge commit 'b5c735d35c8c1d2fb4e4654fbffcdb62d5acab4d'

* commit 'b5c735d35c8c1d2fb4e4654fbffcdb62d5acab4d':
Return adjusted display for WindowManager.getDefaultDisplay()
b5c735d35c8c1d2fb4e4654fbffcdb62d5acab4d 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7106 into donut

* changes:
Return adjusted display for WindowManager.getDefaultDisplay()
c66c0abbb8015c3b9ced5f520a8803d5a8d35cb9 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 83a066c6: Merge change 7135 into donut

Merge commit '83a066c6d8ed953c3f5a1a44316509c9a9b0c6c2'

* commit '83a066c6d8ed953c3f5a1a44316509c9a9b0c6c2':
Fixes lock on Home. Adds a new API on Dialog to get a callback when the dialog
83a066c6d8ed953c3f5a1a44316509c9a9b0c6c2 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7135 into donut

* changes:
Fixes lock on Home. Adds a new API on Dialog to get a callback when the dialog shows.
045163ac16d5fba694a3b46d0cecb3d84863eaed 14-Jul-2009 Romain Guy <romainguy@android.com> Fixes lock on Home. Adds a new API on Dialog to get a callback when the dialog
shows.
ialogInterface.java
dace230043314d6fab1c5ced4b031eaccd814c25 14-Jul-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of b06ea706 to master
b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0 13-Jul-2009 Dianne Hackborn <hackbod@google.com> Add reporting of activity movement for search manager.

This adds a new API with the activity manager to find out about movement between
activities. For my sanity, the old IActivityWatcher is now renamed to
IActivityController, and the new activity movement interface is named
IActivityWatcher.

This changes the search manager itself to use the new API to manage its state.
Note that there are still problems when going back to the search dialog after
it was hidden -- the suggestions window no longer appears until you explicitly
dismiss and re-show it.
yncStorageEngine.java
ddd12535f095d8d056716c3290faf50ec52a538a 14-Jul-2009 Mitsuru Oshima <oshima@google.com> Return adjusted display for WindowManager.getDefaultDisplay()
es/Resources.java
e375fc5cacc187d1ee217a72e31f59a20e129c62 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6787

* changes:
AbstractSyncableContentProvider must only call onAccountsChanged with GAIA accounts
a62e3e4d0f4d18f4b8d31876e035d3ae57f88f40 13-Jul-2009 Mitsuru Oshima <oshima@google.com> am ba3ba579: * Use cached resources for widgets

Merge commit 'ba3ba57921dedaaef669719c0359c0caf60e008b'

* commit 'ba3ba57921dedaaef669719c0359c0caf60e008b':
* Use cached resources for widgets
602bee5bf2a4f688b050077291288b473a7cc6db 13-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am cf29e116: Merge change 6867 into donut

Merge commit 'cf29e116129f38309c18ba14b9893b079a712289'

* commit 'cf29e116129f38309c18ba14b9893b079a712289':
CLOSE_SYSTEM_DIALOGS can't be protected.
ba3ba57921dedaaef669719c0359c0caf60e008b 09-Jul-2009 Mitsuru Oshima <oshima@google.com> * Use cached resources for widgets
m/PackageParser.java
es/Resources.java
4554f30c834723db6946400bf1827be4419a3134 11-Jul-2009 Dianne Hackborn <hackbod@google.com> CLOSE_SYSTEM_DIALOGS can't be protected.
ntent.java
54a26bc85f4fe972e929e42b986c65a710a229b3 11-Jul-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 889c2d37 to master
8ecb36eec61f119f500a805b82438aadb3396a19 10-Jul-2009 Yusuf T. Mobile <yusuf.saib@T-Mobile.com> Fixed Android issue #400, where the Intent documentation was inaccurate in a number of places, undoubtedly causing untold grief to innumerable masses.
ntent.java
45107e0c328dc689effc62b7a5a5afc6f18c94ac 10-Jul-2009 Marc Blank <mblank@google.com> AbstractSyncableContentProvider must only call onAccountsChanged with GAIA accounts

Currently, ASCP calls onAccountsChanged with an array of ALL accounts, but
ContactsProvider and CalendarProvider assume these are all GAIA accounts.
This can cause a looping crash in acore, so the code has been changed to
only pass an array of GAIA accounts...
bstractSyncableContentProvider.java
854060af30f928c0a65591e9c8314ae17056e6b8 10-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix bug #1873249i: Apps can DoS/brick device

This is the problem where various things are listening for broadcasts
(such as battery status, PIN/PUK/Network) that an application can send
to cause harm to the system.

Solving this is tricky because many of these broadcasts are sticky,
and I have never figured out how to do permissions with sticky
broadcasts in a sane way. So instead, I am going to punt on the
general problem and just brute force it:

There is new a way for system components to declare specific
broadcast actions to be protected, which means that only the system
and the phone can send them. This is good enough for now. None
of it is exposed in the public API so we can make something a little
less stupid in the future if we ever need to.
ntent.java
m/IPackageManager.aidl
m/PackageParser.java
e3f054411b9f025848f68389c4e2c325e76b3826 09-Jul-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 2af632f8 to master
2af632f87d487deaa5b2eb71341cfc4f0c0d1173 08-Jul-2009 Dianne Hackborn <hackbod@google.com> Add new <path-permission tag for use by global search.

This adds a new <path-permission> tag you can use inside of a <provide>
to define additional path-based permissions that broaden the global
read and write permissions. The initial use for this will be global
search, so that a content provider that is protected by permissions
can make a part of itself available to global search under another
permission. This addresses the issue with global search not being able
to request permissions it would need of providers it doesn't know
about at build time.
ontentProvider.java
m/PackageParser.java
m/PathPermission.java
m/ProviderInfo.java
c3f60ddaeadb69c1e85198e609e575f55ecc28ac 09-Jul-2009 Mitsuru Oshima <oshima@google.com> am 1ecf5d28: Re-implementation of large screen support using window manager. * added background filler surface to fill the outer rim. Using the same layer as dim surface because they never co-exists (in the same window) * clean up the obsolete code in Compatibilt

Merge commit '1ecf5d28817f0a051e77488380dcd5bc622ea169'

* commit '1ecf5d28817f0a051e77488380dcd5bc622ea169':
Re-implementation of large screen support using window manager.
1ecf5d28817f0a051e77488380dcd5bc622ea169 07-Jul-2009 Mitsuru Oshima <oshima@google.com> Re-implementation of large screen support using window manager.
* added background filler surface to fill the outer rim. Using the same layer as dim surface because
they never co-exists (in the same window)
* clean up the obsolete code in CompatibiltyMode/ViewRoot for support large screen support.
m/ApplicationInfo.java
m/PackageParser.java
es/CompatibilityInfo.java
507f8ed2e05f97b20307b900fbc7308e0f8fdb83 09-Jun-2009 Kenny Root <kenny@the-b.org> Fix Configuration documentation for new constants

* Added KEYBOARD_NOKEYS link to Javadoc for keyboard.
* Added NAVIGATION_NONAV link to Javadoc for navigation.
es/Configuration.java
81a476f654155df27aa564a4aebf931eab588e6d 20-May-2009 Alan Jones <skyphyr@gmail.com> Fixed Issue 2682: ContentProvider query() SDK docs deprecated
ontentProvider.java
ce3082e745144f11239f1263eceeaa40b1c215fa 07-Jul-2009 Mitsuru Oshima <oshima@google.com> am 569076c9: widgets scaling fix. Use container\'s compatibility info and display metrics when container and widgets disagree.

Merge commit '569076c9f6bdadb4d3285a26e069634a839b5b87'

* commit '569076c9f6bdadb4d3285a26e069634a839b5b87':
widgets scaling fix. Use container's compatibility info and display metrics when container and widgets disagree.
569076c9f6bdadb4d3285a26e069634a839b5b87 03-Jul-2009 Mitsuru Oshima <oshima@google.com> widgets scaling fix. Use container's compatibility info and display metrics when container and widgets disagree.
es/CompatibilityInfo.java
es/Resources.java
f6a34dd6ab7f4803a2bbfed1cc8910e879e6a79d 07-Jul-2009 -b master <yamasani@google.com> resolved conflicts for merge of b7195159 to master
b71951591d72cddb4dbc3d39778dfcb5597a5733 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6287 into donut

* changes:
Restore GPS state and ringer/vibrate toggles.
70c874ba20b586712a7550b6c5efeb6dc0fdf9fa 06-Jul-2009 Amith Yamasani <yamasani@google.com> Restore GPS state and ringer/vibrate toggles.

Inform backup manager when sync flags change. Set ringer/vibrate mode.
yncStorageEngine.java
a2b5dab5b7796d3967c73df95154810ae38efd82 07-Jul-2009 Romain Guy <romainguy@android.com> am 870e09fc: Fixes #1963229. Introduces Context#isRestricted().

Merge commit '870e09fcd2dfdc12ac318962efd28b0420c562bb'

* commit '870e09fcd2dfdc12ac318962efd28b0420c562bb':
Fixes #1963229. Introduces Context#isRestricted().
870e09fcd2dfdc12ac318962efd28b0420c562bb 07-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1963229. Introduces Context#isRestricted().

A restricted Context is a special type of Context that prevents specific features
from being used. For instance, android:onClick, used by View, can be dangerous when
used from within apps widgets. By using a restricted Context to inflate apps widgets,
widgets providers are prevented from using android:onClick.
ontext.java
ontextWrapper.java
5d16cd046298ec9e009cfdd2056c64c1a9ac5ba3 03-Jul-2009 Dianne Hackborn <hackbod@google.com> am d7cd29da: Add facility to run setup wizard after an update.

Merge commit 'd7cd29da91ccc0aba1f1097e19366f9ca36c7ce1'

* commit 'd7cd29da91ccc0aba1f1097e19366f9ca36c7ce1':
Add facility to run setup wizard after an update.
8ec5b83fc8f8aa68805c4d5987f8f75bb28250ca 02-Jul-2009 Dianne Hackborn <hackbod@google.com> Merge commit '1dac277f' into manualmerge

Required rewriting the okay battery broadcast stuff.

Conflicts:
services/java/com/android/server/status/StatusBarPolicy.java
d7cd29da91ccc0aba1f1097e19366f9ca36c7ce1 01-Jul-2009 Dianne Hackborn <hackbod@google.com> Add facility to run setup wizard after an update.

The system now keeps a tag of the last version (just an arbitrary string)
that the setup wizard was run for. If this is different than the current
one in the setup wizard, then setup is launched at boot.

This introduces a new intent action for the part of the setup wizard that
gets run for an ungrade, which the system uses to find its current version
tag for comparing against what was last stored. It is up to the launched
setup activity update the stored setting to reflect its current value,
once it is happy.
ntent.java
1dac277f93a80c53a870b8924508dd2af81293de 27-Jun-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1943927 (need notification in status bar when adb is active)

This is a little hacky -- we just assume that if adb is enabled and power
is connected through usb, then it is active.

The icons and text are temporary until final design is provided.
ntent.java
f6ff591decdea6299aab1a5b6f95917800571de4 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72eb0aca: Merge change 5483 into donut

Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'

* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
723738cfaec3dd7b0fe152c872c41bebf94074c4 26-Jun-2009 Dianne Hackborn <hackbod@google.com> Expand support for different screen sizes.

Applications can now declare that they support small, normal, or
large screens. Resource selection can also be done based on these
sizes. By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes. In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
m/ActivityInfo.java
m/ApplicationInfo.java
m/PackageParser.java
es/AssetManager.java
es/CompatibilityInfo.java
es/Configuration.java
es/Resources.java
ecf2b68d834d334de218dc427615b4ca05c0293a 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 7941e903: Merge change 5091 into donut

Merge commit '7941e903c973af66075bbd4fa4bcadf021a61ccc'

* commit '7941e903c973af66075bbd4fa4bcadf021a61ccc':
* new screen resolution support impl.
7941e903c973af66075bbd4fa4bcadf021a61ccc 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5091 into donut

* changes:
* new screen resolution support impl. * use full window for activities, and shift & clip the content * refactored the compatibility code, and introdcued Translator class to handle cooridnate translations. * removed a workaround to handle an activity with configChagne=rotation in old implementation. * I'll fix background issue on rotation in next CL.
69866cea4dff6dfc6ccf36878593ce949faab9ea 25-Jun-2009 Charles Chen <clchen@google.com> resolved conflicts for merge of 5158cc55 to master
0477954a6788138f8224b634fa1955cef56d47bc 24-Jun-2009 Charles Chen <clchen@google.com> Adding TTS_QUEUE_PROCESSING_COMPLETED action to the list of Intents
ntent.java
64f59342d41849bd365cb43fad7505d5e3daa417 21-Jun-2009 Mitsuru Oshima <oshima@google.com> * new screen resolution support impl.
* use full window for activities, and shift & clip the content
* refactored the compatibility code, and introdcued Translator class to handle cooridnate translations.
* removed a workaround to handle an activity with configChagne=rotation in old implementation.
* I'll fix background issue on rotation in next CL.

* removed unnecessary scaling code in SurfaceView, which I forgot to remove when I changed SurfaceView
not to scale the content.
es/CompatibilityInfo.java
es/Resources.java
ac9385ef3105fb7464e1f46049c62755a8b7f0e9 23-Jun-2009 Fred Quintana <fredq@google.com> - clean up the sync settings names to:
(get|set)SyncAutomatically
(get|set)MasterSyncAutomatically
- change SYNC_EXTRAS_FORCE to SYNC_EXTRAS_MANUAL to mace clear that
this overrides the .*SyncAutomatically settings
- make ContentResolver methods that call the sync controls methods
in IContentService so that SDK users can use them
- rename startSync to requestSync to reinforce the fact that a sync
is not immediately or always started when this method is called
- add an Account parameter to all the sync settings and control methods
- change the sync control methods to take a String authority rather than a Uri uri
bstractSyncableContentProvider.java
ontentResolver.java
ontentService.java
ContentService.aidl
yncAdapterType.aidl
yncAdapterType.java
yncManager.java
yncStatusObserver.java
yncStorageEngine.java
empProviderSyncAdapter.java
c13713519dd92f0008415bef8499d85bd7e3edb4 19-Jun-2009 Dianne Hackborn <hackbod@google.com> am 3d74bb4a: Add "why?" button to low battery dialog.

Merge commit '3d74bb4ab27ae9601f5c9c3706fad287845fb672'

* commit '3d74bb4ab27ae9601f5c9c3706fad287845fb672':
Add "why?" button to low battery dialog.
3d74bb4ab27ae9601f5c9c3706fad287845fb672 19-Jun-2009 Dianne Hackborn <hackbod@google.com> Add "why?" button to low battery dialog.

This takes the user to the power usage activity.
ntent.java
c73e9ad55a28f6bec3260e919573e0597fdd23ab 19-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> am bc806f65: Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.

Merge commit 'bc806f65edc33f6eda0f475ac84e5e037a013a90'

* commit 'bc806f65edc33f6eda0f475ac84e5e037a013a90':
Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.
bc806f65edc33f6eda0f475ac84e5e037a013a90 18-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.
m/IPackageManager.aidl
m/PackageManager.java
1e3fc65b1f86bc97f4f375ae747658b555978ca7 19-Jun-2009 Wu-cheng Li <wuchengli@google.com> am 649f99e8: Add Intent.ACTION_SEND_MULTIPLE

Merge commit '649f99e8347984c1e031dae302830f4c9ebd3df4'

* commit '649f99e8347984c1e031dae302830f4c9ebd3df4':
Add Intent.ACTION_SEND_MULTIPLE
649f99e8347984c1e031dae302830f4c9ebd3df4 17-Jun-2009 Wu-cheng Li <wuchengli@google.com> Add Intent.ACTION_SEND_MULTIPLE

Activities can use this intent to send multiple data.
ntent.java
8dbbe3b52f815c49be986814743a521f802b4785 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 63e7155c: Merge change 4696 into donut

Merge commit '63e7155c7d1d0c3f0027400aa09e9a45f648a80d'

* commit '63e7155c7d1d0c3f0027400aa09e9a45f648a80d':
Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
63e7155c7d1d0c3f0027400aa09e9a45f648a80d 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4696 into donut

* changes:
Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
5c1e00b14d2ef10ec76abf3e951fa8003a67f558 19-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.

- Fix a bug where targetSdkVersion could not be set if minSdkVersion. Stupid, stupid.
Also make sure to fail if minSdkVersion is for a code name. Really stupid.

- Change the API for resize compatibility mode to be a bit in the flags field, instead
of a separate boolean.

- Implement delayed dexopting, to avoid the looong full dexopt during boot. This is
only enabled for "eng" builds. When in this mode, the activity manager will make
sure that a dexopt has been done before loading an .apk into a process, and will
try to avoid displaying ANRs if they are due to the dexopt causing some operation
to take longer than it normally would (though I make no guarantees about this
totally working).

- Add API to Context to get the ApplicationInfo for its package, for easy access to
things like targetSdkVersion.
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
es/CompatibilityInfo.java
351b36c414b31e720532850761d95a9ec12ee8b4 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 0bceb77b: Merge change 4669 into donut

Merge commit '0bceb77b004a688ca044b794e0622385c6e2953d'

* commit '0bceb77b004a688ca044b794e0622385c6e2953d':
Fixes #1922373. Resolves a case of keys collision in Resources' cache.
fdbf6a7eac39a23e0e910c29678fe00d4eb56c99 19-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1922373. Resolves a case of keys collision in Resources' cache.

The Resources class keeps a cache of known resources. The keys used by the
cache are stored as int primitives. For any given drawable resource, a key
is built thusly:

TypeValue.assetCookie << 24 | TypedValue.data

In the case of a plain color drawable, assetCookie always equals -1, that
is 0xFF once right-shifted and the data contains the color value. Which
means the key for the following two colors is the same:

0xFF000000
0x00000000

Because of the int storage and the use of the (constant in this case)
asset cookie, the alpha channel of a color is ignored. That means that
if you first load an opaque black color (0xFF000000), subsequent loads
of a totally transparent black color (0x00000000) will give you an
opaque black color.

A workaround is to use a transparent color that is not black,
0x00000001 for instance. Note that this issue would arise with any color
and any opacity level.

The solution to fix this issue is simply to change the cache to use
longs instead of ints to represent the keys. A key thus becomes:

TypedValue.assetCookie << 32 | TypedValue.data

This allows us correct storage of all colors at the cost of a few bytes.
The tradeoff is that we can keep caching ColorDrawable, which is
definitely worth it.
es/Resources.java
abb01dba70fa52b3576fa9f6a175f3840b959fde 18-Jun-2009 Dianne Hackborn <hackbod@google.com> am c14b9ccd: Extend Intent/Uri conversion for use by Browser

Merge commit 'c14b9ccdf13163cae5ce5d21bcf377010b37594b'

* commit 'c14b9ccdf13163cae5ce5d21bcf377010b37594b':
Extend Intent/Uri conversion for use by Browser
c14b9ccdf13163cae5ce5d21bcf377010b37594b 18-Jun-2009 Dianne Hackborn <hackbod@google.com> Extend Intent/Uri conversion for use by Browser

This introduces a new Uri form of Intent with an "intent:" scheme, and a
corresponding update to the parser to handle these, so that the browser
can use this generic facility for starting activities based on the links
that are clicked and allow for web pages to link to arbitrary intents.

There is also a new "package" field on Intent which allows you to limit
the components it finds to a given package. This replaces the new method
that was added to PackageManger for doing this when resolving activities,
and implements it for all Intent queries against the package manager.
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
e1fae30e20b1515eeb036a7c103e1e70de130bdd 18-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Merge commit '0781df94' into manualmerge

Conflicts:
Android.mk
api/current.xml
31708d464546b0ae7ca147e1d2708b904ab88f32 18-Jun-2009 Romain Guy <romainguy@android.com> resolved conflicts for merge of 3571ff40 to master
0781df943e5a7a72ac82394874b6200d14ddd02c 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4129 into donut

* changes:
Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app Create a new public IntentSender class that can be used by PackageManager instead. This new class uses IIntentSender internally and can only be created by PendingIntent for now. Provide a new getIntentSender api in PendingIntent to create an instance of this class. Move IIntentSender and IIntentReceiver from android.app to android.content Change imports of IIntentSender and IIntentReceiver to reflect the new package name The PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage once the older api(which has been deprecated) will be removed shortly.
1ccac75e1f1b97eccb916a8de04fc1012b30f6e5 12-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app
Create a new public IntentSender class that can be used by PackageManager instead.
This new class uses IIntentSender internally and can only be created by PendingIntent for now.
Provide a new getIntentSender api in PendingIntent to create an instance of this class.
Move IIntentSender and IIntentReceiver from android.app to android.content
Change imports of IIntentSender and IIntentReceiver to reflect the new package name
The PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage
once the older api(which has been deprecated) will be removed shortly.
IntentReceiver.aidl
IntentSender.aidl
ntentSender.aidl
ntentSender.java
m/IPackageManager.aidl
m/PackageManager.java
4969af7d9f58f8e08b7beca20a87f4da2131f72a 17-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1107690. Updates javadoc for Intent.java, android:value -> android:name.

Also fixes the <type android:value /> tags, they are now <data android:mimeType />
ntent.java
21bb0deb36af32339521038cdbd827f74468df4a 16-Jun-2009 Fred Quintana <fredq@google.com> beef up the syncadapter API
bstractThreadedSyncAdapter.java
SyncAdapter.aidl
yncAdapter.java
yncAdapterNew.java
yncManager.java
ef29379c28596dfa02702fad46bbe2f599e2e073 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4023 into donut

* changes:
Fix IntentFilter constructor to properly process the action parameter.
9788976b1465ce982b5ae7c741345edd0ecd9322 15-Jun-2009 Fred Quintana <fredq@google.com> add icon and label to the authenticator description
yncAdaptersCache.java
yncManager.java
m/RegisteredServicesCache.java
36800d4450233d7729879717be89ce2c6e8effb3 16-Jun-2009 Ken Shirriff <kens@google.com> Fix AbstractTableMerger for new Account format.

eclair has a _SYNC_ACCOUNT_TYPE field that isn't in donut,
so SELECT_UNSYNC needs to be updated with that field.
The lack of it causes a SQLiteException.
bug=1906760
bstractTableMerger.java
bf85d63cb8858432ff845250fdaffdb556d2ef1b 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 78f0f8cb: Merge changes 3953,3954 into donut

Merge commit '78f0f8cb2efe9410127c39201e240f6d438eb53c'

* commit '78f0f8cb2efe9410127c39201e240f6d438eb53c':
Make the file backup helper not crash if a file you requested
Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.
56e78d9a04dc779d40bd45710b4706f25d841cb5 12-Jun-2009 Phil Dubach <phillipd@google.com> Fix IntentFilter constructor to properly process the action parameter.
ntentFilter.java
c933fb663e4748c4fa3f92fc63649e5199519a86 11-Jun-2009 Fred Quintana <fredq@google.com> add a data_version column to the data table
ontentProviderOperation.java
23ecae3bbb60c5af940f3a22170d75eb6ac05b69 11-Jun-2009 Joe Onorato <joeo@android.com> Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.

This took quite a bit of refactoring.
ontext.java
ontextWrapper.java
bd6b11dd582d7c7dde64e355f967f5ed77a9870d 11-Jun-2009 Mitsuru Oshima <oshima@google.com> am e5fb3288: resolution support fix/improvement * adding compatibility menu * backup gravity * set expanable=true if the screen size is hvga * density. * added "supports any density" mode. I\'ll add sdk check later. * disallow to catch orientation c

Merge commit 'e5fb328825995aa33b5b7ecf8b5bee2b17f81715'

* commit 'e5fb328825995aa33b5b7ecf8b5bee2b17f81715':
resolution support fix/improvement
e5fb328825995aa33b5b7ecf8b5bee2b17f81715 10-Jun-2009 Mitsuru Oshima <oshima@google.com> resolution support fix/improvement
* adding compatibility menu
* backup gravity
* set expanable=true if the screen size is hvga * density.
* added "supports any density" mode. I'll add sdk check later.
* disallow to catch orientation change event if the app is not expandable. This
was causing layout problem under non-expandable mode. I discussed this with Mike C
and we agreed to do this approach for now. We'll revisit if this causes problem to
a lot of applications.
m/ApplicationInfo.java
es/CompatibilityInfo.java
es/Resources.java
acc44cce8fad6e6ae1ced85915c129900ad7b890 09-Jun-2009 Kenny Root <kenny@the-b.org> Fix Configuration documentation for new constants

* Added KEYBOARD_NOKEYS link to Javadoc for keyboard.
* Added NAVIGATION_NONAV link to Javadoc for navigation.
es/Configuration.java
793f0ffc238a27f853c84ce3d2838ed33a1c2895 08-Jun-2009 Ken Shirriff <kens@google.com> resolved conflicts for merge of 410ea6 to master
e7eb9662c3f719d50b0e671c05dae174c7f17802 08-Jun-2009 Ken Shirriff <kens@google.com> Fix contact creation.

This was broken by my change 2934.
bug=1903820
bstractTableMerger.java
76ff31b201da1e4b0b9cfe21bf5a877cc9d645fe 06-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> am d299b819: Add a new attribute to android manifest for defining the GLES version number. This attribute is parsed by the PackageParser into ConfigurationInfo. The major and minor version numbers are defined as the higher and lower order bits.

Merge commit 'd299b8194dde8c4875e5f032918ab35ebad8b1f1'

* commit 'd299b8194dde8c4875e5f032918ab35ebad8b1f1':
Add a new attribute to android manifest for defining the GLES version number.
26763754495841294835a635b6ea49335e20821b 06-Jun-2009 Ken Shirriff <kens@google.com> resolved conflicts for merge of 716b56 to master
d299b8194dde8c4875e5f032918ab35ebad8b1f1 05-Jun-2009 Suchi Amalapurapu <asuchitra@google.com> Add a new attribute to android manifest for defining the GLES version number.
This attribute is parsed by the PackageParser into ConfigurationInfo. The major
and minor version numbers are defined as the higher and lower order bits.
m/ConfigurationInfo.java
m/PackageParser.java
716b56817aee1c0b584266a686b18a1c02ea0116 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2934 into donut

* changes:
Don't crash on null edit url.
7805835e0fb58a8f20be37099e8fd3c93631c76f 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 7ebda6f1: Merge change 3265 into donut

Merge commit '7ebda6f110708bdb704f8700a6b3473249b12baf'

* commit '7ebda6f110708bdb704f8700a6b3473249b12baf':
A workaround to fix rotation issue. I'm remote now and hard to do troubleshooting (i cannot rotate emulator in nx..)
2f5e6b2d31f445a4e9faf3a7ace94f9ef6948336 05-Jun-2009 Mitsuru Oshima <oshima@google.com> A workaround to fix rotation issue. I'm remote now and hard to do troubleshooting (i cannot rotate emulator in nx..)
es/CompatibilityInfo.java
7a9e348c0776d0d9ad773fbf304bff3fd0de2e7b 22-May-2009 Ken Shirriff <kens@google.com> Don't crash on null edit url.

bug=1568060
bstractTableMerger.java
d8dfeb5ee82d679f491cd20e776907a69fb4f27c 04-Jun-2009 Fred Quintana <fredq@google.com> - make it easier to add content values to the ContentProviderOperation
- add the group membership common kind as well as some IM utilities to the ContactsContract
ontentProviderOperation.java
342d59d3197caa1cd1de7a600c6e0ba4a59883f4 04-Jun-2009 Mitsuru Oshima <oshima@google.com> am 9189cabb: * Moved supports-density tag under manifest * Refactored Compatibility code * Added CompatibilityInfo class * Removed getApplicationScale from Context * Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context * Expandable support * Added expandable tag under manifest * Old application w/o expandable is given the default screen size ([320, 480] x density). * The non-expandable window is centered.

Merge commit '9189cabb0b6c6c28232fe6f412b7ba7a37352a6a'

* commit '9189cabb0b6c6c28232fe6f412b7ba7a37352a6a':
* Moved supports-density tag under manifest
9189cabb0b6c6c28232fe6f412b7ba7a37352a6a 03-Jun-2009 Mitsuru Oshima <oshima@google.com> * Moved supports-density tag under manifest
* Refactored Compatibility code
* Added CompatibilityInfo class
* Removed getApplicationScale from Context
* Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context
* Expandable support
* Added expandable tag under manifest
* Old application w/o expandable is given the default screen size ([320, 480] x density).
* The non-expandable window is centered.
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
es/CompatibilityInfo.java
es/Resources.java
c0cbfda0fe0184bbb282bde4d894e2ff210c0e47 03-Jun-2009 Bjorn Bringert <bringert@android.com> am 963cd006: Allow creating AssetFileDescriptors for MemoryFiles.

Merge commit '963cd006c45716b034f656bf7e7179e6476f7e4d'

* commit '963cd006c45716b034f656bf7e7179e6476f7e4d':
Allow creating AssetFileDescriptors for MemoryFiles.
963cd006c45716b034f656bf7e7179e6476f7e4d 29-May-2009 Bjorn Bringert <bringert@android.com> Allow creating AssetFileDescriptors for MemoryFiles.

This allows content providers to use in-memory data to implement
ContentProvider.openAssetFile(), instead of just normal files
and sockets as before.

To test cross-process use of AssetFileDescriptors for MemoryFiles,
a test content provider and a client for it are added to
AndroidTests.

Fixes http://b/issue?id=1871731
es/AssetFileDescriptor.java
ae8c5b868fa518306b50e08da9e5258ad075fa61 03-Jun-2009 Satish Sampath <satish@android.com> am 8dbe612d: Adding internal method replacePreferredActivity.

Merge commit '8dbe612dc60526d635e57257b58627b33a099678'

* commit '8dbe612dc60526d635e57257b58627b33a099678':
Adding internal method replacePreferredActivity.
8dbe612dc60526d635e57257b58627b33a099678 03-Jun-2009 Satish Sampath <satish@android.com> Adding internal method replacePreferredActivity.

This was required because we need a way to set the preferred activity for a
particular intent filter based on user selection (in our case the
ACTION_WEB_SEARCH intent filter for selecting the preferred search engine from
the list of available search engines providers). The current
addPreferredActivity call was not sufficient since it leaves the existing
preferred activities in the list and does not remove them, which this call
does.
m/IPackageManager.aidl
m/PackageManager.java
03d9490758c9318cee6d14d3cc5007556dce92d0 22-May-2009 Fred Quintana <fredq@google.com> - create a new generic ISyncAdapter implementation, SyncAdapterNew
- change the applyBatch to take an ArrayList rather than an []
- change Entity to be a final flass that contains ContentValues
- remove the ability to update/insert Entities by a ContentProviderOperation
bstractSyncableContentProvider.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentProviderOperation.java
ontentProviderResult.java
ontentResolver.java
ntity.java
ntityIterator.java
ContentProvider.java
EntityIterator.java
yncAdapterNew.java
7c49790cde0acb494b6e8980662842c95dd8859a 01-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 162c9d0e: Merge change 2805 into donut

Merge commit '162c9d0e90eaa71adc8c7d1456d1a9a95e638c47'

* commit '162c9d0e90eaa71adc8c7d1456d1a9a95e638c47':
base: Rename WRITE_SDCARD -> WRITE_EXTERNAL_STORAGE
5a3a77dabd744d5be79d7745c2a977c108a9ad98 01-Jun-2009 San Mehat <san@google.com> base: Rename WRITE_SDCARD -> WRITE_EXTERNAL_STORAGE

Signed-off-by: San Mehat <san@google.com>
m/PackageParser.java
ad6042aa2342d0a869f84772774b47ae87346ccf 01-Jun-2009 Christopher Tate <ctate@google.com> am 181fafaf: Retool the backup process to use a new \'BackupAgent\' class

Merge commit '181fafaf48208978b8ba2022683ffa78aaeddde1'

* commit '181fafaf48208978b8ba2022683ffa78aaeddde1':
Retool the backup process to use a new 'BackupAgent' class
181fafaf48208978b8ba2022683ffa78aaeddde1 14-May-2009 Christopher Tate <ctate@google.com> Retool the backup process to use a new 'BackupAgent' class

Backups will be handled by launching the application in a special
mode under which no activities or services will be started, only
the BackupAgent subclass named in the app's android:backupAgent
manifest property. This takes the place of the BackupService class
used earlier during development.

In the cases of *full* backup or restore, an application that does
not supply its own BackupAgent will be launched in a restricted
manner; in particular, it will be using the default Application
class rather than any manifest-declared one. This ensures that the
app is not running any code that may try to manipulate its data
while the backup system reads/writes its data set.
m/ApplicationInfo.java
m/PackageParser.java
8e19b7c0e4c578703a1df0f8346b22b9e7c8a0f7 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> am a3d28bd5: Merge change 520 into donut

Merge commit 'a3d28bd5c278f750c70f2b87fce23df221cd4a01'

* commit 'a3d28bd5c278f750c70f2b87fce23df221cd4a01':
Enforce permissions for PhoneStateListener events.
45515659438964ec47f4feac247f0e9dce587c86 24-Apr-2009 Jaikumar Ganesh <jaikumar@google.com> Enforce permissions for PhoneStateListener events.

PhoneStateListener events like LISTEN_CALL_STATE_CHANGED,
have privacy information like phone numbers and hence,
need to be protected with a permission. The permission
READ_PHONE_STATE is used for this purpose. Use the permission
trick to ensure backward compatability.
m/PackageParser.java
385bb79ebb436e5672915eac2fc1a4fcdedf88b6 23-May-2009 Dianne Hackborn <hackbod@google.com> am b181118b: Define TARGET_CPU_ABI for finding native code in .apks

Merge commit 'b181118b6e58c0014da4e9d52bf38548adc73a8a'

* commit 'b181118b6e58c0014da4e9d52bf38548adc73a8a':
Define TARGET_CPU_ABI for finding native code in .apks
b181118b6e58c0014da4e9d52bf38548adc73a8a 22-May-2009 Dianne Hackborn <hackbod@google.com> Define TARGET_CPU_ABI for finding native code in .apks
m/PackageManager.java
8943737692169f564cd34a9c8d471f3a5d438712 16-May-2009 Fred Quintana <fredq@google.com> add ipc support to batching
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentProviderOperation.java
ontentProviderResult.java
ontentResolver.java
ContentProvider.java
EntityIterator.java
9f9cdcfa82d31f3aab97b5b4d789e4866d73b861 20-May-2009 Alan Jones <skyphyr@gmail.com> Fixed Issue 2682: ContentProvider query() SDK docs deprecated
ontentProvider.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ctiveSyncInfo.aidl
ctiveSyncInfo.java
omponentName.java
ontentResolver.java
ontentService.java
ontentServiceNative.java
ontext.java
ontextWrapper.java
ContentService.aidl
ContentService.java
SyncStatusObserver.aidl
ntent.java
ntentFilter.java
yncManager.java
yncProvider.java
yncStatusInfo.aidl
yncStatusInfo.java
yncStorageEngine.java
riMatcher.java
m/ApplicationInfo.java
m/IPackageInstallObserver.aidl
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
es/Configuration.java
es/Resources.java
72f3aa3762c630e5e4afd731f51e62c821c69c09 19-May-2009 Daisuke Miyakawa <dmiyakawa@google.com> Fix a bug in AbstractSyncableContentProvider.java and modify comments.
bstractSyncableContentProvider.java
7c3e18c558820de543e3aa4fb3a777940106166c 19-May-2009 Daisuke Miyakawa <dmiyakawa@google.com> resolved conflicts w/ 842a1f4b0beaacfaab940318fe19909e087aae81 merge....
bstractSyncableContentProvider.java
841ddefcb5720bcc1925f373b66224411f99a9fa 19-May-2009 Daisuke Miyakawa <dmiyakawa@google.com> Hand merge from cupcake_dcm to donut, part 2.

Modify Contacts-related java files and update vCard importer code to the latest.
bstractSyncableContentProvider.java
62da8461ed5317fe78ae5e3793662694e7fc99a3 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
m/ApplicationInfo.java
m/PackageParser.java
a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
m/ApplicationInfo.java
m/PackageParser.java
ce31b2361db630cf1347fa42dd77e610a4eeb96d 05-May-2009 Fred Quintana <fredq@google.com> enhance ContentProvider with the ability to perform batch operations
bstractSyncableContentProvider.java
ontentProvider.java
ontentProviderOperation.java
ontentProviderResult.java
perationApplicationException.java
dd6face5a66ed6c9ac24b2754ec046b82881182c 15-May-2009 Mihai Preda <preda@google.com> am eae850ce: Allow intent resolution to be constrained by package name.

Merge commit 'eae850cefe7e149f396c9e8ca1f34ec02b20a3f0'

* commit 'eae850cefe7e149f396c9e8ca1f34ec02b20a3f0':
Allow intent resolution to be constrained by package name.
eae850cefe7e149f396c9e8ca1f34ec02b20a3f0 13-May-2009 Mihai Preda <preda@google.com> Allow intent resolution to be constrained by package name.
m/IPackageManager.aidl
m/PackageManager.java
76879bc2343779d4d2a870b7bd46b0544c0cc46c 15-May-2009 svetoslavganov <svetoslavganov@google.com> resolved conflicts w/ 75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec merge....
75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec 15-May-2009 svetoslavganov <svetoslavganov@google.com> Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)
ontext.java
a64b860749ad7e5f9e887013d87b56b928c5d405 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am aa642c0c: Merge changes 1591,1596 into donut

Merge commit 'aa642c0cc20293137376d44f8221876c121e5be9'

* commit 'aa642c0cc20293137376d44f8221876c121e5be9':
Get the backup calling through to the file backup helper.
Fix typos.
Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
Add Intent.ACTION_APP_ERROR
ec2d74d40f9b7a8bf96feeb45a5d054d8b0ce0dd 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1545 into donut

* changes:
Add Intent.ACTION_APP_ERROR
5369ad6f5e4e9f972b30fb8f16e90557ef8431b0 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 541ff5d: Merge change 1566 into donut

Merge commit '541ff5df00984580e0245b3ae2c89b93e76b7c08'

* commit '541ff5df00984580e0245b3ae2c89b93e76b7c08':
Fix issue #1838944: Application sync settings cant be changed with auto sync on
541ff5df00984580e0245b3ae2c89b93e76b7c08 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1566 into donut

* changes:
Fix issue #1838944: Application sync settings cant be changed with auto sync on
a19fd7a0d604900375a38601821f8c2984e0eced 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1466

* changes:
define Intent.ACTION_REMOTE_INTENT, which replaces the old GTalk data messaging intent "android.intent.action.GTALK_DATA_MESSAGE_RECEIVED".
97ecc9cbe7eccafc0923d7655daf07f4c2ea9791 12-May-2009 Wei Huang <weih@google.com> define Intent.ACTION_REMOTE_INTENT, which replaces the old GTalk data messaging intent "android.intent.action.GTALK_DATA_MESSAGE_RECEIVED".

The remote intent concept shouldn't be limited to Google or GTalkService. It should be owned by the Android platform.
ntent.java
271cee6de82749b362c91406d9ad6dbc2fa09d5a 13-May-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1838944: Application sync settings cant be changed with auto sync on
yncStorageEngine.java
a086a973ddc2e1986116a54c284b3e2c71bff297 13-May-2009 Dianne Hackborn <hackbod@google.com> am e7fe35b: Whoops fix installing. I am dumb.

Merge commit 'e7fe35b88aa77766d322b8a683995a2bdae6210d'

* commit 'e7fe35b88aa77766d322b8a683995a2bdae6210d':
Whoops fix installing. I am dumb.
6a8d5332f00bdfade6674b312e7166940aa28348 08-May-2009 Fred Quintana <fredq@google.com> content provider entities
bstractCursorEntityIterator.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ntity.aidl
ntity.java
ntityIterator.java
ContentProvider.java
EntityIterator.java
e7fe35b88aa77766d322b8a683995a2bdae6210d 13-May-2009 Dianne Hackborn <hackbod@google.com> Whoops fix installing. I am dumb.
m/PackageParser.java
86b6c530f96360cd13f0011af99d927a6e1f80fe 13-May-2009 Jacek Surazski <jaceks@google.com> Add Intent.ACTION_APP_ERROR

This intent is sent to the installer when an app it installed
crashes/ANRs.
ntent.java
d2b4929ba00939c1aa5037927f27427637cc2f68 13-May-2009 Dianne Hackborn <hackbod@google.com> am ade3eca: Implement issue #1783881 (manifest option for adb-install-on

Merge commit 'ade3ecad94d1f4431576f53bae26c35efbf7a2c9'

* commit 'ade3ecad94d1f4431576f53bae26c35efbf7a2c9':
Implement issue #1783881 (manifest option for adb-install-only apps)
d39afbdc92e95e597c311e78ac32edaad27fcf0d 12-May-2009 Joe Onorato <joeo@android.com> Make android.content.ComponentName implement java.lang.Comparable.
omponentName.java
ade3ecad94d1f4431576f53bae26c35efbf7a2c9 12-May-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1783881 (manifest option for adb-install-only apps)

You can now use android:testOnly="true" to not allow your .apk to be installed
as a normal app. The only way to do so is with the pm command and giving the
-t option, which sets a new INSTALL_ALLOW_TEST flag when installing.

I also used this to clean up the install API... actually, mostly to hide
it, since it is not accessible to apps so shouldn't be in the SDK. We
will be doing some more work on it, so this will prevent adding yet
another backwards-compatibility-for-no-reason version.
m/ApplicationInfo.java
m/IPackageInstallObserver.aidl
m/PackageManager.java
m/PackageParser.java
c64322c35212e919906ffd66118c7d5d3ad36636 28-Apr-2009 Jacek Surazski <jaceks@google.com> PackageManager keeps track of who installed what.

Stores the package name of the installer app in packages.xml
m/IPackageManager.aidl
m/PackageManager.java
6b61d41f72d4613384a78e792ab0e58f038cda65 12-May-2009 Joe Onorato <joeo@android.com> Make android.content.ComponentName implement java.lang.Comparable.
omponentName.java
65e13171e12cb9e9fc2f608d0c8a92cd3c098648 28-Apr-2009 Jacek Surazski <jaceks@google.com> PackageManager keeps track of who installed what.

Stores the package name of the installer app in packages.xml
m/IPackageManager.aidl
m/PackageManager.java
7a6287a077837d41d47c3fbe0f6258c78d5ccbd4 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 3b30d80: Merge change 1377 into donut

Merge commit '3b30d80f5ef10a3c5c596283ef1f15e9ff6a3aa4'

* commit '3b30d80f5ef10a3c5c596283ef1f15e9ff6a3aa4':
Fix typo in javadoc
3b30d80f5ef10a3c5c596283ef1f15e9ff6a3aa4 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1377 into donut

* changes:
Fix typo in javadoc
c53fc4ec9ec2e808f25738b1bad3a21a87e28651 11-May-2009 Marco Nelissen <marcone@google.com> Fix typo in javadoc
ntent.java
d01547761a8ec4bd1bcc4799a537b6fdcd9d24bc 11-May-2009 Dianne Hackborn <hackbod@google.com> am 1655be4: Fix issue #1837610 and #1753079

Merge commit '1655be46d2b7d45f071a6a1411ac8bd41c749c21'

* commit '1655be46d2b7d45f071a6a1411ac8bd41c749c21':
Fix issue #1837610 and #1753079
1655be46d2b7d45f071a6a1411ac8bd41c749c21 08-May-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1837610 and #1753079

Issue 1837610 Adding a Widget before Running the Associated App Causes a Force Close

We were not retrieving the shared libraries of an application when deliving a
broadcast to an explicit component.

Issue 1753079 loading class path of instrumented app into instrumentation may load wrong path when instrumented app shares process with other apps:

We were using the ApplicationInfo that was used to originally create the process, not the one that the
instrumentation is against.
m/PackageManager.java
849e89c94d206d9723fd5635ed6e7a69814849e3 09-May-2009 Dianne Hackborn <hackbod@google.com> am 851a541: Implement targetSdkVersion and maxSdkVersion, plus version c

Merge commit '851a54143c15a1c33361efae2db3f7f45059b472'

* commit '851a54143c15a1c33361efae2db3f7f45059b472':
Implement targetSdkVersion and maxSdkVersion, plus version code names.
851a54143c15a1c33361efae2db3f7f45059b472 08-May-2009 Dianne Hackborn <hackbod@google.com> Implement targetSdkVersion and maxSdkVersion, plus version code names.

This adds new attributes for specifying a targetSdkVersion and maxSdkVersion.
There is a new ApplicationInfo flag that is set if the application has set
its targetSdkVersion to the current platform or later. Also you can now
use a string for minSdkVersion and targetSdkVerion, to indicate you are
building against a development tree instead of an official platform.
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
3531fdb1d9a0ca536bd7a7a27d35b3e62c318ad9 08-May-2009 The Android Open Source Project <initial-contribution@android.com> merge 55280a9

Merge commit '55280a9'
55280a91884b9256e8db6af6a09f28b3feeaa9d8 08-May-2009 Dianne Hackborn <hackbod@google.com> Improve shutdown process to send broadcast for applications.

This introduces a new class in the base platform for performing a clean
shutdown (which was copied from the classes in the policies). It
includes new features to send a shutdown broadcast for applications
to do cleanup, and ot have the activity manager pause the current
activity before proceeding with the shutdown. These facilities are
also use to write at the most recent stat files for sync, battery
and user activity.
ntent.java
yncManager.java
yncStorageEngine.java
2d5ed1fa3d29cdf1afb3bdfc3fc6a061f9f3feb3 07-May-2009 Dianne Hackborn <hackbod@google.com> Another fix: look at db version to determine if there is a type column.
yncStorageEngine.java
534032610c6701b63ab94f0336beeb9f4a830f2d 06-May-2009 Dianne Hackborn <hackbod@google.com> Fix [Issue 1835218]

IllegalStateException already initialized in SyncStorageEngine.init
I used the wrong column name for the new account type.
yncStorageEngine.java
7a1355950172b7a549820e9a2cd4a9b2099ec32f 06-May-2009 Dianne Hackborn <hackbod@google.com> merged 231cc608d06ffc31c24bf8aa8c8275bdd2636581
231cc608d06ffc31c24bf8aa8c8275bdd2636581 28-Apr-2009 Dianne Hackborn <hackbod@google.com> Rewrite SyncStorageEngine to use flat files and in-memory data structures.

The previous implementation used a database for storing all of its state, which could cause
a significant amount of IO activity as its tables were updated through the stages of a sync.
This new implementation replaces that in-memory data structures, with hand-written code
for writing them to persistent storage.

There are now 4 files associated with this class, holding various pieces of its state that
should be consistent. These are everything from a main XML file of account information that
must always be retained, to a binary file of per-day statistics that can be thrown away at
any time. Writes of these files as scheduled at various times based on their importance of
the frequency at which they change.

Because the database no longer exists, there needs to be a new explicit interface for
interacting with the sync manager database. This is provided by new APIs on IContentService,
with a hidden method on ContentResolver to retrieve the IContentService so that various
system entities can use it. Other changes in other projects are required to update to the
new API.

The goal here is to have as little an impact on the code and functionality outside of
SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.
ctiveSyncInfo.aidl
ctiveSyncInfo.java
ontentResolver.java
ontentService.java
ontentServiceNative.java
ContentService.aidl
ContentService.java
SyncStatusObserver.aidl
yncManager.java
yncProvider.java
yncStatusInfo.aidl
yncStatusInfo.java
yncStorageEngine.java
718d8a2d7ff3e864a73879eb646f46c14ab74d07 30-Apr-2009 Fred Quintana <fredq@google.com> decouple SyncAdapter from ContentProvider
bstractSyncableContentProvider.java
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
yncAdapter.java
yncAdapterType.java
yncAdaptersCache.java
yncManager.java
yncableContentProvider.java
m/IPackageManager.aidl
m/ProviderInfo.java
m/RegisteredServicesCache.java
f8997690da3790a1ff87f1f96a6e68fbb79b5ddc 30-Apr-2009 Christopher Tate <ctate@google.com> am 487529a: First baby steps towards settings backup

Merge commit '487529a70cd1479ae8d6bbfb356be7e72542c185'

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

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

What code exists in this change hasn't been tested and may crash. It's the
beginnings of the real implementation but of course is barely begun.
ontext.java
c2839e087041b16a1ee7292b85459a396c25c771 29-Apr-2009 Mitsuru Oshima <> am 13735a2: Merge branch \'readonly-p4-donut\' into donut

Merge commit '13735a255dedd2c2e3b0cff66f0be2e17671f553'

* commit '13735a255dedd2c2e3b0cff66f0be2e17671f553':
AI 147976: Compatibility mode support. Part 2.
4cc574be4ee4c20af7c3d1aa901315505efd4e4e 29-Apr-2009 Mitsuru Oshima <> am 257eef3: Merge branch \'readonly-p4-donut\' into donut

Merge commit '257eef353dfc9519b63e3fe2616505c5534b460a'

* commit '257eef353dfc9519b63e3fe2616505c5534b460a':
AI 147845: Compatibility mode support. Part 1
137b0c9d6430ccb519c82a1198048cf413e06c5e 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 0b8ffd1: Merge change 460 into donut

Merge commit '0b8ffd17bc6641fc522db3e842a868b6cdbf6d82'

* commit '0b8ffd17bc6641fc522db3e842a868b6cdbf6d82':
More optimization of dumpsys output.
13735a255dedd2c2e3b0cff66f0be2e17671f553 29-Apr-2009 Mitsuru Oshima <> Merge branch 'readonly-p4-donut' into donut
8169daed2f7a8731d478b884b1f455c747b88478 29-Apr-2009 Mitsuru Oshima <> AI 147976: Compatibility mode support. Part 2.
* Introduced ApplicationScale (may not be good name. CompatibilityScale? CanvasScale? Pls let me know if you have better idea)
* Changes to RootView / SurfaceView
- Makes the app believe it's running in the supported density/resolution.
- Makes the window manager believe it's running at the right density/resolution.
* Added methods to Rect/Event for scaling up/down.
Known issues:
* certain kind of images (such as nine patch for buttons) seesm to be loaded not by app, thus does not take the scale into account,
which, in turn, is causing layout issue.
* ZoomButton in MapView is rendered in wrong place
* Transparent region on Surface is not correct
* Specifying different densities in one process is not working.
BUG=1770627

Automated import of CL 147976
ontext.java
ontextWrapper.java
es/Resources.java
257eef353dfc9519b63e3fe2616505c5534b460a 27-Apr-2009 Mitsuru Oshima <> Merge branch 'readonly-p4-donut' into donut
8d112675879a2b83197d3b4ae4fb623abd1a1ec3 27-Apr-2009 Mitsuru Oshima <> AI 147845: Compatibility mode support. Part 1
Adding supports-density tag to manifest file/ApplicationInfo.
BUG=1752478

Automated import of CL 147845
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
d9d2f1140b52fd0c014e9deac59f6000564b7e84 23-Apr-2009 Fred Quintana <fredq@google.com> change the sync framework and users to understand Account
bstractSyncableContentProvider.java
bstractTableMerger.java
ontentResolver.java
SyncAdapter.aidl
yncAdapter.java
yncManager.java
yncStateContentProviderHelper.java
yncStorageEngine.java
yncableContentProvider.java
empProviderSyncAdapter.java
0b8ffd17bc6641fc522db3e842a868b6cdbf6d82 23-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 460 into donut

* changes:
More optimization of dumpsys output.
1d442e0d990b581357f33f5463c7c5cb49b551e8 21-Apr-2009 Dianne Hackborn <hackbod@google.com> More optimization of dumpsys output.

There are three major classes of changes here:

- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
ntent.java
ntentFilter.java
m/PackageParser.java
es/Configuration.java
69c1c4983fc2ebe736838c89aea5748aff21058b 22-Apr-2009 Jeff Hamilton <> Merge branch 'readonly-p4-master'
b0c6dbd53b26b172fe8eb7d117550e4edf7a0c9c 22-Apr-2009 Jeff Hamilton <> AI 147255: am: CL 147253 am: CL 147250 Fix a nasty typo in the docs for ContentResolver.update(). No code changes.
Original author: jham
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147255
ontentResolver.java
be456ac934c3d9839cdac00bd331fe5d82727246 22-Apr-2009 Jeff Hamilton <> Merge branch 'readonly-p4-donut' into donut
348c1796d460e43e45e582739956c02c5bc8f602 22-Apr-2009 Jeff Hamilton <> AI 147253: am: CL 147250 Fix a nasty typo in the docs for ContentResolver.update(). No code changes.
Original author: jham
Merged from: //branches/cupcake/...

Automated import of CL 147253
ontentResolver.java
5e8c31ac31107c0cbc4a103e4f62342b07b5876b 15-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'
81ddb7929fdb824c213509399968b8ddeeea6c74 14-Apr-2009 Dianne Hackborn <> Merge branch 'readonly-p4-master'
b3cddae4994128983b6bf7e808a7670f90cc30e4 14-Apr-2009 Dianne Hackborn <> AI 146011: am: CL 145859 am: CL 145561 Fix issue #1710534 (documentation doesn't mention that activity resolver (and others) handle MIME types as case-sensitive).
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146011
ntent.java
ntentFilter.java
75534fbe246e5562779500bc7cf7f0ddfe9b8330 14-Apr-2009 Dianne Hackborn <> Merge branch 'readonly-p4-master'
935ae463d495d41155e27feb849768ad2b8b16db 14-Apr-2009 Dianne Hackborn <> AI 145994: Integrate #145778 from Donut.

Automated import of CL 145994
ntent.java
es/Configuration.java
es/Resources.java
1710799c47c02aba18aef7693e38a84cd170560e 13-Apr-2009 Dianne Hackborn <> Merge branch 'readonly-p4-donut' into donut
06f36b401d5020190c3c8662c8ff50a9b7776387 13-Apr-2009 Dianne Hackborn <> AI 145859: am: CL 145561 Fix issue #1710534 (documentation doesn't mention that activity resolver (and others) handle MIME types as case-sensitive).
Original author: hackbod
Merged from: //branches/cupcake/...

Automated import of CL 145859
ntent.java
ntentFilter.java
5f05afeeb6dd88a4f16b0a279afa3b4d0b631213 11-Apr-2009 Andy Stadler <> Merge branch 'readonly-p4-donut' into donut
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
ntent.java
es/Configuration.java
es/Resources.java
1c004f0ae1fb2f0c113d7d34f61e3cddabad3815 10-Apr-2009 Dianne Hackborn <> AI 145561: Fix issue #1710534 (documentation doesn't mention that activity resolver (and others) handle MIME types as case-sensitive).
BUG=1710534

Automated import of CL 145561
ntent.java
ntentFilter.java
06ba55476ee9703c876d223cd41bd73c5f85f42d 10-Apr-2009 Christopher Tate <ctate@google.com> Integrate new power connnect/disconnect broadcasts

Two new broadcasts, Intent.ACTION_POWER_CONNECTED and
Intent.ACTION_POWER_CONNECTED, that are issued when the device is plugged
and unplugged from USB or AC power. This pulls two changes from the
open-source Gerrit repo into the internal Donut codeline:

1241 fda6fae Added broadcasts for external power events.
9491 37f8ca1 Fix system service crash when booting while on battery power

The current.xml API description has also been updated to include the
new Intent fields; the new API was approved in the original OSS change.
ntent.java
48276ab989a4d775961ce30a43635a317052672a 09-Apr-2009 Dianne Hackborn <> AI 145383: API review: clean up a bunch of @hides that have been pending API review.
Either expose them, or official hide them with an explanation for why.
BUG=1779439

Automated import of CL 145383
ntent.java
es/Configuration.java
es/Resources.java
93e7e3b6711955cefbf952c754f262c84c8c6dd8 03-Apr-2009 Chris Tate <> Merge branch 'readonly-p4-master'
a34df8a2ba450b2c2ad83ccbbac30b80e2706bb2 03-Apr-2009 Chris Tate <> AI 144405: am: CL 144307 am: CL 144306 Fix SDK issue 1716562 - Broadcast mechanism documentation should be improved.
Original author: ctate
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144405
roadcastReceiver.java
ontext.java
a919486d934286e81f55917627423daaaa59c8b1 03-Apr-2009 Chris Tate <> AI 144307: am: CL 144306 Fix SDK issue 1716562 - Broadcast mechanism documentation should be improved.
Original author: ctate
Merged from: //branches/cupcake/...

Automated import of CL 144307
roadcastReceiver.java
ontext.java
a48875a7d709b66ebb8a3167e227a4c76065f3f1 02-Apr-2009 Chris Tate <> AI 144306: Fix SDK issue 1716562 - Broadcast mechanism documentation should be improved.
BUG=1716562

Automated import of CL 144306
roadcastReceiver.java
ontext.java
40c970363993c843dc7b92a528b35ab01186f501 02-Apr-2009 Bjorn Bringert <> Merge branch 'readonly-p4-master'
3a184efa127da097d7fa5a37bc944b47a7025858 02-Apr-2009 Bjorn Bringert <> AI 144034: am: CL 144032 Added missing import to fix breakage caused by CL 144008.
Original author: bringert
Merged from: //branches/donutburger/...

Automated import of CL 144034
riMatcher.java
ffe5e108019c13533dda3f89305c6faa331006c8 02-Apr-2009 Bjorn Bringert <> Merge branch 'readonly-p4-master'
5d015d7331923f852a2a8675b4203b29f6c34d96 02-Apr-2009 Bjorn Bringert <> AI 144010: am: CL 144008 UriMatcher: Avoid repeated calls to Uri.getPathSegments()
in UriMatcher.match().
Before, every call to UriMatcher.match() called
Uri.getPathSegments() N + 1 times,
where N is the size of the list returned by
Uri.getPathSegments(). Since some of the implementations
of Uri.getPathSegments() are O(N), UriMatcher.match() was O(N^2).
This CL fixes the problem by calling uri.getPathSegments() once in
the beginning of match(). That should be safe since Uri is
immutable.
Original author: bringert
Merged from: //branches/donutburger/...

Automated import of CL 144010
riMatcher.java
096f41d53909a9ef68cb5d6f06524212e96c43b6 01-Apr-2009 Bjorn Bringert <> AI 144032: Added missing import to fix breakage caused by CL 144008.

Automated import of CL 144032
riMatcher.java
dc0ec1866556c6132c9dd2e6dfaef9306784d955 01-Apr-2009 Bjorn Bringert <> AI 144008: UriMatcher: Avoid repeated calls to Uri.getPathSegments()
in UriMatcher.match().
Before, every call to UriMatcher.match() called
Uri.getPathSegments() N + 1 times,
where N is the size of the list returned by
Uri.getPathSegments(). Since some of the implementations
of Uri.getPathSegments() are O(N), UriMatcher.match() was O(N^2).
This CL fixes the problem by calling uri.getPathSegments() once in
the beginning of match(). That should be safe since Uri is
immutable.
BUG=1751158

Automated import of CL 144008
riMatcher.java
762d30a31365e5cae9ba7c2802de60a2f8c3513d 29-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'open_source' into google_internal

Conflicts:
core/java/android/widget/TwoLineListItem.java
core/res/res/values/public.xml
preloaded-classes
a2debb356d857b2ee1ca26f95ed0136398393acd 28-Mar-2009 Ed Heyl <> AI 143278: Merge 142826: Add tutorial to platform. The tutorial can be launched with the new Intent ACTION_SYSTEM_TUTORIAL and
is available through Settings->About->System Tutorial

Automated import of CL 143278
ntent.java
e1861133d51b9e6a6f658eb366630ad4f4d3ff8f 27-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'

Conflicts:
core/java/android/webkit/WebView.java
core/java/android/widget/TwoLineListItem.java
preloaded-classes
303736d17de11dbc0a633cbfc130e9dadd50f6e2 26-Mar-2009 Jim Miller <> Automated import from //branches/donutburger/...@142826,142826
ntent.java
7e4ad355903797983c96f57ddd11bbb73a563b30 26-Mar-2009 Jim Miller <> Automated import from //branches/cupcake/...@142825,142825
ntent.java
603073430bbcb1bd29db7afb9b14e2732ad589fb 25-Mar-2009 Fred Quintana <> Automated import from //branches/master/...@142414,142414
ontext.java
yncManager.java
22f711423e66750cd44a64e75372ea66304fb9a1 25-Mar-2009 Fred Quintana <> Automated import from //branches/master/...@141380,141380
bstractTableMerger.java
f63220f58e29673eba1c6228c04b43fb680af5f2 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@140828,140828
ntent.java
04750b6b431b8a43c62ae06ec3201fbd30caa178 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/master/...@140830,140830
ntent.java
f64aff1a20c7a8da78fbeaf277bf8b39a5557fc1 25-Mar-2009 Bjorn Bringert <> Automated import from //branches/master/...@140582,140582
ontentProvider.java
9e728e082e6060612691b726e6fe264a0d37276f 25-Mar-2009 Bjorn Bringert <> Automated import from //branches/donutburger/...@140581,140581
ontentProvider.java
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
ontentProvider.java
ntent.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
roadcastReceiver.java
ntent.java
m/PackageManager.java
2a73de7b21a89aa2ba4c254d28658b49793425b2 18-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into merge

Conflicts:
core/java/android/view/animation/TranslateAnimation.java
core/jni/Android.mk
core/res/res/values-en-rGB/strings.xml
libs/audioflinger/AudioFlinger.cpp
libs/surfaceflinger/LayerScreenshot.cpp
packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
ntent.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
ontext.java
ntent.java
es/ColorStateList.java
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
ntent.java
m/PackageParser.java
es/AssetManager.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
bstractSyncableContentProvider.java
bstractTableMerger.java
ctivityNotFoundException.java
syncQueryHandler.java
roadcastReceiver.java
omponentCallbacks.java
omponentName.aidl
omponentName.java
ontentInsertHandler.java
ontentProvider.java
ontentProviderNative.java
ontentQueryMap.java
ontentResolver.java
ontentService.java
ontentServiceNative.java
ontentUris.java
ontentValues.java
ontext.java
ontextWrapper.java
efaultDataHandler.java
ialogInterface.java
ContentProvider.java
ContentService.java
SyncAdapter.aidl
SyncContext.aidl
ntent.aidl
ntent.java
ntentFilter.aidl
ntentFilter.java
utableContextWrapper.java
eceiverCallNotAllowedException.java
earchRecentSuggestionsProvider.java
erviceConnection.java
haredPreferences.java
yncAdapter.java
yncContext.java
yncManager.java
yncProvider.java
yncResult.aidl
yncResult.java
yncStateContentProviderHelper.java
yncStats.aidl
yncStats.java
yncStorageEngine.java
yncUIContext.java
yncableContentProvider.java
empProviderSyncAdapter.java
empProviderSyncResult.java
riMatcher.java
ackage.html
m/ActivityInfo.aidl
m/ActivityInfo.java
m/ApplicationInfo.aidl
m/ApplicationInfo.java
m/ComponentInfo.java
m/ConfigurationInfo.java
m/IPackageDataObserver.aidl
m/IPackageDeleteObserver.aidl
m/IPackageInstallObserver.aidl
m/IPackageManager.aidl
m/IPackageStatsObserver.aidl
m/InstrumentationInfo.aidl
m/InstrumentationInfo.java
m/PackageInfo.aidl
m/PackageInfo.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
m/PackageStats.aidl
m/PackageStats.java
m/PermissionGroupInfo.aidl
m/PermissionGroupInfo.java
m/PermissionInfo.aidl
m/PermissionInfo.java
m/ProviderInfo.aidl
m/ProviderInfo.java
m/ResolveInfo.aidl
m/ResolveInfo.java
m/ServiceInfo.aidl
m/ServiceInfo.java
m/Signature.aidl
m/Signature.java
m/package.html
es/AssetFileDescriptor.java
es/AssetManager.java
es/ColorStateList.java
es/Configuration.aidl
es/Configuration.java
es/PluralRules.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
es/XmlBlock.java
es/XmlResourceParser.java
es/package.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
bstractSyncableContentProvider.java
bstractTableMerger.java
ctivityNotFoundException.java
syncQueryHandler.java
roadcastReceiver.java
omponentCallbacks.java
omponentName.aidl
omponentName.java
ontentInsertHandler.java
ontentProvider.java
ontentProviderNative.java
ontentQueryMap.java
ontentResolver.java
ontentService.java
ontentServiceNative.java
ontentUris.java
ontentValues.java
ontext.java
ontextWrapper.java
efaultDataHandler.java
ialogInterface.java
ContentProvider.java
ContentService.java
SyncAdapter.aidl
SyncContext.aidl
ntent.aidl
ntent.java
ntentFilter.aidl
ntentFilter.java
utableContextWrapper.java
eceiverCallNotAllowedException.java
earchRecentSuggestionsProvider.java
erviceConnection.java
haredPreferences.java
yncAdapter.java
yncContext.java
yncManager.java
yncProvider.java
yncResult.aidl
yncResult.java
yncStateContentProviderHelper.java
yncStats.aidl
yncStats.java
yncStorageEngine.java
yncUIContext.java
yncableContentProvider.java
empProviderSyncAdapter.java
empProviderSyncResult.java
riMatcher.java
ackage.html
m/ActivityInfo.aidl
m/ActivityInfo.java
m/ApplicationInfo.aidl
m/ApplicationInfo.java
m/ComponentInfo.java
m/ConfigurationInfo.java
m/IPackageDataObserver.aidl
m/IPackageDeleteObserver.aidl
m/IPackageInstallObserver.aidl
m/IPackageManager.aidl
m/IPackageStatsObserver.aidl
m/InstrumentationInfo.aidl
m/InstrumentationInfo.java
m/PackageInfo.aidl
m/PackageInfo.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
m/PackageStats.aidl
m/PackageStats.java
m/PermissionGroupInfo.aidl
m/PermissionGroupInfo.java
m/PermissionInfo.aidl
m/PermissionInfo.java
m/ProviderInfo.aidl
m/ProviderInfo.java
m/ResolveInfo.aidl
m/ResolveInfo.java
m/ServiceInfo.aidl
m/ServiceInfo.java
m/Signature.aidl
m/Signature.java
m/package.html
es/AssetFileDescriptor.java
es/AssetManager.java
es/ColorStateList.java
es/Configuration.aidl
es/Configuration.java
es/PluralRules.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
es/XmlBlock.java
es/XmlResourceParser.java
es/package.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ontentProvider.java
ontentProviderNative.java
ontentResolver.java
ontentServiceNative.java
ContentProvider.java
ntent.java
m/PackageManager.java
es/AssetFileDescriptor.java
es/ColorStateList.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
ontentProvider.java
ontentProviderNative.java
ontentResolver.java
ontentServiceNative.java
ContentProvider.java
ntent.java
m/PackageManager.java
es/AssetFileDescriptor.java
es/ColorStateList.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
roadcastReceiver.java
ontentProvider.java
ntent.java
ackage.html
m/PackageInfo.java
m/PackageParser.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
ntent.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
syncQueryHandler.java
roadcastReceiver.java
ontext.java
ntent.java
yncManager.java
empProviderSyncAdapter.java
m/ConfigurationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
es/ColorStateList.java
es/Resources.java
94cbba0933e50d593c1c462cff698dd3387ba95b 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
7547115694ef213f6c4ead3841296370cc07b4af 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
ontext.java
0fda766e53fba7e829fe6e145738f6a94ce48bda 16-Jan-2009 android-build SharedAccount <android-build@undroid16.corp.google.com> Merge branch 'cupcake'
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
bstractSyncableContentProvider.java
bstractTableMerger.java
yncableContentProvider.java
e570a0fa86c2eea2680f07e2c0c546f104bea948 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
bstractTableMerger.java
e1dc1d6dc8064740b78562c3028ccc526a44597e 19-Dec-2008 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake'

Conflicts:
core/java/com/android/internal/app/AlertController.java
core/res/res/values/strings.xml
media/java/android/media/AudioSystem.java
services/java/com/android/server/LocationManagerService.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
bstractTableMerger.java
syncQueryHandler.java
roadcastReceiver.java
ontext.java
efaultDataHandler.java
ialogInterface.java
ormatter.java
ntent.java
yncManager.java
m/ActivityInfo.java
m/ApplicationInfo.java
m/ConfigurationInfo.java
m/IPackageManager.aidl
m/InstrumentationInfo.java
m/PackageInfo.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
es/ColorStateList.java
es/Configuration.java
es/PluralRules.java
es/Resources.java
es/StringBlock.java
24847f35177fd970670aa1ffdfc6639bbd11d1f5 04-Nov-2008 Tom Gibara <tomgibara@googlemail.com> Fix for bug 1185.
The constructor IntentFilter(String action, String dataType) ignores the action parameter.
This change ensures that it is correctly added to the set of actions.
ntentFilter.java
1ef4564d4ad14f2c5dcb162636875ca8aed5e4d9 24-Oct-2008 Jean-Baptiste Queru <jbq@google.com> Change values of ACTION_POWER constants to better match established practice.

Trim code to 100 lines to match style guide.
ntent.java
fda6fae156e31a287e3cfbf66e51ea1405cdf479 23-Oct-2008 Cliff Spradlin <cliff_spradlin@htc.com> Added broadcasts for external power events.
ntent.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
bstractTableMerger.java
ctivityNotFoundException.java
syncQueryHandler.java
roadcastReceiver.java
omponentCallbacks.java
omponentName.aidl
omponentName.java
ontentInsertHandler.java
ontentProvider.java
ontentProviderNative.java
ontentQueryMap.java
ontentResolver.java
ontentService.java
ontentServiceNative.java
ontentUris.java
ontentValues.java
ontext.java
ontextWrapper.java
efaultDataHandler.java
ialogInterface.java
ormatter.java
ContentProvider.java
ContentService.java
SyncAdapter.aidl
SyncContext.aidl
ntent.aidl
ntent.java
ntentFilter.aidl
ntentFilter.java
utableContextWrapper.java
eceiverCallNotAllowedException.java
earchRecentSuggestionsProvider.java
erviceConnection.java
haredPreferences.java
yncAdapter.java
yncContext.java
yncManager.java
yncProvider.java
yncResult.aidl
yncResult.java
yncStateContentProviderHelper.java
yncStats.aidl
yncStats.java
yncStorageEngine.java
yncUIContext.java
yncableContentProvider.java
empProviderSyncAdapter.java
empProviderSyncResult.java
riMatcher.java
ackage.html
m/ActivityInfo.aidl
m/ActivityInfo.java
m/ApplicationInfo.aidl
m/ApplicationInfo.java
m/ComponentInfo.java
m/IPackageDataObserver.aidl
m/IPackageDeleteObserver.aidl
m/IPackageInstallObserver.aidl
m/IPackageManager.aidl
m/IPackageStatsObserver.aidl
m/InstrumentationInfo.aidl
m/InstrumentationInfo.java
m/PackageInfo.aidl
m/PackageInfo.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
m/PackageStats.aidl
m/PackageStats.java
m/PermissionGroupInfo.aidl
m/PermissionGroupInfo.java
m/PermissionInfo.aidl
m/PermissionInfo.java
m/ProviderInfo.aidl
m/ProviderInfo.java
m/ResolveInfo.aidl
m/ResolveInfo.java
m/ServiceInfo.aidl
m/ServiceInfo.java
m/Signature.aidl
m/Signature.java
m/package.html
es/AssetFileDescriptor.java
es/AssetManager.java
es/ColorStateList.java
es/Configuration.aidl
es/Configuration.java
es/PluralRules.java
es/Resources.java
es/StringBlock.java
es/TypedArray.java
es/XmlBlock.java
es/XmlResourceParser.java
es/package.html