• 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 >>>)
b7f74b73eb46eff08c17e8e84133f5f224228c21 28-Jul-2017 Svetoslav Ganov <svetoslavganov@google.com> Report permission flags for all protections based on SDK

We added a couple of protection flags that also apply to
normal and dangerous permissions. These flags are folded
in the protection level breaking apps that directly and
compare against the protection constants. Apps that target
older than O SDK don't get protection flags folded into
the protection level.

Test: All permission tests pass
Added a new test to ensure no protection flags reported
for normal and dangerous permissions

Change-Id: I87b10a7695d8ecfa7156525d6f3d101fc0639513
bug:62755026
(cherry picked from commit adb8c522a84b5c7531b009b7a8d4c854ca7dee08)
m/IPackageManager.aidl
a27aa70d41e3c9d6de5f64e3ef1c561bbf3c1139 23-Jun-2017 Makoto Onuki <omakoto@google.com> Fix activity icon badging for non-bitmap icons

Bug 62930145
Test: Manual test with development/samples/ShortcutDemo/launcher/

Change-Id: I8d0eed2e1f93a3b04a6a078c25cefbfc47c528a4
(cherry picked from commit 8f2a478d9de867cf28427c481c5498fe4b5f23fb)
m/LauncherActivityInfo.java
80f6a985c3662bc65ffba83975ec23c1a93ed888 22-Jun-2017 Seigo Nonaka <nona@google.com> Stop loading other package's font by default.

Since CONTEXT_RESTRICTED is not a default flag of createPackageContext,
we can't rely on it for preventing unexpected font injections.
To protect developers and existing apps from a risk of font injection,
stop loading font from other package's resouce unless the developer
explicitly set CONTEXT_IGNORE_SECURITY.

This CL contains Iac2a6fb3d82ef23d5ca6ee33f4aaa9ed28455271 by manual
merging to handle repository split.

Bug: 62813533
Bug: 62879353
Test: Manually done
Merged-In: I4442ddc48dadb5c968b444be86038b602074d301
Change-Id: I4442ddc48dadb5c968b444be86038b602074d301
ontext.java
ontextWrapper.java
324c41ba890f1ee5bacfc01b869f084206b5187e 21-Jun-2017 Svetoslav Ganov <svetoslavganov@google.com> Merge "[DO NOT MERGE] Support native shared libs" into oc-dev
f8579581c1d6bf993f26d21aefca410ac9b6706b 17-Jun-2017 Svet Ganov <svetoslavganov@google.com> [DO NOT MERGE] Support native shared libs

Add the shared libs that are APKs to the native library
path when creating application class loaders. Also don't
allow shared libraries hosting native libs to request
extraction of the native libs out of the APK. Lastly,
shared libraries hosting native libs must be declared
as multi-architecture.

Test: CTS tests in this topic

bug:62720360

Change-Id: I0a398593ebe41b2976cb706ca8a388005f5aec83
m/PackageParser.java
846cda939796aef868e4bb1ae92e744c3e9d57cb 15-Jun-2017 Phil Weaver <pweaver@google.com> Separate a11y and autofill view ids

Autofill seems to need IDs to be preserved across things
like configuration changes, while accessibility will not
function without views with unique ids. Separating out the
two types of IDs. We can re-combine them once it's clear
that both demands can be satisfied.

Bug: 62301218
Test: Run a11y and autofill CTS, and verify that the play
store app functions with TalkBack after a screen rotation.

Change-Id: I17a99de2874768fc0ade3aa354130dd1f6b4cd7e
ontext.java
ontextWrapper.java
b274947dfb03f04872546774af0f8770ade5bed7 13-Jun-2017 Todd Kennedy <toddke@google.com> Save overlay paths as user state

Instead of maintaining a separate structure just for overlay
paths, store them as user state in the package setting. Also
centralize updating the overlay paths to avoid issues with
inconsistent updates.

Fixes: 36561125
Test: Manual
Change-Id: Iac1c987e8650074dbc564e332d5da1950fad6ac5
m/PackageParser.java
m/PackageUserState.java
b31afd22737e847280213878cd94872055871654 12-Jun-2017 Jeff Sharkey <jsharkey@android.com> Improve developer docs for storage APIs.

No code changes; only docs.

Test: builds
Bug: 38508833, 37987197, 37978296
Change-Id: Idfeb680480b2f818d18f787cbf20ceab896763a2
ontentProvider.java
887544e100d0678bba7668b18f206092b328de54 08-Jun-2017 Adam Lesinski <adamlesinski@google.com> Merge "Revert "always adjust per-user application info"" into oc-dev
157be6ead89fc585f21c8fcdb3fa81ead7c78ebc 08-Jun-2017 Adam Lesinski <adamlesinski@google.com> Revert "always adjust per-user application info"

This reverts commit e0046cecb079ec4d063444cee64795a6b734e6e7.

Reason for revert: Regresses UI theme

Bug: 62445682
Bug: 36561125
Change-Id: I9b60bd8e4eb89129368d38e83c0036ab459a524e
m/PackageParser.java
dacdf2e978e4e293f381952b7d96969c86e571aa 08-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Passing callingUid to internal methods" into oc-dev
f867733d4ff2dbb84ec15371630f7293e6321786 08-Jun-2017 Bryce Lee <brycelee@google.com> Merge "Revert "Coordinate configuration changes and window frame size."" into oc-dev
46b01655b3448706797dfadc3d9a7c6495bb6e5c 08-Jun-2017 Bryce Lee <brycelee@google.com> Revert "Coordinate configuration changes and window frame size."

This reverts commit afb45bba8379df530182dae882ec70329423dcfe.

Bug: 32839232
Fixes: 62424393
Change-Id: Ifaa0176e18100ec85b8c81268a26fb16ffe9b5f3
es/Configuration.java
18211fd8f6ff4a70a4b8b16fab642783d536102b 06-Jun-2017 Todd Kennedy <toddke@google.com> Passing callingUid to internal methods

Sometimes callers want to clear the calling identity [to avoid permission
calls]. In this case, allow passing the original calling identity to
internal methods.

Test: Manual; create profile account and observe launcher still works cross profile
Test: bit FrameworksServicesTests:com.android.server.pm.ShortcutManagerTest{1..10}
Change-Id: I73f8ad4b2dc1895227c3fcb14f3f1f18f600562f
Fixes: 38349978
m/PackageManagerInternal.java
91a9d65e42fd38dc7fe0edce848750505237055d 07-Jun-2017 Todd Kennedy <toddke@google.com> Merge "always adjust per-user application info" into oc-dev
a9c185f6e7df6e96fba540a9235ac1b26402bca1 06-Jun-2017 Makoto Onuki <omakoto@google.com> Merge "Refer to ShortcutManagerCompat in the javadoc" into oc-dev
e0046cecb079ec4d063444cee64795a6b734e6e7 06-Jun-2017 Todd Kennedy <toddke@google.com> always adjust per-user application info

Test: manual; it runs
Change-Id: I98db17ebe9ebe34a5affad44300a55ed68adb565
Fixes: 36561125
m/PackageParser.java
afb45bba8379df530182dae882ec70329423dcfe 27-Apr-2017 Bryce Lee <brycelee@google.com> Coordinate configuration changes and window frame size.

Previously, it was possible for the view hierarchy to be measured,
laid out, and drawn around a window frame size that did not match
the current configuration. This stems from new configurations not
always propagating back from WindowSession#relayout, which is
called from ViewRootImpl.

This changelist makes WindowManagerService#relayoutWindow always
return the latest configuration. It also adds rotation to the
configuration.

Fixes: 32839232
Test: go/wm-smoke
Test: Open Camera while rotating phone to landscape. Added
temporary logs to detect inconsistencies between measurements
and reported rotation on draw.
Change-Id: I39daca338b4f87eff1a509eb99493f01e710ced1
es/Configuration.java
d86b8fea43ebb6e5c31691b44d8ceb0d8d3c9072 03-Jun-2017 Jeff Sharkey <jsharkey@android.com> Annotate @SystemApi with required permissions.

Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.

Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
lipboardManager.java
ontext.java
estrictionsManager.java
m/LauncherApps.java
m/PackageInstaller.java
m/PackageManager.java
m/ShortcutManager.java
9aeff8abcc27131a1a48f419db5c65cfa8909fb4 31-May-2017 Makoto Onuki <omakoto@google.com> Refer to ShortcutManagerCompat in the javadoc

Bug: 62193112
Test: m offline-sdk-docs and manually checking the result
Change-Id: I5f608f9b22dec595a0e14026a9f4aaf7898bfdba
m/ShortcutManager.java
ddff807b762a8a455287abc97aea8f97b98fb104 26-May-2017 Jeff Sharkey <jsharkey@android.com> Consistent "low storage" behavior.

When answering the question "how much space is free", use the same
logic for Settings UI and StorageManager.getAllocatableBytes(). That
is, the reported free space is usable bytes plus any cached data the
system is willing to delete automatically.

This does *not* include any reserved cache space, since we don't want
abusive apps to penalize other well-behaved apps that are storing
their data in cache locations. Callers freeing cached data need to
now explicitly request defiance of the reserved cache space. (Most
callers are already doing this by using FLAG_ALLOCATE_AGGRESSIVE.)

Rewrite the core logic of DeviceStorageMonitorService to understand
this new "reserved" cache space, and to be easier to understand. It
also now handles cached data on adopted storage volumes, which had
been ignored until now. Also fix bug where we had skipped "low"
broadcasts when the device skipped directly from/to "full" state.

Bug: 38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Icbdcf3b52775f7ada1ceaeff2f96094c8d8052f9
m/IPackageManager.aidl
24c18af14a3cc39d28e7fb507b37f8700f605463 26-May-2017 Adam Lesinski <adamlesinski@google.com> Merge "Add ResourceId validation helper method" into oc-dev
36d6a985cd0595061a2f5a9facc91aa013aea72a 26-May-2017 Tenghui Zhu <ztenghui@google.com> Merge "Create a new drawable after caching the DrawableContainer" into oc-dev
9553fb3240f6d2e52012f94fb59271348a07b94d 24-May-2017 Adam Lesinski <adamlesinski@google.com> Add ResourceId validation helper method

An invalid, 'null' resource ID is defined as 0. Apps often use -1.

Add a helper method that makes checking valid IDs easy and more
centralized.

Eventually make it public API.

Bug: 38393777
Test: manual
Change-Id: I969ec4a45e86bdab3d7f57d357d475b77c7f8a78
es/ResourceId.java
es/Resources.java
1de10d6602df4ab2a7769b69a57e472920ba7fee 24-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "System installed launcher can see instant apps" into oc-dev
3051caac52729c8c059eb538805f4d274a9945a5 24-May-2017 Todd Kennedy <toddke@google.com> System installed launcher can see instant apps

Change-Id: I97f791b61f9b4f7ed33305345bf3d92394b40ae4
Fixes: 38202759
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Test: Manual. Create sample app that replaces the launcher to test ability to see ephemeral apps.
m/PackageManagerInternal.java
4fed971437d957e09f86b67c540b27a6e15920bb 23-May-2017 Adam Lesinski <adamlesinski@google.com> Resources: fix race with creating theme

Bug: 38353957
Test: none
Change-Id: Id78770b475b979635da6a4067db6269e3a1b04d6
es/Resources.java
ad6dde65ff767b25a0c7795def86235518853dd2 22-May-2017 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #38393543: Not allowed to start service Intent" into oc-dev
3e6e3855ea10c92a0328c360fc8414e85fb3ad61 20-May-2017 Dianne Hackborn <hackbod@google.com> Fix issue #38393543: Not allowed to start service Intent

Turns out there was another path in to the activity manager
to trigger a PendingIntent, which needs to be modified to
now also pass in the whitelist token of that pending intent.

Test: manual
Change-Id: I755ff87db1b782fa6974d404dcb490786053c5e0
ntentSender.java
ee7e8f13ea2293e93ef9dd9f3f088186edd4864e 17-May-2017 ztenghui <ztenghui@google.com> Create a new drawable after caching the DrawableContainer

fix:37135264

Test: Add new CTS test
bit
CtsGraphicsTestCases:android.graphics.drawable.cts.DrawableContainerStateTest,
CtsGraphicsTestCases:android.graphics.drawable.cts.DrawableContainerTest,
CtsGraphicsTestCases:android.graphics.drawable.cts.Drawable_ConstantStateTest

Change-Id: I8bb868d16a944f746ec41d3e37ae4215b964d949
es/ResourcesImpl.java
01d5b3d2af248940a01b0f8113fd832b581591c0 19-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Introduce early exit path for non resource path." into oc-dev
ad623015a119efe9b63f594af9c4703f40a0c27b 15-May-2017 Makoto Onuki <omakoto@google.com> Restrict access to instant app data in usage stats

- Events are obfuscated based on whether the app was instant or not at
the time each event was logged.

- UsageStats are obfuscated based on whether each app is instant or
not at the moment.

Bug 38202133
Test: Manual test using UsageStatsTest and instant apps

Change-Id: I3c74309196b88d010d317cb0dd6749bf4624e876
m/PackageManagerInternal.java
2ea169a2ecbb7e589fcef78cb1486d007a8fb867 16-May-2017 Seigo Nonaka <nona@google.com> Introduce early exit path for non resource path.

Developer can specify android:fontFamily with three ways, pre-defined
font family name, e.g. "sans-serif", path to the font file in resource
directory, e.g. "res/fonts/Roboto-Regular.ttf", or path to the XML font
family file, e.g. "res/fonts/Roboto.xml".

Resources.getFont treats font files and XML files but pre-defined family
name is handled by TextView. Thus, we can early exit if the passed value
is not likely resource path.

This improves the inflation performance.
The score without this patch:
gfx-avg-frame-time-50: 6.9
gfx-avg-frame-time-90: 9.4
gfx-avg-frame-time-95: 10.4
gfx-avg-frame-time-99: 16.7

The score with this patch:
gfx-avg-frame-time-50: 7.0
gfx-avg-frame-time-90: 8.9
gfx-avg-frame-time-95: 9.7
gfx-avg-frame-time-99: 16.5

Measured on bullhead-userdebug.

The APCT perf test improves from
String FontFamily: 200,086 -> 132,561
File FontFamily : 199,256 -> 161,843
XML FontFamily : 203,681 -> 158,553

Measured on angler-userdebug.

Bug: 38232467
Test: UiBenchmark
Change-Id: Ia601ae7207ae8c60848c9efdbb9396267a57257c
es/ResourcesImpl.java
e04765998e32dc3e098becfdfa3d19045926b541 16-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support recursive static shared lib dependency" into oc-dev
58c99f02077d8279e88a89d8e6fe413af5692f87 15-May-2017 Svet Ganov <svetoslavganov@google.com> Support recursive static shared lib dependency

Test: Updated the static shared lib CTS tests to verify that
All static shared lib CTS tests pass

bug:35359862

Change-Id: Id4a0dabbc9d8e98962e92b6f537f6ffffa63b585
m/IPackageManager.aidl
c75bd416e9e8131f773bd0e6f89c2495d531917a 13-May-2017 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #38210653: Few more tweaks of job scheduler" into oc-dev
bfc2331f2f0bee2c12fe8f9cc8a2f3cca05feb86 11-May-2017 Dianne Hackborn <hackbod@google.com> Fix issue #38210653: Few more tweaks of job scheduler

- Now keep track of the time a job was enqueued, and order
the pending list by that.
- Added configuration constants for rescheduling: maximum
times to reschedule, minimum backoff times.
- Fixed printing of active jobs -- the method to get the current
JobStatus was old and didn't require the caller to hold a
lock, so made a copy, which didn't contain all the data we were
interested in. Now with our simple locking, we can just make
that require the caller hold a lock and return the real
JobStatus object.
- Include oom_adj and procstate when printing information about
processes being killed.
- Expanded documentation of BroadcastReceiver.goAsync().

Test: bit CtsJobSchedulerTestCases:*

Change-Id: I2e45f181e45be9836c74cbff1b844ffdf6e93019
roadcastReceiver.java
2a3473413119ec44b45837110a06b97171036185 13-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add command to retrieve the instant app resolver" into oc-dev
b9a098aeb67a502fed450c1558c2b357860fcf3a 13-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update ShortcutManager/Service javadoc/impl around sizing" into oc-dev
4703746f500933b920236a72f70f629304ea2578 09-May-2017 Hyunyoung Song <hyunyoungs@google.com> Update ShortcutManager/Service javadoc/impl around sizing

to account for AdaptiveIconDrawable type of shortcuts

Test: builds for now.. If Makoto is happy with this change, will add tests

b/37743074

Change-Id: Ieecd95d621db57f858fac449d3bcedd173c8607c
m/ShortcutManager.java
a31a74b993578573eca33ca68762a98c6f6cb904 12-May-2017 Sunny Goyal <sunnygoyal@google.com> Setting Session commited broadcast when an existing apk is enabled for
a different user

Test: Manual tests and CTS
Bug: 38204385
Change-Id: Ic3bddbc2e6070c11b11f0685077db7737f2b8849
m/PackageManager.java
c3db339987acf8d4c0f81615c53ec6ac41f94f15 12-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "System/root/shell need to explicitly ask for static libs to get them" into oc-dev
9e77977ffa4cb3c8dfa82070c20417e556fe7c8a 11-May-2017 Svet Ganov <svetoslavganov@google.com> System/root/shell need to explicitly ask for static libs to get them

Test: manual - settings no longer shows static shared libs
all shared lib CTS tests pass

bug:36632271

Change-Id: If3363059b5f5300e309b61899af8c2559af317fe
m/PackageManager.java
7d75f491756973fd68a0e3ed8b462c1d2e88163b 11-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix support for @empty in style resolution" into oc-dev
32e7501a27f0f19bccdf9e91f9b87869c093f695 10-May-2017 Adam Lesinski <adamlesinski@google.com> Fix support for @empty in style resolution

If @empty is encountered in XML, do not fallback
to searching through the theme.

Bug: 36891052
Test: make aapt2_tests
Test: bit CtsContentTestCases:android.content.res.cts.TypedArrayTest
Change-Id: Ie3bf7b70af9c7913513a1092afd95d26bec5e635
es/TypedArray.java
983055231b999e450def3e3df377fb4e23420711 06-May-2017 Dianne Hackborn <hackbod@google.com> Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist

There is now an IBinder "token" that must be specified when setting
the whitelist duration for an Intent. To have the whitelist supplied,
the caller to send a PendingIntent must pass in the same token. The
PendingIntent and IntentSender classes now internally maintain this token
to pass in when their send() is called.

The big complexity for making this work is we now need to associate this
whitelist token correctly with the actual PendingIntent objects that
applications and other code is getting. To do this, we propagate the
token in the Notification object, and have a new API on Parcel that allows
us to make it available to PendingIntent when it is unmarshalled. And
this allows to deal with PendingIntents appearing in nested bundles, as
we can propagate that information from the original Parcel to the new
Parcel that Bundle keeps to delay unmarshalling.

Test: manual
Change-Id: Idda00490ccfe2be37e4ab21354b9ab7528a52750
IntentSender.aidl
ntentSender.java
31ef1394663ff7f36be36e63898544afc6a10c66 11-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Offload saving bitmaps from binder threads" into oc-dev
475c36539da9687d75447adb9054c98ce03c754a 08-May-2017 Makoto Onuki <omakoto@google.com> Offload saving bitmaps from binder threads

Bug 34691191
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutManagerTestCases
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutHostTestCases
Test: Manual test with the phone app

Change-Id: Ibccf8ca162eae9179ee4cbdf0307ff34a6953aa1
m/ShortcutInfo.java
39791594560b2326625b663ed6796882900c220f 26-Apr-2017 Bryce Lee <brycelee@google.com> Prevent non-fullscreen activities from influencing orientation

This changelist enforces that activities targeting O and beyond
can only specify an orientation if they are fullscreen. The
change ignores the orientation on the server side and throws an
exception when the client has an orientation set in onCreate or
invokes Activity#setRequestedOrientation.

Fixes: 33483680
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testNonFullscreenActivityProhibited
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testLegacyNonFullscreenActivityPermitted
Change-Id: I4f7f79744918fad6465a537633dfadec8d05c6df
m/ActivityInfo.java
3de110bbb7f30090b4eae0e4edbf97c5819c4658 04-May-2017 Abodunrinwa Toki <toki@google.com> Remove redundant TextClassificationService

Text classification is now being done entirely in the app's proccess.
See android.view.textclassifier.TextClassificationManager
Reverts Ic428d00f291e268211866b3fc6b7acbc3eb04e1e

Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Fixes: 36852122
Change-Id: Iffff3ab6e7d3b761576eb6bdcd5032db34b7a1b2
ontext.java
0a3f081b228f527828f79c0beeca682de2743050 08-May-2017 Todd Kennedy <toddke@google.com> Add command to retrieve the instant app resolver

Bug: 33073536
Test: gts-tradefed run commandAndExit gts-dev -m GtsPackageManagerHostTestCases -t com.google.android.pm.gts.PackageManagerHostTest
Change-Id: I3050fb083da2f85c7226291ec5c7794ed95a13ef
m/IPackageManager.aidl
ff6d6d94926f550a1a284e844cfd8cd2f0d73765 06-May-2017 Philip P. Moltmann <moltmann@google.com> Persistable accessibility ID from ContextWrappers

Only IDs beyond LAST_APP_ACCESSIBILITY_ID can be reliably used for
autofilling. Other ids might change occasionally.

All Views attached to activities get usable IDs. Hence if a
ContextWrapper wraps an activity forward the goodness.

Also make sure that we don't accidentially autofill an unsafe view.

Test: Before the messaging handed out unusable Ids because it uses a
Contextwrapper. Now it hands out good ideas (accoring to dumpsys)
CtsAutoFillServiceTestCases
Bug: 38070352
Change-Id: Ibc72c84d77197019939abd231e8960988af7a592
ontextWrapper.java
9ccb15a351c3732b4dd8f55eb100756b0f88a9e8 05-May-2017 Makoto Onuki <omakoto@google.com> Merge "Show warning log when ShortcutInfo is re-published" into oc-dev
4804e41574979db60827c4b5e724aa898c2b09f9 05-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Create auxiliary info for local instant apps" into oc-dev
1ea3a2600b524fd70ac9fd04d7a286d794ad4617 05-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Resolve styles by font table if not specified." into oc-dev
c0dd03a666467d03e140f3a43704b3f3f3f4d4b7 05-May-2017 Todd Kennedy <toddke@google.com> Create auxiliary info for local instant apps

This reverts commit a1d8051fa2317d897a6b20442177e357172e93db.

Change-Id: Ic471a4efe64406dd75cc0bf1d6464276a94347d8
Fixes: 37947648
Test: Manual
Test: Install an instant app [https://www.nytimes.com/crosswords/game/mini]
Test: Try to run installed instant app from gMail
m/InstantAppResolveInfo.java
a5fa9e8a63e5764244b709f37bc4a54d2bb96890 05-May-2017 Seigo Nonaka <nona@google.com> Resolve styles by font table if not specified.

android:fontStyle and android:fontWeight is an optional attribute.
If they are missing, we are using non-italic 400 weight, but this is
not good idea. We should resolve these style value from font metadata.

Bug: 37988154
Test: am instrument -w -e class android.content.res.cts.ResourcesTest
android.content.cts/android.support.test.runner.AndroidJUnitRunner

Change-Id: I80a436cd3632d8c58fa3d8bdaedac73b95f61a8c
es/FontResourcesParser.java
8cfb1a95dac102bbe2dbb931df0dd60da083ee2c 05-May-2017 Bryce Lee <brycelee@google.com> Merge "Revert "Create auxiliary info for local instant apps"" into oc-dev
a1d8051fa2317d897a6b20442177e357172e93db 05-May-2017 Bryce Lee <brycelee@google.com> Revert "Create auxiliary info for local instant apps"

This reverts commit e15e7cb592a923eea029c12aa9fc144a3fbaddc0.

Change-Id: I116904fd8c2b28df7e03bc5ec2414ed67761b380
m/InstantAppResolveInfo.java
d14e67656f61d35ca4982cbee7aa9692f35fe9eb 05-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Don't set the failure extra on split install" into oc-dev
d55670bcf57febb38ec2b3bac86ad86a8200b443 05-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Create auxiliary info for local instant apps" into oc-dev
bf563b63e5d3672ec102ee191a301e49e472139b 04-May-2017 Makoto Onuki <omakoto@google.com> Show warning log when ShortcutInfo is re-published

Bug 37986391
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Change-Id: Id9ca30068440915d2e86850fe2ed3684c0ce2af8
m/ShortcutInfo.java
m/ShortcutManager.java
253984ed8c8f39fa0aa9c5f4addf2f44f334c749 24-Oct-2016 Vladislav Kuzkokov <vkuzkokov@google.com> Store "block uninstall" flag separately from the rest of package state.

This allows to set "block uninstall" prior to installation and avoid the
inevitable race that happens when Device Policy app tries to force install and
then immediately block uninstall.

BUG=31043188
Test: Block com.chrome.beta in TestDPC. install, fail to uninstall through adb, unblock, uninstall

Change-Id: I5ffa2abcb003982eccfb77585c43b59532dd501d
(cherry picked from commit 1fff9dcb9d0a4d7224ff8aa0f39e82df0b30152c)
m/PackageUserState.java
7dd99e3d463eb2354e5ddb0cbeed1333ec590235 04-May-2017 Todd Kennedy <toddke@google.com> Don't set the failure extra on split install

Change-Id: I2f836b5ebc9f377ae8fe0a0d4a60541dd1666011
Fixes: 37852108
Test: Manual
Test: Install and run pico blast
Test: Note that the failure extra is set
Test: Click "New" to install a split
Test: Note that the failure extra isn't set
m/AuxiliaryResolveInfo.java
e15e7cb592a923eea029c12aa9fc144a3fbaddc0 03-May-2017 Todd Kennedy <toddke@google.com> Create auxiliary info for local instant apps

Change-Id: I73fc6f36f666a0f4fd538e1d3c541ce10443902d
Fixes: 37947648
Test: Manual
Test: Install an instant app [https://www.nytimes.com/crosswords/game/mini]
Test: Try to run installed instant app from gMail
m/InstantAppResolveInfo.java
40a006285b954607a96b1209de95bbed48d856f7 18-Apr-2017 Bartosz Fabianowski <bartfab@google.com> Add more explicit documentation for install reason

This CL adds more explicit documentation of the install reason argument /
return value to PackageInstaller.SessionInfo.

Bug: 37324584
Test: None

Change-Id: I2450cc669b194e611c5dc07c6a0a5cd78a98c039
m/PackageInstaller.java
5f016f6705d2ea1573d8c7ed70b95752c4340b90 02-May-2017 Calin Juravle <calin@google.com> Merge "Make PM#notifyDexLoad oneway" into oc-dev
b3e92234fa8268f1a28bb2e28990b3a337f740d5 02-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix NPE happens if no source was specified to font element." into oc-dev
22c1275c89d4975cbae3c49913aa5693b544628f 02-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Don't send configuration that app doesn't support to it." into oc-dev
5e0aed49a874b32b135bbd8da620357764b69ad4 01-May-2017 Seigo Nonaka <nona@google.com> Fix NPE happens if no source was specified to font element.

This also fixes unexpected fallback to the old implemntation by calling
allowUnsupportedFont() which is only for backward compatibility.

This CL also remove getResourceId() method. Nobody uses this method.

Bug: 37865521
Bug: 37844248
Test: am instrument -w -e class android.content.res.cts.ResourcesTest\
android.content.cts/android.support.test.runner.AndroidJUnitRunner
Change-Id: I987448add728c53c916f24a2ea8f337be417248f
es/FontResourcesParser.java
es/ResourcesImpl.java
0a3693c21d5dda8374db88ab07a7a2a8a24aa88b 02-May-2017 Calin Juravle <calin@google.com> Make PM#notifyDexLoad oneway

There's not need to wait for the PM to process the dex load
notification.

Make notifyPackageUse one way as well (for the same reason).

Bug: 37876265
Test: manual test to verify that notifications still work
Change-Id: I29d076348c2999a4441c2047a89a45b085bf3761
m/IPackageManager.aidl
e8d7c01e8ad21a88dcd2ed495d96b7f8f28e5ba1 02-May-2017 Rob Carr <racarr@google.com> Merge "Fix rotation animation selection." into oc-dev
d4b1d1ee725afbac1c316d4bf6ee721853bde9b6 10-Apr-2017 Wale Ogunwale <ogunwale@google.com> Don't send configuration that app doesn't support to it.

If an app doesn't support the current device orientation configuration,
then don't run the app in that configuration. Instead have the run in
the last configuration that it supports.
This mostly fixes transient cases where there is a short window that the
device is switching configuration and the app could be sent the single
incorrect configuration that is quickly corrected

Test: Will be added soon.
Fixes: 36897968
Change-Id: I030a04200fdf33c4c1938bda980ea8c14aa1c736
m/ActivityInfo.java
0d6c3a691ec020d5d67f2040c032043b08f6e3d2 02-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Rename to follow API council guidance." into oc-dev
c0149bf0f67a7d090d120cd243f191527a97d91d 02-May-2017 Robert Carr <racarr@google.com> Fix rotation animation selection.

The default activity specified value for rotation animation
should be unset, not ROTATE, so that it will not override
window specified versions.

Bug: 37671120
Test: Rotate camera 180 degrees...expect crossfade or jumpcut depending on APK version but never rotate animation.
Change-Id: I6acbf32b3de0e2848565cc6cb6fb62f625053634
m/ActivityInfo.java
f29d19610d7fe7c3b757dd6348a2bffc7e7b9435 01-May-2017 Jeff Sharkey <jsharkey@android.com> Rename to follow API council guidance.

Test: builds, boots
Bug: 37422404
Change-Id: Idcec897e775f2613805a86209615e389b63bd78d
m/ResolveInfo.java
e6b4614d88c04a3b3fb0497b5e8f6b4c359f6f2d 01-May-2017 Svetoslav Ganov <svetoslavganov@google.com> Addess API council comments

Test: manual

bug:37322491

Change-Id: I2017e667c5452c7ef7c56ec19c594e685700b33a
m/SharedLibraryInfo.java
a5e8bfe999957f189b8efda86fc906c62a29fc91 01-May-2017 Jeff Sharkey <jsharkey@google.com> Merge "Rename restartOnConfigChanges to recreateOnConfigChanges." into oc-dev
ef08871d6bdc63847b621a69c277c80bcb6d0d39 01-May-2017 Matthew Snider <msnider@google.com> Merge "Removing ACTION_CLEAR_PACKAGE intent" into oc-dev
080e16575a5a97aa94498f6dd544d6cbd66faed8 01-May-2017 Jeff Sharkey <jsharkey@google.com> Merge "Move intents ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED, ACTION_DEFAULT_SUBSCRIPTION_CHANGED and EXTRA_SUBSCRIPTION_INDEX from Intent class to SubscriptionManager class." into oc-dev
c93c3b9cf378e84b8a6f8fdb519a11c51d748a45 29-Apr-2017 Holly Jiuyu Sun <jiuyu@google.com> Rename restartOnConfigChanges to recreateOnConfigChanges.

Bug: 37738136
Test: unit test
Change-Id: Icea9faf1d7f55b875d6ff9e4cc9aed4868637895
m/PackageParser.java
f1a4b507394f32a9a1fe83b5f6a9d5c543587a6c 30-Apr-2017 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #36891897: Need to ensure foreground services can't..." into oc-dev
35312fd4c6fccaf5869b8fbf7bef9b1a6def75ba 30-Apr-2017 Martijn Coenen <maco@google.com> Merge "Rename persistentFeature to persistentWhenFeatureAvailable." into oc-dev
4c60abc9ae3d0351b39e3d13f661e4033c883942 30-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Address API council comments" into oc-dev
83b40f69bef4ba17bb63ac30d52f661a12d5b4f4 26-Apr-2017 Dianne Hackborn <hackbod@google.com> Work on issue #36891897: Need to ensure foreground services can't...

...hide themselves

The activity manager now keeps track of all apps that are running
foreground services and builds a notification showing them to the
user. We ensure they are shown to the user for at least 30 seconds
(configurable). If foreground services are executed while the
screen is off, their apps will be shown to the user for at least
30 seconds after the screen turns back on.

While doing this I am also adding a new process state to distinguish
between "important background" stuff that should bypass bg check vs.
ones that don't. By default, these now no longer bypass bg check,
which is really the expected (and documented) behavior. There is a
new bind flag to allow them to bypass bg check, which is currently
only used by the IME.

Also add some new job scheduler commands that will be used to
write new tests cases for jobs timing out.

Bug: 36891897

Test: manual

Change-Id: Ied3f7b56444254513fd776f06b88bc0e54704958
ontext.java
e14159d2c5919e2eb34e62e6ce1c56459342c716 29-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Revert "Treat Telephony as legacy app for now."" into oc-dev
d9f6946c42f9d3c51f3a48409bdd5632cc8b9fc1 29-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Experimental features only on debuggable builds." into oc-dev
f965b87a781c6d77567c3fa7a5c6e4d3361dc6dc 29-Apr-2017 Svet Ganov <svetoslavganov@google.com> Address API council comments

bug:37769694
bug:37322491

Change-Id: I931cfb5ea5fef1505a97b169125ed2cdaaa3d6ff
m/VersionedPackage.java
d275dc83bedb9d72d3faa27b4d8e17aab095c5ae 29-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Respond to API council feedback." into oc-dev
1be5354aba7fdcb877125731a05debe35b39114f 28-Apr-2017 Dianne Hackborn <hackbod@google.com> Fix issue #37324532: API Review: android.content.pm.InstrumentationInfo

targetProcess -> targetProcesses

Test: bit CtsAppTestCases:InstrumentationTest

Change-Id: I859985c689cc588c585cd0ec6e0a20411493a7c0
m/InstrumentationInfo.java
m/PackageParser.java
1a74942fbfa36bf62013b51d8ad9fb4c0e44c6f4 28-Apr-2017 Jeff Sharkey <jsharkey@android.com> Respond to API council feedback.

Test: builds
Bug: 37752002
Change-Id: I7ae1699c4c5e1a098d16465c41fb41510478b678
ntent.java
598d24c55817cfbd00b6dafdf772334a7039fe3e 25-Apr-2017 Malcolm Chen <refuhoo@google.com> Move intents ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED,
ACTION_DEFAULT_SUBSCRIPTION_CHANGED and EXTRA_SUBSCRIPTION_INDEX
from Intent class to SubscriptionManager class.

Bug: 37497166
Test: Manual
Change-Id: Ifeedf974328cd3d839d7f66bf41a91c479d66316
ntent.java
5b26dac2c36d07a36009cc66c550dab814ba2c5e 28-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Change ClipData.addItem signature" into oc-dev
77cc43e0d261a3db835d062e5c770b91b0a80bd9 28-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Respond to API council feedback." into oc-dev
8d74ca4ee43821b947fee7e910d32f92da2bb9bc 28-Apr-2017 Martijn Coenen <maco@google.com> Rename persistentFeature to persistentWhenFeatureAvailable.

Addresses API review comments.

Bug: 37742058
Test: builds
Change-Id: If7ddeefa4f1ccbdf087c837d1584f255585886c1
m/PackageParser.java
dc326a883efa75c4071284db2cdb48275e68b0f7 28-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Apply static RRO when parsing Android manifest of a target package" into oc-dev
30dc2a08667d56fdd3eecdcb70abec1b28d821f4 11-Apr-2017 Jaekyun Seok <jaekyun@google.com> Apply static RRO when parsing Android manifest of a target package

This CL creates idmaps for static RROs right before parsing a target
package. Those idmaps will be used to parse correctly the Android
manifest of the target package.

Later, OverlayManagerService will update each idmap with the correct
gid from the target package app id.
Note that the idmaps generated here will be used by OverlayManagerService
as well until they are outdated (http://ag/2127839).

Additionally a target package should be parsed again if its overlays are
updated to apply the changes.

Test: building succeeded and tested with sailfish-userdebug.
Bug: 37179531

Change-Id: Ie0d5e92ae6e06b2d377ebd4cfdb0a8519b49a944
m/PackageParser.java
c35c02f1eaeeab23081b94866a1903e3175fc461 20-Apr-2017 Vladislav Kaznacheev <kaznacheev@google.com> Change ClipData.addItem signature

Make ContentResolver the first parameter.

Bug: 37419379
Test: android.content.cts.ClipboardManagerTest
Change-Id: I3f7772e8ddc93eec0e930b62c722a145f9e6f0fa
lipData.java
48e19c8cc976e94d1b3b1cdc416fd3841f141e99 25-Apr-2017 Sujith Ramakrishnan <sujithrk@google.com> Updated intent action name to comply with CTS.

- Updated "android.intent.action.GLOBAL_BUTTON" to
@SystemApi

Test: manual - Bottom button on Fugu brings up pairing screen
Test: manual - GUIDE button on Fugu brings up TV channels app

Bug: 37499047
Change-Id: I3b92ed99aeb53674fbaac91126e8c5e7fcffa715
ntent.java
301663a61bda0e2eb863d6518de882cf805abcf7 27-Apr-2017 Makoto Onuki <omakoto@google.com> Merge "Change IMPORTANCE_PERCEPTIBLE_DEPRECATED to IMPORTANCE_PERCEPTIBLE_PRE_26" into oc-dev
a9d0e6b2053643a092d63dfa1671dd9e18a9529b 27-Apr-2017 Chad Brubaker <cbrubaker@google.com> Merge "Allow apps to provide the Instant App installer extra information" into oc-dev
a4d34d971c9566a162a53e6b027ba2bc341ae5b4 27-Apr-2017 Jeff Sharkey <jsharkey@android.com> Respond to API council feedback.

Move aggressive allocation to @SystemApi, which means we can hide
the "flags" API variants.

Remove UUID APIs, since we should use existing Serializable APIs.

Relax permission checks to allow apps to ask for their own stats.

Improve docs.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37534687, 37534941, 37718184, 37738770
Change-Id: I6a763fb3ab3169c8d3329765bb31e1ee08d9ced7
m/ApplicationInfo.java
ba9ab1743454406582a061dae0b04e7e94324982 27-Apr-2017 Stefan Ramsauer <str@google.com> Merge "Fix parameter name mismatch in getResourceIdentifier." into oc-dev
6b36aeb4910e50e6c999137a90b7428f4fd48b36 27-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Adds a comment to EXTRA_CONTENT_ANNOTATIONS to prevent developers from using colons in their customized annotations." into oc-dev
f14768814929b1ca60b2c1e51c9baa5e6f81d9a7 27-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Address API Council feedback." into oc-dev
e92f79450a0e3a55586eb2992577d09fc997761a 26-Apr-2017 Makoto Onuki <omakoto@google.com> Change IMPORTANCE_PERCEPTIBLE_DEPRECATED to IMPORTANCE_PERCEPTIBLE_PRE_26

Also make sure to return the legacy value from
RunningAppProcessInfo.importance.

Bug: 37636026

Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsAppTestCases -t 'android.app.cts.ActivityManagerTest#testGetRunningAppProcesses'
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsAppTestCases -t 'android.app.cts.ActivityManagerTest#testGetMyMemoryState'
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsAppTestCases -t 'android.app.cts.AlertWindowsTests'
Change-Id: Ie04e4dfa40c28ea391ae5ce3c769c6f8ee70a43d
m/PackageManagerInternal.java
0606861de50995e997d7c117e3bab1eb5db06da8 06-Apr-2017 Chad Brubaker <cbrubaker@google.com> Allow apps to provide the Instant App installer extra information

Apps may want to provide additional context information to the instant
app installer in order to allow the installer to make smarter choices
about the context of the launch. This CL adds a bundle to
ActivityOptions that is sent to the Installer (if an Instant App is
launched) but not to any other application if something else on the
device handles the Intent instead.

Bug: 35180854
Test: manual
Change-Id: Ifc69a420a9c68041b39acd8a4b83db8a789822a6
ntent.java
m/InstantAppRequest.java
m/PackageManagerInternal.java
35eb324bf17e63a2e28c08484313d195e3f1e7f6 26-Apr-2017 Nathan Harold <nharold@google.com> Merge "Hide IpSecManager, IpSecTransform, and IpSecAlgorithm" into oc-dev
2f85e8a3176532b8a0c7c2ab78da1e2b59fed497 26-Apr-2017 Kang Li <kanlig@google.com> Adds a comment to EXTRA_CONTENT_ANNOTATIONS to prevent developers from
using colons in their customized annotations.

bug: 37496130
Test: skipped, because all changes are in comments.
Change-Id: Ifd7592c50f5079bb6035b051bf63f986c7cbae84
ntent.java
3f1790dec8307eab66a8360d369cdf4a38fd3170 26-Apr-2017 Jeff Sharkey <jsharkey@android.com> Experimental features only on debuggable builds.

Test: builds, boots
Bug: 36107077
Change-Id: I97b82d1d358fd1676362a3360a70116890e52085
m/PackageParser.java
4b2e87f928ccee2ba3cc6e189678a94fcfa0b71b 26-Apr-2017 Jeff Sharkey <jsharkey@google.com> Revert "Treat Telephony as legacy app for now."

This reverts commit 2afae796de74064e67a6039616e0ed49efcdc9b7.

Reason for revert: b/35792675 now fixed

Change-Id: Ie559fc7ebe209c45bb598daba781ef5e6e1f839e
ontentResolver.java
bd62d6aff264b8e8ce4a06ca6417e69bcca3006b 25-Apr-2017 Nathan Harold <nharold@google.com> Hide IpSecManager, IpSecTransform, and IpSecAlgorithm

These classes, originally planned to be part of the
public API, are not ready for public consumption.
They are planned to be un-hidden in a future release.

Bug: 37681043
Test: make update-api and make
Merged-In: I8caccd3f8455341cb56a2256354eacbadedff047
Change-Id: I8caccd3f8455341cb56a2256354eacbadedff047
(cherry picked from commit e38565fc74ee19e27175782be3cf2f0dffefd3a6)
ontext.java
0a4b7f5a867612fffc14cbc480da306e89ec4892 26-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add concept of implicitly exposed components" into oc-dev
a00c7c0a9983e30e4dcbc4f7ae847a26d9ea614f 26-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Fix some issues found by new doclava linter." into oc-dev
885b5f4466f318431a5bd0cef8a5685c0fbc2ba1 25-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove underscore from Companion service name" into oc-dev
76b2770214aaa6868c476273337263f45fa4dc9d 24-Apr-2017 Steve McKay <smckay@google.com> Address API Council feedback.

Bug: 37422306, 37419881
Test: Build and read docs.
Change-Id: Id6c8bad6ad6b311017094ce5dbd66cfd72c477ad
(cherry picked from commit d74a3bd7d1d3175856f450a9e77dabb89f2e5060)
ontentProvider.java
ontentResolver.java
c05f5d12d9a1b98221833ec0919d081a869d2486 25-Apr-2017 Todd Kennedy <toddke@google.com> Add concept of implicitly exposed components

Implicitly exposed components are those that can still be accessed
via generic startActivity() calls. However, they cannot be started
by specifying a package or component. Additionally, package info
can't be obtained if the package only has implicitly shared
components.

Change-Id: I404a4dff87559cfeee6ad78f7dcc7f5d849d6869
Fixes: b_37343345
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
ntentFilter.java
m/ActivityInfo.java
m/PackageManager.java
m/PackageParser.java
m/ProviderInfo.java
m/ServiceInfo.java
0f3f60b576aedc78524d50da3dadada2201e63c2 25-Apr-2017 Jeff Sharkey <jsharkey@android.com> Fix some issues found by new doclava linter.

Add missing API annotations for permissions and SdkConstants, and
invoke doclava with new "-android" flag.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I970bb2655eb568fd25004636f134c794663a6c33
ntent.java
a3c4eb35b1b8507aa3d4d58fdbe1d31dc6253ffc 20-Apr-2017 Svet Ganov <svetoslavganov@google.com> Move child package feature behind sys prop

Now one can do adb shell setprop/getptop to change
"persist.sys.child_packages_enabled" to true/false to
control whether child packages are supported.

Test: manual

bug:36107077

Change-Id: Ie60e255fd3c248905906cdd5b10adae074c0b717
m/PackageParser.java
01354dc85882e4eeef8960bcaf086540652eecac 25-Apr-2017 msnider <msnider@google.com> Removing ACTION_CLEAR_PACKAGE intent

See ag/2118129 in master for revert

Test: N/A

Bug: 37413812
Bug: 37497021
Bug: 37494148
Bug: 37414037
Change-Id: Id39418e7008ef109e058f52eb44d610b29e34125
ntent.java
30e06bb668f2e4b024c4ebc2a131de91c96de5eb 24-Apr-2017 Jeff Sharkey <jsharkey@android.com> Even more auto-doc work.

Update docs based on what new lint detector found. Add new @IntDef
to parameters or methods returning constants or flags, and add
@RequiresPermission to methods mentioning permissions.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I7f640f7883fcb66b911a52ae93b83f77306571ec
omponentName.java
ontext.java
ntent.java
m/PackageManager.java
1ab9119f507d0b85e79d6098bf2055476683afb6 24-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove @TestApi annotation" into oc-dev
9cea1d28dd96b05cf3cb910e03ade9dfc5146745 21-Apr-2017 Nicolas Geoffray <ngeoffray@google.com> Drop REASON_FORCED_DEXOPT.

This can already be configured with the default compiler filter.

Also remove unused performDexOptIfNeeded.

bug:35794392
Test: device boots, forced dexopt works.
Change-Id: I14fc86c4783b2d7ac9cf8972b6619ba303e79659
(cherry picked from commit e103256c1fee6b53ead10efe13ca35ad270626fa)
m/IPackageManager.aidl
6bc03748a76edea4ff437568cf4917ba79763b0f 22-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "More auto-doc work." into oc-dev
1939550fbafb7984b62405ecfb19a58cdea77fcc 22-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix a spelling." into oc-dev
2e6886550a085a6e6220f35cc4d099c41f252290 21-Apr-2017 Stefan Ramsauer <str@google.com> Fix parameter name mismatch in getResourceIdentifier.

Test: No test since change is NOP.
Change-Id: Id069f18e7e75f3b34448cfbabb8ba84d7bb18d87
(cherry picked from commit dd48cc8ad42baab0b7548db38ceffd592a92f191)
es/AssetManager.java
5be3647a9ecb881d353edfdbc3a1b256fed0677e 22-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Propagate density through AdaptiveIconDrawable and BitmapDrawable" into oc-dev
910e081216ac530432ac9d0aab10d5e5e4c73ab8 22-Apr-2017 Jeff Sharkey <jsharkey@android.com> More auto-doc work.

Add support for AnyThread, CallSuper, and UiThread.

Another related CL started documenting @RequiresPermission, so remove
duplicated information in existing APIs.

Suppress auto-doc on a handful of classes that are already
well-documented.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I791437dccec0f11d5349a23b982ba098cb551af8
omponentCallbacks2.java
m/PackageInstaller.java
m/PackageManager.java
50954d2b4ea938d787ef5021d75f6bc02826607a 15-Apr-2017 Adam Lesinski <adamlesinski@google.com> Propagate density through AdaptiveIconDrawable and BitmapDrawable

Resources#getDrawableForDensity now propagates the overridden
density through to AdaptiveIconDrawable so that the density can be
propagated to leaf BitmapDrawables correctly.

This enables AdaptiveIconDrawable to support higher resolution
foreground/background bitmaps for use in Launcher.

Bug: 36039665
Test: bit CtsContentTestCases:android.content.res.cts.ResourcesTest
Change-Id: Iaa9a5592626e38e1ff839a76f7c6cfb9e16e5dc1
es/Resources.java
es/ResourcesImpl.java
es/TypedArray.java
0a02259bba4d0cebe5a6b42aca0665580d3ee8ad 21-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move PackageManager to new auto-doc feature!" into oc-dev
4347f8147b24b902d0d9397852d44d07c85282b0 21-Apr-2017 Jeff Sharkey <jsharkey@android.com> Move PackageManager to new auto-doc feature!

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: Ib368042e91be3ed702ede0facaf5c8d8d28853d4
m/ApplicationInfo.java
m/PackageManager.java
e9ee7f2cb5e33fbc7eec7d30f221168c852f2d63 21-Apr-2017 Sudheer Shanka <sudheersai@google.com> Fix a spelling.

Bug: 37419581
Test: N/A
Change-Id: Ia647911524f0a2ebc304e46753a2299bbdd61617
lipDescription.java
fadc0166d5b0e5e2b85fa9aeb94ebdf3a842f6ac 19-Apr-2017 Kang Li <kanlig@google.com> Removes colon characters from the doc of EXTRA_CONTENT_ANNOTATIONS.

bug: 37496130

Test: skipped test, because the change is only in javadoc.

Change-Id: I899d55da59260eabfcea0549a1c6a338bcda2c81
ntent.java
fa7470df6fadc64d1125fa87f90ba2fd8eb8b81a 20-Apr-2017 Todd Kennedy <toddke@google.com> Remove @TestApi annotation

Change-Id: I5cd9556875df3d79568ccd7797aa81bcab731193
Fixes: 37322490
Test: GooglePartnerSetup/tests builds
m/ChangedPackages.java
9ea4b33f2aed9eae1678b571172997004ea3e05e 21-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Auto-generate docs based on annotations." into oc-dev
2cef335b5b5208cbd5d7824dfe1920f4739ae027 21-Apr-2017 Sudheer Shanka <sudheersai@google.com> Merge "Update ClipDescription.getTimeStamp to use currentTimeMillis timebase." into oc-dev
6503bd8e33dbf6e8357256d43c6e1158e32a0268 20-Apr-2017 Jeff Sharkey <jsharkey@android.com> Auto-generate docs based on annotations.

We have a handful of annotations that we've been sprinkling across
the platform APIs, such as @Nullable, @NonNull, @IntDef, etc. It
would be really helpful to surface these contracts to developers
through the SDK docs.

This change allows annotations like those mentioned above to declare
the following new javadoc fields:

@memberDoc: docs to append to a field or method definition.
@paramDoc: docs to append to a @param definition.
@returnDoc: docs to append to a @return definition.

This change also builds a docstring to describe the list of all
constants listed in an @IntDef annotation. Sadly AnnotationDesc
only passes along raw constant values, so we need the help of the
new "prefix" annotation argument to help find the field names.

Test: builds
Bug: 37526420
Change-Id: I4cfc00dd904e5dfa945b406d546e36846b7c0c28
ontext.java
ntent.java
aeb7505a7ff606326c07585cafbe8c15cac240dc 20-Apr-2017 Makoto Onuki <omakoto@google.com> Merge "Enhance the shortcut manager javadoc." into oc-dev
1f4e053aef81e38ed905c210687c00d8f8d8bda4 20-Apr-2017 Chad Brubaker <cbrubaker@google.com> Merge "Address API review comments for registerReceiver" into oc-dev
d7355ccee6d42ba3bb1227f5af4ce4e535da355b 20-Apr-2017 Eugene Susla <eugenesusla@google.com> Remove underscore from Companion service name

Fixes: 37536706
Test: Ensure no boot-time error and companion functionality works
Change-Id: I80ced92cb62aa10e1847980eb9a169af3bcd21f0
ontext.java
c8201910613a374e9c075c64dca2a0fe377250d0 20-Apr-2017 Sudheer Shanka <sudheersai@google.com> Update ClipDescription.getTimeStamp to use currentTimeMillis timebase.

Bug: 37419581
Test: cts-tradefed run singleCommand cts-dev -m CtsContentTestCases -t \
android.content.cts.ClipDescriptionTest

Change-Id: I699bfc073c471534eee0b3aa0300a6b6682ab8dd
lipDescription.java
16e83d05363c25b608a35e91b36022ff71610aa4 17-Apr-2017 Makoto Onuki <omakoto@google.com> Enhance the shortcut manager javadoc.

Test: make -j offline-sdk-docs
Bug 37418396

Change-Id: Ic82eb45ea232c2f032abaade12ac9ca967c35cae
m/ShortcutManager.java
45ff1d1ad39ff45ef5e0476b1d97e18a9f8f7aab 20-Apr-2017 Jesse Hall <jessehall@google.com> Merge "Vulkan compute 0 only requires variable pointers" into oc-dev
fb4fb03cc3aa273c763df97f99eae1ba11594997 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Address API council comments" into oc-dev
aa6b649a35072dc529c3b09bab097815fe3bff81 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Introduce PACKAGE_FIRST_ADDED broadcast"" into oc-dev
232ff0bdc8c2660ae23964823097114ab09a7dd4 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix issue #37470038: API Review: ServiceConnection.onBindingDead()" into oc-dev
52312298b627180edb0acf2682b3fb0d9f9d3960 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Package installer related changes to javadoc" into oc-dev
94b91dbbb899a4a1c9e5eec6cda5d7138f0a49b7 20-Apr-2017 Christopher Tate <ctate@google.com> Revert "Introduce PACKAGE_FIRST_ADDED broadcast"

This reverts commit ee3b42af3f23c37cbd2799c1527f89ac623844be.

Bug 37219124
Test: manual
ntent.java
6d6015f652f1b7bca129a22b1bd256b990e3ca28 18-Apr-2017 Chad Brubaker <cbrubaker@google.com> Address API review comments for registerReceiver

Bug: 37465538
Test: manual; Verified that Instant Apps can send broadcasts to
receivers still via the changed API.

Change-Id: Ib0f3d0c8ee71234288ccecd07e621554eb9b70ac
ontext.java
ontextWrapper.java
ac2653499692880571922ff63a9dd0ecc2d742a1 19-Apr-2017 Dianne Hackborn <hackbod@google.com> Fix issue #37470038: API Review: ServiceConnection.onBindingDead()

Renamed.

Test: booted and ran.

Change-Id: Ic21f7ef66d43fb6db9f7ebbc833f28c09474ea59
erviceConnection.java
904e6cad286f2bf2ea4254124f4595af88104455 19-Apr-2017 Chad Brubaker <cbrubaker@google.com> Merge "Change ANDROID_ID for Instant Apps" into oc-dev
3a427c3bd9b8f54dded0b258076f19275c95db97 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Flesh out more API docs." into oc-dev
4d95e40bb30a3201007b8440ca15fa33bcddca83 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make javadoc of companion service name more like others" into oc-dev
9a1967e157d0a91705ba20710da003bae26ccde4 19-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Some folks like sending null fields." into oc-dev
0d277a7b189c8807d142b69dd8d00b17978a49a5 13-Apr-2017 Chad Brubaker <cbrubaker@google.com> Change ANDROID_ID for Instant Apps

ANDROID_ID for Instant Apps now has the following properties:
1) per-app scoped
2) reset if the user clears the Instant App
3) remains the same if the Instant App gets upgraded to an installed
app.

Note that if the user goes instant -> installed_1 -> uninstall ->
installed_2 the ANDROID_ID at installed_1 will not be the same as
installed_2. This was deemed better than the id changing on the upgrade
step.

Test: manual
Change-Id: I532975c50049c94ff80902a897e001dd35a69f9f
m/IPackageManager.aidl
m/PackageManager.java
60a82cd4c29ade3e03ac0d1305e701471e40b7cf 19-Apr-2017 Jeff Sharkey <jsharkey@android.com> Flesh out more API docs.

Flesh out docs for Context.getCacheDir(), Intent.addFlags(),
Intent.removeFlags(), and PackageManager.setApplicationCategoryHint().

Test: builds, boots
Bug: 37470473, 37327774, 35812899
Change-Id: Ided031185258a89c3e275d65c162d537065ad49e
ontext.java
ntent.java
m/PackageManager.java
83c9413b753fefe75adbd33968819e80412fbdf7 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix issue with fontScale changes not taking effect" into oc-dev
67c8c1e1090e8d65c315edac9102c764f4127ac7 19-Apr-2017 Jeff Sharkey <jsharkey@android.com> Some folks like sending null fields.

Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.ComponentInfoTest
Bug: 37495524
Change-Id: I9040534d717ac70d580bd2a7f5488369ab7c3a47
m/ApplicationInfo.java
7a1b8af0005a4d47590e5bd18721ec407f72545e 14-Apr-2017 Jesse Hall <jessehall@google.com> Vulkan compute 0 only requires variable pointers

Bug: 34745152
Test: make doc
Change-Id: If2348a387cdc898b028c5dd577c80246a36b87d3
m/PackageManager.java
57ed0ba69d7f36493fc45cac66764bfeb10c6998 19-Apr-2017 Svetoslav Ganov <svetoslavganov@google.com> Merge "Address API council comments" into oc-dev
e28cccab24893525a6b0de69c36c49e7889e8505 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "update docs per API council" into oc-dev
ec05bc0fda9e10fe16cb98c5d3a4de37773ad5f8 18-Apr-2017 Adam Lesinski <adamlesinski@google.com> Fix issue with fontScale changes not taking effect

If a configuration change occurs, and an underlying ResourcesImpl is
swapped out under a Resources object, the DisplayMetrics cached by
TypedArray will be stale and not up-to-date.

Bug: 34120637
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerConfigChangeTests
Change-Id: Id78a6d259250950387c2e95c4a2292fdd095c7af
es/TypedArray.java
345ffa5421f4158b9c30439b9f18aed7b61aaea9 19-Apr-2017 Svetoslav Ganov <svetoslavganov@google.com> Address API council comments

Test: cookie CTS tests pass

bug:37327624
bug:37325276
bug:37323696

Change-Id: I52b10470759e471629ec6772e115df94482eb341
m/PackageManager.java
0cb43ef67b5d284f6c0afbca5a50e189355c0ab3 18-Apr-2017 Svetoslav Ganov <svetoslavganov@google.com> Address API council comments

Test: all static shared lib CTS tests pass

bug:37327970

Change-Id: Ie8c4d853da5fa0a6125b9def38831860f79ce53d
m/SharedLibraryInfo.java
9732f935dc03a4c51f511ddb696fa45a4b096de3 18-Apr-2017 Todd Kennedy <toddke@google.com> update docs per API council

Change-Id: Id32be4db7671d3ef99e155f5fc2f3946eac707dd
Fixes: 37322490
Test: treehugger
m/ChangedPackages.java
43b814b1d21a87cc82bae0e3b3cea54b7dc995d0 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "update docs per API council" into oc-dev
94ac6ae6d9049b3f0646a113013269c4f49f2286 18-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fixing javadoc errors for pm#canRequestPackageInstalls" into oc-dev
4160be14ebaacddf9377e849a31567c73edd101b 18-Apr-2017 Eugene Susla <eugenesusla@google.com> Make javadoc of companion service name more like others

Fixes: 37469823
Test: Ensure no compilation failure
Change-Id: I37ae54bbf05f4434eddbc13b0064ecfc99f69b8e
ontext.java
54a10e6554debc6736181abf2d96fbc0c79bcf59 15-Apr-2017 Suprabh Shukla <suprabh@google.com> Package installer related changes to javadoc

Permission REQUEST_INSTALL_PACKAGES is enforced starting from API 26 and
the scope of EXTRA_ORIGINATING_UID is restricted.

Test: make docs

Bug: 33351244
Change-Id: Id7ce9623289374c1c34d3c7b2a0fc0e0493f9923
ntent.java
00ed0baca874e171ecb39e51edfe0ee6eb6646f2 18-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Turn down the preliminary foreground service API" into oc-dev
6e8f116647d0b6dcccdc25d00c0806e5c5f91318 18-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Finish impl of job queue: handle URI permissions." into oc-dev
342e6037109a53830277d8de6ecf0e39578c143c 14-Apr-2017 Dianne Hackborn <hackbod@google.com> Finish impl of job queue: handle URI permissions.

The job queue now handles URI permissions associated with
the Intent of each job. Just (kind-of) like Service!

Also do the second pass of locking in job scheduler, getting
rid of all the async dispatching on a handler, and just executing
calls right in line with simple locking. This probably fixes
a few other race issues, and allows us to make sure that we
always finish a job correctly when dequeuing the last work (we
will always atomically dequeue and finish, so no new work can
slip in between).

And fix a little debug output in IntentFilter.

Test: ran CtsJobSchedulerTestCases, added new test for URI perms.

Change-Id: I52f700ef0cd5be3ff70050f9c0f5fe3e8a5ccac1
ntentFilter.java
200d72d933920632647ebf8862f3582e7ead3785 18-Apr-2017 Jeff Sharkey <jsharkey@google.com> Merge "Storage API polishing." into oc-dev
8fddf9de4aa695a9efe7b2d306be5632add92b92 18-Apr-2017 Todd Kennedy <toddke@google.com> update docs per API council

Change-Id: I182e29912276bc09734bd604e9e2fd866094a95f
Fixes: 37328564
Test: treehugger
m/PackageManager.java
242ba3e997b45ec7ab5f8c40663c9044a13ad31f 15-Apr-2017 Christopher Tate <ctate@google.com> Turn down the preliminary foreground service API

The NotificationManager.startServiceInForeground() experiment is over,
and will not ship as API, so it's time to tidy up and get rid of it.

Bug 36130212
Test: manual

Change-Id: I834d1ce059aa464ff27f69f5e5d3625cc5e61d8a
ontext.java
ontextWrapper.java
c025ea892ecbe6a990068224488a7362bce44687 17-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "OEM single-build/multi-SKU via dynamic RRO support" into oc-dev
5838563e93022e0d6f733f728a19c3221d2b3c82 17-Apr-2017 Makoto Onuki <omakoto@google.com> Merge "Enhance PinItemRequest javadoc" into oc-dev
c3fa6ab2ac25fa75f204ce68891a7902f808d7da 17-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "getApplicationInfo() should throw NameNotFoundException" into oc-dev
789a8fc792725e4988ff43d554b3c8c037c41921 16-Apr-2017 Jeff Sharkey <jsharkey@android.com> Storage API polishing.

Based on API council feedback, switch to using real UUID objects
instead of Strings. Since UUID is a general-purpose utility class
that will be passed around quite a bit, add it to Parcel and Bundle.

Define well-known namespaced UUID values for "default" and "primary
physical" storage devices, which will let us annotate a bunch of
things with @NonNull.

Define new extras for MANAGE_STORAGE intent that apps can use to
signal where and how much space they'd like the user to free up.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37325923, 35812899, 35806020
Change-Id: I8421b126d680f69141a361c1e77223fe2bf4a325
m/ApplicationInfo.java
m/PackageParser.java
676590d060778f7e1fb896f03ba53817eb910f93 17-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "expose the instant app installer component" into oc-dev
ea2f3be7aae9435ce21743c959b62731c87a36b8 16-Mar-2017 Todd Lee <leetodd@google.com> OEM single-build/multi-SKU via dynamic RRO support

The purpose here is to provide support for selectively
enabling Runtime Resource Overlays (RROs) (specifically
those pertaining to a specific SKU, within a OEM's "single
build" covering multiple SKUs) at boot based on the value
of a pre-defined system property.

This mechanism is designed to be compatible with other,
recent changes to Runtime Resource Overlays - specifically:

- has no effect on 'isStatic'. Resource overlays must be
attributed as static in order to qualify for loading into
the system_server. The 'requiredSystemPropertyName/
requiredSystemPropertyValue' mechanism operates
independent of this and can be used on both static and
non static overlays. The effect of specifying a conditional
property on any overlay is that it will ONLY be enabled
in the event that the system reflects both the property
and the specified value (Note that in the ABSENCE of a
conditional property, overlays are assumed to be enabled).

- has no effect on OverlayManagerService (OMS) API. The
OMS provides the system with an interface through which
overlays can be enabled/disabled and even rearranged at
runtime. This provides the basis of support for various
user-level features (e.g. dynamic theme selection).
The 'requiredSystemPropertyName/requiredSystemPropertyValue'
mechanism operates independent of this -
with enablement being completely coupled to the available
system properties on the device and NOT subject to change
at runtime.

Note: as part of this change, original overlay tests have been
updated (fixed) and expanded to include tests to cover the
conditional property implementation.

Issue: http://b/35100249
Test: frameworks/base/core/tests/overlaytests/testrunner.py

Change-Id: I1990ce21a27a385db1e2f53294b69dd03988351e
(cherry picked from commit d5566c6c47faa6b9dda282741e25ac78c9487d58)
m/PackageParser.java
575284756835deb38850d269c18f43fd493c6e23 15-Apr-2017 Suprabh Shukla <suprabh@google.com> Fixing javadoc errors for pm#canRequestPackageInstalls

Fixed @see errrors and upper cased api to API

Test: 'make docs' followed by viewing PackageManager.html

Bug: 37325276
Change-Id: I26abc2f75a6b9f0b785b29d695461596e53108fb
m/PackageManager.java
7c7fbf6f45925b93833ab9d946b6704da0caf1fc 14-Apr-2017 Makoto Onuki <omakoto@google.com> getApplicationInfo() should throw NameNotFoundException

... instead of returning null.

Bug: 37324177

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Change-Id: I7f9f3729ee0eef6b342e4711379e02516559472c
m/LauncherApps.java
e99757e4b1f1855f52e0d0b60d88f4bf71bd3802 14-Apr-2017 Amith Yamasani <yamasani@google.com> MASTER_CLEAR action should not be public

Limit it to SystemApi, for passing intent tests

Bug: 36977779
Test: cts test
Change-Id: I716b94fc3cef43db1fafbfdad8dba0d850bec474
ntent.java
a37ac3d6f1fdb51749df3375607ea133c9b3918b 14-Apr-2017 Makoto Onuki <omakoto@google.com> Enhance PinItemRequest javadoc

Test: javadoc only, treehugger.
Bug: 37325874
Change-Id: I610e4032340cc732782aed2ea0522ae46b6dd6ce
m/LauncherApps.java
e768104f9b36e654d54252f6bbf4b195f923626c 14-Apr-2017 Vikas Marwaha <vikasmarwaha@google.com> Merge "Make android.intent.action.MASTER_CLEAR depreciation explicit" into oc-dev
801e65905b267014f390439cf8388b6ccc854e18 12-Apr-2017 Todd Kennedy <toddke@google.com> expose the instant app installer component

Bug: 35873804
Test: TreeHugger
Change-Id: I4d962927587bb10833bfe3c3db27fdceab668fc3
m/IPackageManager.aidl
m/PackageManager.java
8ee12087e6c919c124fb51a5e9c19ddc9586755f 14-Apr-2017 Chad Brubaker <cbrubaker@google.com> Merge "Implicitly expose SEND intents to Instant Apps" into oc-dev
e52a1bfede79f87a75c498730860796ba74dea83 14-Apr-2017 Andrew Scull <ascull@google.com> Merge "Service for OEM lock management." into oc-dev
b3f69261c5506fcd46d82af84985cbe79722816f 14-Apr-2017 Romain Guy <romainguy@google.com> Fix javadoc typos

Bug: 37328228
Test: compiles
Change-Id: I75323ef5afb30381aa473ebe7172ebb145eac8f3
es/Configuration.java
676bd21542d991edfadf8b655d481baa83d23511 14-Apr-2017 Dianne Hackborn <hackbod@google.com> Merge "Add new extra for identifying an intent coming from storage UI." into oc-dev
e707f83e8e4ef6e649f2563e54a26305b1190e1d 14-Apr-2017 Sam Lin <samlin@google.com> Make android.intent.action.MASTER_CLEAR depreciation explicit

Bug: 36977779
Test: make sailfish cts
Test: run cts -o -m CtsSignatureTestCases -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
Change-Id: I7c18f9c3c1b73b4feca6904f927266f6973d889c
ntent.java
4941483b5569a89324c60d3f8880cdc3aaf3bef4 14-Apr-2017 Chad Brubaker <cbrubaker@google.com> Implicitly expose SEND intents to Instant Apps

Test: manual
Bug: 37241858
Change-Id: I9029060830e655d8b6779650726d380f7f1ffe23
m/PackageParser.java
fbadd6dac9ba36dc77593668f1ad06d504c56733 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Actually remove the chooser APIs" into oc-dev
80b7a214bac14d48c08abeeb4cdd9499a0f40117 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update docs for obtainStyledAttribute" into oc-dev
117ac766a931e1893fb4a61a95670d23c409f140 13-Apr-2017 Chris Tate <ctate@android.com> Merge "Introduce PACKAGE_FIRST_ADDED broadcast" into oc-dev
7f0d8c80768f4102ae0461bd55e469c57409d918 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove support for auto-paging of cursors." into oc-dev
d3aebf3320645859ddbc19470984dad53f6c47ff 03-Apr-2017 Makoto Onuki <omakoto@google.com> Actually remove the chooser APIs

Test: build
Bug: 36186790
Change-Id: Ib03bb482c266f4c4f1080ca776c738d11a175219
m/LauncherApps.java
m/ShortcutInfo.java
2c63aa3be7d0bbd543a5bcb4a01ff5e1b5b1160b 13-Apr-2017 Andrew Solovay <asolovay@google.com> Merge "doc: Add note to Context.bindService()" into oc-dev
927b01371b47754e81b20f16323e9931a167d80e 11-Apr-2017 Steve McKay <smckay@google.com> Remove support for auto-paging of cursors.

Auto-paging of cursors is being removed in favor of a support lib component.
Rationale:
1) Auto-paging as implemented has potential to negatively impact system health.
2) Similar functionality w/o system health concerns can be provided
specific to RecyclerView.

Test: Removed. CTS coverage updated.
Bug: 30927484
Change-Id: I43e62181d8ceeeba6265d44536967a2102751320
(cherry picked from commit 4677c2b7f0ec847f32acba067f9d2486bca56439)
ontentProviderNative.java
441d61bf16fb63a0e19d6252ab9ac4c35a739006 12-Apr-2017 Martijn Coenen <maco@google.com> Add persistentFeature application attribute.

This allows us to only mark processes as persistent
when a feature it actually depends on is present on
the device.

Also adds a "android.hardware.nfc.any" feature, to
indicate the device supports any of the NFC features
that require the NFC process to run persistently.

Bug: 36873979
Bug: 37269025
Test: NFC is still started on devices with NFC
Change-Id: I5792d75d8714f39718fa957177a632efcbbd37d3
m/PackageManager.java
m/PackageParser.java
ee3b42af3f23c37cbd2799c1527f89ac623844be 11-Apr-2017 Christopher Tate <ctate@google.com> Introduce PACKAGE_FIRST_ADDED broadcast

When an app first appears on a device, this new broadcast is issued
including to manifest receivers. The more general PACKAGE_ADDED
broadcast continues to be issued for both first install and updates,
but is not delivered to manifest receivers of apps that target O+.

Bug 37219124
Test: manual

Change-Id: I59b0a0b0dce96a909076b41280771f63e59584be
ntent.java
18d993bb72306bcdff8744d9b717247f0747637f 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topics 'KeyboardFocusHighlight-oc-dev', 'KeyboardFocusHighlight_ mDefaultFocusHighlightEnabled-oc-dev', 'KeyboardFocusHighlight_ hasFocusStateSpecified-oc-dev' into oc-dev

* changes:
Fix broken CTS tests.
Draw a default focus highlight if needed.
Add a public API defaultFocusHighlightEnabled.
Detect unhandled keyboard focused state.
5ec8875d2088876b4706dc25dab62cb083509e63 12-Apr-2017 Adam Lesinski <adamlesinski@google.com> Update docs for obtainStyledAttribute

Include the requirement that the input attribute ID array
must be sorted.

Bug: 34802757
Change-Id: I3244178c52df77078afae656652c3a44447fa645
Test: none
es/Resources.java
2b0351137757fc21820b520fccf5b9283d7deea6 08-Apr-2017 Andrew Solovay <asolovay@google.com> doc: Add note to Context.bindService()

Per email from Dianne H, even if bindService() returns false, the
client should still call unbindService() to release the connection.

Doc is staged to:

http://go/dac-stage/reference/android/content/Context.html#bindService(android.content.Intent,%20android.content.ServiceConnection,%20int)

Bug: 37092557
Test: make ds-docs
Change-Id: I5849aaccec933ee7660b31241e4d8eff9ee1ef72
ontext.java
a402d6dd2f15e179d08cb0d5ffd668916e9a8bfb 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add autofill feature API" into oc-dev
43574b03e5604e346f088a1b0da2ab37fb115226 12-Apr-2017 Svet Ganov <svetoslavganov@google.com> Add autofill feature API

We now have a software feature for autofill which can be used
by partners to disable it on low-end devices or form factors
for which autofill doesn't make sense.

bug:35956220

Test: manual (requires a custom build)

Change-Id: I6c06462ed9ca3ae93331700dce38a8c08dfd0722
m/PackageManager.java
27ce8b0d3466631d6e449be302d4f348c204dda3 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add hidden SystemApi for two setup wizard actions" into oc-dev
a609bbc9c4e1614eca7e70cb90739486f745e5c7 12-Apr-2017 Suprabh Shukla <suprabh@google.com> Merge "Renaming intent action for unknown sources" into oc-dev
880994d0db0137f7d5e0c1b79af3e809e8d4e0a3 24-Feb-2017 Russell Brenner <russellbrenner@google.com> Add hidden SystemApi for two setup wizard actions

ACTION_UPGRADE_SETUP exists as an SdkConstant and is now additionally
tagged as a SystemApi. ACTION_DEVICE_INITIALIZATION_WIZARD is added
as a deprecated SystemApi to appease CTS requirements. Both APIs are
hidden.

Test: cts-tradefed run cts-dev -m CtsSignatureTestCases \
-t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
Bug: 33663899
Change-Id: Ib45afbfcbb9a3d3020f11c8b63fc2bcf6fc447a1
(cherry picked from commit 4cd32e5395a9e97e281823c8c57e1c18845447c4)
ntent.java
42d53f6b1883e3db514ad8d105d23fe6a1e9a59b 10-Apr-2017 Jaekyun Seok <jaekyun@google.com> Bring back the priority feature for static RRO

Supporting the priority feature is requested by partners because they
want to layer RRO for their customers.
Applying the priority feature on non-static RRO isn't feasible because
their priority should be managed directly by users.

Test: building succeeded and tested on sailfish device.
Bug: 37185740
Change-Id: I8ef83c5e3178bd395ec7e6498764a535f24ef235
m/PackageInfo.java
m/PackageParser.java
ec8f35366851fcfea2d8b8e42821dda72bdca344 11-Apr-2017 Adam Lesinski <adamlesinski@google.com> Merge "OverlayManagerService: Make broadcasts/updates explicit" into oc-dev
4a81674b45b7250c4e2a80330371f7aa1c066d05 02-Feb-2017 Jiaquan He <hejq@google.com> Detect unhandled keyboard focused state.

A View uses a Drawable as its background, which changes
its appearance according to the View's state. This commit
adds an algorithm to detect undefined state_focused in
state specs for those Drawables.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsGraphicsTestCases
-t android.graphics.drawable.cts.DefaultFocusHighlightTest
Bug: 35096940

Change-Id: I5e9f07141679881fe88f9040aa116ea2f9d537c9
es/ColorStateList.java
51785edbe9abd7dc2041d28a7e7cec03dfa98623 08-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Restore session on new window after app kill" into oc-dev
72790bade5f6f2c3673145f39c1e416666f7f579 08-Apr-2017 Andrii Kulian <akulian@google.com> Merge "Use feature instead of hidden config for multi-display" into oc-dev
eab62baabf290ea6671577a66cfc9fdd1b145d0e 20-Mar-2017 Philip P. Moltmann <moltmann@google.com> Restore session on new window after app kill

Also:
- Give the session an integer ID as the activityToken is not stable over
restarts of the activity
- Verify that session is only accessed by one UID
- stabilize AccessibilityViewIds over activity lifecycle at least for
the IDs we can do that. This required to split the ID namespace in
"per-app" and "per-activity" views. Only the later ones can be
restored.
- Do not end session when app is killed (as it can be restarted)

Bug: 35484143
Fixes: 36392498
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest
cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
ontext.java
1981f5fd17de4627201363ca57e90927a8a243fd 08-Apr-2017 Andrii Kulian <akulian@google.com> Use feature instead of hidden config for multi-display

Using a feature will allow app developers to find out if a
particular device supports running activities on secondary
screens before using the APIs.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: I7121bdb782cac9df70121e9df5cbf3fcb76f4a93
m/PackageManager.java
a320f014709e165f2e5abd32235dd05932cd1e19 07-Apr-2017 Dianne Hackborn <hackbod@google.com> Add new extra for identifying an intent coming from storage UI.

Test: this is just a constant.
Change-Id: Ief0913300bd035e7ce4bc79a0abdc689abae7063
ntent.java
66b5c042c252d954d023ced64bf63484bd905f03 07-Apr-2017 Todd Kennedy <toddke@google.com> copy 'visbileToInstantApps' setting

Change-Id: I342a133ae8d7f38008cb03706d160e6f2e2cca97
Fixes: 37002720
Test: Start instant app [adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d http://www.realestate.com.au/property-apartment-nsw-pyrmont-124879602] and see that hitting the 'share' icon works
ntentFilter.java
m/PackageParser.java
a1300c84f63f6288616f8532f9cb3373ad130c7f 07-Apr-2017 Suprabh Shukla <suprabh@google.com> Renaming intent action for unknown sources

Renaming action MANAGE_EXTERNAL_SOURCES to MANAGE_UNKNOWN_APP_SOURCES to
be clearer about its purpose

Test: adb shell am instrument -w -e class \
com.android.settings.applications.ExternalSourcesSettingsTest \
com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner

cts-tradefed run singleCommand cts -m ExternalSources

Bug: 35812498
Change-Id: If38349f349781541673f93638e536a4f2a184bf6
m/PackageManager.java
941e9e2b38ae46e167d03f5d5d7afb9701dde88f 06-Apr-2017 Chad Brubaker <cbrubaker@google.com> Merge "Allow permissions to be runtime-only." into oc-dev
c745f42169df6687a764e48b65878f22965c1530 06-Apr-2017 Adam Lesinski <adamlesinski@google.com> OverlayManagerService: Make broadcasts/updates explicit

Previously there was a listener attached to the Settings object
which would fire any time a single settings change was made.
This made it very inefficient to do batch updates.

This change makes the Settings object return its mutated status
on each call to a mutating method, allowing the caller to keep track
of whether or not to notify the listener of any changes.

This allows for the implementation of setEnabledExclusive, where
all but the target overlay are disabled and only a single notification
/ update is sent out.

Bug: 36099320
Test: manual (with OverlayManagerService.DEBUG = true), observe logcat
Test: when Going to Settings -> Display -> Advanced -> Themes and
Test: selecting a theme.
Change-Id: Ic8b8ca3ba0cf5d2d682bf6dac5a6c82e4f0f2502
ntent.java
63cb740b4fd9f4eea72678f7635df6ecf94b6781 06-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Serialize visibleToInstantApps" into oc-dev
1cf2c974591cedee33b0849a3bbd05d71d7a14ad 05-Apr-2017 Dianne Hackborn <hackbod@google.com> Merge "Deliver start service args with ParcelledListSlice." into oc-dev
49f24c60e12653005a276f6f5a01b8863412b20f 05-Apr-2017 Chad Brubaker <cbrubaker@google.com> Serialize visibleToInstantApps

Bug: 36972663
Test: Webview continues working
Change-Id: I680797f0a7edc71917aaf2e0bc56972a39847f8f
m/PackageParser.java
9ff3ec487232dcf963d258f1649c4dc40946195a 05-Apr-2017 Sam Lin <samlin@google.com> Merge "Add a feature flag for CTS." into oc-dev
5effb5f6452b8185d139020704a781bcb2509e78 05-Apr-2017 Chen Xu <fionaxu@google.com> Merge "move ACTION_SERVICE_STATE to system api" into oc-dev
3f7c9f2d0164f2b5826c194e9309791637f35c2c 05-Apr-2017 Dianne Hackborn <hackbod@google.com> Deliver start service args with ParcelledListSlice.

We have seen issues where we fail restarting a process
because there are so many services with so many pending
start arguments that we hit IPC limits. So instead of
doing an IPC for each service start, collect them together
in a list that is sent once, and send it inside of a
ParcelledListSlice to control how much data is written
inline in the IPC.

Test: boot and ran
Change-Id: Ifed26ccdf535871e577fc02c7ef1d09060ab06ca
m/BaseParceledListSlice.java
90fee275779c0e772328b677d7dc5a4441590328 31-Mar-2017 fionaxu <fionaxu@google.com> move ACTION_SERVICE_STATE to system api

As per CDD: The "android.*" namespace for intent constants is reserved
for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.)
ACTION_SERVICE_STATE intent is generally useful for system/oem
apps thus move to system api

Bug: 33679956
Test: Manual
Change-Id: Ie38b53f077e8a013351d35387f9133e0ebb26cc9
ntent.java
90e258baf42dd4c0b2b5256428b37b21b8ac9bd8 04-Apr-2017 Sam Lin <samlin@google.com> Add a feature flag for CTS.

Bug: 36599543
Test: Build sailfish and CTS
Test: run cts -o -m CtsAppTestCases -t android.app.cts.SystemFeaturesTest#testFeatureNamespaces
Change-Id: I659ddbe7d6e2d8762d97b8a418cfc246f7a97a3e
m/PackageManager.java
d46a1604b7e95f7c04966d2961f59858651495c2 04-Apr-2017 Todd Kennedy <toddke@google.com> Change name of the intent fields

Change-Id: I67d3f5c7fb3189fdb35908011e92cc82c24b9154
Fixes: 36594944
Test: cts-tradefed run commandAndExit cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
ntent.java
m/PackageManager.java
a5d70a17ebd1b3ffe026879c5d9d96f04d10d4f2 23-Mar-2017 Chad Brubaker <cbrubaker@google.com> Allow permissions to be runtime-only.

This adds the new runtime protection level flag that if set means
the permission can only be granted to apps that target runtime
permissions (>= M).

ANSWER_PHONE_CALLS has also been made runtime-only.

Bug: 30932767
Test: cts-tradefed run commandAndExit cts-dev -m CtsPermission2TestCases
Change-Id: I42b30414c808730f2d5961ca31b6e3db740b8cf7
m/PackageParser.java
m/PermissionInfo.java
2ac969827115c1b8bc86d9017eb1c7c1d5421b10 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Reorganize font enumeration API." into oc-dev
a52fc49845d1103dea2380f34b96e2a22ea1801e 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Themes: Apply themes to system_server safely" into oc-dev
d017221a52b36c919d96cd0807a7bbaaa633357d 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Increase visibility of FEATURE_LEANBACK_ONLY" into oc-dev
5fd39fad261fbe7c3fce8403e2de557990f80aaa 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Don't wtf() for reverse profile access; make it a warning." into oc-dev
c40afac294a3d36568e9f460d7a77c4d184efd90 03-Apr-2017 Daniel Cardenas <danielcar@google.com> Increase visibility of FEATURE_LEANBACK_ONLY

Bug: 36003137
Test: Build on Fugu and CTS
Change-Id: Iab9be686a004c5c0d1fae02a33898f7ebb264b27
m/PackageManager.java
78e8ac9c141ca2b3fb99520dc627919bc2f97ba4 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Framework support to improve bg check CTS tests." into oc-dev
a73aee4cdc6a010aed63bbb65187f684e1c6911e 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Deprecate EXTRA_STREAM."" into oc-dev
9077faab1fa6d8ecfc6da8e283388d7a3468ddfa 04-Apr-2017 Sanket Padawe <sanketpadawe@google.com> Merge "Make some intents public in SubscriptionManager." into oc-dev
3cc7cd1c18f5d5b2df0f8aebb22fdb3feb23ecd0 03-Apr-2017 Makoto Onuki <omakoto@google.com> Don't wtf() for reverse profile access; make it a warning.

Bug:36003688
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests
Change-Id: I6d6a73e1d9281dc0b92186dd0666865b0f6b3f1c
m/LauncherApps.java
ff55115121a7a2753ba2265cb3201a3a14c0874d 29-Mar-2017 Seigo Nonaka <nona@google.com> Reorganize font enumeration API.

This CL cleans up APIs around font variation settings.
- Remove FontConfig and FontManager public API.
- Remove FontManagerService from system service.
- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.
This is used by Typeface.Builder public API to create new Typeface.
- Introduce and expose FontVariationAxis utility functions from/to string.
- Throws if the invalid font variation settings is passed.

Test: android.text.cts.FontVariationAxisTest passes
Test: android.graphics.cts.TypefaceTest passes
Test: android.graphics.cts.PaintTest passes
Change-Id: I9ccafe7a53935960566243e2856e166878ca59ae
ontext.java
81aebe7c3ceece69e1c058e2007b2189b3f1ffd6 03-Apr-2017 Jeff Sharkey <jsharkey@google.com> Revert "Deprecate EXTRA_STREAM."

This reverts commit a0ba51c2ab75c8e0406bbd43742597552b6dae98.

Bug: 35293781
Change-Id: I5f0b9000535ac0bcbbe125fe781c20c5fb0c8782
ntent.java
ef7dff2563ccbe74564ab3b417d810a04df556e7 03-Apr-2017 Makoto Onuki <omakoto@google.com> Merge "Revert "Push chooser targets to the shortcut manager."" into oc-dev
57132a15137f9d43a276cbadc93dbdd76ef12e06 03-Apr-2017 Brad Ebinger <breadley@google.com> Merge "Move CALL_PRIVILEGED/EMERGENCY to @SystemApi" into oc-dev
3b8b46f3a46ccf35a6bb6a828af0f2d011cc9abe 13-Feb-2017 Andrew Scull <ascull@google.com> Service for OEM lock management.

The new service separates OEM lock management from the implementation.
Currently, a user restriction (DISALLOW_OEM_UNLOCK) and the persistent
data block have been used to implement OEM lock management. In future,
other implemention will be used e.g. a secure element.

The new API also allows for a signature to be passed when changing
whether the device is allowed to be OEM unlocked by the carrier which
can be used for cryptographic protection of the flag.

Bug: 34766843
Test: gts-tradefed run gts -m GtsOemLockServiceTestCases -t com.google.android.oemlock.gts.OemLockServiceTest
Test: cts-tradefed run cts -m CtsPermission2TestCases -t android.permission2.cts.PrivappPermissionsTest
Change-Id: I01660d7605d297f273d43436ca03d64ff611b6cf
ontext.java
2c1a49f933bf07b9262ea3b452ce517f2a70aee3 31-Mar-2017 Sanket Padawe <sanketpadawe@google.com> Make some intents public in SubscriptionManager.

+ As per https://docs.google.com/document/d/1K8C7Ly8YVu032FQlwEdkv3ovcTYQCTvy0PaMax5PmZI/edit#heading=h.g6rt8vhyfjj1

Bug: 36572866
Test: Builds successfully.
Change-Id: Ibb1d1faae9a002ccb530446e24897955c12076e1
ntent.java
35110948b7ada496bb4bd8af2a5c9b721275f971 03-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement service filtering" into oc-dev
7566d76c618a48b8dcc981dac3cab1e42f864063 30-Mar-2017 Bryce Lee <brycelee@google.com> Add app bounds to configuration.

The system previously overrode the display size for a specific scope
(task/activity/etc.) by setting the associated Configuration's
screenWidthDp/screenHeightDp. This leads to two issues. First, the
conversion of screen size from pixels to display independent pixels
and then upconverting later on leads to rounding errors. Secondly,
the screenWidthDp and screenHeightDp values account for insets, such
as the status bar. These however are not reflected in the display
size when returned from Display#getMetrics/getSize.

This changelist addresses the issue by adding a Rect value to
Configuration which stores the app display bounds. This is always set
at the display level and overridden as appropriate. As the proper
app insets are accounted for at the root configuration, all overrides
(outside of specific exceptions) are the result of the intersection
between the requested bound and the parent bound.

Change-Id: I2c4fcd0bee92af12aabbca258de05b4ec061d0e1
Fixes: 34338931
Bug: 36812336
Bug: 36676979
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsAppTestCases android.app.cts.AspectRatioTests
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests
Test: bit FrameworksServicesTests:com.android.server.wm.AppBoundsTests
es/Configuration.java
9484603c0fa738b67980c18b4abfd3505778ae74 01-Apr-2017 Dianne Hackborn <hackbod@google.com> Framework support to improve bg check CTS tests.

(Finally) introduce a new ServiceConnection callback to
tell you when the binding has died. This allows you to robustly
have a weak service monitoring, and also is an easy way to find
out about breakages due to app updates etc.

Also clean up some debug output.

Test: moved to own suite and ran them.

Change-Id: I526cc00816c384fa9eb1312b92406f38085cbff9
erviceConnection.java
2d161b1d3fd8ceae065d8a475d2ca13de1b48dc2 01-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement issue #36590595: Add ability to associated a ClipData with JobInfo" into oc-dev
99302b55c6a960c9078ad2c84ae9be3296bd32f3 29-Mar-2017 Makoto Onuki <omakoto@google.com> Revert "Push chooser targets to the shortcut manager."

This reverts commit 58fc95dc578244b7beb687a48184045dcce788b8.

Bug 36186790
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutHostTestCases
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutManagerTestCases

Also all unit tests, except for the known failrues.
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Change-Id: I733ee7e12a419ee7ea17ca67c56afe7b039d189a
m/ILauncherApps.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutServiceInternal.java
7a8d3528716e22ca5291783700bd1bb305f8a686 31-Mar-2017 Brad Ebinger <breadley@google.com> Move CALL_PRIVILEGED/EMERGENCY to @SystemApi

CALL_PRIVILEGED and CALL_EMERGENCY APIs are used
by vendors and Android Wear and should be moved
to @SystemApi to pass CTS tests.

Bug: 36566521
Test: CTS tests
Change-Id: I73a0b2c4e551b4738c4c322d9822a85ee19d269b
ntent.java
51b3aaccfe7f8d7a97fb1218c40a37428f26a6a1 31-Mar-2017 Todd Kennedy <toddke@google.com> Implement service filtering

Instant apps can no longer see services that haven't been
exposed to them via the visibleToInstantApps attribute.

Change-Id: I6fd78067d1253825668d67b9e17dd3a0703f5d57
Fixes: 35871716
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
m/PackageManagerInternal.java
f6d9507a0018357c65b1959af4863adaaf86de28 31-Mar-2017 Garfield Tan <xutan@google.com> Merge "Add flags for quick viewer to indicate capabilities of a document." into oc-dev
a47223f99b6b7ade4ae909c458d975eb487062b3 30-Mar-2017 Dianne Hackborn <hackbod@google.com> Implement issue #36590595: Add ability to associated a ClipData with JobInfo

Yum!

Also needed to have a Context.revokeUriPermission() variant that is sane,
so reasonable CTS tests can be written.

Test: new ClipDataJobTest added.

Change-Id: Ia3135ea788a6e32c971bae7dab3a844d0ef4139c
ontext.java
ontextWrapper.java
670e750b2e750a648d8d6ef6f076142780bf6eb4 31-Mar-2017 Sudheer Shanka <sudheersai@google.com> Merge "Change namespace of ACTION_REQUEST_SHUTDOWN." into oc-dev
218190a3c92a7f8a30a0ed99026777eb56ed67a7 31-Mar-2017 Sudheer Shanka <sudheersai@google.com> Change namespace of ACTION_REQUEST_SHUTDOWN.

Fixes: 36644580
Test: cts-tradefed run singleCommand cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest
and Device power-off works
Change-Id: I63f461157a63305cd08c5dc42293730be4eb657f
ntent.java
0fd4284b29a18aa0cec5515890935ec5530740ed 31-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make ACTION_USER_REMOVED intent a SystemApi." into oc-dev
166a81b3a36401fab774f06fc1e5989972125afe 31-Mar-2017 Sudheer Shanka <sudheersai@google.com> Make ACTION_USER_REMOVED intent a SystemApi.

Fixes: 36645106
Test: cts-tradefed run singleCommand cts-dev -m CtsSignatureTestCases -t android.signature.cts.IntentTest
Change-Id: I4230791df73549f147dc048d152a05e9eed5bc63
ntent.java
1284be68e806917a1ca75c54cd61960c0b1bb64a 31-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix issue with force resizing activity when app level doesn't want to" into oc-dev
ce1d0e94593eed9f838ff2a01e45aca5576ea7fe 23-Mar-2017 Garfield Tan <xutan@google.com> Add flags for quick viewer to indicate capabilities of a document.

Replace the QUICK_VIEW_ADVANCED extra.

Also restrict quick viewers not to send file content out of the device.

Test: It builds.
Bug: 36484539
Bug: 36755024
Change-Id: I921230eac6e497a615624202c741ef03432b2690
ntent.java
uickViewConstants.java
e633eb00a0ab352b4e1a390bb622c7a6ffa2fb68 30-Mar-2017 Wale Ogunwale <ogunwale@google.com> Fix issue with force resizing activity when app level doesn't want to

Don't force resize activity whose manifest attribute has
resizeableActivity set to false at the application tag level.

Fixes: 36704475
Test: Launch an app that disables resizeableActivity at the app level
in multi-window mode.

Change-Id: I73137175290355266a4d3ecc469e7a39d73dbc62
m/ApplicationInfo.java
m/PackageParser.java
08992ac57e973d6bf32693725ebb341a481e5944 21-Mar-2017 Christopher Tate <ctate@google.com> API refactor: context.startForegroundService()

Rather than require an a-priori Notification be supplied in order to
start a service directly into the foreground state, we adopt a two-stage
compound operation for undertaking ongoing service work even from a
background execution state. Context#startForegroundService() is not
subject to background restrictions, with the requirement that the
service formally enter the foreground state via startForeground() within
5 seconds. If the service does not do so, it is stopped by the OS and
the app is blamed with a service ANR.

We also introduce a new flavor of PendingIntent that starts a service
into this two-stage "promises to call startForeground()" sequence, so
that deferred and second-party launches can take advantage of it.

Bug 36130212
Test: CTS

Change-Id: I96d6b23fcfc27d8fa606827b7d48a093611b2345
(cherry picked from commit 79047c62b58fb0a0ddf28e2b90fe4d17e05bc528)
ontext.java
ontextWrapper.java
cd181e63ff1a03aff38041e6f30e23cfa27f5c72 30-Mar-2017 Chad Brubaker <cbrubaker@google.com> Merge "Track isolated process owners" into oc-dev
0f28a80d8e80a3546fe0776999b2deaa3dc2157c 29-Mar-2017 Chad Brubaker <cbrubaker@google.com> Track isolated process owners

This fixes two issues:
1) Isolated processes spawned by Instant Apps do not get full access to
package lists as those spawned by normal apps do
2) Package manager considers the isolated process the same app as the
Instant App that created it when determining what packages are exposed.

Bug: 34087569
Test: Webview works
Test: Isolated apps cannot access package info of other apps via start
an isolated service.

Change-Id: Ib26280b87fb46dc66f1f25ee6209427a095342b0
m/PackageManagerInternal.java
03169cddf60d8a8a6f391413c4525577414565c3 24-Mar-2017 Makoto Onuki <omakoto@google.com> Mention <intent> can't have string resources.

Test: build
Bug 34046756

Change-Id: I761b246d6aba5df4a836af3d0b3bef8f977be5ec
m/ShortcutManager.java
a82b62678a0e1eaba50ec5adce93862683dac065 22-Mar-2017 Adam Lesinski <adamlesinski@google.com> Themes: Apply themes to system_server safely

Creates a new UI Context for UI based operations.
This UI Context is wired up the same way a normal app
Context would be, and is subject to change when overlays
are enabled/disabled.

For this reason, only UI should be using this new Context.
All other operations should be using the original system Context
so that changing themes don't impact the regular operations of
system_server.

Also added some sanity checks at key places where we show UI
(ShutdownThread, BaseErrorDialog).

Bug: 36059431
Test: $ adb shell am crash com.android.settings
Test: Observe crash and power off dialogs are blue with PixelTheme
Change-Id: I87227ee2e0be1e72dcde8f482b37725cb687260b
ontext.java
61ae34afe3473909f5e6f0d90a889757d99ea12f 28-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Intercept direct launch of instant app installer" into oc-dev
1b782bffdfb197de7ac2181395cd8f8500b0a512 28-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "make MATCH_FACTORY_ONLY @SystemAPI" into oc-dev
01d69aae3a8431055f2f6dabd0acfba8eaf30b3b 28-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add extra flag to ApplicationInfoFlags" into oc-dev
b21be12d9db5d0d85afa26e401813eaa360bd2e0 24-Mar-2017 Todd Kennedy <toddke@google.com> Intercept direct launch of instant app installer

The instant app installer is not designed to be launched directly
by 3p apps. Instead, intercept the launch and make it look like
a "normal" instant app launch.
cherry-picked from I89c9b8c56865e260a2b92f8c2312a305a74f9cf5

Bug: 33073524
Test: Built and notice poorly behaving apps [*cough* keep *cough*] now launch instant apps
Change-Id: I5401aa8423042f54f1478409065b0d6b25cebe89
m/PackageManagerInternal.java
ea2529df19eb38425d86ae74c7ba01089492aa31 28-Mar-2017 Todd Kennedy <toddke@google.com> make MATCH_FACTORY_ONLY @SystemAPI

cherry-picked from I9e2046b62cb20c5b6651e91f833aff04d45d9800

Bug: 35946061
Test: None; just added an annotation
Change-Id: I604f962b9826700c335eeda9682d3354f6260c40
m/PackageManager.java
b65c36a0343b00777ffc401aa383f40922416d33 28-Mar-2017 Todd Kennedy <toddke@google.com> Add extra flag to ApplicationInfoFlags

MATCH_DISABLED_COMPONENTS should be part of ApplicationInfoFlags.
cherry-picked from If6a925c156192ee4663f0cb66d82fc03a86940d6

Change-Id: I048635ff0938f2772d5702de7eb4bc4812ece605
Fixes: 34969805
Test: None; updating annotation
m/PackageManager.java
336ae5b6161454304ef09be715505007c7a7da56 24-Mar-2017 Chad Brubaker <cbrubaker@google.com> Add ACTION_EPHEMERAL_RESOLVER_SETTINGS

This Intent will be used in Settings to show the settings UI for the
Ephemeral resolver. Settings can get the correct component to send the
Intent to by calling
PackageManager.getInstantAppResolverSettingsComponent

Bug: 35918998
Test: Boots
Change-Id: I0edcf85704f2c19e0ee27f91b6ef057d52e32778
(cherry picked from commit aa49cb86e6d5f23d82c97db32c848bc4ea2b81bc)
ntent.java
m/IPackageManager.aidl
m/PackageManager.java
2cbfa1ec746fa4b3c385ab5c2f707895dd4ecf50 28-Mar-2017 Amith Yamasani <yamasani@google.com> Catch IllegalArgumentException to avoid SyncManager crash

When SyncManager's scheduling races with an app with a sync
adapter being uninstalled, it can get an IAE from PackageManager.

Catch this exception and skip over the job.

Bug: 36658118
Test: Manual
Change-Id: I0a63a3e0aa19cb5685aa18c7c6c9d6dd6ccfd60a
m/PackageManagerInternal.java
0cb70ac40f12241b4592167e69b8a24a84b6cb4d 27-Mar-2017 Wale Ogunwale <ogunwale@google.com> Fixed logic error with setting maxAspectRatio

Ignore maxAspectRatio values less than 1.0 and set it to 0 which
means use device aspect ratio.

Change-Id: Ib2c76f6232e3f7521a1a4565d7c0c9e1de9c9eac
Fixes: 36606641
Test: cts/.../run-test CtsAppTestCases android.app.cts.AspectRatioTests
m/PackageParser.java
bfc4d59bf86546d020524668336994eaa80a37ec 27-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Replace possibly-expensive size() == 0 with isEmpty()"
c74ee2f8d3a9f4ebd502c037623cdbaf664c28a9 24-Mar-2017 Mike Tsao <miket@google.com> Replace possibly-expensive size() == 0 with isEmpty()

Bug: 36596458
Change-Id: Ieb0ea65be056bb8ce0613280e6213c330fbf783c
Test: added ContentValuesTest
lipboardManager.java
ontentProviderOperation.java
ontentValues.java
55ddf8f9e5d8241130aeac6be7b4978860f41bf8 20-Mar-2017 Wale Ogunwale <ogunwale@google.com> Added support for maxAspectRatio manifest attribute.

- Allows an app to specify the maximum aspect ratio it supports.
- Support for overriding configuration and bounds at the activity
record and app window token level.

Test: cts/.../run-test CtsAppTestCases android.app.cts.AspectRatioTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowFrameTests
Bug: 36505427
Bug: 33205955
Bug: 35810513
Change-Id: Ib2d46ed0c546dd903d09d6bb7162a98bd390ba81
m/ActivityInfo.java
m/ApplicationInfo.java
m/PackageParser.java
e219aaae85bc8749b787d27fa9fd741035f7f17f 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Delete preloadsFileCache when the cache has expired"
935618a2c5d8e776a1372473e6355c65f0570414 23-Mar-2017 Fyodor Kupolov <fkupolov@google.com> Delete preloadsFileCache when the cache has expired

Added deletePreloadsFileCache that can be called from settings app.

Modified freeStorageAndNotify to call deletePreloadsFileCache if the
cache has expired, or aggressive flag is set.

Bug: 34690396
Test: Manual
Change-Id: Ia097cd2f62ad501644be1c2cc573c249d8cfbf55
m/IPackageManager.aidl
fe7f38c376a7b1f48ccad46cc8a8784220879a3e 23-Mar-2017 Todd Kennedy <toddke@google.com> update comment with a bug number

Change-Id: Iff12dfd90d5b67da9f32b1f7b2410ac59ef07018
Test: None. Comment-only change
m/PackageParser.java
0466e4a83735884756b6af147d34f6147add7d9a 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Allow exposing components via <meta-data>"
a9d2e5e7988691e2c19ee4b9b08b46985992d730 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Preload fonts from an array"
2821eeae9732002c1a4bd9d6812a45ea65b7b6a0 17-Mar-2017 Clara Bayarri <clarabayarri@google.com> Preload fonts from an array

Until now we were reusing the font tags, but it is not needed,
we can declare the list of fonts to preload with a simple
resources array.

Test: manual
Bug: 36119246
Change-Id: I39819018012c322aff62e13aa69ab35467be57ac
es/Resources.java
es/ResourcesImpl.java
ab2bc07e5fcf2797c165890109016af0ee314e46 22-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Prevent downgrade of targetSandboxVersion"
fb483cc90c27a9c0fcafa28343a8fd644f8384a4 21-Feb-2017 Clara Bayarri <clarabayarri@google.com> XML Support for non system font providers

The certs needed to identify non preinstalled providers
can now be declared in XML, using a resources array.

Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/FontsContractTest.java
runtest --path frameworks/base/core/tests/coretests/src/android/content/res/FontResourcesParserTest.java
Bug: 35025705
Change-Id: Ibf12ad409aa5a873ddb32b1383c147728e664c23
es/FontResourcesParser.java
a6906adf59808da70f39a9b5db0e6a986fa371d1 22-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Explicitly call out email in "social" category."
e2fa7c36c3ec660ce682ad8f8b631a52528a65f5 22-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Deprecate EXTRA_STREAM."
8a29aecb73c8793fc8e52694cc793361b27aeb2b 22-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Better ContentProvider error messages."
a0ba51c2ab75c8e0406bbd43742597552b6dae98 22-Mar-2017 Jeff Sharkey <jsharkey@android.com> Deprecate EXTRA_STREAM.

ClipData is much more flexible, and it should be used instead of
EXTRA_STREAM moving forward. To ensure that legacy apps continue
working, the OS will offer to promote/demote the ClipData value
from/to EXTRA_STREAM. (We already had the promotion logic, but we
were missing the demotion logic.)

Test: builds, boots
Bug: 35293781
Change-Id: I82cd0b95cf021292282649290ab046cc310fe160
ntent.java
d2b69100f401de42a6d43ebb3093c7f5f3c9b79a 22-Mar-2017 Jeff Sharkey <jsharkey@android.com> Explicitly call out email in "social" category.

Test: builds, boots
Bug: 35294569
Change-Id: I08b2c1b1b95b6c2fc6fd7be417cd0f9547c8237b
m/ApplicationInfo.java
c0cc220e63b4caead383d94ab6423087476b99ba 22-Mar-2017 Jeff Sharkey <jsharkey@android.com> Better ContentProvider error messages.

Help guide developers towards ACTION_OPEN_DOCUMENT and related
APIs when a Uri is backed by a DocumentProvider.

Also help developer understand that we expected a valid
ContentProvider for Uri notifications.

Test: builds, boots
Bug: 32642790, 36075317
Change-Id: I8e0e3cb25b183c4a9a094a53018822a4212bdaf9
ontentProvider.java
9f29617d589b8daccda1d3b37de97662b9147cb1 22-Mar-2017 Eugene Susla <eugenesusla@google.com> Merge "Add system feature for Companion Device Manager"
752fb70b510b57a1cdbe363b0e6183d74034f43c 22-Mar-2017 Todd Kennedy <toddke@google.com> Allow exposing components via <meta-data>

Change-Id: I3d5f7f086c4da8d383f18f45e9510eea1db88c03
Fixes: 36479185
Test: Locally modify ephemeral cts tests to use <meta-data> and run 'cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest'
m/PackageParser.java
11f5cf937a0c27eaa5d5e7d0329c587fc0232620 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Send launch token to activity manager"
6f4b2a3039ac353e1b0bcebfdebba5060ad38cf3 21-Mar-2017 Jeff Sharkey <jsharkey@android.com> Shame developers that are calling hidden APIs.

Test: builds, boots
Change-Id: Id3edf1a7890f7dbc4cff2a2699bbeabc247c6e90
m/PackageManager.java
5dd59219e3c04fe871b2eca318222a860c5e564e 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[Resources] preloaded drawables few"
60b4af5d658a1debaa6af13a2bf1815537300c51 21-Mar-2017 Adam Lesinski <adamlesinski@google.com> Merge "AssetManager: Guard against null in array retrieval"
b3b43130db1c02493ca881ad95adf27ec0cbe8ad 21-Mar-2017 Todd Kennedy <toddke@google.com> Send launch token to activity manager

When an instant app is installed, control passes from the platform
to the instant app installer. However, when the instant app is
launched, the original launch token needs to be associated with that
launch. Do this by sending the launch token along with the original
launch intent

Change-Id: I5741be343862d4e5c8bfb6b4a81d0bac8e53ea9c
Fixes: 35445667
Test: Build and manully inspect the event logs to ensure the launch token is sent on instant app launch
ntent.java
652438cb19f6a8e3244a61526965f90cd5285df1 18-Mar-2017 Kevin Hufnagle <khufnagle@google.com> 2-way cherry-pick from oc-preview-docs-release: docs: Updated ShortcutManager Javadoc for Android O Developer Preview.

Test: make ds-docs -j12

Bug: 34685739
Change-Id: Ie70977f9b7b5b08de8bdd583a1e21b8a00eb5970
Original-Change-Id: I3cfa360ebd025a7eb198d7fe54f96059f42cd7f5
Original-Change-Id: I45ef30010f696604c06ce2cd7e2eca1db012e68b
m/ShortcutManager.java
3e1be91dcea8b4cad98841ff97f28c383026137b 17-Mar-2017 Kevin Hufnagle <khufnagle@google.com> docs: Edited ShortcutManager reference docs for Android O.

Added descriptions of features that have been added or have changed
within the ShortcutManager class.

Bug: 34685739
Change-Id: I45ef30010f696604c06ce2cd7e2eca1db012e68b
m/ShortcutManager.java
a8a66ccf1c6c042a71817d61fc159f10c21f4844 20-Mar-2017 Alan Viverette <alanv@google.com> [Resources] preloaded drawables few

Symptom: preloaded drawables few
Root Cause: all Java-side usages of config flags Must use Java flags
Solution: all Java-side usages of config flags Must use Java flags
Project: N70
Note:
Test: No

Fixes: 36448068
Change-Id: Iba4ac0067405bf1605cb1a98aa4dfc6263bbe5f8
es/ResourcesImpl.java
683bcd30ef0a90bc2a6a3dffb91be5a803560fa9 19-Mar-2017 Jeff Sharkey <jsharkey@android.com> Use allocatable space when measuring for install.

The system is often willing to clear cached data to make room for
incoming installs, so use StorageManager.getAllocatableBytes() when
making "does it fit?" style decisions.

Add new INSTALL_ALLOCATE_AGGRESSIVE flag, which will flow through
to use StorageManager.FLAG_ALLOCATE_AGGRESSIVE when making allocation
related requests. (This can be used by installers to indicate
packages that are critical to system health or security.

Test: runtest -x frameworks/base/core/tests/coretests/src/android/content/pm/PackageHelperTests.java
Bug: 36131437
Change-Id: If8118762fd1ca1f497d2cdd1787bdb3c9759dcc0
m/PackageInstaller.java
m/PackageManager.java
cf2c279a2320de6d81f7fffa4ddfd9780abe1e20 18-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add TRON logs"
fcd1493a6a9561db04e02a3fd87966a6d4f5a32a 18-Mar-2017 fionaxu <fionaxu@google.com> Merge "remove deprecated SIM_ACTIVATION_REQUEST intent" am: 7f8d27f84b am: 4aadda1902
am: 606f1ae931

Change-Id: I345b2853acca9e0165c2bf26d885ff794b734d69
4aadda19022d89f81e507b0dfb0a446f123c7055 18-Mar-2017 fionaxu <fionaxu@google.com> Merge "remove deprecated SIM_ACTIVATION_REQUEST intent"
am: 7f8d27f84b

Change-Id: Ia1216368a2a2a4959283d95bbc4be26789f151f6
10eb1455b9047084261442392f00235ec023eec2 18-Mar-2017 Adam Lesinski <adamlesinski@google.com> Merge changes from topic 'configForSplit'

* changes:
libandroidfw: Search all packages for an identifier
AAPT2: Finish support for feature splits
Add support for configForSplit
77a744c75e538324bcda736c37b7a5cd4ffb1f15 17-Mar-2017 fionaxu <fionaxu@google.com> remove deprecated SIM_ACTIVATION_REQUEST intent

This deprecated intent voilates intent naming conventions as defined in CDD.

Bug:35271104
Test: Manual
Change-Id: Ic7f251a6471de31e17960d612e108203983ce32d
ntent.java
50d946c13a5a47c6617530425479b0ad4f381700 17-Mar-2017 Todd Kennedy <toddke@google.com> Add TRON logs

Add logs for instant app resolution [both phase 1 & 2]
as well as new logs for all activity starts.

Change-Id: I0d25daa383854eacd3bc406ce1360d819a8ec4ba
Fixes: 35442251
Fixes: 35441725
Test: Manual; install/run instant app and inspect the event logs for appropriate tags
m/ActivityInfo.java
06ca1e08739fb2df62327293a6222f541639642d 17-Mar-2017 Chad Brubaker <cbrubaker@google.com> Allow Instant Apps access PackageInfo of exposed apps

Instant Apps can only see apps that explicitly expose a component via
android:visibleToInstantApp.

Bug: 34087569
Test: cts-tradefed run commandAndExit cts-dev -m
CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Ibcba43597f545966abc883e90008369fb20d61ae
m/PackageParser.java
ba9576d977c0379f5fb302c7db1b234b253919ad 17-Mar-2017 Adam Lesinski <adamlesinski@google.com> AssetManager: Guard against null in array retrieval

Resources does the right thing and throws NotFoundException
if the result from AssetManager.getResourceTextArray() is null,
but AssetManager itself doesn't guard from the native implementation
returning null.

This lets callers always protect against missing resources via
catching NotFoundException.

Change-Id: I4f7ad32819bc9598efb28dbb10a59ff5201ecfca
Test: manual
es/AssetManager.java
1665d0f028e3a225cb117d3e227bef5c5dace2d4 10-Mar-2017 Adam Lesinski <adamlesinski@google.com> Add support for configForSplit

Applications with the android:isolatedSplits="true" attribute in
their AndroidManifest.xml would have their Split APKs loaded in
isolation of each other, based on a set of dependencies.

Configuration Splits generated for a Feature split would not be properly
loaded before, so this change, along with a tools change, fixes this
issue and completes support for isolatedSplits.

Bug: 30999713
Test: CTS test coming (depends on some tool changes)
Change-Id: Ia4e7b0e69168a9d6637867558e306f7031720fb3
m/ApplicationInfo.java
m/InstrumentationInfo.java
m/PackageParser.java
m/split/SplitAssetDependencyLoader.java
m/split/SplitDependencyLoader.java
m/split/SplitDependencyLoaderHelper.java
2bd3c49eb44d9dad670daa8ac6950e46dcf16615 16-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add feature tag android.hardware.vr.headtracking."
279dd66dfd458a861332a27a6259d83fe4b43bbc 16-Mar-2017 Craig Donner <cdonner@google.com> Add feature tag android.hardware.vr.headtracking.

Different versions of this feature specify different levels of
headtracking capability.

Bug: 36294374
Test: build
Change-Id: I00273c9093321661b5ca519d7cd065ae0105c3b2
m/PackageManager.java
b30ee8d02502dd38e4b33a7b1accedffd0f3a5d8 16-Mar-2017 Jeff Sharkey <jsharkey@google.com> Merge "Create new BroadcastBehavior annotation."
c2d761a445da4ba4cce99849e59e5d8f6c7fabc8 16-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Adapt unpaged cursors to paged requests."
e5f868fd31baedc49bb74f1bc1e28b995cc2cd71 02-Mar-2017 Steve McKay <smckay@google.com> Adapt unpaged cursors to paged requests.

Allow all client targeting Android O to assume paging
support for any provider.
Adds a new PageViewCursor that adapts an unpaged cursor
to a paged request.
Updates ContentProviderNative to perform wrapping on
unpaged results.

Bug: 30927484
Change-Id: I4e225dc16761793c85ef8a195bf049113c79cd20
Test: Added for new class. Run info @ frameworks/base/core/tests/coretests/README
ontentProviderNative.java
5fff20cac1da9a6105673fb1e4fc49e2e3f269e9 15-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Clean up public FontConfig APIs"
ac873c9f25d2a687c9195226b9d680f51c91fa30 08-Mar-2017 Seigo Nonaka <nona@google.com> Clean up public FontConfig APIs

This CL contains following clean up:

- Hide unnecessary constructors.
- Change List<XX> to XX[] since actually all fields are immutable.
- Change font's variant type from String to int.
- Decouple resource related members to FontResourcesParser.
- Add NonNull/Nullable to all fields.

Test: ran android.content.res.FontResourcesParserTest

Change-Id: If456266ffff86d41342572a19662cc8f3cd13181
es/FontResourcesParser.java
es/ResourcesImpl.java
be4cf58436437da3bf78c48eeb401a5416459f95 15-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add API to mark apps that have an update available"
ab53289c593aad60eddbe1ffc73402ac1f92c112 08-Mar-2017 Todd Kennedy <toddke@google.com> Add API to mark apps that have an update available

Ostensibly for instant apps, we allow play to mark an app as having
an update available. This will trigger instant app resolution even
if the instant app is already installed on device.

Bug: 35143464
Test: Manual; launch URI of installed instant app, see it runs w/o resolution. set bit. launch URI of installed instant app, see it runs resolution
Change-Id: I511df2b2a3eab39377167c770255ccbe02d5dad2
m/IPackageManager.aidl
m/PackageManager.java
7c3eef2f3d085bc14f736240896523217a448408 10-Mar-2017 Eugene Susla <eugenesusla@google.com> Add system feature for Companion Device Manager

Bug: 30932767
Test: Add just the feature gating first, ensure Context#getSystemSetrvice now
returns null.
Add feature in the configuration files, ensure companion device feature works again.
Change-Id: I4ad2d52f7877eae0e951f43ddbb23881d5de8d8b
m/PackageManager.java
0434289c45bc18f81f26d66e6bcbf8facf128665 02-Mar-2017 Jaekyun Seok <jaekyun@google.com> Apply static RRO

Static RRO package is designed to support resource overlay for system
server and they shouldn't be disabled or changed by a user.
The design details are in go/treble-static-rro.

Selection method for static RROs will be applied later when its design
is determined.

Test: building succeeded and tested on sailfish.
Bug: 35742444
Change-Id: I8cbf2fd37a73a24bf6ad291e2c5cf75a0fc757fc
m/PackageInfo.java
m/PackageParser.java
3fcba6afdedc1e2b8f7638b7269d756e31b96223 13-Mar-2017 Jeff Sharkey <jsharkey@google.com> Merge "Move PackageInstaller over to AppFuse."
ebf3a0d57fb940d6a312181a615f9ff0d1d55862 13-Mar-2017 Chad Brubaker <cbrubaker@google.com> Merge changes from topic 'receiver_IA'

* changes:
Enforce visibleToInstantApps for receivers
Only send exposed broadcasts to Instant Apps
02d4e3441bc1bf767d0ed57b81bdfa59d2894cb6 11-Mar-2017 Jeff Sharkey <jsharkey@android.com> Move PackageInstaller over to AppFuse.

When PackageInstaller was originally written, we needed a way to
ensure that untrusted apps were fully hands-off of any opened
FileDescriptors before we could proceed with certificate checks.

The best way to satisfy this security constraint was to build
a utility called FileBridge which was a (terribly slow) RPC
mechanism that could be cut off when needed.

However, a new feature called "AppFuse" offers to create a "proxy"
FileDescriptor which relays file operations back into userspace, and
it's much more performant than FileBridge. (Local benchmark tests
that deliver a 64MB APK show that AppFuse is about 45% faster than
FileBridge.) Because userspace is still involved in every operation,
we can still "revoke" access at any time to deliver on our security
requirements.

This change adds support for AppFuse, while keeping around FileBridge
as the default for now. An upcoming flag-flip CL can be used to
easily switch between the two modes.

Test: builds, boots, benchmarking, stress tests
Bug: 35728404, 31332379, 25510838
Change-Id: I2a70c0ca922a5ba468ffdef7b2fd8ab79f7cfefd
m/PackageInstaller.java
3e575956741704944f1608f0fec401aba06585f0 13-Mar-2017 Ben Lin <linben@google.com> Merge "Stop DocumentsContract from consuming Exceptions if app is targetting O or above."
179d6b3f0ccc506b20ae432c84fe5c3d09c10bbf 13-Mar-2017 Jeff Sharkey <jsharkey@android.com> Deprecate storage "low" and "ok" broadcasts.

These broadcasts resulted in a terrible user experience where dozens
of apps would wake up and try deleting everything they possibly can,
meaning that we'd thrash between showing/hiding the low space
notification to users.

Instead, if apps have data that they're okay being purged when the
system is chronically low on space, we want to strongly encourage
them to rely on the much-improved getCacheDir() behaviors in OC.

Test: builds, boots
Bug: 35406598
Change-Id: I74abfba1b8d3948363b79f8b66ca0ad60faac756
ntent.java
8ea8200fedb3b0b9d508289782cb2ba5d7fe0d5f 09-Mar-2017 Ben Lin <linben@google.com> Stop DocumentsContract from consuming Exceptions if app is targetting O
or above.

Test: Builds properly.
Bug: 36023174
Change-Id: I455d358672f35fbeb5678c965b25268229ed4882
ontentResolver.java
642028fccd655d6c9dc8fd0865cd526c694993ab 10-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Replaced auto-fill by autofill to keep it consistent with API style."
34573b289f03d29aa4da114a33c5584856da412d 08-Mar-2017 Chad Brubaker <cbrubaker@google.com> Prevent downgrade of targetSandboxVersion

Bug: 34761192
Test: manual
Change-Id: I0a17006156213ebbc748a37bc5b4ceaa8cc8dd94
m/PackageManager.java
640f30a7763b0a4b80c767acb84c740aac04768b 07-Mar-2017 Felipe Leme <felipeal@google.com> Replaced auto-fill by autofill to keep it consistent with API style.

This change will affects 2 types of apps: autofill service implementations
and apps that use autofill APIs.

Since just the former is known to be used at the moment, we're not trying
to keep backward compatibility with the latter.

Bug: 35956626
Test: CtsAutoFillServiceTestCases pass
Test: android.provider.SettingsBackupTest pass

Change-Id: Ia720083508716deae9e887f9faa7ae7c5a82f471
ontext.java
6e2026c348098675ef387c54786c0d2676797b35 09-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix stale data due to stopped loader."
32ee8eefd753398186c6967febc6d4d001f9c1cb 09-Mar-2017 Jeff Sharkey <jsharkey@android.com> Create new BroadcastBehavior annotation.

This will be used to help document the expected behavior of various
broadcast actions defined by the OS.

Also add logic to PackageParser that will then yell at developers
whose manifests are making bad assumptions about which broadcasts
they'll receive.

Test: builds, boots
Bug: 35925551
Change-Id: I059c2bf8aa3ce53d9ff18dcc263db7620cd14bd6
ntent.java
m/PackageParser.java
c66b2d2313d394e6b9c7c085cdcbfc173c9c9105 09-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add OverlayManagerService#setEnableExclusive"
899ca3236d86e921e24acb5d8f43fc1e28428043 08-Mar-2017 George Mount <mount@google.com> Fix stale data due to stopped loader.

Bug 33185424

When stopping an CursorLoader while data is being loaded,
the load task will be canceled. This CL marks the data as
changed if the cancel is called while the loader is stopped.

Test: I63b48210a25be72d13a2a6182eb1757cbe6a1949
Change-Id: Ibf9c5facdcc5160f6ed146c5fdd063549ac2a7a8
syncTaskLoader.java
60f95aa00a24c8f8548726bf2f30c951a4efe20a 08-Mar-2017 Jeff Sharkey <jsharkey@android.com> Move lagging users over to new storage API.

Over the last month we've been moving everyone over to the new
StorageStatsManager public APIs, but we missed these users.

The ApplicationsState changes are straightforward, but we had to
completely rewrite StorageMeasurement to use the new fast-path
quota APIs.

Test: builds, boots, UI using StorageMeasurement works.
Bug: 36056120
Change-Id: If02177c95bf8c96ae4eceac4d631a168f99bef84
m/PackageManager.java
m/PackageStats.java
816c83bf037e2284a61ac8e918ff882d162d9321 02-Mar-2017 Chad Brubaker <cbrubaker@google.com> Enforce visibleToInstantApps for receivers

Instant apps can only send broadcasts to receivers that are declared in
the manifest with android:visibleToInstantApps=true or if the app
registers a receiver at runtime using the new methods that take
visibleToInstantApps.

Bug:33350280
Test: Manually sending broadcasts from Instant Apps only goes to
receivers with visibleToInstantApps set to true.
Test: Receiving a broadcast from within the same app does not require
visibleToInstantApps to be set.

Change-Id: I54d79a502ba9c5fd03ede3c09e08afc88fe2775f
ontext.java
ontextWrapper.java
aae1cc597dcb97fe55feff5c15c354b7d7d7ece8 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose Instant App API defined in MR1"
8603ad42df11630e833c10a5d211b01d2cc60c25 07-Mar-2017 Daniel Nishi <dhnishi@google.com> Merge "Use the fast track for the AppCollector."
929ed8d2f46209026cfa6f4baa68b551d54401a0 07-Mar-2017 Jason Monk <jmonk@google.com> Add OverlayManagerService#setEnableExclusive

This lets settings use one call to set the current theme overlay
for the "android" package.

Test: Change theme in Settings -> Display
Change-Id: Ia566e58c5479dedb7184f4218151f8080f8ebc0f
m/IOverlayManager.aidl
9c9fdf27ff74fd4011239b25723f6c05ee5886fa 06-Mar-2017 Todd Kennedy <toddke@google.com> Expose Instant App API defined in MR1

These were created in MR1 but couldn't be submitted because
they were defined too late [after API freeze].

Change-Id: Ie6884236776bd26e9d0b557fd125b8c77b0ad93b
Fixes: 34890162
Fixes: 35193180
Fixes: 35193418
Test: manual
ntentFilter.java
m/PackageManager.java
m/PackageParser.java
a61627935edd3b76b822bb1100baf5cca5e0c758 07-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support non-system Font Providers"
c7eefdbda7864c71f2bc1845e83d9a21aa10c338 07-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Framework: Avoid string allocations"
3c4be77db95ea716889568bde853be082e764da9 07-Feb-2017 Clara Bayarri <clarabayarri@google.com> Support non-system Font Providers

To do this, the developer must specify the set of certificate
hashes that represent the authority's app. This allows us to
verify that the authority we find is indeed the one intended
by the developer.

Bug: 35025705
Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/FontsContractTest.java
runtest --path frameworks/base/core/tests/coretests/src/android/content/res/FontResourcesParserTest.java
CTS attached to topic
Change-Id: I605f9a93bbca8705936ead08efb4a5b4fdcc4882
es/FontResourcesParser.java
8cfea13985fe7e729274f6d2763b0de9bd02aae6 07-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move requestKeyboardShortcuts intent to com.android"
e9a5262f2ae498fe466df1ac36f0854e12fbfd32 07-Mar-2017 Andreas Gampe <agampe@google.com> Framework: Avoid string allocations

Avoid common string allocations for ":complete".

Test: m
Test: Device boots
Change-Id: I8c7a53346a4e1aa1beefd17429e13e20ab510f20
m/SELinuxUtil.java
a485f71fd77302f31daa0d6ae29f6802a61eddcf 06-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Refactor EphemeralResolverService"
b7e34d5508b41c421994eb70f96f56e5db7ede74 22-Feb-2017 Chad Brubaker <cbrubaker@google.com> Only send exposed broadcasts to Instant Apps

In order to prevent Instant Apps from receiving potentially sensitive
broadcasts they will only receive those that the sender explicitly
exposes to Instant Apps by setting
Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS.

Bug:33350280
Test: `adb shell am broadcast` does not get delivered to Instant App
Test: `adb shell am broadcast -f 0x0x200000` gets delivered to Instant
App
Test: Verified that an Instant App can send a broadcast to itself
without FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS
Change-Id: Ie363448bf224abba530dd4caf69258939fff00af
ntent.java
847d8683a0e5fd44979a9f39dd6afbd433653f6f 06-Mar-2017 Clara Bayarri <clarabayarri@google.com> Move requestKeyboardShortcuts intent to com.android

Test: none
Bug: 35307747
Change-Id: Ibaf260ebe75bc80d48167209af7d034c582160b7
ntent.java
64979aacb51b7a577862b7069e2f89d7e0fe8062 04-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "expose isSealed() from the installer session"
4992dbb6f7c20a258bc7a5174e9c9ad64b0d1927 04-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Mark ACTION_VOICE_ASSIST as SystemApi"
1fb3404b2ba69a823e961bec2d9ed61622107052 01-Mar-2017 Todd Kennedy <toddke@google.com> Refactor EphemeralResolverService

* Change name to InstantAppResolverService
* Left old service in place to handle existing client
[to be removed prior to O launch]
* When resolving phase II, return a list instead of a single item

Bug: 34763730
Test: Build and verify resolution occurs w/ legacy & new resolver service
Change-Id: Ieccaf91538bd91c04f4be4e35d8264619d7cd6d7
m/AuxiliaryResolveInfo.java
m/EphemeralIntentFilter.java
m/EphemeralRequest.java
m/EphemeralResolveInfo.java
m/InstantAppIntentFilter.java
m/InstantAppRequest.java
m/InstantAppResolveInfo.java
04cc191c3cb79fd8875d813dcd25b6f797eb34cc 03-Mar-2017 Todd Kennedy <toddke@google.com> expose isSealed() from the installer session

Change-Id: I5232a012fbee8931b0e3f584d6bb2e273a789dee
Fixes: 35948628
Test: Manual
m/PackageInstaller.java
e096df0063f9b22af1bf9159e4b6056c1c5c70f0 03-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Adding support for passing arbitrary extras when requesting to pin a widget. Also defining an extra constant for widget preview which can be used by developers to provide a snapshot of the widget with the pin request"
1645203104735f0d429792769f6e262ca3ce72ee 03-Mar-2017 Amith Yamasani <yamasani@google.com> Mark ACTION_VOICE_ASSIST as SystemApi

.. since it is implemented by a system app. This allows the
CTS test that verifies android.* namespace intents to pass.

Change-Id: I083e1d12a79fa67e15158ca7390353303cd0e06e
Fixes: 35274957
Test: cts-tradefed run cts-dev -m CtsSignatureTestCases
ntent.java
2c66f192ca3f43b35db84c13af687a847b10301d 03-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add extra indicating honored query arguments."
90ac28d618a8428a5943e4183d4139f08a5a25ad 03-Mar-2017 Calin Juravle <calin@google.com> Add a shell command to force the background dexopt job
am: f7edab63d9

Change-Id: Ie77bc356a9ff4786c23a06d1267dc7ca5e45a90a
110e897eaa78aab17685ada1402185f69358699a 03-Mar-2017 Calin Juravle <calin@google.com> [PM] Clean up logic for secondary dex oat files
am: e69fba3f7f

Change-Id: I223b27221acf25e628003dde0f63cffe66779753
468be64cf2a7dac72f9803f6b1fb0fbed0a17fa6 03-Mar-2017 Calin Juravle <calin@google.com> Compile secondary dex files in DexManager
am: 7218363a92

Change-Id: I53e7864b097cf9cff702e9185bb1c9091d97fe63
8fb42cc3b2768bd3d7a2f9c27f91a49fbf3dbf69 02-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Let ResourcesManager generate CompatResources"
f7edab63d9358b9a4e0dbec3243f6db9f50a2bbe 26-Jan-2017 Calin Juravle <calin@google.com> Add a shell command to force the background dexopt job

Add 'bg-dexopt-job' command to 'adb shell cmd package' which will force
the background dexopt job to run the optimizations immediately.

Note that the command only runs the background optimizer logic. It may
overlap with the actual job but the job scheduler will not be able to
cancel it. It will also run even if the device is not in the idle
maintenance mode.

Test: adb shell cmd package bg-dexopt-job
Bug: 32871170

(cherry picked from commit cb5f41ea11b1a6fcd0977a64ee146dde8f537076)

Change-Id: I82c781d46fe16e7b7566a5b5ee91be723a2125cb

Merged-In: I8b0112074220b2e09baf13d842401ee1cf306a89
m/IPackageManager.aidl
e69fba3f7fbc8e4fc6c02b80c8fac097804b97f7 25-Jan-2017 Calin Juravle <calin@google.com> [PM] Clean up logic for secondary dex oat files

Add logic in DexManager to reconcile secondary dex records with the
actual files on disk. If secondary dex files are moved or removed then
DexManager will remove the generated oat files during the call to
reconcileSecondaryOdex() and update its internal state.

Add 'adb shell cmd package reconcile-secondary-dex packageName' which
will force DexManager to sync its data with the actual secondary dex
files.

Test: devices bots
runtest -x .../PackageDexUsageTests.java
runtest -x .../DexManagerTests.java
adb shell cmd package reconcile-secondary-dex
com.android.google.gms (after artificially/temporarily renaming some
dex files)

Bug: 32871170

(cherry picked from commit c22c30ed1c05c5c24185dc4d380d1c5026923d46)

Change-Id: Ied9fcbfe367ed3a8250a9ba8d202518b264c64e8

Merged-In: Id2d72dc89995f89cf1ddf79ae4e992afd3f3c127
m/IPackageManager.aidl
7218363a92d15cc1854cf298ef77e1ed2aeafa3b 17-Jan-2017 Calin Juravle <calin@google.com> Compile secondary dex files in DexManager

Add logic for secondary dex compilation in DexManager. Also, extend the
`cmd package compile` command with '--secondary-dex' option which will
compile all used secondary dex files for the given package.

Test: flash & boot,
cmd package compile --secondary-dex -f -m speed
com.google.android.gms
Bug: 32871170

(cherry picked from commit c22c30ed1c05c5c24185dc4d380d1c5026923d46)

Change-Id: I3cf26edbfb5e9f3683e608bb2a596e1ab5682bd4

Merged-In: Ia2b95cb70d26c4ead5cb650047641b0881ca84ae
m/IPackageManager.aidl
c8f0100248292ec2120beb224793589074579508 02-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Adding platform constants for various install reasons."
594ea5f8b031c09de090eab446209b84aa78fd37 02-Mar-2017 Dianne Hackborn <hackbod@google.com> Merge "Implement issue #34842682: Add ability to limit permissions based on features"
415f41ba206a9d0e299a081cc1ff6cd473f4bef0 01-Feb-2017 Steve McKay <smckay@google.com> Add extra indicating honored query arguments.

Rename QUERY_RESULT_SIZE to EXTRA_TOTAL_SIZE.

Change-Id: I18f1e0b77362c6f898bc4d5846e21dfb205be19a
Test: Manual
Bug: 30927484
ontentResolver.java
bd60e5bf2e58a5e6ef48281d684197aaf4f113fd 02-Mar-2017 Jason Monk <jmonk@google.com> Let ResourcesManager generate CompatResources

This will let the ResourcesImpl be updated and handle null cases
better.

Test: Select text while composing email.
Change-Id: Ia8aed22f02b040a202db9cbb2bc02687c693cfa1
Fixes: 34761805
Fixes: 35869547
es/CompatResources.java
es/CompatibilityInfo.java
80af6a27fd38c105ca16a110b158a5c6bf6835d3 02-Mar-2017 Sunny Goyal <sunnygoyal@google.com> Adding platform constants for various install reasons.

Bug: 33415829
Test: Not a testable change
Change-Id: Ib0803e55f71a1c6b46e12b1a324db4e028a20529
m/PackageManager.java
c20082bd46e614c054a0f883e316fb37f26b110d 02-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Change MaskableBitmap to AdaptiveBitmap Test: $ make dist -j30 b/35399620"
4ad6b57700bef4c484021f49e018117046562e6b 28-Feb-2017 Sunny Goyal <sunnygoyal@google.com> Adding support for passing arbitrary extras when requesting to pin a widget.
Also defining an extra constant for widget preview which can be used by
developers to provide a snapshot of the widget with the pin request

Bug: 35811129
Test: All exisiting tests passing
for f in 1 2 3 4 5 6 7 8 9 10; do \
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest$f \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner; \
done;

adb shell am instrument -e class com.android.server.appwidget.AppWidgetServiceImplTest \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Id854bd28468a5bf0416ff1a1b19c44d850016f32
m/IPinItemRequest.aidl
m/LauncherApps.java
m/ShortcutServiceInternal.java
31a16551910492321a6f7c291eb33e1458f39f0a 02-Mar-2017 David Christie <dnchrist@google.com> Create PackageManager.isInstantApp API to query whether
a given package name is an instant app.

Test: refactor existing codepaths retained

Change-Id: I6253fe8cc398d6547566d11043bffd1c4ffaa74a
m/PackageManager.java
e4179e2c4e674b32390a9133bb9fbb3ef5df651b 01-Mar-2017 Hyunyoung Song <hyunyoungs@google.com> Change MaskableBitmap to AdaptiveBitmap
Test: $ make dist -j30
b/35399620

Change-Id: I96d6eaceaf7ce9dec7de21634a5fa2bd40b0deba
m/LauncherApps.java
m/ShortcutInfo.java
5a7c7b8e532e1a67596e74d0dead6baa63964bdb 01-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove FastJNI optimization on AssetManager to avoid dead lock."
fb64de06cd1f6cd0346e481f13d6cb886dff1bfb 01-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use context's userId in ContentResolver class."
cd154e95353e7af11314d2339500d6c7f85e181a 01-Mar-2017 Dianne Hackborn <hackbod@google.com> Implement issue #34842682: Add ability to limit permissions based on features

Two new attributes for <uses-permission>: android:requiredFeature and
android:requiredNotFeature.

Also update aapt to include this information in badging:

uses-permission: name='android.content.cts.REQUIRED_NOT_FEATURE_UNDEFINED' requiredNotFeature='android.software.cts.undefined'
uses-permission: name='android.content.cts.REQUIRED_MULTI_DENY' requiredFeature='android.software.cts.undefined' requiredNotFeature='android.software.cts'

Test: new PermissionFeatureTest suite.

Change-Id: Icc1f815a4675ae9dd2cb7f61730ab28b5c11228a
m/PackageManager.java
m/PackageParser.java
b4e2ddde4f08ba25f57c97a4fe7c339cbe805559 04-Feb-2017 Sudheer Shanka <sudheersai@google.com> Use context's userId in ContentResolver class.

- When registering and notifying observers, we should use the user in the
context as opposed to current user.
- Relax the permission check while registering and notifying content observers
to use INTERACT_ACROSS_USERS instead of INTERACT_ACROSS_USERS_FULL permission.

Change-Id: I973936903d4a2272c5722f3b98a057a40c0402be
Fixes: 32955100
Test: Created managed profile and verified that there are not failures.
runtest -x core/tests/coretests/src/android/content/SecondaryUserContentResolverTest.java
runtest -x core/tests/coretests/src/android/content/ManagedUserContentResolverTest.java
ontentResolver.java
fe25b1adaffbc9e84e6c8c5d5f863264becb3484 16-Feb-2017 Tim Zhang <tim.zhang@spreadtrum.com> Remove FastJNI optimization on AssetManager to avoid dead lock.

I found there was a dead lock among main, android.display and GC threads
when running monkey test.
- Main thread got a mutex and was suspended by GC thread.
- Android.display thread waited for mutex held by main thread.
- GC thread waited for suspention of android.display thread.

This will lead to ANR or screen freeze.

Fixes: 32480078
Test: builds

Change-Id: I13cf1eca3cb3b7c01aa754874f2b48aab0b472e8
es/AssetManager.java
9ac082f8bb0c944513af326bda311cea3d153d56 01-Mar-2017 Nathan Harold <nharold@google.com> Merge "Add API Surface for creating IpSec Transforms" am: 7645fa2816 am: 0a6305d5dd
am: 3ddaf3e6b0

Change-Id: Idceae0e5a1af2f357378b03fc0d257dab605b217
0a6305d5ddf7ca628b36bb65077d44e3ea139be4 01-Mar-2017 Nathan Harold <nharold@google.com> Merge "Add API Surface for creating IpSec Transforms"
am: 7645fa2816

Change-Id: Ibe70a60c5c5808a7877145cccefcc1f11bfacc51
330e1089da80cddcd68758512370d217b19f8890 13-Jan-2017 Nathan Harold <nharold@google.com> Add API Surface for creating IpSec Transforms

This CL adds an API to set up an IPSec Security Association
and Security Policy to perform Transport-Mode and Tunnel-Mode encapuslation
of IP Packets.

Bug: 30984788
Bug: 34811752
Test: 34812052, 34811227
Change-Id: Ic9f63c7bb366302a24baa3e1b79020210910ac0a
ontext.java
1b4cdf909f7c9f3ad9b12d666ca5a4c1dde43308 01-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add boolean when instant apps are available"
d7b0329ab7c3355c84f8227939e88f305dd78b51 28-Feb-2017 Daniel Nishi <dhnishi@google.com> Use the fast track for the AppCollector.

This replaces some of the threading shenanigans done to get this
working with the regular PackageManager call. By swapping this
out, we can get results faster, using less power, and with a
simpler implementation and testing strategy.

Bug: 35807386
Test: FrameworkServicesTest
Change-Id: Ib94fd7eba838b5e728f8f2615bcb4d9c82f21885
m/PackageStats.java
32e075de37a45541ce0952c2e5ee6d4bbefb20d6 01-Mar-2017 Todd Kennedy <toddke@google.com> Merge "fix typo"
bcdaf9208cfc34757c7d51c6b9cf73b383711ffb 01-Mar-2017 Todd Kennedy <toddke@google.com> fix typo

Fixes: 35840741
Test: None; it's a javadoc fix
Change-Id: Ic59fe12351c24630d7ba18ffaafeef8035be35f5
m/InstantAppInfo.java
e19e5677a57de03453ed61d7c36c806427a98d20 01-Mar-2017 Sunny Goyal <sunnygoyal@google.com> Merge "Sending explicit broadcast to the launcher when a package is installed"
533c9ff58d7649c6056f12c85b4122970f77236b 27-Feb-2017 Todd Kennedy <toddke@google.com> Add boolean when instant apps are available

Bug: 34168547
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Ic1072d02aa4d43947e689e4381c2c5ee43704dd0
m/ResolveInfo.java
a7aaae881cb3168641e3117a0de6db15b63b5a44 28-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Delete ParcelableString, add StringParceledListSlice"
6d7cb232362d8036875d1d3c3f0e8f5d47a2ad25 30-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Sending explicit broadcast to the launcher when a package is installed

Test: Manually tested on device and add CTS tests
Bug: 32920609
Change-Id: Ic23c077a469fb41d6c4e123d4bc022899f634198
m/PackageInstaller.java
abaa0695c5361b36a7a2cdbe87c77bf60be20af7 20-Feb-2017 Robin Lee <rgl@google.com> Delete ParcelableString, add StringParceledListSlice

Both inherit from package private BaseParceledListSlice.

This is still bad, but it's not as bad. The existing code that uses
this can just do Foo.bar().getList() now instead of having to marshal
to and from an oddball type at either end as well.

In the longer term ParceledListSlice<> should be eliminated, but it's
not clear how far into the future that is going to happen.

Test: runtest -x services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
Test: runtest -x core/tests/coretests/src/android/content/pm/ParceledListSliceTest.java
Change-Id: Ie69b96b5215d6e04990f6d31345772cdfee21d78
m/BaseParceledListSlice.java
m/ParceledListSlice.java
m/StringParceledListSlice.aidl
m/StringParceledListSlice.java
ee3aa6ceab15877dcd0ea7ad83a8c3aea1fd0253 28-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Treat Telephony as legacy app for now."
2afae796de74064e67a6039616e0ed49efcdc9b7 27-Feb-2017 Jeff Sharkey <jsharkey@android.com> Treat Telephony as legacy app for now.

Telephony stack is relying on non-existant ContentProviders for
sending Uri change notifications; it'll eventually need to move over
to using real ContentProviders, but apply this band-aid for now.

Test: builds, boots, SMS send/receive works
Bug: 35792675
Change-Id: Ice66278f876f1c754852300da7eb045a7c778d14
ontentResolver.java
6087ea2b9d51099a78647960f0cc5f339c880c0c 27-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Provide some compatibility story for devs in the past"
1058a3dd95c6afe89e2a9eb97fa2e554f383ee86 27-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Push chooser targets to the shortcut manager."
9687767d759936a51ca2f7d90b3810f8b9bea0d4 27-Feb-2017 Makoto Onuki <omakoto@google.com> Merge "Allow querying providers with a specific metadata."
58fc95dc578244b7beb687a48184045dcce788b8 14-Dec-2016 Hakan Seyalioglu <hseya@google.com> Push chooser targets to the shortcut manager.

More info at go/direct-share-push

Test: Some basic testing currently in, more to be added.

Change-Id: I069f9779988c3eca2c4d8b83ec62501983854355
m/ILauncherApps.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutServiceInternal.java
bd9836496cc4fb7ba5ae14c6a3091ec06ee40e35 24-Feb-2017 Jason Monk <jmonk@google.com> Provide some compatibility story for devs in the past

They should be providing themes when resolving certain resources,
but they aren't anyway, so try to provide it free of charge, when
possible. Also, nothing is ever free.

Test: Open app that uses old/bad resource methods
Change-Id: Icd57aadf1202ddffb1dd73ab45119fae7e5d6130
Fixes: 35656110
es/CompatResources.java
4190575960f524696da89574e6825f91e0925ead 27-Feb-2017 Jeff Sharkey <jsharkey@google.com> Merge "Delete @removed APIs that never shipped."
e9cedbd28199cac0eb1e392d0703880d3e56725d 25-Feb-2017 Makoto Onuki <omakoto@google.com> Merge "Don't include Bitmaps in activity intents"
f4854018a20ab54358f82fc2bda7f33fdd48c14d 25-Feb-2017 Chen Xu <fionaxu@google.com> Merge "move ACTION_CARRIER_SETUP intent to public api"
am: fcb37ffc60

Change-Id: Iaa09a2c35a88d58a6c6df4122bf7f1f87bd7075e
8abba3a641086cbc66c7ed037a8f6f8a9f600802 24-Feb-2017 Makoto Onuki <omakoto@google.com> Don't include Bitmaps in activity intents

Bug: 35515740
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutManagerTestCases
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsShortcutHostTestCases

Change-Id: Ibb94728eb03997bb850b08c61c756f283bd90a08
m/IPinItemRequest.aidl
m/LauncherApps.java
dd9bda81f698043a0110d4e2178d20cb160ba829 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Delete @removed APIs that never shipped.

These were never part of any public API level, so apps should never
have been using them.

Test: builds, boots
Bug: 31241513
Change-Id: I4fc8f5c325da56694a5db98acc995a22d4947805
ontext.java
m/ApplicationInfo.java
m/PackageManager.java
e44f60ec359acc05075ce330c3005aa524e968b3 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Require valid authorities for Uri notifications."
2140cd6431266bdb17024c66bb93cf88ff7cc407 24-Feb-2017 Jeff Sharkey <jsharkey@google.com> Merge "Block new installs into ASEC containers."
4b2f751ebf847698c1fa5da5dbcd7184d84c5ecf 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Check EXTRA_INTENT as part of leaving process."
6a5ac3b922a3db9d5f00836f4c5323dded54e63e 18-Feb-2017 fionaxu <fionaxu@google.com> move ACTION_CARRIER_SETUP intent to public api

As per CDD: The "android.*" namespace for intent constants is reserved for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.)
ACTION_CARRIER_SETUP intent is generally useful for carrier privileged
apps which is unbundled carrier apps, thus move to public APIs

Bug: 33679956
Test: Manual
Change-Id: I202398f868d35e7e9046e7cc41330a3c26dca0b0
Merged-in: Ie2b5d072406513f04676210d08c43d91623c3cd2
ntent.java
f73da9c7edd5f5d35d7fb8a4d33015706be4958a 24-Feb-2017 Chen Xu <fionaxu@google.com> Merge "move ACTION_CARRIER_SETUP intent to public api"
912e80d3450943ac2bbca03f33c31c042799a0a1 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Require valid authorities for Uri notifications.

Content changed notifications are really only valid for content://
Uris, which are really only valid when we have a valid ContentProvider
backing them. This has been implicit for a long time, but we actually
need to start enforcing it based on target API.

We also now tell developers about why their notification requests
are being denied, instead of silently logging.

Test: builds, boots, common operations work
Bug: 34049049
Change-Id: Ie8ab8d8674cff13e3e9269ffddc4ad998cb848c4
ontentResolver.java
ContentService.aidl
c6fe23df527afbe5841a251796e720ee0cd777c4 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Check EXTRA_INTENT as part of leaving process.

We're checking all the other Intent objects, but we forgot this one.

Test: builds, boots
Bug: 34072700
Change-Id: I4f328950f3122258e0bdea7e87f78d7d0afdedbb
ntent.java
8c61e39e042c31dd21567897c834c7c45fe7181b 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Block new installs into ASEC containers.

ASEC containers have been deprecated since MNC, which is when we
introduced the "adoptable storage" feature. Adoptable storage is a
much better user experience, since we move both the APK and private
app data together as a single unit, making it much easier to explain
to users.

Test: builds, boots
Bug: 32913676
Change-Id: I97385d081a50a79fc005d4e23e09999f9ae6cfc1
m/PackageManager.java
08880f2ffad955e6dbc2b010509a5df9d81be06a 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Delete some more @removed APIs."
4669098625e52aed94d9f4f6f481dc865bfd0850 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Delete some more @removed APIs.

Test: builds, boots
Bug: 25434584
Change-Id: I34d5a67c3c96ee0fbe2f2b8ef1327348a8bef04f
m/ContainerEncryptionParams.aidl
m/IPackageManager.aidl
m/ManifestDigest.aidl
9584868f8824e41f010590b4c64654a6de1f5357 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add new internal resolve method"
adfe7009f2fe666237cfbcb5d32b2d353d9183e2 18-Feb-2017 fionaxu <fionaxu@google.com> move ACTION_CARRIER_SETUP intent to public api

As per CDD: The "android.*" namespace for intent constants is reserved for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.)
ACTION_CARRIER_SETUP intent is generally useful for carrier privileged
apps which is unbundled carrier apps, thus move to public APIs

Bug: 33679956
Test: Manual
Change-Id: Ie2b5d072406513f04676210d08c43d91623c3cd2
ntent.java
8a362bb9a5bb3dd77f4b514dbc7b67024adeced4 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix mStringBlocks race in the AssetManager"
bd9e74cae0f3de1039c9ddcee3caa0849b604c7c 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "OMS: integrate OverlayManagerService into framework"
4d1de7da79010be3e1f0eb85aa50b6002a8241fd 23-Feb-2017 Todd Kennedy <toddke@google.com> Add new internal resolve method

Instant apps are unique in that any application can start them
with a VIEW/BROWSABLE while only very few apps can see an
instant app using queryIntentActivites, etc... In order to
support this dichotomy, we need an internal hook to resolution
for activity start.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Bug: 25119046
Change-Id: If6974c09c733ff0417ef72cabb9d9e9aca86c37c
m/PackageManagerInternal.java
339dc75d46035f711d8bfee6b0425975c020f311 24-Feb-2017 Jiaquan He <hejq@google.com> Merge "Fix ColorStateList bug."
22723ffabaf37a23c39870f4ffc4794c76b3a755 10-Aug-2016 Johan Redestig <johan.redestig@sonymobile.com> Fix mStringBlocks race in the AssetManager

There were a few places where access to the mStringBlocks were
not protected.

The crashes seen where similar to:

java.lang.NullPointerException: Attempt to invoke virtual method \
'java.lang.CharSequence android.content.res.StringBlock.get(int)' on a null object reference
at android.content.res.AssetManager.getResourceValue(AssetManager.java:222)
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:188)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2110)
at android.content.res.Resources.getLayout(Resources.java:1111)

java.lang.NullPointerException: Attempt to invoke virtual method \
'java.lang.CharSequence android.content.res.StringBlock.get(int)' on a null object reference
at android.content.res.AssetManager.getPooledStringForCookie(AssetManager.java:312)
at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1212)
at android.content.res.TypedArray.getValueAt(TypedArray.java:1198)
at android.content.res.TypedArray.getColor(TypedArray.java:446)

What happened was that thread 1 was creating a new mStringBlocks in
makeStringBlocks while thread 2 was accessing mStringBlocks. The
makeStringBlocks starts off by overwriting mStringBlocks with a new
empty array and when thread 2 accessed its content NPE happened.

Bug: 30802713
Test: None (just added synchronization to help prevent races)
Change-Id: I810da26b161a6528b0dd241048dde5b239089244
es/AssetManager.java
2e0d0f311100d8e0bb40d7d60b8498237f011f0c 02-Jun-2016 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> OMS: integrate OverlayManagerService into framework

Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Change-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a
Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
m/PackageParser.java
m/PackageUserState.java
e991022423c2e5b4386553af7ef3b54da7c54be1 22-Feb-2017 Todd Kennedy <toddke@google.com> Load splits on-demand

A split may be declared in an application's base manifest, but,
defined in a feature split. When resolving such a component,
invoke the installer to download and install the necessary split(s)

At the moment, this only works for instant apps. However, the
implementation is generic and could be applied to any application.

Bug: 25119046
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: I6598abb34becfd049fc03199813226736e5057b1
m/AuxiliaryResolveInfo.java
m/EphemeralRequest.java
m/EphemeralResponse.java
m/PackageManagerInternal.java
m/ResolveInfo.java
32757292030117e3abda2bb2a3eb349f646c9fa8 22-Feb-2017 Makoto Onuki <omakoto@google.com> Allow querying providers with a specific metadata.

CP2 will need it to scan GAL providers faster.

Test: Manual test with CP2 under development
Bug: 35388445
Change-Id: I1202420078b1bbe48f6eb4bb9e3f705c71df9c0c
m/IPackageManager.aidl
m/PackageManager.java
df0824ad4cd31a3e96653fe82ce969b08cd00be2 23-Feb-2017 Guang Zhu <guangzhu@google.com> Merge "Revert "OMS: integrate OverlayManagerService into framework""
95459806920dec34abb3214ab6e1a9b9213a2a61 23-Feb-2017 Guang Zhu <guangzhu@google.com> Revert "OMS: integrate OverlayManagerService into framework"

Bug: 31052947
Bug: 35697944

This reverts commit 21a3d1ad686dee97b9cf0ed80389ee2ab0d48013.

Change-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3
m/PackageParser.java
m/PackageUserState.java
0f09817859b19054aee3feded1dbf9757a5ec131 23-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "OMS: integrate OverlayManagerService into framework"
24dfce2fbe90967b00f6fa20b544537265982eba 22-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Mark some system intents as SystemApi"
cbabb8dddc90f814a900ff40bef71a25501c86c5 18-Feb-2017 Amith Yamasani <yamasani@google.com> Mark some system intents as SystemApi

These intents are handled by some system apps and use the
android.* namespace. So mark them as SystemApi for CTS verification
purposes.

Fixes some of the CTS signature tests.

Change-Id: I18664b3e92bb24a5cf96d89cf47d6abb88b13220
Fixes: 35253923
Test: cts-tradefed run cts-dev -m CtsSignatureTestCases
ntent.java
766b9b255bd9db10f22ddf81c8168085224c7e59 18-Feb-2017 Jiaquan He <hejq@google.com> Fix ColorStateList bug.

A ColorStateList should be stateful when it has at least one
non-wildcard state.

Test: Manually
Bug: 35487255
Change-Id: Id94b6a8d172e22a522f73fcb378e342656f95e39
es/ColorStateList.java
21a3d1ad686dee97b9cf0ed80389ee2ab0d48013 02-Jun-2016 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> OMS: integrate OverlayManagerService into framework

Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
Change-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353
m/PackageParser.java
m/PackageUserState.java
07ac1442b5b62c4cdeb4a5e93b4c38c6d9241894 10-Feb-2017 Narayan Kamath <narayan@google.com> PackageParser: String interning fixes.

Stop interning string metadata values as well as class names as it's
unlikely there will be much duplication among these.

Also make sure we intern the same set of strings when parsing packages
from their cache entries as we do when parsing them from the package
itself.

This change also improves error reporting for the unit-test and fixes
a failure that was introduced by a previous change (the addition of
static libraries).

Test: PackageParserTest
Bug: 34726698

Change-Id: Ia0d0342b91b3294bd5569756255918d1dc886e05
m/PackageParser.java
d89cf81f80f17c58abf564728d0e10c4754ab600 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Change MaskableIconDrawable to AdaptiveIconDrawable"
168ec3806076117c5271c28108ac3db448e1cd08 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Append entries for real"
96b98321635dac0334f50f9711313ceb981f8f1e 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "API for accessing preloaded files cache"
8c9a6b0089ff712df4e06454ade1443b77a4a9f4 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Revert "Per user setting for instant app"""
be8835e86bc39570994af32ead381875e3ee54d5 17-Feb-2017 Hyunyoung Song <hyunyoungs@google.com> Change MaskableIconDrawable to AdaptiveIconDrawable

Test: $ make -j31 dist

Bug: 35399620
Change-Id: I5e54f75b3df21ffe546e0e54dbd7ea29499d1789
m/LauncherApps.java
61221290f5d2c1dd1ac223e049bf6d6c3a9d2838 03-Sep-2016 Fyodor Kupolov <fkupolov@google.com> API for accessing preloaded files cache

Added @SystemAPI method Context.getPreloadsFileCache.

Bug: 31008665
Test: manual
Change-Id: Id61ab5e1b78d8bfbd40f61985406a8de4082b30f
ontext.java
ontextWrapper.java
8a10ef58d358851482d60dc3eec176654bec4ee2 17-Feb-2017 Svet Ganov <svetoslavganov@google.com> Append entries for real

Test: manual

bug:35447008

Change-Id: I8ddbd39395f5064f7797562c3a423ba555c0c933
m/PackageParser.java
b047b8bd7e363081e91ba6cbc8d09cd355624584 09-Feb-2017 Andrii Kulian <akulian@google.com> Report move to display for activities that handle config changes

When activity that is moved between displays handles all configuration
changes, it won't be restarted. This CL adds a callback to the client
to notify it about display change. Usually it will be followed by
onConfigurationChanged, except when configuration didn't actually change.
When activity is recreated, it won't receive onMovedToDisplay.

Bug: 34862802
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testOnMovedToDisplayCallback
Change-Id: I9a9501cab788623ada15a31efb53e4b2378639fe
ontext.java
ontextWrapper.java
10014782425a17ec17111c2ffdc5d6039027e377 16-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Do not return cryptic strings from ClipData.Item.coerceToText"
fc8139d08688f0c558650015a653b9fe704ce43b 16-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Handle SecurityException in ClipData.Item.coerceToText"
ab9b002400ba1e1bf2a92e860c24ef47d904bbb9 16-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Clean up DialogInterface lint warnings, docs, ws"
be0b8896d1bc385d4c8fb54c21929745935dcbea 15-Feb-2017 Todd Kennedy <toddke@google.com> Revert "Revert "Per user setting for instant app""

This reverts commit be9ffa15af9e1906e9ffb505768328d62d4a3793.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Ib21321cf157a79890de487060a093840f7182047
ntentFilter.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
m/SELinuxUtil.java
17c50da4be8e754db10b0e2c8714c0d305f031a8 16-Feb-2017 Tomasz Mikolajewski <mtomasz@google.com> Change EXTRA_QUICK_VIEW_PLAIN to EXTRA_QUICK_VIEW_ADVANCED.

Test: Not testable, as the behavior depends on the quick viewer.
Bug: 32161075
Change-Id: I46ec36fdce481930096f9ae8ee3c54df792b0233
ntent.java
4c64c0d99ee4340983d17f971f3dfca0c1cbf234 16-Feb-2017 Hyunyoung Song <hyunyoungs@google.com> Merge "ShortcutManager should support MaskableBitmap Icon type"
f281e7afae14f61e1d031f55cc80c59d0b39b528 13-Feb-2017 Hyunyoung Song <hyunyoungs@google.com> ShortcutManager should support MaskableBitmap Icon type

Note: https://ag/1872683/ is where initial code review happened.

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases -t 'android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest'
Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t 'com.android.cts.devicepolicy.LauncherAppsProfileTest'


b/34196580

Change-Id: I3b983c29387e474c7a8c687a524105ceaceac81e
m/LauncherApps.java
m/ShortcutInfo.java
626ffb455650e334fff3fe407a31aa0fa437fdf2 15-Feb-2017 Guang Zhu <guangzhu@google.com> Merge "Revert "Per user setting for instant app""
be9ffa15af9e1906e9ffb505768328d62d4a3793 15-Feb-2017 Guang Zhu <guangzhu@google.com> Revert "Per user setting for instant app"

Bug: 35390781

This reverts commit 2f5811dcfd840e149851a9333e27ef3cdddf7a46.

Change-Id: Ibb1c8dacbdc6908fc7fa2bc5dca664f2455162bf
ntentFilter.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
m/SELinuxUtil.java
9a044dad009b52f079dc780617316e973ce3f212 15-Feb-2017 Philip P. Moltmann <moltmann@google.com> Merge changes from topic 'revert-anr-revert'

* changes:
Process queuedWork on main thread and add logging
Revert accidential merge 492a058d58e991445996cb8cc8dcb24494ac20c5
bf92b812dbe1c762ff2381ca4ba14290a5ece8b8 15-Feb-2017 Todd Kennedy <toddke@google.com> Merge "Per user setting for instant app"
c3dfa8197347f2b932bc2fdd5682e0f0d058fe13 15-Feb-2017 Esteban Talavera <etalavera@google.com> Merge "Revert "Use context's userId in ContentResolver class.""
da2006a0bd169f8ac22d3c626eeb5616c907fed3 15-Feb-2017 Esteban Talavera <etalavera@google.com> Revert "Use context's userId in ContentResolver class."

This reverts commit 2b44387f5d706e477418795c2d57d0909dc7ed22.

Bug: 35374151
Change-Id: Ifdde7a3b4e9141d7e283478aff49971c6a5dcaa2
ontentResolver.java
82b902204f059dcf7c8b073394b08c1925dacef4 14-Feb-2017 Philip P. Moltmann <moltmann@google.com> Revert accidential merge 492a058d58e991445996cb8cc8dcb24494ac20c5

Test: Clean revert
Change-Id: I61d339bb85936e1d50742be1e4c6dab781f3a4e7
roadcastReceiver.java
7ad2067f983ddda2a83453a5a908c6dc7140483c 15-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add API to track package changes"
2f5811dcfd840e149851a9333e27ef3cdddf7a46 30-Jan-2017 Todd Kennedy <toddke@google.com> Per user setting for instant app

The same application can run as either an instant app or an installed
app. Store this setting per-user instead of based upon the install
location.

Bug: 25119046
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Iff565bb1ac10d631499f0bd0f69b401cb073c10e
ntentFilter.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
m/SELinuxUtil.java
9106c64bf3ca60d0b867fa1f2d78d3b19c9e4178 08-Feb-2017 Todd Kennedy <toddke@google.com> Add API to track package changes

After any package install, removal or update, save the changed
package and update a global sequence number. At any point, apps
can query for the packages changed since a particular sequence
number.

If a package is changed multiple times, it is only included once
in the change list.

Bug: 33865505
Test: Create sample app to query for changes and see which packages are changed after performing certain operations
Change-Id: Ia4646035362b16a97110e05f3f909ce385b48428
m/ChangedPackages.aidl
m/ChangedPackages.java
m/IPackageManager.aidl
m/PackageManager.java
e5b514cbc3e8eaca57116f092ecb48d731611877 14-Feb-2017 Sudheer Shanka <sudheersai@google.com> Merge "Use context's userId in ContentResolver class."
492a058d58e991445996cb8cc8dcb24494ac20c5 14-Feb-2017 Philip P. Moltmann <moltmann@google.com> resolve merge conflicts of d043a840f7f12ce2c54e7d4564a6ac9cfa24dd17 to nyc-mr2-dev-plus-aosp
am: b02f8eb241

Change-Id: I1307ea308423c0fd34564d788ab64c023a5be2c5
b02f8eb241579163688daaa1d959cd4a49fe7c85 14-Feb-2017 Philip P. Moltmann <moltmann@google.com> resolve merge conflicts of d043a840f7f12ce2c54e7d4564a6ac9cfa24dd17 to nyc-mr2-dev-plus-aosp

Test: Clean merge
Change-Id: Ib2420ff793fdf22fd80cfaed7848ff6b8be8d382
d043a840f7f12ce2c54e7d4564a6ac9cfa24dd17 14-Feb-2017 Philip P. Moltmann <moltmann@google.com> Merge "[DO NOT MERGE] Revert "[DO NOT MERGE] Delay SharedPreferences.apply() by 50 ms"" into nyc-mr2-dev
02761acc674ae9b13d5bbda493ac794ecc4c1c6e 14-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Declarative downloadable fonts"
4b5a4d221f377686a730182a3bffb8c6f190e313 27-Jan-2017 Clara Bayarri <clarabayarri@google.com> Declarative downloadable fonts

Implement support for downloadable font requests in xml. Given the
xml fonts feature in O, this adds support to not only declare
local font files as font resources, but also Downloadable fonts
from a fonts provider.

A provider returns a font family (of one or more files) given a
query, so the new attributes are added to the font-family tag.

Additionally, add support to pre-declare downloadable font resources
in the Android Manifest. These will then be fetched at app startup
time so they are available to use from the Typeface cache asap.

When retrieving downloadable fonts via resources, the cache is
checked to see if the font is already there and is used, otherwise
a request is sent to the provider and the default font is returned
as we need a result synchronously.

To do this, the developer declares an additional fonts xml resource
file with the list of fonts to preload and links it in the manifest
with a meta-data tag.

E.g.:

res/font/mydownloadedfont.xml

<font-family xmlns:android="http://schemas.android.com/apk/res/android"
android:fontProviderAuthority="com.example.test.fontprovider"
android:fontProviderQuery="myrequestedfont">
</font-family>

res/font/preloaded_fonts.xml

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font android:font="@font/mydownloadedfont" />
</font-family>

and in the AndroidManifest.xml

<meta-data android:name="preloaded_fonts"
android:resource="@font/preloaded_fonts" />

Bug: 34660500, 34658116
Test: WIP, need to add more
Change-Id: I1d92555e115e241bf23b59e6f5c6cca6c7361de7
m/ApplicationInfo.java
es/FontResourcesParser.java
es/Resources.java
es/ResourcesImpl.java
4dba3cdf89c43d5c7f72eb57100d2f5b405bdad3 14-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Refactor auto-fill"
782043caf81055aa1c331e9cc15b24a10e1bf17a 11-Feb-2017 Svet Ganov <svetoslavganov@google.com> Refactor auto-fill

* Fix a layering issue where auto-fill manager which is in view
depended on activity which is in app

* Moved auto-fill classes to view or service based on their
purpose and removed dependecy on the classes in view to the
classes in service

* Push state to local auto-fill manager whether auto-fill is
enabled to avoid making IPC for every focus transition if
the user did not enable the feature

* Remove unnecessary offload to messages when handling calls
to auto-fill manager service as these are made over a oneway
interface and in general they do almost no work and typically
we do these on the binder thread

* Removed id from data set and fill response as the provider
can embed everything it needs to id them in the auth pending
intent

* Enforce the auth UI to be only an activity as this will work
with multi-window, recents, and back and also does not require
draw on top of other app special permission

* Authentication also no longer requires passing a remotable
callback to the auth activity but the activity handles the
request as if called for a result

* Handling stopping of a user to clean up in-memory state as
well as handling when a user gets unlocked as a provider may
be non-direct boot aware

* User the correct context when creating an auto-fill manager

* Move the receiver that listens for requests to hide system
windows to the manager service as the UI is a singleton and
no need every per-user state to register its own

* Removed extras from dataset as the only case a provider needs
to associate state with a dataset is for auth and the provider
can embed this data in the auth pending intent

Test: manual and CTS

Change-Id: I4bc54c13cf779d7f6fdb3ab894637f9fac73f603
ntent.java
755d78dbd9d61d1746b638c6fc952d2043c6561b 13-Feb-2017 Philip P. Moltmann <moltmann@google.com> [DO NOT MERGE] Revert "[DO NOT MERGE] Delay SharedPreferences.apply() by 50 ms"

This reverts commit 2fc44947dd4f45a23c56985d4c12f01332027a9f.

Bug: 30662828
Change-Id: Ia22343c19e155555dff3b0cb58f7b58df0ce6301
roadcastReceiver.java
0a2b187309aea30c7f4f69dc91feb58604b0995c 13-Feb-2017 Makoto Onuki <omakoto@google.com> Merge "Do not allow work profile to see main other profiles"
b1e7776e2ca348ad734fdddc68d9bda6eb17c5e0 13-Feb-2017 Dianne Hackborn <hackbod@google.com> Fix issue #35309312: Background start not allowed: service...

...Intent { flg=0x100 cmp=com.android.systemui/.SystemUIService }
to com.android.systemui/.SystemUIService from pid=28245 uid=1000 pkg=android

Rework the persistent app check to just directly look at the package
manager (but as efficiently as possible). My idea for trying to keep
this in the UidRecord was stupid. :p

Test: manually tested it boots
Change-Id: I5a88717a27fa3529048d37a853518a3ec04055db
m/PackageManagerInternal.java
de3c16c8057b61bb3cc2e0c3d5603730f5841c51 26-Jan-2017 Makoto Onuki <omakoto@google.com> Do not allow work profile to see main other profiles

It won't throw SecurityException, but it'll pretend there's
no apps on the other profile.

- Also log an error about it, in the client side process.

- Also still send WTF() about the reverse access.

Bug: 34650921
Bug: 34340531

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases -t 'android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest'
Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t 'com.android.cts.devicepolicy.LauncherAppsProfileTest'
Change-Id: I6164014685009db3f34a176a3f12c517766b2b49
m/LauncherApps.java
22dac1c8df4ec212e8195a69d2de15d313d724fb 13-Feb-2017 Yohei Yukawa <yukawa@google.com> Introduce @SoftInputModeFlags annotation

Doing this allows us to annotate integer values that should corresponds
to WindowManager.LayoutParams#softInputMode.

Test: There should be no behavior change. RetentionPolicy.SOURCE
annotation should change nothing in production code.
Test: checkbuild
Bug: 32784563
Bug: 35079353
Change-Id: I96300b090edce327d0515c740183abe91ded6bac
m/ActivityInfo.java
e714927b199a5454c8e944dbb04cb422b58e91d7 10-Feb-2017 Narayan Kamath <narayan@google.com> Partially revert commit ff5659fbc3026e621bdd926e96096e2957cfd42e.

ff5659fbc was intended to be a clean revert of 660cf30e2100d8ed401
that fixed a DOA issue. However, the author incorrectly rebased that
revert and picked up pieces of a separate change as well. This reverts
those sections of the change so that they can be submitted with the
correct attribution and with proper review.

Bug: 34415265
Bug: 34914977
Test: make

Change-Id: I977c3ba10bb05f04ac8cfd95d17954c454c83340
m/PackageParser.java
797772b1623bba0313d6d716f9173fb8efddb0c2 09-Feb-2017 Dianne Hackborn <hackbod@google.com> Add command line options for some new intent flags.

Forgot to add these when the flags were added.

Test: manual
Change-Id: If71ea756ca85946155d7a6848454f61d137138c0
ntent.java
faf365dd5e3aa43f614b3042227405c754f70fbf 08-Feb-2017 Shreyas Basarge <snb@google.com> Fix requiresCharging false value ignored issue
am: e33c3c81af

Change-Id: Ia96915b00e274ed6c7c8fdaea46ee5a0ba83bdcb
5edceec2cc61b148e95dbbcf956c3d1936f8d7b2 07-Feb-2017 Clara Bayarri <clarabayarri@google.com> Merge "Cache Downloaded Fonts in Typeface"
6ed45d8cd33c297e608aba94fc1f61dace7a7cca 22-Jan-2017 Eugene Susla <eugenesusla@google.com> CompanionDeviceManager

This introduces an API for apps that support companion devices to provide a
more streamlined flow for pairing and setting up the device

Bug: 30932767
Test: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),
and go through the flow. Ensure filtering works, and device is returned to
the calling app. Ensure the calling app can pair to the selected device.
Change-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a
ontext.java
e33c3c81af36c6a92f164b6d4fd47fc9db8aded0 06-Feb-2017 Shreyas Basarge <snb@google.com> Fix requiresCharging false value ignored issue

If a SyncRequest builder is used to create a sync
request and setRequiresCharging(bool) is used,
the sync request requires charging irrespective of
the boolean value provided. This cl fixes the issue.

Bug: 35027396

Test: Tested manually by looking for the charging bit in jobscheduler
dumpsys.

Change-Id: I8f642597a64b8964665f41f5ce9ca71529634069
(cherry picked from commit 3a147230a4813ab8438699e9d997e922ad72f368)
yncRequest.java
0497eecf4abddf3c95a6eaa6311d01a30c1fdf07 06-Feb-2017 Shreyas Basarge <snb@google.com> Merge "Fix requiresCharging false value ignored issue"
ad2409a26c8356b6cda7c726b715c3a69578444b 06-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add Vulkan compute level system feature"
3a147230a4813ab8438699e9d997e922ad72f368 06-Feb-2017 Shreyas Basarge <snb@google.com> Fix requiresCharging false value ignored issue

If a SyncRequest builder is used to create a sync
request and setRequiresCharging(bool) is used,
the sync request requires charging irrespective of
the boolean value provided. This cl fixes the issue.

Bug: 35027396

Test: Tested manually by looking for the charging bit in jobscheduler
dumpsys.

Change-Id: I8f642597a64b8964665f41f5ce9ca71529634069
yncRequest.java
1cd7e93195815b5260a90228b4fca4ec9eb1e8ab 06-Feb-2017 Jesse Hall <jessehall@google.com> Add Vulkan compute level system feature

The names of specific Vulkan API features can't be documented yet,
because they won't be ratified by Khronos before the documentation
becomes public in a developer preview.

Bug: 34745152
Test: android.graphics.cts.VulkanFeaturesTest
Change-Id: I9af673bcb5b0c74bde72ab7a579573894170a55d
m/PackageManager.java
b12397e57e79c5dd9e8b2cb3839f5cd30b5d515f 27-Jan-2017 Clara Bayarri <clarabayarri@google.com> Cache Downloaded Fonts in Typeface

If the requested Typeface is already loaded into memory, return
from the cache.

Test: none, optimization
Change-Id: I32422c47c68502ba83b7d976f6e05f70dda5daed
es/ResourcesImpl.java
85a05cd9b5945c42f46ce1bcacb2d1e0aa8c7a44 06-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Refactoring of auto fill - lifecycle, auth, improvements"
0f4928f1f73407485d6d94beda1dba1a2360ebbf 03-Feb-2017 Svet Ganov <svetoslavganov@google.com> Refactoring of auto fill - lifecycle, auth, improvements

1. Move management of the remote fill service in a dedicated
class that abstracts away the async and ephemeral nature
of the binding.

2. Update auth to move fingerprint out of the platform and
allow response and dataset auth.

3. Cleaned up the fill and save callback classes.

4. The UI is now shared among all sessions and cleaned up.

5. Reshuffled the remote callbacks to have cleaner separation.

6. Cleaned up and tightened the reponse and dataset classes.

7. Added API to support communicationn with intent based auth.

Test: CTS + manually

bug:31001899

Change-Id: Idc924a01d1aea82807e0397ff7293d2b8470d4d6
ntent.java
56345f4bfef7c0807b777a1da31160e0ab5d2aa6 26-Jan-2017 Zak Cohen <zakcohen@google.com> Introduces VrManager as a system service.

Provides access to persistent VR mode as used by VR viewer when a device
is believed to be inside a viewer.

Bug: 34736524
Test: Built, run using build of vr services that enables mode.
Change-Id: I6ff392f09adb8e4bd522dacbd064777bba836282
ontext.java
f6f095a9c1da78d6c6267d14ea49ddb444396907 04-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Removed android.R.attr#onTopLauncher"
340417356d92d0db71d0692344e66886ca795dfd 01-Feb-2017 Dianne Hackborn <hackbod@google.com> Implement issue #30977956: Enable Instrumentation tests for multi-process apps

New android:targetProcess attribute on <instrumentation> allows you to
specify the processes the instrumentation will run in.

This reworks how instrumentation is run in the activity manager to better
formalize its state and semantics, allowing us to keep track of it across
multiple processes. This also clearly defines what happens when multiple
instrumentations are running at the same time, which is useful for writing
CTS tests that test the instrumentation APIs themselves.

Adds a couple new APIs to Instrumentation that helps with the new
situation where instrumentation can run concurrently in multiple processes.

Test: new CTS tests added (textXxxProcessInstrumentation in
ActivityManagerTest.java in cts/tests/app/src)

Change-Id: I2811e6c75bc98d4856045b2f0a45fb24af5d366f
m/InstrumentationInfo.java
m/PackageParser.java
069bbd382898d3330d284912b3a472495045c363 03-Feb-2017 Wale Ogunwale <ogunwale@google.com> Removed android.R.attr#onTopLauncher

The product that the feature was intended for never launched, so
removing the complexity from the code base.

Test: builds
Change-Id: I75e60ee2da46f6012f03a6077f77bc6b9acecad5
m/ActivityInfo.java
m/PackageParser.java
2b44387f5d706e477418795c2d57d0909dc7ed22 04-Feb-2017 Sudheer Shanka <sudheersai@google.com> Use context's userId in ContentResolver class.

When registering and notifying observers, we should use the user in the
context as opposed to current user.

Fixes: 32955100
Test: runtest -x core/tests/coretests/src/android/content/CrossUserContentResolverTest.java
Change-Id: Idc169d6cc1ec0cea40a736b87c12d4609f1de9c7
ontentResolver.java
a3843015a4151e944f50c54db3e76def2a933495 02-Feb-2017 Alan Viverette <alanv@google.com> Clean up DialogInterface lint warnings, docs, ws

Change-Id: I7a40bf87373e755092bbcf9a38fef35bf745aa12
Test: no functional changes
ialogInterface.java
6ba95dab4210cd7ce6ee85393fd3c8595faed8c4 03-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix bugs in FontResourcesParser and add coretests"
416a36a83b85dac2ff8b32ae0de8e75b8fc58bc4 02-Feb-2017 Philip P. Moltmann <moltmann@google.com> [DO NOT MERGE] Delay SharedPreferences.apply() by 50 ms
am: 2fc44947dd

Change-Id: Ie0bb1c0c23928318cbaf3dc22ca0aa6761bbfa75
aea3ec67a251d8f68c7b484f2638dc283e3d578f 02-Feb-2017 Chad Brubaker <cbrubaker@google.com> Merge "Allow ephemeral apps to reach any CATEGORY_BROWSABLE"
9b161fbdbc198d0162c02e28c1c5573cc1d66215 02-Feb-2017 Clara Bayarri <clarabayarri@google.com> Fix bugs in FontResourcesParser and add coretests

Bug: 34920360
Test: runtest --path frameworks/base/core/tests/coretests/src/android/content/res/FontResourcesParserTest.java
Change-Id: I41da558957d25a6f7ee62a4ed9fecf470b74f1d0
es/FontResourcesParser.java
ff5659fbc3026e621bdd926e96096e2957cfd42e 02-Feb-2017 Narayan Kamath <narayan@google.com> Revert "Call ActivityCallbacks after corresponding activity methods"

This reverts commit 660cf30e2100d8ed40198c95f93b61e5d1cdb10c.

bug: 34415265
bug: 34914977
Test: chrome launches

Change-Id: I170365fd47313bafb0d722e6d55ee119336137c4
m/PackageParser.java
813ef268ac3ac7b05af6b8d8584a0266c3a047ba 02-Feb-2017 Tomasz Mikolajewski <mtomasz@google.com> Merge "Add plain mode for the quick viewer."
867addf39324985cac3f06cfd12808ab891d1208 01-Feb-2017 Tomasz Mikolajewski <mtomasz@google.com> Add plain mode for the quick viewer.

When EXTRA_QUICK_VIEW_PLAIN is passed, then plain UI should be shown.
This is just a hint for third party apps, whic may ignore it.

Test: Not testable, as it's just a hint.
Bug: 32161075
Change-Id: Ie244d28d552f6c654be93a5749ac164d2a77d25f
ntent.java
e3482c2601fd025002377d47389be97bbc0c892d 01-Feb-2017 Brad Ebinger <breadley@google.com> Merge "Adds @hide permission granting API for ImsServices" am: 390ec27f9d am: 6734275c2f am: fa1dca0ad6
am: 3aaf673c60

Change-Id: I6a6a2d136f0f31bbac984e4ba18f9f6b90808705
3aaf673c60377fdff72fe1ab17099083f5fe9622 01-Feb-2017 Brad Ebinger <breadley@google.com> Merge "Adds @hide permission granting API for ImsServices" am: 390ec27f9d am: 6734275c2f
am: fa1dca0ad6

Change-Id: Id2875b5b60401405e31e76eb07968798144df700
fa1dca0ad61af079c7653ba80d847a5b51df343c 01-Feb-2017 Brad Ebinger <breadley@google.com> Merge "Adds @hide permission granting API for ImsServices" am: 390ec27f9d
am: 6734275c2f

Change-Id: I6d502db3362aafcfed426b6598be0bd39dd38890
495d891198ab32b2584783ee5e859bf59a8792d3 01-Feb-2017 vinodkrishnan <vinodkrishnan@google.com> Revert "Revert "Remove getAppsUsingPermisisons""

This reverts commit a69c99fbc73fd092ba42b797d691f456dc1df1ef.

Change-Id: I524a56ae3cd0d1a9dbd0e54fd7e57f09ed0b87f9
m/permission/IRuntimePermissionPresenter.aidl
m/permission/RuntimePermissionPresenter.java
de17a63da6b8d75874e7123ee91d94c7ebfb00cc 01-Feb-2017 Andreas Huber <andih@google.com> Merge "Revert "Remove getAppsUsingPermisisons""
a69c99fbc73fd092ba42b797d691f456dc1df1ef 01-Feb-2017 vinodkrishnan <vinodkrishnan@google.com> Revert "Remove getAppsUsingPermisisons"

This reverts commit dfcf4fc29a5cc61fda041ffbef1c786550c9521a.

Change-Id: Id08db7999158c76dc39f0908722ea8f5a6b21257
m/permission/IRuntimePermissionPresenter.aidl
m/permission/RuntimePermissionPresenter.java
9cfde54af04c58c30af4b2f18ff34c11a2f60bbf 31-Jan-2017 vinodkrishnan <vinodkrishnan@google.com> Merge "Remove getAppsUsingPermisisons"
a941cbc59a0cee5bb2b47785c7f05af84e8b6268 31-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add a home intent category for VR headset UI mode."
c869ebff63439ec3e51fdcd4d8b157cdcc8014c1 31-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add instant cookie APIs"
541af7f69698d9969331cdcbf8e3390618994f2e 31-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add new api ClipDescription.getTimestamp."
2fc44947dd4f45a23c56985d4c12f01332027a9f 13-Dec-2016 Philip P. Moltmann <moltmann@google.com> [DO NOT MERGE] Delay SharedPreferences.apply() by 50 ms

... so that multiple applies can be combined into a single write.

Do do this I replaces the executor in the QueuedWork by a more Android-y
handler.

Test: Ran shared preferences CTS tests. Looked at log and saw a lot of
skipped writes

Bug: 33385963
Bug: 30662828

Change-Id: I8f33df717be7091532930ccf6ca8c48940e4edd4
(cherry picked from commit 3349644872d9b769f4e2d0ec1b91d368a552ff8d)
roadcastReceiver.java
096d304ae3d85c1bfcda1a1d9cd4eb13d0815500 31-Jan-2017 Svetoslav Ganov <svetoslavganov@google.com> Add instant cookie APIs

This change adds APIs for instant apps to store cookie data
that is presisted across instant installs and across the
upgrade from an instant to a standard app. Standard apps
can use the cookie APIs but when they are uninstalled the
cookie is also deleted. The cookies are kept longer than
the instant apps as they are much smaller - 16KB by default.
We can change the cookie size via a system setting i.e.
after we ship we can increase size if needed.

We also add internal APIs to surface information about
installed and uninstalled instant apps which should be
used for showing them in the UI. For this puporse we store
the icon, permissions, and label of uninstalled apps. If
the app is re-installed we drop this meta-data but keep
the cookie around. If we have cookie data stored and the
signing cert of the app changes when it gets re-intalled
we wipe the cookie.

Test: CTS tests pass; hiddent APIs tested manually

Change-Id: If145c0440cc61a5303e2cbb70228d235d36037a5
m/ApplicationInfo.java
m/EphemeralApplicationInfo.aidl
m/EphemeralApplicationInfo.java
m/IPackageManager.aidl
m/InstantAppInfo.aidl
m/InstantAppInfo.java
m/PackageManager.java
m/PackageManagerInternal.java
m/PermissionInfo.java
09971befd7e5eb506eca65afd61bd9248b78c723 18-Jan-2017 Sudheer Shanka <sudheersai@google.com> Add new api ClipDescription.getTimestamp.

ClipDescription.getTimestamp can be used to know the time
at which the associated ClipData is copied to global clipboard.

Bug: 30873580
Test: cts-tradefed run singleCommand cts-dev --module CtsContentTestCases -t \
android.content.cts.ClipDescriptionTest
Change-Id: I9486ab3fe0696959d42f6b4c98e40f5becee3019
lipDescription.java
efdc6635695df115a1d5759b022cb7f9f7bdc45e 31-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Define targetSandboxVersion"
11e45075221680dcc25e3da1d3c32710e5a98603 25-Jan-2017 Todd Kennedy <toddke@google.com> Define targetSandboxVersion

The new attribute allows both ephemeral and non-ephemeral apps to
opt into a new, tighter security model.

Test: Manual; built app w/ targetSandboxVersion and verified the security domain
Change-Id: I8fcaf84e25f0519b438ba51302f79790e680e025
m/ApplicationInfo.java
m/PackageParser.java
f477979bf9b8ecbaa366f0b600b0f2f2030c21ab 24-Jan-2017 Brad Ebinger <breadley@google.com> Adds @hide permission granting API for ImsServices

Adds the @hide API to grant ImsServices default permissions
using the PackageManager and DefaultPermissionGrantPolicy APIs.

Test: Manual
Bug: 32460405
Change-Id: Ia143ede42623b4c2203261fc6e83624d73c478f1
m/IPackageManager.aidl
1ba6b5a076659a6aea48a2cf3df0f106fdff5887 30-Jan-2017 Calin Juravle <calin@google.com> Merge changes Ic07126bf,If3a4b77f,I8b011207,I18fde62a

* changes:
Save package dex usage info after secondary dex reconciliation
Compile secondary dex files during background dexopt job
Add a shell command to force the background dexopt job
A bit more refactoring in BackgroundDexOptService
dfcf4fc29a5cc61fda041ffbef1c786550c9521a 28-Dec-2016 Vinod Krishnan <vinodkrishnan@google.com> Remove getAppsUsingPermisisons

- This was meant to be used in Clockwork but it has been removd.

Bug: 33662137

Change-Id: I89b43c0ab47e3d8fe1f5f56fb9f82ffbb064baf1
m/permission/IRuntimePermissionPresenter.aidl
m/permission/RuntimePermissionPresenter.java
2b4f8731ca5d20bb686aacdd09bb2351eeebd337 30-Jan-2017 Calin Juravle <calin@google.com> Merge "[PM] Clean up logic for secondary dex oat files"
a0f2f77cdc24fb51f2c6906b6fc481c2c6d673c5 30-Jan-2017 Calin Juravle <calin@google.com> Merge "Compile secondary dex files in DexManager"
fe98ad919bebaf41191b7fdf0a1d841198d4f46a 30-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement .xml font resource support"
cb5f41ea11b1a6fcd0977a64ee146dde8f537076 26-Jan-2017 Calin Juravle <calin@google.com> Add a shell command to force the background dexopt job

Add 'bg-dexopt-job' command to 'adb shell cmd package' which will force
the background dexopt job to run the optimizations immediately.

Note that the command only runs the background optimizer logic. It may
overlap with the actual job but the job scheduler will not be able to
cancel it. It will also run even if the device is not in the idle
maintenance mode.

Test: adb shell cmd package bg-dexopt-job
Bug: 32871170
Change-Id: I8b0112074220b2e09baf13d842401ee1cf306a89
m/IPackageManager.aidl
1aa5f88e35734383e66ecd65e82e83d788e18ccb 25-Jan-2017 Calin Juravle <calin@google.com> [PM] Clean up logic for secondary dex oat files

Add logic in DexManager to reconcile secondary dex records with the
actual files on disk. If secondary dex files are moved or removed then
DexManager will remove the generated oat files during the call to
reconcileSecondaryOdex() and update its internal state.

Add 'adb shell cmd package reconcile-secondary-dex packageName' which
will force DexManager to sync its data with the actual secondary dex
files.

Test: devices bots
runtest -x .../PackageDexUsageTests.java
runtest -x .../DexManagerTests.java
adb shell cmd package reconcile-secondary-dex
com.android.google.gms (after artificially/temporarily renaming some
dex files)

Bug: 32871170

Change-Id: Id2d72dc89995f89cf1ddf79ae4e992afd3f3c127
m/IPackageManager.aidl
c22c30ed1c05c5c24185dc4d380d1c5026923d46 17-Jan-2017 Calin Juravle <calin@google.com> Compile secondary dex files in DexManager

Add logic for secondary dex compilation in DexManager. Also, extend the
`cmd package compile` command with '--secondary-dex' option which will
compile all used secondary dex files for the given package.

Test: flash & boot,
cmd package compile --secondary-dex -f -m speed
com.google.android.gms
Bug: 32871170

Change-Id: Ia2b95cb70d26c4ead5cb650047641b0881ca84ae
m/IPackageManager.aidl
e1f5e13c0fe8a436f53b402361e43728d31d8888 28-Jan-2017 Vladislav Kaznacheev <kaznacheev@google.com> Do not return cryptic strings from ClipData.Item.coerceToText

Currently, when ClipData contains an URI of "content", "file" or
"android.resource" scheme, and the URI cannot be opened
as a stream for some reason, then ClipData.Item.coerceToText
(or coerceToHtmlText) return the URI's textual representation.

This representation is not useful for a user at all.

Returning an empty string instead.

Bug: 28929820
Test: Drag a file from Files app to any text input, no URI should be inserted
Change-Id: I21a23b673ef145a008427e9177403b5b1a41b898
lipData.java
b143ff6b6c2d1614e5f5ff06aa2fe19d05cad490 28-Jan-2017 Vladislav Kaznacheev <kaznacheev@google.com> Handle SecurityException in ClipData.Item.coerceToText

Catch SecurityException and print a log warning.

The most likely reason for such SecurityException is
a drag and drop operation with a resource (such as a file)
for which the recipient app has no permissions.

Bug: 34716083
Test: Drag a file from Files app to Docs, Docs should not crash
Change-Id: Ib4ebbb01bd3ca87b221e15fac769368272ff4fc4
lipData.java
db6ca49dd000b7a23912391b38842762934fa3e2 26-Jan-2017 Zak Cohen <zakcohen@google.com> Add a home intent category for VR headset UI mode.

Bug: 30997244
Test: build only
Change-Id: Ibed6d24f5655ae7280c7de42cd5258b25d5af9d8
ntent.java
0ee455a8997c14ff0f8cd99f11c80e1e3c236de3 27-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Convert native changing config flags to Java flags"
ed00bfdfae5d5cbc9e13f4e8affdece48f4c5b7f 20-Jan-2017 Clara Bayarri <clarabayarri@google.com> Implement .xml font resource support

This change implements the loading and parsing
of xml type font resources, and makes sure it is
used properly by TextView styles.

Test: run cts -m CtsContentTestCases -t android.content.res.cts.ResourcesTest
run cts -m CtsWidgetTestCases -t android.widget.cts.TextViewTest#testFontResources*

Change-Id: I5a2930b3ba7dad67d9607e9036a5dde6bab0c5a4
es/FontResourcesParser.java
es/Resources.java
es/ResourcesImpl.java
es/TypedArray.java
7d670b4f738df436ba8025ee2ae360ce070c2a7f 27-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "OMS: introduce the OverlayManagerService"
7d0f5e8d401fce5bc7bda836d1dd89a31056cbcf 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on. am: 7b89a7b1f7 am: 7c230c6f3c
am: dd91db5515

Change-Id: I936449f717e3c2919622181c9068ec8a48b452ad
dd91db5515fa05235a2875244ad10ba742d11dff 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on. am: 7b89a7b1f7
am: 7c230c6f3c

Change-Id: I89c9a580a96d0f69ed30cad9ec2e4f9c215a403b
7c230c6f3c9f1ece465b83f3c03643b606f9d843 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on.
am: 7b89a7b1f7

Change-Id: I925b6de9f79850dcc816a73357d1d589eeac6333
90e9bbc814de0dbea317867a550680d5c3e201ad 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on.
am: 7b89a7b1f7

Change-Id: Ic7f4d30bd689bf5677600552030a3e696b16dfbb
7b89a7b1f7c208eaac19290b34c5f505a9fd5eba 27-Jan-2017 Paul Navin <paulnavin@google.com> Add hidden API for whether permission review mode is on.

BUG: 34240393
Change-Id: I68e55767a7da1d457a6cedd210aac9e339fb996c
m/PackageManager.java
416903e7c456bbba14776602819c0f0011b6c75d 27-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Unhide ApplicationInfo.volumeUuid."
eabc9e95768e7ac9acc3b32dc9ac2edf99c9e2c5 15-Dec-2015 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> OMS: introduce the OverlayManagerService

Add a new system service to manage Runtime Resource Overlays. This will
offload the PackageManagerService and allow administration of overlay
packages while affected packages continue to execute.

Overlays can be enabled or disabled during runtime. Running applications
will re-create their ResourcesImpl objects and restart their activities
via the usual activity life cycle.

The order in which a set of overlays is loaded may also be changed
during runtime. The underlying mechanics are the same as for when an
overlay is enabled or disabled.

When an overlay changes state, e.g. becomes enabled, the
OverlayManagerService will broadcast one of the new intents
android.intent.action.OVERLAY_ADDED, *_CHANGED, *_REMOVED or
*.OVERLAYS_REORDERED.

Clients that wish to read information about overlays for users other
than themselves are required to hold the
android.permission.INTERACT_ACROSS_USERS_FULL permission. This mirrors
the protection level of PackageManager.getPackageInfo.

Clients that wish to change the information are required to
hold the permission android.permission.CHANGE_OVERLAY_PACKAGES.

Each pair of overlay package and corresponding target package is
respresented by a new OverlayInfo class. This class mirrors the
existing PackageInfo class.

Overlay packages are handled per Android user. The data is persisted in
/data/system/overlays.xml.

Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
Change-Id: I15325e173193df3240b8dc0a58c852fd7a3d5916
ontext.java
ntent.java
m/IOverlayManager.aidl
m/OverlayInfo.aidl
m/OverlayInfo.java
m/PackageManagerInternal.java
6112860c5c0bc5ed49c3ecece6229a0db28ab80c 27-Jan-2017 Jeff Sharkey <jsharkey@android.com> Unhide ApplicationInfo.volumeUuid.

Apps need it to interact with the new StorageStatsManager APIs.

Test: builds, boots
Bug: 34723750
Change-Id: I274d5bd425cd401e10647959ba18f9956628d810
m/ApplicationInfo.java
33d9bc529e4969444aca821190f16b565a7726a9 26-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Merge "Adding AppWidgetManager.isRequestPinAppWidgetSupported"
9ad386b37c4c4ebe1176caa8eeab131387fc93ed 26-Jan-2017 Alan Viverette <alanv@google.com> Convert native changing config flags to Java flags

Also adds more annotations.

Bug: 33080269
Test: ResourcesTest#testChangingConfiguration
Change-Id: I08d438821b96e3d74da1c1c34009673c77caf27e
es/AssetManager.java
es/Resources.java
es/ResourcesImpl.java
6ee80f3a652358e8297102ea855105aea05bedf8 26-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Change configuration's color mode based on the display's color mode"
bcf3b70371a98878bcad088914a886df4217f555 26-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Adding an api for apps to check whether they can install apps"
0ce4b0e4c31a65864e0cda3c9d3fb6fe8a40f2ed 26-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9
am: 9b21265b2c

Change-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8
9b21265b2ce0f57796bffb241c008fff459d4b05 26-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs. am: 54de77470d am: ab978c035e
am: 28ba4722a9

Change-Id: I98177a8cf0a20677e140406bb7371474ca259e5b
28ba4722a9e77ce98de454ed2ac862e44f496632 26-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs. am: 54de77470d
am: ab978c035e

Change-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea
de2557f3696439f09ac7b3dfbd90c7b2ff2fe30d 26-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs. am: 54de77470d
am: ab978c035e

Change-Id: Ibec2b85708f9ff923156f4d867c9c2f71c75d41c
aef2513c7157a28236d097a81fe74d7ba6b710c9 24-Jan-2017 Suprabh Shukla <suprabh@google.com> Adding an api for apps to check whether they can install apps

Some apps may want to check whether they are trusted to install apps on
the device, so they can prompt the user to go to settings and mark them
as trusted before they do an intensive operation like downloading an
apk.

Test: cts-tradefed run cts -m CtsExternalSourcesTestCases

Bug: 31002700
Change-Id: Icd9d04daa157e6733decba245ec251ce4acd4122
m/IPackageManager.aidl
m/PackageManager.java
m/PackageManagerInternal.java
54de77470de4f605eef7f4b4e01718b301fe275e 12-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs.

Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
ontext.java
ntent.java
yncRequest.java
408afbf06040ea29d1a9d60e9dc50d1923068de4 25-Jan-2017 Romain Guy <romainguy@google.com> Change configuration's color mode based on the display's color mode

Bug: 32984164
Test: CtsContentTestCases

Change-Id: Iedc7d1cc488b80718576082667b6e96956c4f847
m/PackageParser.java
m/split/DefaultSplitAssetLoader.java
m/split/SplitAssetDependencyLoader.java
es/AssetManager.java
es/ResourcesImpl.java
35b79a7d44b816c6bdbde9de19e8a86f6f782b52 25-Jan-2017 Chad Brubaker <cbrubaker@google.com> Allow ephemeral apps to reach any CATEGORY_BROWSABLE

Apps receiving browsable intents should already be prompting the user
before taking any action/making any changes, which is what we want to
ensure for ephemeral apps. This way we don't have to manually mark all
such activities visibleToInstantApps.

Test: cts-tradefed run commandAndExit cts-dev -m
CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Id64706f993a412f163e533fa85b83f5f466731f7
m/PackageParser.java
a92c1801075b853f47490614bb2f6357c41f77fe 25-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Also parse "1" as true for ContentValues#getAsBoolean"
4e8628157ad0c8c52e74b720eb0328086272ffda 22-Nov-2016 Adam Lesinski <adamlesinski@google.com> Add support for Split APK dependcies

Apps can now declare in their base APK AndroidManifest.xml
that they want to have their split APKs loaded in isolated
Contexts. This means code and resources from the split
get loaded into their own ClassLoader and AssetManager.

<manifest xmlns:android="..."
...
android:isolatedSplits="true"
...

In order to make this more useful, splits can declare dependencies
on other splits, which will all get pulled in to the Context
and run as expected at runtime.

A split declares its dependency on another split by using the
tag <uses-split> in its AndroidManifest.xml:

<manifest xmlns:android="...">
...
<uses-split android:name="feature_split_1" />
...

A split can have a single parent on which it depends on. This is
due to the limitation of having a single ClassLoader parent.
All splits depend on the base APK implicitly.

PackageManager verifies that no cycles exist and that each dependency
is present before allowing an installation to succeed.

The runtime will then load splits based on the dependencies.

Given the following APKs:

base <-- split A <-- split C
^----- split B

If an Activity defined in split C is launched, then the base,
split A, and split C will be loaded into the ClassLoader defined
for the Activity's Context. The AssetManager will similarly be loaded
with the resources of the splits.

A split can be manually loaded by creating a Context for that split, defined
by its name:

Context.createContextForSplit("my_feature_split_1");

All installed Activities, Services, Receivers, and Providers are accessible
to other apps via Intent resolution. When they are instantiated, they are
given the appropriate Context that satisfies any dependencies the split they
were defined in stipulated.

Test: WIP (CTS tests to come)
Change-Id: I8989712b241b7bc84381f2919d88455fcad62161
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
m/ComponentInfo.java
m/InstrumentationInfo.java
m/PackageParser.java
m/split/DefaultSplitAssetLoader.java
m/split/SplitAssetDependencyLoader.java
m/split/SplitAssetLoader.java
m/split/SplitDependencyLoaderHelper.java
9d3d90a22f0f64af71fb970e9a5ce75ac799fe3e 25-Jan-2017 Ralph Nathan <ralphnathan@google.com> Merge "Add FEATURE_EMBEDDED to PackageManager"
7f7372ae2abeecb564d426ec3efbfa039c797885 24-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Adding AppWidgetManager.isRequestPinAppWidgetSupported

Launchers can choose to implement support pin shortcut or pin appwidget
or both by specifying different actions in the intent filter

Test: Automated tests and CTS
Bug: 34174006
Change-Id: I4456dbb943cfba11d465556f0732f0ed629ab3ba
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutManager.java
m/ShortcutServiceInternal.java
e84ad491c82168228f042644285a2581fc619baf 25-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add color mode to activity/window"
4832745b84d6a358582f2264d22acacf25e01b07 24-Jan-2017 Romain Guy <romainguy@google.com> Add color mode to activity/window

The color mode lets an application request a wide color gamut for
a specific window. This will also be used in the future to request
HDR. The color mode is currently either default (sRGB) or an undefined
wide gamut color space chosen by the platform. These attributes could
later be used to choose a specific color space if we deem this important
or useful.

This change also renames the various "colorimetry" attributes and
constants to "color mode" for consistency. These symbols were
added in O and can be safely renamed.

Test: CtsColorModeTestCases
Bug: 32984164
Change-Id: I4d4691dd12dbe3f3aa6a5cf893cff39aa16c739e
m/ActivityInfo.java
m/PackageParser.java
es/Configuration.java
454a9777b84431ad0f3492477d197390eb491508 25-Jan-2017 Makoto Onuki <omakoto@google.com> Merge "Add client package name to WTF message"
c755fb64f66de488f67f9a1b16f98788ea6646c5 25-Jan-2017 Matthew Snider <msnider@google.com> Merge "Introducing clear package data intent"
b8e0dee9af9ab0d2243c15faf9edb81d5a83f3cf 25-Jan-2017 Ralph Nathan <ralphnathan@google.com> Add FEATURE_EMBEDDED to PackageManager

This CL adds FEATURE_EMBEDDED to PackageManager to identify Android
Things devices.

BUG: 34644059
Test: built using make update-api

Change-Id: Ife4430e4a445f6afdd969e94db5fe5c9098ee145
m/PackageManager.java
6d2fe9e96d821f64537fb9af4ea407bfcbc657bc 24-Jan-2017 Winson Chung <winsonc@google.com> Merge "Remove dependency on resizable activity to enter PiP."
3c191b8bd93ae4d8951fa7215f55ecafeb58852d 23-Jan-2017 msnider <msnider@google.com> Introducing clear package data intent

Clear data Intent can be called from any application and
executes in the PackageInstaller. The user will be asked
to verify that they truly want to clear package data via
an AlertDialog.

This was initially intended to be @SystemApi, but
conversations with API-Review led to it be public.

Test: Covered by a gts-test ag/1806256 and manually tested
by calling from com.android.vending (Play Store).

bug: 33017941
bug: 31008483

Change-Id: Ibeae6620303ba52cc2ebf0383756c9380d3fa013
ntent.java
5a5afca93618a3ea669693d231e050be595e7a94 24-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add versionCode"
3a2541e6daec72824f0f9f8c9cd81bacac263b5c 24-Jan-2017 Makoto Onuki <omakoto@google.com> Add client package name to WTF message

Bug 34650921
Test: manual tests with GEL launcher with work profile
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases -t 'android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest#testManagedUser'
Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t 'com.android.cts.devicepolicy.LauncherAppsProfileTest'
Change-Id: I68f72f0798b752690e4e8d32360fd1d15bedef31
m/ILauncherApps.aidl
m/LauncherApps.java
316c2f207914da455a8d610aee6e4bc60e5c8f3a 24-Jan-2017 Todd Kennedy <toddke@google.com> Add versionCode

We need to specify the version code to use when installing
splits since the version on the device might be different
from the latest on the server.

Bug: 25119046
Test: manual
Change-Id: I4ad21f9e5924fcf76a39780e6d98e8d7a1fef5d4
ntent.java
m/EphemeralResolveInfo.java
d339538a67b7d6bb3d7ad73f31ad20ffc932f891 13-Dec-2016 Winson Chung <winsonc@google.com> Remove dependency on resizable activity to enter PiP.

- Removing the requirement for activities to have both the
resizeableActivity and supportsPictureInPicture attribute
to enter PiP. The activity may still be resized when
entering picture-in-picture.

Bug: 34256643
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: If6bd4721c53072e5518f554a8c7598705517c132
m/ActivityInfo.java
m/PackageParser.java
425a129f1b4c7d515c6f0d93c05a863afb94f2a3 24-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "add "splitName" attribute"
1f50fa6df50e6b3fb40c037aa2ee1dd36077f610 24-Jan-2017 Abodunrinwa Toki <toki@google.com> Merge "Update TextAssistant interface."
f001fefff3745c29e2ff6903d69ad921df1ea277 05-Jan-2017 Abodunrinwa Toki <toki@google.com> Update TextAssistant interface.

Rename to TextClassifier
Move to android.view.textclassifier package
Adds getTextClassifierInfo(...)
Changes addLinks(...) to getLinks(...)

This CL also integrates this interface with framework components
and passes a context to TextClassificationManager.

Test: Tests will be added with implementation.
Bug: 34661057
Change-Id: If9e90f034ebb702c1f78e72b6a844f39eebf738f
ontext.java
bdc394118c8e05943f5d8726940314410eaf2c1a 23-Jan-2017 Christopher Tate <ctate@google.com> Document dependency between Intent symbols and dumpstate

Bug 34594835

Test: N/A
Change-Id: I4494c224bc6341c7a41b79361ba599befc408341
ntent.java
e9d0d2758ba2342d4d75086a5f839ab0e62237f1 23-Jan-2017 Todd Kennedy <toddke@google.com> add "splitName" attribute

Attribute is availble on activity, provider and service components. Allows
specifying which split contains that component.

Test: built test app with attribute
Change-Id: Ibc615321035f76a71d0dce5a6fae3f3ef4c3e762
m/ComponentInfo.java
m/PackageParser.java
4a65687b853a92268f4f0eb52f22e092b16f8ed3 23-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose fonts.xml via public API with a service"
b16bddca89a423fe8b12c4dd727a8fe9d54acb07 23-Jan-2017 Jeff Schumacher <jeffschu@google.com> Merge "Opened some App Links APIs to @SystemApi"
308bcec713f1dc246388adadf3159c7d877eb426 23-Jan-2017 Polina Bondarenko <pbond@google.com> Merge "Make TelephonyManager#get/setAllowedCarriers system api" am: 6d064d8780 am: cf176500e6
am: b46a93ff04

Change-Id: I8f17bef7ccde5953f5b810bd806fc51a4c69e194
b46a93ff041f902a194eef36701cdd8772a0be4f 23-Jan-2017 Polina Bondarenko <pbond@google.com> Merge "Make TelephonyManager#get/setAllowedCarriers system api" am: 6d064d8780
am: cf176500e6

Change-Id: Ic278e3a9bd7c9c99345150228c6e87343737079e
04d72abde1efc963ebb2f145f859552e83b92d13 10-Jan-2017 Clara Bayarri <clarabayarri@google.com> Expose fonts.xml via public API with a service

This change creates a new FontManagerService, in charge of providing
font management data. It exposes a public API to retrieve the
information in fonts.xml without accessing it directly. To do this,
it also refactors FontListParser's internal classes into a new public
FontConfig class holding all the font data.

getSystemFonts() returns all the available information in fonts.xml
as well as file descriptors for all the fonts. This allows us to
share the memory consumed by these files between all clients.

Bug: 34190490
Test: See attached CTS change in topic
Change-Id: I0e922f8bcc9a197a1988d04071eb485328d66fb7
ontext.java
83d577581bf136def8fe03a31d1c1b71f65dd988 23-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose Resources.getFont"
18e9f9f3778318918c44d944489cb50daaf45d1c 19-Dec-2016 Clara Bayarri <clarabayarri@google.com> Expose Resources.getFont

Based on the work already done in aapt2, load a Font from a
resource id.

Test: WIP
Change-Id: Idc06bfbfd16452a328bfcc6ea9dcfb723b633f0c
es/Resources.java
es/ResourcesImpl.java
6788212d17f54475ca9c3dd689a863e031db868f 12-Dec-2016 Svet Ganov <svetoslavganov@google.com> Platform support for static shared libraries

This change adds support for static shared libraries that
emulate static linking allowing apps that statically link
against the same library version to share a common
implementation. A library is hosed by a package in a standard
APK.

Static shared libraries have a name and a version declared
by a dedicated manifest tag. A client uses also a new tag
to refer to the static library it uses by specifying the
lib name, version, and the hash of the signing certificate.
This allows two apps to rely on two different library versions
and prevents impersonation of the shared library by a side-loaded
app with the same package name.

Internally apps providing static libs use synthetic package
name generated from the manifest package name and the library
version. This allows having different "versions" of the same
package installed at the same time.

An application cannot be installed if a static shared lib it
depends on is missing. A used shared library cannot be uninstalled.
Shared libraries can rotate certificates like normal apps. The
versions of these libs should be ordered similarly to the version
codes of the hosting package. Such libs cannot use shared user
id, cannot be ephemeral, cannot declare other libraries, cannot
rename their package, cannot declare child-packages. They must
target O SDK. Also they cannot be suspended or hidden or their
uninstall blocked. Generally, speaking policy regarding code in
static shared libs should be applied to the packages using the
library as it could have just statically linked the code.

We now have APIs to query information about the shared libraries
on the device in general. To clients static shared libraries are
presented as multiple versions of the same package which is how
they are declared and published. Therefore, one can have two
versions of the same package which means we need way to query
for and uninstall a specific version of a package. Also static
shared libs can depend on other static shared libs which are
versioned packages. To ease representation we add the concept
of a versioned package which should be used in the case of
static shared libs.

A client can see only the static shared libs it depends on and
more specifically only the versions it depends would be retrieved
by using the standard package manager APIs. There is a new
dedicated API to get info about all shared libraries which
would provide data about all static shared lib versions. Also
these libraries must use v2 signing scheme.

Test: CTS tests pass

bug:30974070

Change-Id: I4f3d537ee7a81f880950377b996e1d9d4813da5c
m/ApplicationInfo.java
m/IPackageInstaller.aidl
m/IPackageManager.aidl
m/PackageInfo.java
m/PackageInstaller.java
m/PackageItemInfo.java
m/PackageManager.java
m/PackageParser.java
m/SharedLibraryInfo.aidl
m/SharedLibraryInfo.java
m/VersionedPackage.aidl
m/VersionedPackage.java
9d8e0fc679ff6f2be8bd559443acaf0bf6532d86 21-Jan-2017 Chad Brubaker <cbrubaker@google.com> Merge "Rename visibleToEphemeral to visibleToInstantApps"
c49f2e5d88af31b3a20e460c08097dfab4edaa15 21-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add ClipData.addItem(Item, ContentResolver)"
8e7b940f8d08fe6697e274933ba8c06e6363c295 24-Nov-2016 Vladislav Kaznacheev <kaznacheev@google.com> Add ClipData.addItem(Item, ContentResolver)

Unlike the existing addItem(Item), this method updates
the MIME type list in the ClipDescription.

Bug: 28750744
Test: cts-tradefed ... -m CtsContentTestCases
--test android.content.cts.ClipboardManagerTest
Change-Id: Ida0477267d1319a31a738dfd704c0af71928dd2f
lipData.java
lipDescription.java
75ca7b8eddd790d0117ff9573c44ce35be93e94c 21-Jan-2017 Makoto Onuki <omakoto@google.com> Merge "Do not allow work profile apps to access main profile app."
907b467e91e6419e30a53902bea73a8625f4fd94 21-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Merge "Fixing dimensions for AppWidgetProviderInfo not getting updated properly for PinItemRequest"
9544fe603996e2bed371c9ce9c2b43dcb2850860 21-Jan-2017 Dianne Hackborn <hackbod@google.com> Merge "Improve behavior of bg check."
85e35643ba245c2d2b96662989aa505f04204cd7 13-Jan-2017 Dianne Hackborn <hackbod@google.com> Improve behavior of bg check.

There is a new APP_START_MODE_DELAYED_RIGID which means that
things discovering something is not allowed to start should
report a clear error back to the caller. This is how apps
that opt in to bg check should behave, and will now
be used if the app op mode is set to ERRORED.

This (for now?) removes the code that allows services to
be started if the request is coming from a foreground process.
That behavior isn't in the current bg check spec, and
probably not what we want as the standard platform model (since
it makes knowing when a service can start even harder to
determine). It was originally done for the experimental
bg check work in N to see how much we could avoid
breaking existing apps, so not relevant when apps need to
explicitly opt in.

Also report temporary whitelist changes to activity manager for
it to lift background restrictions temporarily for apps. Being
on the whitelist is now part of UidRecord, preventing a uid from
going idle.

Test: Initial CTS test added.

Change-Id: I36fd906fa69de8b7ff360605ae17c088f182e172
ontext.java
417d30d88b7fef58a9b8765d712885cef2d3eb88 20-Jan-2017 Jiuyu Sun <jiuyu@google.com> Merge "Change the default behavior when MCC/MNC changes."
699c77102407c3b4eb5feceadd72c4be83724fea 20-Jan-2017 Chad Brubaker <cbrubaker@google.com> Rename visibleToEphemeral to visibleToInstantApps

Test: builds
Test: cts-tradefed run commandAndExit cts-dev -m
CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Ia173af181ec6206dfa8d1956eb2c4894c43c059e
m/PackageParser.java
6fd90ed96190c0e8668cc001c8d79753065498b4 20-Jan-2017 Jeff Schumacher <jeffschu@google.com> Opened some App Links APIs to @SystemApi

This change promotes some of the APIs that Settings uses for the
"Open by default" screen from @hide to @SystemApi.

GTS tests are added in ag/1811536.

This change also changes the protection level for
Manifest.permission.SET_PREFERRED_APPLICATIONS to allow package verifiers
(e.g. the Play Store) to be granted it. This permission is used in the
PM.updateIntentVerificationStatusAsUser() and
PM.setDefaultBrowserPackageNameAsUser() APIs.

Bug:31008483
Test: Patch in ag/1811536 and follow the test instructions there.
Change-Id: I18b069de11eaa8fe97c151fb3cfb63854f1fd056
m/IntentFilterVerificationInfo.java
m/PackageManager.java
b6d7695cf2e7cec5c7b24e1b09e1f7d8f1788cb7 12-Jan-2017 Holly Jiuyu Sun <jiuyu@google.com> Change the default behavior when MCC/MNC changes.

By default, we don't restart the activity when MCC/MNC changes
even when they are not set in configChanges. If they want to
restart, set mcc or mnc in the new attribute restartOnConfigChanges.

Bug: 34258948
Test: Test in unit test(testGetActivityConfigChanges() in
PackageParserTest.java) and on real device with
changing the SIM card.

Change-Id: Icd6899597c9b8f2e5706e74373a0280d19150092
m/PackageParser.java
22e1cbad24cdc7f207124221a8d169e8c7d680f7 20-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make TelephonyManager#get/setAllowedCarriers system api"
aecbd037514af1bff0f5ca50932241776d6c5fc3 19-Jan-2017 Makoto Onuki <omakoto@google.com> Do not allow work profile apps to access main profile app.

Bug: 34340531

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases -t 'android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest#testManagedUser'
Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t 'com.android.cts.devicepolicy.LauncherAppsProfileTest'

Change-Id: I34e9f351d2a8addf65a5a928c3dd4363f08611dc
m/LauncherApps.java
aaad776c2ce45b8caf629febea004c08eeebfd94 20-Jan-2017 Bartosz Fabianowski <bartfab@google.com> Merge "Allow system to retrieve persistent preferred activities"
444d64749df82407382184f580c4bd6518af4fd6 20-Jan-2017 Makoto Onuki <omakoto@google.com> Merge "requestPinShortcut for pinned shortcut still notifies launcher"
a9da39cb645243e334505cd072488593521ea42c 20-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add wide color gamut and HDR resource qualifiers"
4c0659f5313bcc70be704a3808af9e670f467ee6 20-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Enable background restrictions"
c9ba55902123be5abcf2dcda5af9995be0b8d3d8 19-Jan-2017 Romain Guy <romainguy@google.com> Add wide color gamut and HDR resource qualifiers

Bug: 32984164
Test: Config_test, AaptConfig_test and aapt2_tests
Change-Id: Ie9c82bfe2d36b1d6180ee223250ab5bb2ce90dd4
m/ActivityInfo.java
es/Configuration.java
a2b1774d758b58fc5977f631eff76fa21d303906 20-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Grant access to ephemeral metadata"
54df14956eb890bcd92ffa1590705f8b417ccf5b 20-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Disable moving 3rd party apps to internal if not allowed."
42a386b7717300bf6d75cbd3b4f7ad00f294be0d 07-Nov-2016 Christopher Tate <ctate@google.com> Enable background restrictions

Apps that target O+ are always subject to background restrictions.
Legacy apps' background restriction is subject to the OP_RUN_IN_BACKGROUND
app op.

Apps with these properties are exempted from background restrictions:
- persistent process
- currently on the idle battery whitelist
- global whitelist for things like bluetooth services

Bug 30953212

Change-Id: Icc19b2fbc05f40dcf8c3fc4abf718c373dc8d4f6
ontext.java
ontextWrapper.java
m/PackageManagerInternal.java
0c280710320368e82c52c9b135e2ab3015d0c924 20-Jan-2017 Makoto Onuki <omakoto@google.com> requestPinShortcut for pinned shortcut still notifies launcher

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Bug: 34391829
Change-Id: Iac652790f2aa02dab6afbe52f2e40be99543f325
m/LauncherApps.java
022b8eaa1def76dca0ac9b409065588f55c71597 16-Dec-2016 Yao Chen <yaochen@google.com> Disable moving 3rd party apps to internal if not allowed.

ag/1633903 added config_allow3rdPartyAppOnInternal flag to specify
whether 3rd party apps are allowed on internal storage. We need to
respect the flag when moving apps between storages.

Bug: 30980219

Test: Added ApplicationPackageManagertest

Change-Id: I0f8e76467b5071d70f40da28c2087e689c049c06
m/PackageManager.java
0e989d00ed1e95be0ccb77c29846ee0b6ac33356 13-Jan-2017 Todd Kennedy <toddke@google.com> Grant access to ephemeral metadata

When an ephemeral application explicitly accesses an
installed application, it grants access to its package
metadata. The ephemeral application effectively stays
hidden if it doesn't explicitly connect to any activity,
service or provider [i.e. implicit connections using
an ACTION_VIEW/CATEGORY_BROWSABLE intent will not expose
its metadata].

Bug: 34123112
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: I7e1680902599b3ada0d4fba5998af30566017051
m/PackageManagerInternal.java
970d4b462652cab66ce34da551d089f385bf39d8 20-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Fixing dimensions for AppWidgetProviderInfo not getting updated properly
for PinItemRequest

Test: Manually tested on device
Change-Id: I7bbf7e93e052ef25c2a4a98ff0795ef500f68cc0
m/LauncherApps.java
8f3b174d90e3bf2093751fb1a1bd0603adac0222 19-Jan-2017 Adam Lesinski <adamlesinski@google.com> Merge "Teach apps to refresh AppInfos without restarting"
80909ce33301499352e6274028f7389d67e904f6 12-Jan-2017 Polina Bondarenko <pbond@google.com> Make TelephonyManager#get/setAllowedCarriers system api

Make TelephonyManager#get/setAllowedCarriers system api under
PackageManager#FEATURE_TELEPHONY_CARRIERLOCK feature flag.

Bug: 33480084
Test: cts

Change-Id: I1ce77a9e3801bd4003b52887d0a36866e5a5b81a
m/PackageManager.java
794cf190aa38dffdad9e82fc86dbd94940b175b1 18-Jan-2017 Michael Wright <michaelwr@google.com> Also parse "1" as true for ContentValues#getAsBoolean

SQLite's internal representation for booleans is an integer with a value
of 0 or 1, so without this check, boolean values obtained via
DatabaseUtils#cursorRowToContentValues will always return false.

Bug: 34365384
Test: demo app, cts
Change-Id: I6c0829c992252ca5ee16bd5eac48668507fd4089
ontentValues.java
d5cfe6cdf1290976158e55f39b95d082c56da56e 12-Jan-2017 Polina Bondarenko <pbond@google.com> Make TelephonyManager#get/setAllowedCarriers system api

Make TelephonyManager#get/setAllowedCarriers system api under
PackageManager#FEATURE_TELEPHONY_CARRIERLOCK feature flag.

Bug: 33480084
Test: cts

Merged-In: I1ce77a9e3801bd4003b52887d0a36866e5a5b81a

Change-Id: I1ce77a9e3801bd4003b52887d0a36866e5a5b81a
m/PackageManager.java
d9fa667e2db634ceedbbb793ab3210cb7b229920 18-Jan-2017 Bartosz Fabianowski <bartfab@google.com> Allow system to retrieve persistent preferred activities

This CL allows system code to retrieve persistent preferred activities
(default intent handlers set by a Device Owner or Profile Owner app).
Settings will use this information to indicate which default apps were
set by the admin.

There is no public PackageManager API. Settings will call via the
IPackageManager interface directly.

Bug: 32692748
Test: Will be CTS-verifier-tested together with Settings

Change-Id: Ibd0a39f13852a9117836ca75cc0882e4cbe0ec1d
m/IPackageManager.aidl
9e83cbbc10014b3ed560b3181f594868cd89f9ae 19-Jan-2017 Chris Tate <ctate@android.com> Revert "Enable background restrictions"

This reverts commit 21f778060badb1e78bffde05e8de7662d275003d.

Change-Id: I65586f9739da84fb32b51b0ea166b8288c41d1b3
ontext.java
ontextWrapper.java
m/PackageManagerInternal.java
7414065c79a99b3f95222d23146f66d9fc142faf 19-Jan-2017 Jeff Davidson <jpd@google.com> Merge "Add bindServiceAsUser(..., Handler) to ContextWrapper."
6804d4de65cd5a30c4746c3e097b0713119c4e27 19-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Merge "Adding support for apps to return PinItemRequest to launchers as a result of Intent.ACTION_CREATE_SHORTCUT"
21f778060badb1e78bffde05e8de7662d275003d 07-Nov-2016 Christopher Tate <ctate@google.com> Enable background restrictions

Apps that target O+ are always subject to background restrictions.
Legacy apps' background restriction is subject to the OP_RUN_IN_BACKGROUND
app op.

Apps with these properties are exempted from background restrictions:
- persistent process
- currently on the idle battery whitelist
- global whitelist for things like bluetooth services

Bug 30953212

Change-Id: Ib444829a2d222125f64ff19e8218823fa78373f9
ontext.java
ontextWrapper.java
m/PackageManagerInternal.java
a6be88a10d6f6391b09f626ead051d0c698fb2d1 13-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Adding support for apps to return PinItemRequest to launchers
as a result of Intent.ACTION_CREATE_SHORTCUT

> Adding API to allow launchers to query shortcut config activities in
managed profiles.
> Adding API to allow the default Launcher to start the shortcut config
activity in managed profiles.
> Updating the ACTION_CREATE_SHORTCUT documentation to represend changes
in the expected result.

Test: Manual tests and all the unit tests
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to test10

Change-Id: I785c4f2fba782b864cc401ac7905330ea4498289
ntent.java
m/ILauncherApps.aidl
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutManager.java
49a4a1dfceeebc4b94022827b7e68cc971689c84 12-Jan-2017 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> Teach apps to refresh AppInfos without restarting

Teach running applications to refresh already loaded ApplicationInfo
objects without resorting to restarting the application process.

Activities will be scheduled for restart via the regular life-cycle.
This is similar to a configuration change but since ApplicationInfo
changes are too low-level we don't permit apps to opt out.

This change is intended to be used with runtime resource overlays and
split APKs.

Test: Manual - command to update application via ActivityManagerShellCommand
Change-Id: Ice10a1691cced90eee95e3278fd784b8a9206d87
m/ActivityInfo.java
es/Configuration.java
5471cfc7508a2d4de7a0e86ed2525a78d20b8947 17-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add doc to Configuration.setTo() method"
91f5cbf3a0db7cec8f6be396a4c1e6c1085cb230 17-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add OFFSET and LENGTH args for paged queries."
0bf67a29d990892fe2ce1c26b5a0eadd7fe5e930 16-Jan-2017 Kang Li <kanlig@google.com> Merge "Adds annotations to Intent, and enables ChooserActivity to rank apps according to annotations."
f5bda2874f353106bf86aaba77876590218f89bf 16-Jan-2017 Narayan Kamath <narayan@google.com> Merge "PackageParser: Disable package cache on "eng" builds."
9e0642287e1f6d907356f1724272332f0db7f7af 14-Jan-2017 Bartosz Fabianowski <bartfab@google.com> Merge "Add install reason"
9fa2a2cd46e11be0ea50ad7be0d3dd2c9273f55a 06-Jan-2017 Kang Li <kanlig@google.com> Adds annotations to Intent, and enables ChooserActivity to rank apps
according to annotations.

Test: Unit tests and manul tests. More unit tests to be added.
Change-Id: I3cbfd0cc10007290585fa3e7e3c92e1731f1f7b8
ntent.java
9013325c3a6f34f6a44c1b5f20a6981e37089afb 14-Jan-2017 Zak Cohen <zakcohen@google.com> Merge changes from topic 'vrmode'

* changes:
Set ui mode in UiModeManagerService to vrheadset when VR mode is enabled.
Introduce new UI_MODE_TYPE_VR_HEADSET and qualifier.
d30149eeae0350242c6803651a2183ff9c2e1848 13-Jan-2017 Chet Haase <chet@google.com> Add doc to Configuration.setTo() method

Bug: 11187275
Test: doc fix only, no test
Change-Id: I121aa2e986dacbb794a26fdfba84f4f7b34bea86
es/Configuration.java
21a2838e3474c7b7918ca638be70aa1c27649117 13-Jan-2017 Narayan Kamath <narayan@google.com> PackageParser: Disable package cache on "eng" builds.

- Catch a wider variety of exceptions from the package parse
stage. Ignore and delete the cache entry if we catch *any*
exceptions from deserializing the parse result.

- Rename the system property pm.boot and not ro.boot, since the
former needs less effort to change back and forth.

- Finally, add a heuristic to wipe caches on non-numbered
userdebug builds when changes to the system partition are detected.

Also re-enable the cache by reverting commit
20274d15d8f40112dd13d01980c210b49f78cda9.

Test: Manual
Change-Id: I7b5b71ac60d8c438398c354be50b207e80550148
m/PackageParser.java
a34f53f61be31b7171d6cbcb12490ee143acffff 11-Jan-2017 Bartosz Fabianowski <bartfab@google.com> Add install reason

This CL allows a reason to be specified when installing a package. The
install reason is a sticky piece of metadata: When a package is e.g.
installed via enterprise policy and an update is then manually
installed or sideloaded, the install reason will remain "policy."
The install reason is tracked separately for each user.

With this CL, two install reasons exist: "policy" and "unknown." Other
install reasons will likely be supported in the future.

Bug: 32692748
Bug: 33415829
Test: Tested manually with "adb install" / "adb uninstall"

Change-Id: I0c9b9e1b8eb666bb6962564f6efd97e41703cd86
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageManager.java
m/PackageUserState.java
d7ece9f78d6c91aeb4c5401852c8548b3ed62587 13-Jan-2017 Steve McKay <smckay@google.com> Add OFFSET and LENGTH args for paged queries.

Also update docs according to parting comments on ag/1726256.

Bug: 30927484
Test: Build and update api.
Change-Id: Ie0dd3ae06f6a7a20001571beec10a4d5bca63970
ontentProvider.java
ontentResolver.java
07323a98242b45a47a3ae9a34fdca98d6bdbcd06 12-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add structured sort data to ContentResolver.query."
0078e1b777fbd1b8d9e734632185851fee720cc9 12-Jan-2017 Jeff Sharkey <jsharkey@android.com> Add support for fallback categories.

When an app doesn't define a category, look for a fallback category
in a hard-coded list. This change only defines a fallback for a
single package, but device-specific overlays can be used to provide
more detailed fallback lists.

The precidence order is: app manifest > installer hint > fallback

Test: builds, boots, fallback categories work
Bug: 33815939
Change-Id: I1f5ca76fb7e5743a4500c0a1230a754266f34d9e
m/FallbackCategoryProvider.java
m/PackageParser.java
9bc89af3f1bce8003ee4f93b89a1770d8f5b9cc9 11-Jan-2017 Jeff Sharkey <jsharkey@android.com> Add API for apps to declare their "category".

Upcoming platform features need to cluster apps together into broad
categories to help summarize information to users. (For example,
when presenting battery, network, and disk usage.)

We are tightly limiting the set of categories to keep them easily
presentable to users when summarizing information. This feature is
not designed to be a general-purpose taxonomy, nor should it be
allowed to become one.

Older apps may not have defined a category in their manifests, so
allow the installing app to define a category on their behalf.

Test: builds, boots
Bug: 33815939
Change-Id: I785b882ee7c18072ef47d56e0fc19ad72888e1b7
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
7a36073c1493db30c6458a99234c08dded1a4daa 12-Jan-2017 Etan Cohen <etancohen@google.com> Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13 am: 2a4e3bef2c am: b32dfa4ef5
am: 3fc5b186fa

Change-Id: Ib668ed15ccf1f05c5ed31f700b69e1f3ab8b4cac
3fc5b186faea000a145a7ac57cd4b2d1e3c49b52 12-Jan-2017 Etan Cohen <etancohen@google.com> Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13 am: 2a4e3bef2c
am: b32dfa4ef5

Change-Id: If2a6b632cd03984921572b190745865953a8e808
b32dfa4ef59e2cdf91360499ae80626fbe48340b 12-Jan-2017 Etan Cohen <etancohen@google.com> Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13
am: 2a4e3bef2c

Change-Id: I6f894d92451032657678639c3021eef07289a6a2
29c3f68cfab3dd4f7f96e54be8eabd9a4d677c5e 16-Dec-2016 Steve McKay <smckay@google.com> Add structured sort data to ContentResolver.query.

Update DocumentsProvider to override
ContentProvider#query(Uri, String[], Bundle, CancellationSignal);
Added an otherwise unneeded import to pass doc check
on DocumentsProvider.

Bug: 30927484
Change-Id: I295c21f53901d567455286f22439f21d22a8a25a
Test: Build and run. Test from DocsUi.
ontentProvider.java
ontentResolver.java
7f53ac150485c8178c14272a52e36f25d1578f53 11-Jan-2017 Makoto Onuki <omakoto@google.com> Merge "Expose getApplicationInfo(UserHandle)"
458e54f00fba85825eca8b0640904323ab4c5e90 11-Jan-2017 Makoto Onuki <omakoto@google.com> Merge "@hide RetentionPolicy.SOURCE annotation"
1a6acdbb86c3e72bdb0a4dcab3bda58cbc4ea34c 13-Dec-2016 Zak Cohen <zakcohen@google.com> Introduce new UI_MODE_TYPE_VR_HEADSET and qualifier.

Bug: 30989383
Test: Unit test for aapt2
Change-Id: I66dc65af6327b94fed74538bee08cada0b8be4fa
es/Configuration.java
6a4b323f08cea4eb538883127ff07302c3b10c46 10-Jan-2017 Etan Cohen <etancohen@google.com> [AWARE] Unhide Wi-Fi Aware API (baseline)

Baseline Wi-Fi Aware API providing discovery and connectivity (data-path).

Bug: 30983968
Test: unit tests + integration (sl4a) tests passing.
Change-Id: Idd7c6a625f168717b083d5f13e291ce916571933
ontext.java
m/PackageManager.java
db3b10a95e18d918927e61fa983c30de7bf069a4 10-Jan-2017 Makoto Onuki <omakoto@google.com> Update the javadoc on requestPinShortcut() about multiple...

requests in a row form the same app.

Bug 34175917
Test: Javadoc change only; presubmit test.

Change-Id: Ibf33010dbd9080c557112e15efcadd30d95b121f
m/LauncherApps.java
m/ShortcutManager.java
f5663b13c54dad0c808057be1ad07a5681514e27 09-Jan-2017 Makoto Onuki <omakoto@google.com> @hide RetentionPolicy.SOURCE annotation

Bug 34094103

Test: Hiding an annotation only; "m".
Change-Id: I7e0bec077a96024744977147c4b15cf2e3a1f309
m/LauncherApps.java
6192bff1fc3044f6aef5f775f322e640a129ca54 09-Jan-2017 Jeff Davidson <jpd@google.com> Add bindServiceAsUser(..., Handler) to ContextWrapper.

This was added to Context/ContextImpl but is missing from
ContextWrapper, which causes it to fail unless you're using a
ContextImpl directly.

Bug: 33057511
Test: Build/manual test in associated change from same topic
Change-Id: I84913614dad2cc22a70a4191c2512a44b1dc8834
ontextWrapper.java
4f6b884f8aabafe47114463146ac12463e514142 09-Jan-2017 Makoto Onuki <omakoto@google.com> Expose getApplicationInfo(UserHandle)

Test: The method already available; just making it public.
Bug 33293439

Change-Id: Ic18eb254c185784ea9f16e0a8de6c62d6c1fe7bd
m/LauncherApps.java
8d729e8c149e68023b5c076bd668ee9eff4a6c6d 07-Jan-2017 Jeff Sharkey <jsharkey@google.com> Merge "Initial API shape for storage statistics."
643ba812eb9a0deaad609c110c7d90505d44c302 07-Jan-2017 Stefan Kuhne <skuhne@google.com> Merge "Apps which do not support density cannot be resized"
9fd9019cf1f2c69c9bd1b9ea635a2605b3d9208f 06-Jan-2017 Makoto Onuki <omakoto@google.com> Revert "ShortcutManager: Floating shortcuts shouldn't have target activities."

This reverts commit 106ff7a0a1bef974ff04e9e79a25eb5e84555893.

Test: All the unit tests (ShortcutManagerTest1*) CtsShortcutHostTestCases and CtsShortcutManagerTestCases

Change-Id: Iadce2b3785cbf728daa60c4e2ff103e516d85896
m/ShortcutInfo.java
7e85eb02783110f69343896083d8937c3ca00b03 04-Jan-2017 skuhne@google.com <skuhne@google.com> Apps which do not support density cannot be resized

This is to prevent apps which do not support density
(so essentially pre-Doughnut) from being resized and / or
windowed in free form mode.

These apps are rendered into a smaller sized buffer and
then scaled onto the screen. Using freeform window mode with
these apps uncovered many different problems.

Bug: 33843467
Test: Pre-N as well as Pre-Doughnut applications are presented
properly in free form mode. (Pre-Doughnut cannot be windowed /
resized, many M apps can).
Change-Id: I3c0eb3681486dc85ace15955432d79200743bce3
m/ApplicationInfo.java
m/PackageParser.java
e8cece9f2010388e02d8f4b3150f25168f8b7d76 04-Jan-2017 Jeff Sharkey <jsharkey@android.com> Initial API shape for storage statistics.

This API is designed to provide both UID-level stats and overall
summary data for a given storage device, as identified by UUID.

The use of UID-level granularity might appear a bit clunky, but it
matches other usage statistics (such as network and battery), and it
allows us to implement it using an extremely fast quota kernel
feature.

A future CL will wire up the implementation to installd.

Test: builds, boots
Bug: 32206268
Change-Id: I7b51877682d0370c2402c19346f57809f0e7ac53
ontext.java
874d45597fb5267288b6cecc70df883b65e54be1 05-Jan-2017 John Reck <jreck@google.com> Merge "Workaround for custom TypedArray injectors"
8af18a6fa31d7c8b926c1cbebcad293b103a02ce 05-Jan-2017 Narayan Kamath <narayan@google.com> Merge "PackageParser: Add serialization mechanism for parse results."
abd917d1393318f34ad434138b47623b675faaf2 05-Jan-2017 John Reck <jreck@google.com> Workaround for custom TypedArray injectors

Fixes: 33814858
Works around a crash for apps that inject custom
TypedArrays, which is completely unsupported, but
given the ease with which the crash can be worked
just going with higher compatibility on this one.

Test: App referenced in bug launches

Change-Id: Iac9a9b4fefd08815544211ffa49b02259920381f
es/TypedArray.java
243d13bd5c9cb36eb87847fa9722e654cb96883e 04-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Require APK Signature Scheme v2 for ephemeral APKs"
abbc2badf5b8169f62fd725866c902f5b51b4cd5 04-Jan-2017 Alex Klyubin <klyubin@google.com> Require APK Signature Scheme v2 for ephemeral APKs

This makes Package Manager require APK Signature Scheme v2 signatures
for ephemeral APKs. This part of the effort to deprecate the v1
signature scheme based on JAR signing.

Test: cts-tradefed run singleCommand cts --skip-device-info --skip-preconditions --skip-connectivity-check --abi arm64-v8a --module CtsAppSecurityHostTestCases -t android.appsecurity.cts.PkgInstallSignatureVerificationTest
Bug: 33700225
Change-Id: I3b408487c07085c0a7924d3eca495bdcb344b32d
m/PackageParser.java
87a563e0707bb7e2be034c195e9827dfe3451cfd 02-Jan-2017 Sunny Goyal <sunnygoyal@google.com> AppWidgetManager: direct add widget support.

Test: Manual test and all the unit tests:
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to test9
adb shell am instrument -e class com.android.server.appwidget.AppWidgetServiceImplTest -w com.android.frameworks.servicestests

Bug 32404406
Change-Id: Icd6d4cbd25d9cdf4508da725d95d6401cc3a46a7
m/LauncherApps.java
m/ShortcutManager.java
m/ShortcutServiceInternal.java
fb2afbf7fa63e972e3de5a9ecf1e246019246792 24-Nov-2016 Narayan Kamath <narayan@google.com> PackageParser: Add serialization mechanism for parse results.

Also adds unit tests that assert that the cached value is equivalent
to the parsed value.

bug: 30792387
Test: PackageParserTest
Change-Id: Ibf6dfd1225243b436e3d7473170c2ccc31cfbbd7
ntentFilter.java
m/PackageParser.java
bf9928de18adfc39de17300325dfbd229af5db99 22-Dec-2016 Tony Mak <tonymak@google.com> Make sure ServiceConnection callback is called in main thread

Fix: 33568999

Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases
--test com.android.cts.devicepolicy.DeviceOwnerPlusManagedProfileTest

Change-Id: I14c8b5b1f78192429e68a3057430406245a909c8
ontext.java
ontextWrapper.java
37d37f0fa9f033d74b3c8d01bd0a0538359e2071 22-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Settings recovery support"
e080da9ee027fcd030aa92ea26fd0ed9f031674f 22-Dec-2016 Svetoslav Ganov <svetoslavganov@google.com> Settings recovery support

This change allows the system to perform iterative reset
of changes to settings in order to recover from bad a
state such as a reboot loop.

To enable this we add the notion of a default value. The
default can be set by any package but if the package that
set it is a part of the system, i.e. trusted, then other
packages that are not a part of the system, i.e. untrusted,
cannot change the default. The settings setter APIs that
do not take a default effectively clear the default. Putting
a setting from a system component always makes it the
default and if the package in not trusted then value is
not made the default. The rationale is that the system is
tested and its values are safe but third-party components
are not trusted and their values are not safe.

The reset modes from the least intrusive are: untrusted
defaults - reset only settings set by untrusted components
to their defaults or clear them otherwise; untrusted clear
- clear settings set by untrusted components (or snap to
default if provided by the system); trusted defaults - reset
all settings to defaults set by the system or clear them
otherwise.

Also a package can reset to defaults changes it made to
the global and secure settings. It is also possible to
associate a setting with an optional token which can then
be used to reset settings set by this package and
associated with the token allowing parallel experiments
over disjoint settings subsets.

The default values are also useful for experiment (or
more precisely iterative tuning of devices' behavior in
production) as the stable configuration can be set to
the "graduated" safe defaults and set the values to the
experimental ones to measure impact.

Test: tests pass

Change-Id: I838955ea3bb28337f416ee244dff2fb1199b6943
m/PackageManagerInternal.java
836f9249b7b34fa1655a3e0720bff32480a7dc03 21-Dec-2016 Ben Lin <linben@google.com> Unihiding REFRESH_SUPPORTED and ContentProviderClient#refresh.

Test: Only unhiding previously hidden methods.
Change-Id: Id1731b64b86760d3249855d685d8cb83721596fc
ontentProviderClient.java
ontentResolver.java
75e7b8c9ee3112fabfc2bd84636c111305a1291f 21-Dec-2016 Jeff Sharkey <jsharkey@google.com> Merge "Finish up API for missing content:// flags."
f8efc667734b027165f755604b3430dec783777f 21-Dec-2016 Jeff Sharkey <jsharkey@google.com> Merge "Relax protected broadcast checks for shell."
457608986ca2e44cbe1677523d1892f1d8c8f985 21-Dec-2016 Fyodor Kupolov <fkupolov@google.com> Revert "Settings recovery support"

This reverts commit aa31697424064f823019c068d66fac704e5a2fc1.

Fixes: 33799277
Change-Id: I438e97c6a81512c673f20f6a01d3b9715c2dbf8a
m/PackageManagerInternal.java
f361f2fc89d1724be854a9e0ea2fb5d3930e9a8d 21-Dec-2016 Jeff Sharkey <jsharkey@android.com> Finish up API for missing content:// flags.

Feature is already built under the hood, but it needs it's own public
StrictMode API so it can be independently enabled.

Test: builds, boots
Bug: 32447617
Change-Id: I3c0c6d62dd36aaf25f30e0ef8e0e7b40cf32c6d2
lipData.java
6a34e5678089f9870ea0f0ced9c17c684a5d0a33 21-Dec-2016 Jeff Sharkey <jsharkey@android.com> Relax protected broadcast checks for shell.

On userdebug/eng devices, the shell can run as non-shell UIDs, so
define a flag to identify broadcasts coming from the shell, and
don't yell if they're non-protected.

Test: builds, boots, root shell can send broadcasts
Bug: 32369665
Change-Id: I5f55930ee434cb8318c86aaf05eba3c59a326694
ntent.java
5be781d874198ed476da31e800a1354c826ca689 21-Dec-2016 Calin Juravle <calin@google.com> Merge "Report non-primary dex files loads to PM" am: f23ea2ca62 am: 78b3889804
am: 9947e79b26

Change-Id: I8ddb7756c0690584343cb026a298bc5f0b8d4e27
9947e79b263dbefcd760e0014d088db65f16eecd 21-Dec-2016 Calin Juravle <calin@google.com> Merge "Report non-primary dex files loads to PM" am: f23ea2ca62
am: 78b3889804

Change-Id: Iaf17def2729170403fa61ce0e09ced4675a47191
aa31697424064f823019c068d66fac704e5a2fc1 07-Nov-2016 Svet Ganov <svetoslavganov@google.com> Settings recovery support

This change allows the system to perform iterative reset
of changes to settings in order to recover from bad a
state such as a reboot loop.

To enable this we add the notion of a default value. The
default can be set by any package but if the package that
set it is a part of the system, i.e. trusted, then other
packages that are not a part of the system, i.e. untrusted,
cannot change the default. The settings setter APIs that
do not take a default effectively clear the default. Putting
a setting from a system component always makes it the
default and if the package in not trusted then value is
not made the default. The rationale is that the system is
tested and its values are safe but third-party components
are not trusted and their values are not safe.

The reset modes from the least intrusive are: untrusted
defaults - reset only settings set by untrusted components
to their defaults or clear them otherwise; untrusted clear
- clear settings set by untrusted components (or snap to
default if provided by the system); trusted defaults - reset
all settings to defaults set by the system or clear them
otherwise.

Also a package can reset to defaults changes it made to
the global and secure settings. It is also possible to
associate a setting with an optional token which can then
be used to reset settings set by this package and
associated with the token allowing parallel experiments
over disjoint settings subsets.

The default values are also useful for experiment (or
more precisely iterative tuning of devices' behavior in
production) as the stable configuration can be set to
the "graduated" safe defaults and set the values to the
experimental ones to measure impact.

Test: tests pass

Change-Id: I8c23b145d4f8ee0de2f29dedaa4641ac59343d6a
m/PackageManagerInternal.java
080a88ed63ab1a8ba3c7bf1f610cc57e34f9a054 20-Dec-2016 Tomasz Mikolajewski <mtomasz@google.com> Merge "Update documentation for ACTION_SEND."
ccec35c456f12a9438a524793159f5b2bda69443 19-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add tests, refactor min/targetSdkVersion checks in PackageParser"
e4ffa3a53cd4bff5bf879595f46c7f9b1f13dec1 19-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService am: 94ebbe0e58 am: d7c29565ba am: 8c232935f0
am: 40a3877a5d

Change-Id: I3ae34d2268d7d142ac10e17b43dc617c25601cbe
82f4b263a09630b9937ecb2cc3dea5b21eaa7b8f 19-Dec-2016 Alan Viverette <alanv@google.com> Add tests, refactor min/targetSdkVersion checks in PackageParser

Tests were added and verified before refactoring to ensure no behavior
changes. This is the first step in revising compat checks for O policy.

Bug: 33455703
Test: PackageParserTest#testComputeMinSdkVersion
Test: PackageParserTest#testComputeTargetSdkVersion
Change-Id: I483b4d23945183702b7e077fa1bd6d3ab5065acc
m/PackageParser.java
40a3877a5d4ef60102d5ac9852c4b7c1a6e1f36d 19-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService am: 94ebbe0e58 am: d7c29565ba
am: 8c232935f0

Change-Id: I45cdec5b2820a4a95a8aa6e1b67856891a8a6cd5
8c232935f0225823ae9bc38483d1daf40e46f291 19-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService am: 94ebbe0e58
am: d7c29565ba

Change-Id: Ife9581030d8579d6e2dd625814a049d5f488229a
a8107e107461599f23aeb4410cdde658a14a20ea 19-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService am: 94ebbe0e58
am: d7c29565ba

Change-Id: I44109d60ff26725daf6ebbce50bac9a7068146fe
9abb501075b1309ff6d238e42fc8cc87ce5c3bdf 23-Nov-2016 Calin Juravle <calin@google.com> Report non-primary dex files loads to PM

Scaffold for the reporting of non-primary dex files loads to the package
manager.

This will enable:
1) monitoring and compilation of secondary dex file
2) better way to track foreign dex file usage (used to determined the
compilation filter of apks).

Test: device boots
Bug: 32871170

(cherry picked from commit 8d2a51f1b8fc35a1d4fda6b6cdfdf2754f1e1211)

Change-Id: I61e65aee471798fbc7a18938647051274c3a058a
m/IPackageManager.aidl
12e15a9c22cbd46e8d18b947b1b3434d5a27df8f 19-Dec-2016 Calin Juravle <calin@google.com> Merge "Report non-primary dex files loads to PM"
d8a2e19493cecb1bd975fad5a1748e09327d00bd 15-Dec-2016 Tomasz Mikolajewski <mtomasz@google.com> Update documentation for ACTION_SEND.

Test: Documentation only.
Bug: 28409713
Change-Id: I6efc4e80a7289ab25e491c29fbd92e10c1b50281
ntent.java
94ebbe0e5868a6bc8b2ffe37d5fbefe02e1048eb 14-Dec-2016 Mark Lu <marklu@google.com> docs: remove implicit intent from bindService and startService

bug: 18295867
Change-Id: Ib4b561dd215f4b124ce9a90b446bc03676f7e00a
ontext.java
10ec36772f43b8f53da68d5397af733116168e25 17-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implicitly expose activities"
388eb8c4a292862c3c1219f84a48143c5e943cdf 16-Dec-2016 Todd Kennedy <toddke@google.com> Implicitly expose activities

Activities that have a browsable web intent filter [action.VIEW,
category.BROWSABLE and http(s) scheme] are implicitly exposed to
instant apps. Authors can explicitly hide these activities by
using the attribute android:visibleToInstantApp="false".

Bug: 25119046
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: I88b277a719e7ecd5631f8cbd281757eb3e3d2ce6
m/PackageParser.java
10e237e5c8a827d62f8aa21925abe6b3b86f5ab6 16-Dec-2016 Joe Onorato <joeo@google.com> Merge changes from topic 'incident_1'

* changes:
First checkin of incident reporting.
Add a native class to interact with DropBoxManager.
de315b99dcaf7202898d6334570753ffee43c1f1 16-Dec-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManagre: foreground check, more tests."
bce1e456dc190ee7782fffeb5e17ec30095260d0 16-Dec-2016 Mark Lu <marklu@google.com> docs: changes to broadcast documentation am: 33ec106d22 am: 377dab8ab3 am: fd737791e8
am: 45d6ba7b98

Change-Id: I2dcb6bc7f8ebf385bc7d6a571a760c140a65e9fb
45d6ba7b98b72387245c9ff1c351e4fd435b25eb 16-Dec-2016 Mark Lu <marklu@google.com> docs: changes to broadcast documentation am: 33ec106d22 am: 377dab8ab3
am: fd737791e8

Change-Id: I18b47ba01b0af8882c25526d8823f263f456aae2
fd737791e8335cf20bb9320f50f1441e6b27a80c 16-Dec-2016 Mark Lu <marklu@google.com> docs: changes to broadcast documentation am: 33ec106d22
am: 377dab8ab3

Change-Id: I2e8377b188ce6a10ea633e089c3a20f9ef7908fd
1c5a117342e54996c097215ae4bc3a4b69ad3356 16-Dec-2016 Mark Lu <marklu@google.com> docs: changes to broadcast documentation am: 33ec106d22
am: 377dab8ab3

Change-Id: I7dcb1bc57fb62f2b177c7ad15a9236da98fb749f
624a821c8deee6872e75833533f5227a5864b2aa 16-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix IntentFilter#getAutoVerify()"
2688cfcc4aedf2b9a1cde8dc6d77d92604fc8d3c 16-Dec-2016 Tamas Berghammer <tberghammer@google.com> Merge "Install all files from the lib directory for debuggable apps" am: c0cc7c646c am: 736852e2c4 am: db274f7859
am: 362775ee20

Change-Id: I9194b856610e7b102bc46705fb2cb6937def7023
362775ee200bc63365c2b1affac1bdffeb816ca4 16-Dec-2016 Tamas Berghammer <tberghammer@google.com> Merge "Install all files from the lib directory for debuggable apps" am: c0cc7c646c am: 736852e2c4
am: db274f7859

Change-Id: I4bd6e3da9c41fcfb9a5d8f39c63da446515fc9ff
db274f7859c0f374423c9cd7df72b2ad55192afa 16-Dec-2016 Tamas Berghammer <tberghammer@google.com> Merge "Install all files from the lib directory for debuggable apps" am: c0cc7c646c
am: 736852e2c4

Change-Id: I0faa3ab541ca8d1400719653171b4bcafceada81
c0cc7c646ca5892f15d87a99b8fac47e7beb5fc6 16-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Install all files from the lib directory for debuggable apps"
a01f4f03e920277a48369b06983c728a73b8dcd4 16-Dec-2016 Makoto Onuki <omakoto@google.com> ShortcutManagre: foreground check, more tests.

Test: Manual test and all the unit tests:
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to test8

Bug 32908854

Change-Id: I30ba421e9730741776c1936e40ccf7b7431289da
m/ShortcutInfo.java
3decab60ac992093dbb731eb71588737e7d835da 15-Dec-2016 Christopher Tate <ctate@google.com> Fix IntentFilter#getAutoVerify()

Also fix the verification result display in dumpsys.

Bug 21490494

Change-Id: I043bd9a7cc0dc6bf4490b5501682aef63cbe5c72
ntentFilter.java
m/IntentFilterVerificationInfo.java
1754d744a7a34731ffc07af1bc3dbfcb06864ab0 22-Nov-2016 Joe Onorato <joeo@google.com> First checkin of incident reporting.

There are a few major pieces here:

incidentd
---------
This daemon (started by init) runs and accepts incoming requests to take
incident reports. When prompted, it calls into various system services
and fills in an IncidentProto data structure, and then writes the report
into dropbox.

The next steps for incidentd:
- Security review of SELinux policies. These will be a subset of
the dumpstate permissions. Until this is done, incidentd is
not started at boot time.

incident
--------
This shell command calls into incidentd, and can initiate an incident
report and either capture the output or leave for dropbox.

incident_report
---------------
This host side tool can call adb shell with the correct parameters
and also format the incident report as text. This formatting code
was left of the device on purpose. Right now it's pretty small, but
as the number of fields increases, the metadata and code to do the
formatting will start to grow.

The incident_report command also contains a workaround to let it
work before incidentd is turned on by default. Right now, it is
implemented to call adb shell dumpsys <service> --proto directly,
whereas in the future it will go through the full incidentd flow.

incident_section_gen
--------------------
A build-time tool that generates a stripped down set of information
about the fields that are available.

libincident
-----------
This library contains the code to connect to incidentd, and the
meta proto definitions that are used by the framework protos.
The basics are here now, but they are not fully fleshed out yet.
The privacy.proto file contains annotations that can go in the
proto file that we will later use to filter which fields are
uploaded, and which are used by local sources. For example, a
device in a test lab is safe to upload much much more information
than a real user. These will share the same mechanism, but the
user's output will be filtered according to these annotations.

frameworks/core/proto
---------------------
These .proto files contain the definitions of the system's
output. There is one master android.os.IncidentProto file that
is the top level of an incident report, but some other services
(notification, fingerprint, batterystats, etc) will have others
that are used directly by the logging mechanism.

Other files which are shared by several of the services also go
here, such as ComponentName, Locale, Configuration, etc. There
will be many more.

There is also a first iplementation of a dump method handling
--proto in the fingerprint service.

IncidentManager
---------------
The java API to trigger an incident report.

Test: Not written yet
Change-Id: I59568b115ac7fcf73af70c946c95752bf33ae67f
ontext.java
ab99c11c55c82e39a601a0b6f59005011f9fa109 15-Dec-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: direct pin shortcut support."
73aeea2da24bf0d4eae0dc803df18d1266f85136 18-Nov-2016 Lenka Trochtova <ltrochtova@google.com> Make master clear constants system APIs.

This is needed for unbundling of the OobConfig apk.

Test: gts-tradefed run gts -m GtsGmscoreHostTestCases --test com.google.android.gts.devicepolicy.DeviceOwnerUserRestrictionTest#testFactoryReset_disallowFactoryReset

Bug: 32974361

Change-Id: I71e7270bb4c3234ec0516382b18a2ca35aab4c81
ntent.java
a9db0faecd26c7a28fc040442d854b92fe106213 15-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Delay SharedPreferences.apply() by 50 ms"
3349644872d9b769f4e2d0ec1b91d368a552ff8d 13-Dec-2016 Philip P. Moltmann <moltmann@google.com> Delay SharedPreferences.apply() by 50 ms

... so that multiple applies can be combined into a single write.

Do do this I replaces the executor in the QueuedWork by a more Android-y
handler.

Test: Ran shared preferences CTS tests. Looked at log and saw a lot of
skipped writes
Bug: 33385963

Change-Id: I8f33df717be7091532930ccf6ca8c48940e4edd4
roadcastReceiver.java
8d2a51f1b8fc35a1d4fda6b6cdfdf2754f1e1211 23-Nov-2016 Calin Juravle <calin@google.com> Report non-primary dex files loads to PM

Scaffold for the reporting of non-primary dex files loads to the package
manager.

This will enable:
1) monitoring and compilation of secondary dex file
2) better way to track foreign dex file usage (used to determined the
compilation filter of apks).

Test: device boots
Bug: 32871170
Change-Id: Ib0fe076af2c734dd054f092247a1ec7e2a74a70d
m/IPackageManager.aidl
e093a98925307ef11d1cfa4a26ade534eceb464c 14-Dec-2016 Michal Karpinski <mkarpinski@google.com> Merge "Fix javadoc for PackageManager#getNameForUid()"
d1c710d5cff55b632e91d95cdba158bbc3879bc8 14-Dec-2016 Michal Karpinski <mkarpinski@google.com> DO NOT MERGE [DPM] Management and retrieval of network logs
am: 4c47adef60

Change-Id: I39486c9d6116023f1ee9bd576b7fcd0fe20023a1
d9eb4fce7d4ac9afc75c08de09001630465a2140 14-Dec-2016 Michal Karpinski <mkarpinski@google.com> Merge changes from topic 'network-logging-nyc-mr2-dev' into nyc-mr2-dev

* changes:
DO NOT MERGE Fixes in comments for NetworkEvent, DnsEvent and ConnectEvent
DO NOT MERGE Fix Lint errors for network logging API
DO NOT MERGE Logging when the new batch of network logs broadcast is sent to DO
DO NOT MERGE Disable DO single user features when clearDeviceOwner() is called regardless of the amount of users
DO NOT MERGE Fix disabling DO single user features when clearDeviceOwner() is called
DO NOT MERGE [DPM] Minor code fixes in NetworkLoggingHandler
DO NOT MERGE [DPM] DO uses batch token to retrieve network logs, and can retrieve the same batch many times
DO NOT MERGE [DPM] Management and retrieval of network logs
DO NOT MERGE [DPM] DO can start network logging and listen for events
33ec106d224e811d1954935bfe8f3b529171dfde 05-Dec-2016 Mark Lu <marklu@google.com> docs: changes to broadcast documentation

- move BroadcastReceiver info to developer guide. see cl/140402421
- add usage note to CONNECTIVITY_ACTION broadcast

bug:32533262
bug:33106411

Change-Id: Ic2aa517831d29418e0c42aa6fc1e7f9aeb50f802
roadcastReceiver.java
58369e3d5363ef2895fa48254e517d8c50eadb7f 14-Dec-2016 Ruben Brunk <rubenbrunk@google.com> Prevent crash on uninstall. am: 12ab5e1d70
am: a1501095cf

Change-Id: I62bbc3c8e228b6dcda8d8edcb22d29634cabf271
a1501095cfe4465fea75997629d8a6265b159432 14-Dec-2016 Ruben Brunk <rubenbrunk@google.com> Prevent crash on uninstall.
am: 12ab5e1d70

Change-Id: I8301d17bb0bbd16a4adeaadb7b7bd04ad7159407
f755dfb89e8524cc5df399fe1ae2459c8a13489a 14-Dec-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Prevent crash on uninstall." into nyc-mr2-dev
b8eac24ff27665fbf837f3b11c8b65ae098865e9 13-Dec-2016 Rob Carr <racarr@google.com> Merge "Correct error in Configuration.updateFrom"
cb67dc9eadf6c6aaa343f48e24b2b43914639c05 13-Dec-2016 Michal Karpinski <mkarpinski@google.com> Fix javadoc for PackageManager#getNameForUid()

Change-Id: Ia4fbd6948ab0703c7df9dceae99170ffb8c96ddb
m/PackageManager.java
m/PackageManagerInternal.java
2d895c3efd625e09e9f2cc4d0c7131b34f52f154 03-Dec-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: direct pin shortcut support.

Test: Manual test and all the unit tests:
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to test8

Bug 32908854

Change-Id: I11b81656959cccfb4efa83f08380b915e6eb84a6
m/IPinItemRequest.aidl
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutManager.java
4c47adef60ca0326bdbe124dfdd335382e5c0787 12-Oct-2016 Michal Karpinski <mkarpinski@google.com> DO NOT MERGE [DPM] Management and retrieval of network logs

This CL follows up on ag/1530343 and adds:
1) Various network events.
2) Retrieval method in DPM and APIs in DeviceAdminReceiver.
3) Extension of NetworkLogger and it's NetworkLoggingHandler.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
Bug: 29748723
Change-Id: I42a1a477e7c75c109a3982f809c22732b814e8b2
m/PackageManagerInternal.java
cf4d2ce358230f83e18a72474cb0b6cd8f7f00b2 12-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Introduce TextClassificationManager."
8158af53e81d8dc062872a682e4d415f7929a28b 23-Nov-2016 Abodunrinwa Toki <toki@google.com> Introduce TextClassificationManager.

This handles smart selection and language detection features.
This CL only contains code to integrate the TextClassificationManager.
Implementation will be added in a follow up CL.

Test: Test will be added when TextClassificationManager is added.
Bug:32503402
Change-Id: I5f22150ff998156fbc91b51c733d93478efaa51f
ontext.java
72d633f430264181baf93f3344dfbcf269cd7c62 12-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Scope package manager queries for ephemeral apps"
7bc3a70966f17bf16acbf4fe640dab0698866d72 08-Dec-2016 Todd Kennedy <toddke@google.com> Scope package manager queries for ephemeral apps

Ephemeral apps can only see their own components or those components
exposed via the "visibleToEphemeral" XML attribute.

Normal apps can only see other normal apps. There is no way to expose
ephemeral components to normal apps.

Bug: 33458220
Test: Manually install ephemeral/normal apps and ensure they can only see appropriate components
Change-Id: I6ae65fd2a6ddc9aa9691f02cd55d4953048966b0
ntentFilter.java
m/ActivityInfo.java
m/PackageManager.java
m/PackageParser.java
m/ProviderInfo.java
m/ServiceInfo.java
e15e208ad0b25e3db095ab70ba336a5c7fcae695 09-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make MATCH_ANY_USER system api"
61bde4d40c34a8576c4468a5220395939c6e2444 09-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Replace ContentProvider SQL args w/ Bundle & Constants."
ea93fe75396465b26429cfe1c1dcfadf7351354f 02-Dec-2016 Steve McKay <smckay@google.com> Replace ContentProvider SQL args w/ Bundle & Constants.

Test: cts-tradefed run cts-dev -m CtsContentTestCases
Bug: 30927484
Change-Id: Idb9dbc2b80896e9f8474a0db71353b7a3810d597
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
b7717682495e51f602004dfbfabdf767d3fbf3de 01-Dec-2016 Todd Kennedy <toddke@google.com> Add system API to install ephemeral apps

Test: manual; install using "adb install --ephemeral"
Change-Id: Idce214779fea5f3c4a0121542319044f9f0e0a42
m/PackageInstaller.java
475f9a3d424c5fe6de6a5c58f0b350ba9e289886 08-Dec-2016 Amith Yamasani <yamasani@google.com> Make MATCH_ANY_USER system api

to allow for some privileged apps to use it.

Also fixed the javadoc to mention the correct permission.

Test: API already exercised by Settings and PackageInstaller
Bug: 31000380
Change-Id: I5fc810dfe9f8d2b64d01bbaaa0bd26ebef4e8de1
m/PackageManager.java
df259d3021d892ff404afb857176465bc82cd8bb 06-Dec-2016 Robert Carr <racarr@google.com> Correct error in Configuration.updateFrom

When updating the non direction members of screenLayout
we check that they are not in total undefined, before
accepting the new value in full. This was enough for LONG/SIZE
which are always undefined or set together. It seems we have paths
now where SCREENLAYOUT_ROUND however can be undefined and the others
will be set. In this case if we pass a configuration with
SCREENLAYOUT_ROUND_UNDEFINED but LONG/SIZE set to updateFrom then
we will overwrite our previous SCREENLAYOUT_ROUND value.
This triggers extra configuration changes. We take extra care with
SCREENLAYOUT_COMPAT_NEEDED as it doesn't have an undefined value.

Bug: 33098677
Test: bit FrameworksCoreTests:android.content.res.ConfigurationTest
Change-Id: I6e7d123d5444f93c511aeb6e0f3adfea2a480352
es/Configuration.java
322347ba58f02b960dc87eca3cb0ebe0455c9253 02-Dec-2016 skuhne@google.com <skuhne@google.com> Adding orientation preserving resizing

Adding freeform resizing to activities which require
a certain orientation. This is needed for e.g. ARC++.

Bug: 33267688
Test: runtest frameworks-services -c com.android.server.wm.TaskPositionerTests
Test: Visually on ARC++
Change-Id: If708c1602cb2ff464174389af4648ad767b0b079
m/ActivityInfo.java
m/PackageParser.java
929a81b81dc5ebdedf0fb4ba0aaa0ba544829304 07-Dec-2016 Wale Ogunwale <ogunwale@google.com> Merge "Revert "Correct error in Configuration.updateFrom""
64145dcbebdde22bc005f8968d72dc53045cff37 07-Dec-2016 Wale Ogunwale <ogunwale@google.com> Revert "Correct error in Configuration.updateFrom"

Change is preventing the device from showing the lock screen
after the boot animation.

This reverts commit 4647acb60e407670356c628d3a823c172dfeea64.

Bug: 33098677
Change-Id: If7ecb04b74d5b626c7c3517e7e8d1dc1566ccb17
es/Configuration.java
892c750f17cc8542d0048c2cdc5bda57d38f9f1c 06-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Correct error in Configuration.updateFrom"
4647acb60e407670356c628d3a823c172dfeea64 06-Dec-2016 Robert Carr <racarr@google.com> Correct error in Configuration.updateFrom

When updating the non direction members of screenLayout
we check that they are not in total undefined, before
accepting the new value in full. This was enough for LONG/SIZE
which are always undefined or set together. It seems we have paths
now where SCREENLAYOUT_ROUND however can be undefined and the others
will be set. In this case if we pass a configuration with SCREENLAYOUT_ROUND_UNDEFINED
but LONG/SIZE set to updateFrom then we will overwrite our previous SCREENLAYOUT_ROUND value.
This triggers extra configuration changes.

Bug: 33098677
Test: bit FrameworksCoreTests:android.content.res.ConfigurationTest
Change-Id: I6eb321d27011a2af2134d0ed5b6864d4cd902dc3
es/Configuration.java
988149c925b583f5c77f567fa622e39309bc4ae9 01-Dec-2016 Narayan Kamath <narayan@google.com> PackageParser: Add support for caching parse results on the file system.

The exact scheme for serializing parse results is left undefined, and
will be implemented in a follow-up change.

Also adds a unit test for this functionality.

Test: PackageParserTest
Bug: 30792387

Change-Id: I5be6a3f97b5688d0a1aa9e024e946d590ad92c13
m/PackageParser.java
e4ba777a182f076d020a78ee667baf547eebe596 05-Dec-2016 Tomasz Mikolajewski <mtomasz@google.com> Merge "Add CATEGORY_TYPED_OPENABLE for ACTION_SEND[_MULTIPLE]."
f32adf447511d54c2aa0948d3c1ef44d461538ac 23-Nov-2016 John Reck <jreck@google.com> Clean up ApplyStyle JNI

Bug: 32573798

Mark input uint32_t[] as const. Use Read-only JNI
array access for input as it's faster than critical access.

Use non-movable arrays for TypedArray so that the address can
be resolved and stored, avoiding the need to do JNI array
access for the output.

Indicies is always non-null, so remove the optional checks.

Eliminate unused return value.

Benchmark results:
twelveKeyInflate 4963us -> 4713us
simpleViewInflate 73us -> 60us

Test: Device boots, benchmarks show faster

Change-Id: Ic3bde5aee31407d8903913f97f2218daf074499a
es/AssetManager.java
es/ResourcesImpl.java
es/TypedArray.java
54365465897a0fbb2d61c3fb2460698384328ad4 02-Dec-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Floating shortcuts shouldn't have target activities."
e8c963984f43e8e6952fc046fe46b3b139654f49 02-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Disallow sharedUserId in Ephemeral apps"
32d07dce7adc23723ca2b9f76d9542a35a5ffa6b 02-Dec-2016 Chad Brubaker <cbrubaker@google.com> Disallow sharedUserId in Ephemeral apps

Test: adb install --ephemeral apk fails with a shareduid defined
Change-Id: I2e03d89b983b99e35ea799618f6830b309c09b49
m/PackageParser.java
106ff7a0a1bef974ff04e9e79a25eb5e84555893 01-Dec-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Floating shortcuts shouldn't have target activities.

Previously, even floating shortcuts (pinned but not dynamic nor
manifest) had target activities. Now we're going to allow headless
apps to have pinned shortcuts, in which cases shortcuts won't have
target activities, let's just always remove target activities
from floating shortcuts.

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to Test8.

Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutManagerTestCases
Test: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases

Change-Id: I10e5b87338cafb90e6566b3526f892c5330c73e9
m/ShortcutInfo.java
fb833f38a0c9a27b55784f2bf3dcd7aa7d652157 01-Dec-2016 Jeff Sharkey <jsharkey@android.com> Detect content:// leaving apps without grants.

Developers regularly put content:// Uris into Intents, but they can
easily forget to add FLAG_GRANT_READ_URI_PERMISSION to actually
extend a permission grant to the receiving app.

Also fix NPE when path is missing.

Test: builds, boots, common actions work without triggering
Bug: 32447617, 31900890
Change-Id: Ic6054b1d73de50967cf7fe66abc293c60a41b97e
lipData.java
ntent.java
0d1fd8d09163566d2c7eb72037f63b6404ada642 12-Oct-2016 Amith Yamasani <yamasani@google.com> Secure MATCH_UNINSTALLED_PACKAGES across users

Introduce a new internal flag MATCH_ANY_USER for genuine uses
of searching through all apps on the device.

Some temporary accommodations for Launchers that reach across
to the work profile until we have a new LauncherApps API to do
that officially.

Bug: 31000380
Test: CTS tests added
Change-Id: I2e43dc49d6c2e11814a8f8d1eb07ef557f31af34
m/LauncherActivityInfo.java
m/LauncherApps.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
02c8990bd6125f05cb32561727d559dc9327a601 15-Nov-2016 Kenny Guy <kennyguy@google.com> Allow overriding max profile in debugable builds.

Support a system property on debugable builds to
override the max number of managed profiles to
allow easier dogfooding of multiple profiles.
Support 3 different badge colours for managed profiles.

Bug: 30473760
Test: runtest -c com.android.server.pm.UserManagerServiceCreateProfileTest frameworks-services
Test: runtest -c com.android.server.pm.UserManagerServiceUserInfoTest frameworks-services
Test: manual - attempting to create 2 profiles with adb fails, passes once I set the property.
Change-Id: Ie7fb19048a04a01572666f229283152254d0ffc3
m/PackageManager.java
m/UserInfo.java
28a815c737c0873c29a7c746600600fbbe3e3169 28-Oct-2016 Tomasz Mikolajewski <mtomasz@google.com> Add CATEGORY_TYPED_OPENABLE for ACTION_SEND[_MULTIPLE].

This category should be set when any virtual files are passed
via an Intent.

Test: CTS coming.
Bug: 28409713
Change-Id: I28eaecb3b8e9b604818adbdaf7fdaef1b4f9a564
ntent.java
b1df48d32632d0ba5a2389fb9fad2943dcb55562 23-Nov-2016 Baligh Uddin <baligh@google.com> Merge remote-tracking branch 'goog/cw-f-dev' into fix_merger

Bug: 32849428

* goog/cw-f-dev: (98 commits)
Revert "Catch KeyStoreException for setting profile lock"
Fix createConfirmDeviceCredentialIntent for wear for CTS.
Fix default dialog background colour for watch devices.
Catch KeyStoreException for setting profile lock
Add cross-links between FINE and COARSE location permissions. bug: 25371600
Fixed a bug with the emergency affordance in multi user
Zygote: Additional whitelists for runtime overlay / other static resources.
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Zygote : Block SIGCHLD during fork.
colors: add missing accent_material_{700,50} resources.
Import translations. DO NOT MERGE
Import translations. DO NOT MERGE
Zygote : Block SIGCHLD during fork.
DO NOT MERGE ANYWHERE Revert "DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous"
...

Change-Id: I63468da5bfa21ed9ac5985bbdbf3a61d4c389aa0
3dfca02da4d1a324fded26ab4bb2251b6fe7a27f 22-Nov-2016 Neil Fuller <nfuller@google.com> Merge "Change EXTRA_TIME_PREF_24_HOUR_FORMAT from boolean to int"
4fe2517732bc39ed736b2451fc3399c010ff9380 21-Nov-2016 Ian Pedowitz <ijpedowitz@google.com> Revert "Lists returned from OS aren't mutable."

This reverts commit 97449fa389dbc1ab872d63fde001bae7a659991b.

Bug: 33034458
Bug: 33032977
Bug: 27856974
Change-Id: If913e587ce4a48b9ed1c7c0a811bc39ce4e31d3c
m/ParceledListSlice.java
b7146fec0d864fc8d107ff42c863f999d1129c84 15-Nov-2016 Neil Fuller <nfuller@google.com> Change EXTRA_TIME_PREF_24_HOUR_FORMAT from boolean to int

... on Intent.ACTION_TIME_CHANGED.

This is to better represent the possible settings values for
the "use 24 hour format" setting. These are "12" (use 12 hour
formatting), "24" (use 24 hour formatting), unset
(use locale default formatting).

The EXTRA_TIME_PREF_24_HOUR_FORMAT for the ACTION_TIME_CHANGED
is now an int, not a boolean. 0 means "12", 1 means "24" and
2 means "use locale default". This is not a backwards compatible
change but the EXTRA_TIME_PREF_24_HOUR_FORMAT is not public
and so should only affect platform code that generates or
consumes the intent like settings code.

There are associated changes to Settings code to update the source
of the Intent.

The related underlying code that is triggered in response to the
intent and previously assumed a boolean now takes a Boolean.

Other changes:

The ActivityManagerService now only sends a binder notification
to running services if the EXTRA_TIME_PREF_24_HOUR_FORMAT
is present. There is an example of ACTION_TIME_CHANGED
being sent from the platform (AlarmManagerService, when the system
clock is noticed to have changed independently of the RTC) that
does not set the extra and would previously have misinterpreted
to mean "user wants 12 hour formatting", which would have been a
bug.

i.e. the code from ActivityManagerService that would interpret the
missing extra as false:

final int is24Hour =
intent.getBooleanExtra(
Intent.EXTRA_TIME_PREF_24_HOUR_FORMAT, false) ? 1 : 0;

Some methods and constants have be renamed to better reflect their
use.

Bug: 32761619
Bug: 32933009
Test: Manual testing
Change-Id: Ie7e9c62ce65e7e3a056b2751b45fe6cb9de86498
ntent.java
97449fa389dbc1ab872d63fde001bae7a659991b 18-Nov-2016 Jeff Sharkey <jsharkey@android.com> Lists returned from OS aren't mutable.

Data returned via ParceledListSlice is a snapshot of data from the
system, and should not be mutated directly.

In particular, this can cause developer confusion if they call
Collection.remove(), which doesn't actually mutate the value in the
system. There are other mutation APIs that developers should be
using instead, such as JobScheduler.cancel().

Test: builds, boots, common operations work
Bug: 27856974
Change-Id: I72528dee4d79e483aa295bd91d1ed80d0d72d21c
m/ParceledListSlice.java
1133424c2bf28640299a6de375aaa19cfcb407b5 17-Nov-2016 Bartosz Fabianowski <bartfab@google.com> Wire up PM.getInstalledApplicationsAsUser(flags, userId) as hidden API

Settings needs to access a variant of getInstalledApplications() which
takes a |userId| argument. Since this is not currently exposed by
PackageManager, Settings calls into PackageManagerService directly. This
is ugly and breaks the regular abstraction layer hierarchy.

The CL fixes the problem by exposing the required variant of
getInstalledApplications() as a hidden API, analogously to what was done
before with getInstalledPackages().

Bug: 32692748
Test: Will be CTS-verifier-tested together with Settings
Change-Id: Id9c4e8e18524d312159821f1a4d5527263c7e950
m/PackageManager.java
3e12f413d40e55da3d8a964740bc2aa9899c622b 17-Nov-2016 Todd Kennedy <toddke@google.com> Merge "Implement 2-phase resolution"
2eb0a8b4d5f1e9c2d569c3cf07d450ebc1ab41e5 16-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fixing typo in method comment."
da153f5af4612fb4ae8b5aa3324603e707e65658 16-Nov-2016 Chad Brubaker <cbrubaker@google.com> Merge "Shift ApplicationInfo private flags"
86f39a4287137caf052adc5d000b98ba0d526ce2 16-Nov-2016 Kweku Adams <kwekua@google.com> Fixing typo in method comment.

Test: none

Change-Id: I5583e4de17da0ddd28b12ee879b27a24734906fb
ontext.java
f2f406cade2679de8590210abb22f8babbf408de 16-Nov-2016 Jeff Sharkey <jsharkey@google.com> Merge "Treat everyone the same, redux."
26c48fac73cce07d0a41c567e97d9d3f02d3a5d3 16-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I99813278,I6285042b

* changes:
Fix copypasta error.
Aggressively clear cached data when forgetting.
13deeafe46ac8669b0d66fbc3c8a8f8fec023d67 16-Nov-2016 Jeff Sharkey <jsharkey@google.com> Treat everyone the same, redux.

Test: builds
Bug: 29746499
Change-Id: Id2a9aacf0db40cdd053d203897e792662c6d3cd0
ontentProviderClient.java
a3a43b09fe54c7f72554d8b37e539629acf15132 16-Nov-2016 Jeff Sharkey <jsharkey@android.com> Fix copypasta error.

Test: builds
Bug: 29087651
Change-Id: I99813278bc37fa332730144f821b33ae6bd35650
m/ApplicationInfo.java
bae5ca14906c15f033c07b3ad9d0c3e382dc7327 16-Nov-2016 Sudheer Shanka <sudheersai@google.com> Merge "Rename MountService to StorageManagerService."
c67b49af3fdb3582d07aa533d9cf063ba9aabc2c 15-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Javadoc and un@hide ContentResolver#refresh and ContentProvider#refresh."
2250d56a0b47b93016018340c8f4040325aa5611 08-Nov-2016 Sudheer Shanka <sudheersai@google.com> Rename MountService to StorageManagerService.

Bug: 30977067
Test: Existing tests pass
Change-Id: Ieac0f11c2b249dcd60441b14c1f391e6f8131d42
m/IPackageManager.aidl
01ad0c7e403794b272494f187d91f57bdfa07c9d 12-Nov-2016 Todd Kennedy <toddke@google.com> Implement 2-phase resolution

Bug: 25119046
Test: build & install the sample resolver and run 'adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://www.tripadvisor.com/Tourism-g33020-San_Jose_California-Vacations.html"'
Change-Id: I624b9028061aad35db80e0d51bfe0a39fb81806c
ntent.java
m/EphemeralRequest.java
m/EphemeralResolveInfo.java
m/EphemeralResponse.java
m/PackageManagerInternal.java
m/ResolveInfo.java
2b64a88274f0af2c19aeacc81735605e7300cf3c 12-Nov-2016 Ben Lin <linben@google.com> Javadoc and un@hide ContentResolver#refresh and ContentProvider#refresh.

Test: CTS Tests part of same topic.

Bug: 31647485
Change-Id: Iad7f19b6b54f72736fbb7e477f67cf541d838903
ontentProvider.java
ontentResolver.java
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 11-Nov-2016 Sudheer Shanka <sudheersai@google.com> Update usage of ActivityManagerNative.

- Remove references to ActivityManagerProxy.
- Add isSystemReady to ActivityManager.

Bug: 30977067
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
roadcastReceiver.java
ontentResolver.java
ntentSender.java
46aabe5ef4362014914b7df707c2de2341211d69 14-Nov-2016 Tony Mak <tonymak@google.com> Allow cross profile call between DO and PO

Allow DO to bind service of PO in managed profile and vice versa.
DO and PO must be the same package.

Bug: 31895999

Change-Id: I3ce2943aebd1249401d5814757a0ce25b9f85279
Test: cts-tradefed run cts --module DevicePolicyManager --test com.android.cts.devicepolicy.CorpOwnedManagedProfileTest
ontext.java
ontextWrapper.java
890a14d3995941e0dbde82b867e8952fbcc18dfe 12-Nov-2016 Makoto Onuki <omakoto@google.com> App Shortcut: Clarify which attributes must be resources am: 104f805337 am: 2a3fe7d979 am: b0fd5ba122
am: 7e1b835a4e

Change-Id: I767dcbe980a60af1a3076acdf9234f4241ab7ca1
7e1b835a4e7f3e8d29b1c294cbbd2ca1eeb2cfbf 12-Nov-2016 Makoto Onuki <omakoto@google.com> App Shortcut: Clarify which attributes must be resources am: 104f805337 am: 2a3fe7d979
am: b0fd5ba122

Change-Id: I4780d09f8b692dbe76f1726a436f9693281fd488
12ab5e1d700714253fd05b8858bf4a3ec543afed 11-Nov-2016 Ruben Brunk <rubenbrunk@google.com> Prevent crash on uninstall.

- Crash due to race between package removal and permission revocation.
- Catch exception thrown by packagemanager.
- Improve documentation of packagemanager methods.

Bug: 32247014
Change-Id: Ie548c385e9e86418e7c4b87c571beebfcaeff353
m/PackageManager.java
1cf454fcb69f63cfb2c5576aab310679df502516 10-Nov-2016 Ben Lin <linben@google.com> Adding ContentProvider#refresh and ContentResolver#refresh.

Original CL is from ag/1568530.

Bug: 31647485
Change-Id: Ib45fc995a361b8c75cd3600f638910b18a263d51
ontentProvider.java
ontentProviderClient.java
ontentProviderNative.java
ontentResolver.java
ContentProvider.java
e07641d4fbdd0528c18305213e861a6e1aff4a3b 10-Nov-2016 Dianne Hackborn <hackbod@google.com> Start implementing background restrictions for eph apps.

This implements the additional intended path for checking
allowed background operations, APP_START_MODE_DISABLED, which
doesn't allow an app to launch in the background at all.

Also change the semantics of delivering broadcasts to manifest
receivers to always restrict those, not changing based on
whether the app is currently idle. This is the desired intended
behavior for apps as they explicitly update to work with
bg check.

And now that we have ephemerality associated with the uid state
in the activity manager, we can propagate this through the
relevant callbacks in IUidObserver so things watching these
changes can immediately determine whether they should do their
more aggressive shut down work for the uid rather than having
to walk through all their state looking for package associated
with that uid and whether they should be shut down.

Also remove the "lenient" bg check mode, since that was
just an early experiment that we won't actually use.

Add a new "make-idle" activity manager command to immediately
put a uid into the idle state (if possible) to make it easier
to test.

Test: manually against an eph app
Change-Id: I43a138ff281f69a9251d3f29ab6e13f48cff8ad6
m/PackageManagerInternal.java
d6dd6b8a613c9c91eeebde713f12f18e6cc43c1f 07-Oct-2016 Tamas Berghammer <tberghammer@google.com> Install all files from the lib directory for debuggable apps

This is required to support developer tools what want to install helper
code (e.g. scripts, executables) into the apps lib directory.

Test: manual - install debuggable & non-debuggable app
Change-Id: Ibceb827f92a09735d7c605e689e23c0cd293a6fd
m/PackageParser.java
00f42c3b28b6535274ff94fa6ed1a076d5f1d734 09-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Initial implementation of the Auto-Fill Framework classes."
d0ac9d3bac179d2787ebfc11fe0d9c3d7e6d425e 09-Nov-2016 Jeff Sharkey <jsharkey@google.com> Merge "Detect non-oneway calls leaving system_server."
5381aa4b585f3fa2a315d88e910111173e2ef77d 13-Oct-2016 Felipe Leme <felipeal@google.com> Initial implementation of the Auto-Fill Framework classes.

This CL provides the initial, skeleton implementation of the Auto-Fill
Framework classes:

- Defines the system service and app-based
AIDL (IAutoFillManagerService.aidl and IAutoFillService.aidl respectively).
- Defines the 'adb shell cmd' interface.
- Defines the permission required to access the service.
- Registers the service on SystemServer.
- Adds the code to bind the app-specified service to system_server.
- Defines the service class (AutoFillService) required by providers.
- Implements the initial startSession() method.

This is still a very early, "work-in-progress" change:
- It has many TODOs.
- It does not have unit or CTS tests yet.
- It does not provide a callback method to auto-fill the fields.
- In fact, it has a lot of TODOs.

Despite these adversities, it can be tested by following the steps
below:

1.Create an app with a service extending AutoFillService

2.Implement the onNewSession() method

3.In the manifest:
- Listen to android.service.autofill.AutoFillService intents.
- Require the android.permission.BIND_AUTO_FILL permission.

4.Explicitly set the app as an autofill-service by running:
adb shell settings put secure auto_fill_service MY_APP/.MY_SERVICE

5.Start a session against the top activity:
adb shell cmd autofill start session

BUG: 31001899
Test: manually built and ran it

Change-Id: I00f4822159b31ddddba8f513e57c4474bc74eb89
ontext.java
e5195dd17c5e1d8538049a5282c0d988988f63c8 20-Oct-2016 Todd Kennedy <toddke@google.com> Implement new API

This is the first swack at the new, 2-phase API. Adds the new methods
to the resolver service and makes the split name explicit on the
installer intent.

The 2nd phase will not yet be invoked; that's coming in a follow-on
change.

Bug: 25119046
Test: build & install the sample resolver and run 'adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://www.tripadvisor.com/Tourism-g33020-San_Jose_California-Vacations.html"'
Change-Id: I2df6fa64d46f17a86a2e32b19417632c594fb10f
ntent.java
m/EphemeralIntentFilter.java
m/EphemeralResolveInfo.java
m/ResolveInfo.java
00c2ed26f6046af805a408079eac5cd3355608ef 08-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add an extra to pass initial location URI for file choosers."
af4fac5b7704a7a67834bc7bcb7380879684aabf 08-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Always propagate changingConfigurations to newly-created drawables"
b44ae61e01b1ca9cda789903f09ad771500534c1 08-Nov-2016 Garfield Tan <xutan@google.com> Add an extra to pass initial location URI for file choosers.

Test: It builds.

Bug: 30031881
Change-Id: I64e9392b0aec75baee13039642316f7e50494567
ntent.java
0a17db1cc5942ea000ca87bb72853de57a15ec64 04-Nov-2016 Jeff Sharkey <jsharkey@android.com> Detect non-oneway calls leaving system_server.

To protect system stability, any Binder calls leaving the
system_server must carefully be performed using FLAG_ONEWAY (or
the 'oneway' verb in AIDL) which prevents the call from blocking
indefinitely on the remote process.

In this CL, the system_server uses the new Binder.setWarnOnBlocking()
method to enable detection by default for all remote Binder
interfaces. It can also use Binder.allowBlocking() to allow
blocking calls on certain remote interfaces that have been
determined to be safe.

This CL adds the 'oneway' verb to several interfaces and methods
where it should have been added, and marks a handful of system
ContentProviders as being safe to call into. Also, we assume that
any services obtained from ServiceManager are part of the core
OS, and are okay to make blocking calls to.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: Ide476e120cb40436a94b7faf7615c943d691f4c0
ontentProviderNative.java
a99a05982e181f079c0cdb63f753f1677bc55b4a 06-Nov-2016 Etan Cohen <etancohen@google.com> Merge "[NAN-AWARE] Rename NAN to Aware" am: 74b1131cc8
am: 6571007101

Change-Id: Ief54b313dc5ca5d30645b55ed2ad0333036a1671
65710071018141fecd0346ed09e53c262939e54c 06-Nov-2016 Etan Cohen <etancohen@google.com> Merge "[NAN-AWARE] Rename NAN to Aware"
am: 74b1131cc8

Change-Id: I2e788e19a11f2709f2e542dbdc4b58433a3574bf
0849ded00879dc05175c079011aa038c5ba0770a 26-Oct-2016 Etan Cohen <etancohen@google.com> [NAN-AWARE] Rename NAN to Aware

~Rename only (and any reformatting needed to pass lint) - no
functional changes!

Remove android.net.wifi.nan.STATE_CHANGED from manifest:
redundant/remnant of an older configuration.

(cherry-pick of commit a61b9fb569153917a650f1d48efa20ba8846a9f3)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Merged-In: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614
Change-Id: I4206d2fd722dc7dec9df4aee5c818101d7f9dccc
ontext.java
m/PackageManager.java
3a1dd86ce48533055b062364a2bd567a259abf71 05-Nov-2016 Etan Cohen <etancohen@google.com> Merge "[NAN-AWARE] Rename NAN to Aware"
0413327d741fe7246f9d5bf508da6f6b6a6a7476 26-Oct-2016 Etan Cohen <etancohen@google.com> [NAN-AWARE] Rename NAN to Aware

~Rename only (and any reformatting needed to pass lint) - no
functional changes!

Remove android.net.wifi.nan.STATE_CHANGED from manifest:
redundant/remnant of an older configuration.

(cherry-pick of commit a61b9fb569153917a650f1d48efa20ba8846a9f3)
(cherry-pick of commit b061f21e7e59a99834e163e2baa1c82229e419a6)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Change-Id: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614
ontext.java
m/PackageManager.java
3e8431f1f223cb688f66da30816515d87f846d5b 04-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move IActivityManager to aidl."
4389c23b3581d35660f85f3a6c6d7c8ed4dfc17b 04-Nov-2016 Chad Brubaker <cbrubaker@google.com> Shift ApplicationInfo private flags

Move FLAG_EPHEMERAL (new in O) to the gap where the old unused
FLAG_AUTPLAY was and then shift the remaining flags down.

Test: Builds
Change-Id: I9a159dd82a3eb104adc1e3985a15115e866fbda5
m/ApplicationInfo.java
cbc59b8aa620ce6eea50bd787d2daa0d5232fe68 04-Nov-2016 Chad Brubaker <cbrubaker@google.com> Merge "Move ephemeral apps into the ephemeral SELinux domain"
fc46e9b643881b7b2ab76854f3a0ac077e9def8d 22-Oct-2016 Sudheer Shanka <sudheersai@google.com> Move IActivityManager to aidl.

Bug: 30977067
Test: Existing tests are passing, dump commands still working.
Change-Id: I9cf81c4d381ebce14a6c701e409cbb269f2ff1fb
m/ConfigurationInfo.aidl
0b3cf666d01e20b4801df71a67fbfac6f4b6f713 31-Oct-2016 Garfield Tan <xutan@google.com> Unhide findPath() API. Add JavaDoc to related features.

Also remove comments that disallow folders in search results.

Test: It builds.

Bug: 30948740
Bug: 32512923
Change-Id: I72706b69163aa98ee9568939e09e5048b6e8f9f8
ntent.java
02e17d27b1d9289059fd18d512ae978f0dfd666e 03-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[DPM] Management and retrieval of network logs"
3c177282974f556c33cad7c470722989f06008de 02-Nov-2016 Fyodor Kupolov <fkupolov@google.com> Merge "Reuse single AssetManager for lite/full parses"
d3986be5e40115158cb3e41f251cad41cf08eeab 01-Nov-2016 Tony Mak <tonymak@google.com> Add javadoc for profileGroupId

According to the implementation of getProfileParent,
profileGroupId == parent user id.

And we have already assumed this is true in some part of code in DPMS.

Test: Javadocs change

Change-Id: Ie48fdf24fb0428d4ee3f09bed2ac26cb17e1ced9
m/UserInfo.java
f77ee4f1b79929a77f603e5e879f3616ae464e3e 12-Oct-2016 Michal Karpinski <mkarpinski@google.com> [DPM] Management and retrieval of network logs

This CL follows up on ag/1530343 and adds:
1) Various network events.
2) Retrieval method in DPM and APIs in DeviceAdminReceiver.
3) Extension of NetworkLogger and it's NetworkLoggingHandler.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
Bug: 29748723
Change-Id: I42a1a477e7c75c109a3982f809c22732b814e8b2
m/PackageManagerInternal.java
965fa697c96d00ec16847adcd4e0618844cddd2c 29-Oct-2016 Fyodor Kupolov <fkupolov@google.com> Reuse single AssetManager for lite/full parses

parseClusterPackage/parseMonolithicPackageLite now share a single instance
of AssetManager, avoiding loading resources twice.

Test: manual

Bug: 29273545
Bug: 30792387
Change-Id: I2209cf6f09886d444dc62993aace00c356718cdb
m/PackageParser.java
006b53a68149d22dc8174ed6c46175967e6f0764 31-Oct-2016 Chad Brubaker <cbrubaker@google.com> Merge "Add ephemeral protection level"
104f8053370f9e01ac2e8e23bc31d128e5fcc00b 28-Oct-2016 Makoto Onuki <omakoto@google.com> App Shortcut: Clarify which attributes must be resources

Test: javadoc only -- m -j32 offline-sdk-docs

Bug 32495737

Change-Id: I4c3884172761b128d07f1c2948ab7ccc53951a7e
m/ShortcutManager.java
c19706a937abc5d025a59b354b3a0d89e7d62805 14-Oct-2016 Chad Brubaker <cbrubaker@google.com> Add ephemeral protection level

Ephemeral applications will only be able to be granted permissions that
have the ephemeral proteciton level, this allows us to tighly define
what behavior is OK for ephemeral applications.

This includes an initial small whitelist of permissions for ephemeral
apps, it may be expanded later.

Test: adb install --ephemeral, verified against both runtime and install
time permissions
Test: cts-tradefed run cts -m CtsPermission2TestCases
Change-Id: I854c44cf7a293d484b674cdd4fb5141e362a2f1a
m/PackageParser.java
m/PermissionInfo.java
58857c8b2bd64272d2320f62fd860783bb671da8 29-Oct-2016 Alan Viverette <alanv@google.com> Always propagate changingConfigurations to newly-created drawables

Bug: 32395972
Test: ResourcesTest#testChangingConfigurations
Change-Id: I555f3271854bdb6026db15f855847714c4986af3
es/ResourcesImpl.java
0f5d753972ca784cd9335e27ae5ec0865ee89063 18-Oct-2016 Robert Carr <racarr@google.com> Allow specifying rotation animation in manifest.

In the case where activity launching may trigger orientation
changes we may wish to run the rotation animation with a starting
window, in which case the app won't have had time to set the
rotation animation on the window yet, so we desire a way to
specify it for the whole activity.

Test: Run RotationAnimation activity from API Demos and verify default animation is crossfade
Bug: 29940147
Change-Id: I5deae6c6a32ee51a0a5409d38f0e5d15ca464a1b
m/ActivityInfo.java
m/PackageParser.java
b881803ef2c891595cdb36006eca40b760430c1c 20-Oct-2016 Kevin Hufnagle <khufnagle@google.com> docs: Updated ShortcutManager and ShortcutInfo class references. am: 68d699d100 am: 38138600d2
am: cc93c4d247

Change-Id: Idc65cf4ce396728840a81893b2e078af6152cddc
cc93c4d24754606adca6085b144182156cb8543e 20-Oct-2016 Kevin Hufnagle <khufnagle@google.com> docs: Updated ShortcutManager and ShortcutInfo class references. am: 68d699d100
am: 38138600d2

Change-Id: I5545ca14cebb7ff1d38f03d329c3a0dd1f329390
68d699d100584b7e5c76ac69737e717f3c6a88d4 15-Oct-2016 Kevin Hufnagle <khufnagle@google.com> docs: Updated ShortcutManager and ShortcutInfo class references.

Bug: 32074598
Change-Id: I168d49a8542b411a074dc6e9120b0f08f72a829a
m/ShortcutInfo.java
m/ShortcutManager.java
145b0cad4271a25988602b1ae24137319b10fb16 14-Oct-2016 Ben Lin <linben@google.com> Adding an Extra field for Intents so chooser show up even if one app.

By design, ChooserActivity (the activity that shows up when there's an
intent sent that can be handled by multiple apps) always default to not
show if there's only one app available to choose from. This adds the
extra in Intent such that if passed in, the parent activity can choose
to override the behavior and force show the chooser even if there's only
one app. Default is still skipping the chooser.

Bug: 31830662
Change-Id: I17d676e77094cded4af99c7433f511e8c6c58164
(cherry picked from commit 2c5adbdf1942898baa97a3c8a7976fc7c0627902)
ntent.java
a8a9bc5860c5d6139366f01b2f66e3f592da92e1 14-Oct-2016 Andrii Kulian <akulian@google.com> Make usage of Configuration.EMPTY safe

With current approach there is a high chance of making a programming
error and altering the state of singleton Configuration.EMPTY object,
because previously configuration was usually set by link to it.

This CL changes the behavior to create Configuration member objects
only once and alter their state afterwards.

Test: Manual and existing tests still pass.
Change-Id: Ie267c2fbf555f137670b7bd2cd251b817c69bc8e
es/ResourcesKey.java
df241e97715abf10fc043233d18ac4cdd5c0f889 14-Oct-2016 Wale Ogunwale <ogunwale@google.com> Allow home activity to be resizeable if it explicitly wants to be.

We previously didn't allow home activities to be resizeable due to not fully
understanding how the UX would work. We now have a better idea of how the UX will
work. However, since this is a behavior change for home activities we require them
to explicitly say they want to be resizeable vs. the framework assuming they can
be resizeable based on their target sdk.

Bug: 30982291
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
Change-Id: I41aefc8c3b3da4c2cf66be81835222196df3ef26
m/ActivityInfo.java
72a73e347352302c72a4ef701bcba91336db22a9 13-Oct-2016 Wale Ogunwale <ogunwale@google.com> Track making activity resizeable based on sdk version separately.

To support resizeable home activities we need to make the home activity
resizeable only when the app explicitly says it is resizeable. To be able
to do that we need to track if we are allowing the app to be resizeable
due to the sdk version it is targetting separately from it explicitly
setting it so that activity manager and window manager can make the right
choices in a follow-up CL.

Bug: 30982291
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
Change-Id: I10f53ee9e57a41a3edece91cf68c5e8ef4bf4489
m/ActivityInfo.java
m/ApplicationInfo.java
m/PackageParser.java
3eadad75664e71519deebcf7a978b492952616ff 13-Oct-2016 Wale Ogunwale <ogunwale@google.com> Removed ActivityInfo.RESIZE_MODE_CROP_WINDOWS and related code.

The 2-finger gesture feature which this code is used for never
shipped and was removed from the code base.

Test: Existing tests pass.
Change-Id: I1540c8729fe87fef8e39b41747438557a8da2fa6
m/ActivityInfo.java
m/PackageParser.java
8888aedc1f847e5db5b63d45fbe4d501f133baa2 13-Oct-2016 Dianne Hackborn <hackbod@google.com> Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle am: 851ec49de7 am: 9774ea3646
am: 50468217c4

Change-Id: I949e6337546835a0673b85ee6e2ad67fb0a0fec4
50468217c48e3d10be1391fad0b016279694a82a 13-Oct-2016 Dianne Hackborn <hackbod@google.com> Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle am: 851ec49de7
am: 9774ea3646

Change-Id: I7e27381f7fa4ca8770ca06cdc6c0bdd18a549ae2
851ec49de73913547a51476e9c80cccfd7c15572 13-Oct-2016 Dianne Hackborn <hackbod@google.com> Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle

We now recursively generate new Bundle objects if we need to
do any stripping.

Change-Id: I4ca7896a0771c25264591ae7c79df85816d630d4
ntent.java
5cde9305e4f318d58666939b36a2e019317b3b0c 12-Oct-2016 Chet Haase <chet@google.com> Fix small typo in ShortcutManager header docs am: c158431f8e am: 5aa0dfcc0a
am: 3267a2462d

Change-Id: I9417c0a15bbc2125dd0c370bc09b2315706005f1
3267a2462d98e10aad264b6c5b4658e708709f54 12-Oct-2016 Chet Haase <chet@google.com> Fix small typo in ShortcutManager header docs am: c158431f8e
am: 5aa0dfcc0a

Change-Id: Ia3a1a14cf561e6846245fa8265e96e954d8a185d
c158431f8ed027de30d715cfefd70315d1f3828a 11-Oct-2016 Chet Haase <chet@google.com> Fix small typo in ShortcutManager header docs

Bug: 32093275 fix typo in ShortcutManager javadocs
Test: no test, just words in the header docs
Change-Id: Icd33481a7f285686429d908cf92de0f6f886f962
m/ShortcutManager.java
45abcf44c5a1735905ec5a481dd396ef3fad6c54 07-Oct-2016 Chad Brubaker <cbrubaker@google.com> Move ephemeral apps into the ephemeral SELinux domain

This also removes AutoplayApp which was the previous (ununsed) N domain
and flag for ephemeral apps.
Test: Ephemeral apps now run in ephemeral_app
Change-Id: Ie339885c3996acbdcfe12452daa1d5edb3b93cda
m/ApplicationInfo.java
32995223a85a3b774789091d97987dfacc1e9ef3 07-Oct-2016 John Reck <jreck@google.com> Convert utils fastjni -> @FastNative

Test: builds & boots, refactor no behavior change
Change-Id: Ieb569a70fd05b88a8d2bd7b285099c1fc1888a75
es/AssetManager.java
es/XmlBlock.java
4fc56e2c10f62c7c2edd336f7498819d04785bbd 06-Oct-2016 Nicolas Prévot <nprevot@google.com> Merge "Don't allow the shell to change admin-locked app permissions."
f1ac71dbe278fd9253861787a1bfc6262eae24f4 05-Oct-2016 Robin Lee <rgl@google.com> Merge "Redact work notifications separately from personal"
700e1e7ee8e4ed491768a35ed692a4e8f0ff0d4b 28-Sep-2016 Nicolas Prevot <nprevot@google.com> Don't allow the shell to change admin-locked app permissions.

BUG:27432532
Change-Id: I67f8794ea923edb5024033bb2a4474a1fb6d5fd9
m/PackageManagerInternal.java
9c3cbe634c9c5609e5300342ac3527687695c59f 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Added note in getCacheDir() that developers can use directory obtained from getExternalCacheDir() to store app caches larger than 1 MB. am: e9681e192a am: ba65a92855
am: cf7a2e1efd

Change-Id: Ica7b4c4a6544a4b7f71ddb26dbc979b11abab81c
e49b2ac9eebddd10898203d86bd7e449b7ad9acb 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Removed all instances of "i.e." in IntentFilter parameter descriptions. am: e20b3d78e3 am: e0360165d3
am: ffafee82cd

Change-Id: I5a367c279f88f6046df67fd19312067984bb1edc
5b4664b2deecd3d6d21c51e75313c8dfecfeee87 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed example of ACTION_VIEW intent am: aedfd75b1b am: 108623004f
am: 978be65ce7

Change-Id: Ib487f0b406faf94d32a67444a4068840301f03bd
9dc7f07f263118fb3fc6bf98974de47137de534f 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Adjusted return value desc. for getApplicationEnabledSetting am: 5add769f59 am: 1fb3dec4be
am: 5ca3c61069

Change-Id: I4bc998a8b1848068d030b3c826189836de3c7375
cf7a2e1efd0c25c2d15c730d6a1f5e76565a3788 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Added note in getCacheDir() that developers can use directory obtained from getExternalCacheDir() to store app caches larger than 1 MB. am: e9681e192a
am: ba65a92855

Change-Id: Ia3fc2e6cfc85269a04a721d7c6fe14e04555a121
e83639f66a7f8d57056b34fe317ec1fedd281323 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Added note in getCacheDir() that developers can use directory obtained from getExternalCacheDir() to store app caches larger than 1 MB. am: e9681e192a
am: 2e8026acc0

Change-Id: I93a1abe6b80a441f8c441390dacbff2824d52e57
ffafee82cd7590ee94410719728e59aff8daf672 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Removed all instances of "i.e." in IntentFilter parameter descriptions. am: e20b3d78e3
am: e0360165d3

Change-Id: I02e413c1dbf2cfe684a0b73aafd7075b4db4c090
abfc0340d77742034e760e18d042461234d8c93e 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Removed all instances of "i.e." in IntentFilter parameter descriptions. am: e20b3d78e3
am: 9402b319fe

Change-Id: Id7d4b705073802abcb2d902b50673a09933ff3da
2e8026acc0eba5068f769c77df4d56b9bea2b46d 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Added note in getCacheDir() that developers can use directory obtained from getExternalCacheDir() to store app caches larger than 1 MB.
am: e9681e192a

Change-Id: Ide8f3c2dd5414737c798c20c1fe9f11dcd9640ce
ba65a9285519c7d7fc589402f1b9bfbf7c313a44 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Added note in getCacheDir() that developers can use directory obtained from getExternalCacheDir() to store app caches larger than 1 MB.
am: e9681e192a

Change-Id: I4d84c62b039746cd70c74a0bc9edbffc6df3a44c
9402b319fe44e8aeeb472469911be5a395dc5ff6 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Removed all instances of "i.e." in IntentFilter parameter descriptions.
am: e20b3d78e3

Change-Id: I8d677ebcf03c28f46874514408240162cd6331c5
e0360165d3bc045dee7241477a784cf746db7630 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Removed all instances of "i.e." in IntentFilter parameter descriptions.
am: e20b3d78e3

Change-Id: I37821ca96243491cf642a58475dd96e5e7b52962
978be65ce7ff00762195110cdeaf30e45031c784 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed example of ACTION_VIEW intent am: aedfd75b1b
am: 108623004f

Change-Id: I7efbc417f5cd7ebfa8a6e19d110a742a22bdd465
ee3fc61cf9802df8b34950639463784547173fef 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed example of ACTION_VIEW intent am: aedfd75b1b
am: 2c885fc5ea

Change-Id: I1d94ee6938726736d6cbccafea848dd6f3d6a350
2c885fc5ea03e1e01ba2f13fe3181e8e8fdafac3 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed example of ACTION_VIEW intent
am: aedfd75b1b

Change-Id: Iaaaa1cb0f6d796ad5c5c178c70850fd83e635013
bec2e99f95329ebf76af5a8ec0ee2fbed2fd1085 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Adjusted return value desc. for getApplicationEnabledSetting am: 5add769f59
am: d23fc43965

Change-Id: I27847f0935c047e74ab986c501fce160679a80d7
108623004f90814b7d43c2c94eec5cdf6af31dcb 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed example of ACTION_VIEW intent
am: aedfd75b1b

Change-Id: I2ac1bd94b7cacc2b1aaed6caf2f7044db5a892c6
5ca3c61069f9bc7742d0101155d6c25b71fe50a5 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Adjusted return value desc. for getApplicationEnabledSetting am: 5add769f59
am: 1fb3dec4be

Change-Id: I0137a54c007b590891486fbb5a4c167b2fd52961
d23fc4396503d74f9ecd02261e1d3c7717d067db 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Adjusted return value desc. for getApplicationEnabledSetting
am: 5add769f59

Change-Id: Ic0566aa6e2764a9d0db58c6f66ad028229a8fdca
1fb3dec4be945965d5e1066ae77f4047a9c0f5dd 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Adjusted return value desc. for getApplicationEnabledSetting
am: 5add769f59

Change-Id: Ibffca6373a01e74bc25a4f44afbc7c4463810124
e9681e192a678d2b8f1fae5c92a87d5d52149515 24-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Added note in getCacheDir() that developers can use directory
obtained from getExternalCacheDir() to store app caches larger than
1 MB.

Bug: 22505268
Change-Id: I9972ba5ef7b43a135c00ac48a2e5ccb1fcc5b103
ontext.java
e20b3d78e34a1a3a46c279aeb83012b98784ce9a 23-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Removed all instances of "i.e." in IntentFilter parameter
descriptions.

Bug: 5877117
Change-Id: Iccb16589a72d3180330f13ec224578a0c5ad81c6
ntentFilter.java
973edd19db752483f5958f974068c89fead1371b 09-Sep-2016 Svet Ganov <svetoslavganov@google.com> Don't show account access request UI until app launched.

Sync adapters that don't have account access cannot run until
the user explicitly approves in the UI. This is spammy given
the user may not use the app right away. This change doesn't
show the notificaiton until the app has run.

bug:31162498

Change-Id: I1f4f2d2e9426f78763590e8aa542b94d6e93e488
m/PackageManagerInternal.java
2a9b220608832c56b59c012b41b45d964fc13017 21-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "While-list apps to access account if already saw it"
f6d424f133563fb3fc75d8fd260e6e7ed4608ef6 21-Sep-2016 Svet Ganov <svetoslavganov@google.com> While-list apps to access account if already saw it

Sync adapters without an account access cannot run until the
user approves the account access (for the case the account
access is not allowed by other policy such as being singed
with the same cert as the authenticator). However, if the
sync adapter package already got the account from another
app which means it already saw the account we white-list
the sync adapter app to access the account as it already
saw it - the bird is out of the cage.

bug:31162498

Change-Id: I2b72f3b0d6307561ed68db2f2e9c900b15e8d098
ontentResolver.java
8b6456bc88d21d4106d25849a405e2876e597425 21-Sep-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Move device serial behing a permission"
b10330d5191ebb50c397d8f3de50fda44698337a 16-Sep-2016 Andrii Kulian <akulian@google.com> Use Configuration#unset() instead of #setToDefaults() for clearing

Now Configuration.EMPTY has fontScale set to 0 instead of default 1.
To get config equal to empty unset() method should be used.
Because of incorrect usage of setToDefaults() there was a black flash
when exiting split-screen because override config was no completely
empty. Fixing that also allows us to simplify things a bit when checking
if override config changed.

Bug: 31533188
Test: manual - long-press overview to enter split-screen, repeat to exit.
Change-Id: I6bf7994ff88ebb42db2e2357b762857710432a58
es/Configuration.java
944b003747f7475ac7b81820f49d17693799f33e 14-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support for specifying orientation in WindowContainer"
83a219be68a9a8ba6e715cfb9faf792ea315ceef 14-Sep-2016 liulvping <liulvping@xiaomi.com> Merge "fix NullPointerException in RegisteredServicesCache" am: 4b1a8f46d6 am: 506bf0741a am: 5f4f8d2441
am: 9eadea585c

Change-Id: I928d9cccf7c99f36540dcde1cf31c4e35b3d79ff
5136249a7147fb205e1b861c1d42a7d1f13b73cc 09-Sep-2016 Wale Ogunwale <ogunwale@google.com> Support for specifying orientation in WindowContainer

Also,
- Fixed failing tests when they are ran as a package vs.
individual classes due to multiple window manager instance.
- Correct some isVisible logic to so a window container that
is invisible is not said to be visible, because one of its
children is visible.

Bug: 30060889
Change-Id: I1bb8730361be2a9f5ce88cd59b7d57d5a459bde6
m/ActivityInfo.java
f3a88c353d368dfdccbe5b6824ce5c2037d594d2 14-Sep-2016 Todd Kennedy <toddke@google.com> Add filter ordering am: c2e96d45d2 am: cdda4eed12
am: 792cac6fd6

Change-Id: I94c998b9b32c4e6d3e7162cda4ff8bc7723dd2d9
9eadea585ce0e5eb6b47243ac635ce4b4afbae57 13-Sep-2016 liulvping <liulvping@xiaomi.com> Merge "fix NullPointerException in RegisteredServicesCache" am: 4b1a8f46d6 am: 506bf0741a
am: 5f4f8d2441

Change-Id: Iedcf57ee7856fb9abac459230e686a351370543d
5f4f8d244123622865e0d767dcce7bace74ddc3c 13-Sep-2016 liulvping <liulvping@xiaomi.com> Merge "fix NullPointerException in RegisteredServicesCache" am: 4b1a8f46d6
am: 506bf0741a

Change-Id: I0ec538fc78a512441517d1205ac3d34232ce992e
37e43275eeee064947f1b448cdf129bea39cf918 10-Sep-2016 Svet Ganov <svetoslavganov@google.com> Move device serial behing a permission

Build serial is non-user resettable freely available deivice
identifier. It can be used by ad-netowrks to track the user
across apps which violates the user's privacy.

This change deprecates Build.SERIAL and adds a new Build.getSerial()
API which requires holding the read_phone_state permission.
The Build.SERIAL value is set to "undefined" for apps targeting
high enough SDK and for legacy app the value is still available.

bug:31402365

Change-Id: Iddd13430b2bd1d9ab4966e31038ecabdbdcec06d
ontext.java
c78be8772a88c9c39c3c67a8336fafafbad38a99 10-Sep-2016 Svet Ganov <svetoslavganov@google.com> [DO NOT MERGE] Don't show account access request UI until app launched. am: d63cde7ba4
am: 99d29ddf42

Change-Id: I1e6977d2478bf695d9840a72cba6e0e1b600b1e6
99d29ddf42a749c5077c32ba9229cd47b39ae4d0 10-Sep-2016 Svet Ganov <svetoslavganov@google.com> [DO NOT MERGE] Don't show account access request UI until app launched.
am: d63cde7ba4

Change-Id: I06a6b98c9c4a1cd67ed155d42cf4fe5149015675
32ce3c8797fd286e3771b05a53d4dcd1f6d2ceda 10-Sep-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "[DO NOT MERGE] Don't show account access request UI until app launched." into nyc-mr1-dev
d63cde7ba4a96d5a07efd48d67e552cadb45d9ce 09-Sep-2016 Svet Ganov <svetoslavganov@google.com> [DO NOT MERGE] Don't show account access request UI until app launched.

Sync adapters that don't have account access cannot run until
the user explicitly approves in the UI. This is spammy given
the user may not use the app right away. This change doesn't
show the notificaiton until the app has run.

bug:31162498

Change-Id: I1f4f2d2e9426f78763590e8aa542b94d6e93e488
m/PackageManagerInternal.java
792cac6fd64039cce523979cd2bbdec55dff74c6 09-Sep-2016 Todd Kennedy <toddke@google.com> Add filter ordering am: c2e96d45d2
am: cdda4eed12

Change-Id: I6c4782393a5f694cba8238a05e60939169bd464f
cdda4eed1219738c79de88eb12b23b0293e56b04 09-Sep-2016 Todd Kennedy <toddke@google.com> Add filter ordering
am: c2e96d45d2

Change-Id: I9bc8994293a45684238c7d1377d30ef8c049ce81
295f5108f1984a4aade683ae73da3b69f0a29cc4 09-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add filter ordering" into nyc-mr1-dev
aedfd75b1b83e2cf12fe8946e867af78f16d57c9 09-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed example of ACTION_VIEW intent

The ACTION_VIEW intent contained a content path that was inconsistent
with each of the other examples on the Intent reference page. Added
the "people" directory to the content path to remedy this issue.

Bug: 26405268
Change-Id: Ieb4f67e072338a108b9775d3bafad3d0773533d2
ntent.java
7580351e9e1222ae20a18862fcf9a551be3b0bf1 09-Sep-2016 Svet Ganov <svetoslavganov@google.com> [DO NOT MERGE] While-list apps to access account if already saw it am: 91d37f43c7
am: f56f70365d

Change-Id: I3a553a7efe34feb9fbfa5d5c504874a2780bf132
91d37f43c73d76a54679bb84a71a6339bccb1e24 04-Sep-2016 Svet Ganov <svetoslavganov@google.com> [DO NOT MERGE] While-list apps to access account if already saw it

Sync adapters without an account access cannot run until the
user approves the account access (for the case the account
access is not allowed by other policy such as being singed
with the same cert as the authenticator). However, if the
sync adapter package already got the account from another
app which means it already saw the account we white-list
the sync adapter app to access the account as it already
saw it - the bird is out of the cage.

bug:31162498

Change-Id: I2b72f3b0d6307561ed68db2f2e9c900b15e8d098
ontentResolver.java
c2e96d45d27ab1465aaef89c1a3161708c714bcd 09-Sep-2016 Todd Kennedy <toddke@google.com> Add filter ordering

Filter ordering allows automatic disambiguation between multiple filters
that matching a pattern. Ordering currently only works for EphemeralResolveInfo
objects.

Bug: 30837021
Change-Id: Ia217218c7c7d159dbd75d7733c45556e690d06d2
ntentFilter.java
92b83c6495abb3c091474b3a2f16dcbd949d6da7 31-Aug-2016 Robin Lee <rgl@google.com> Redact work notifications separately from personal

This will strictly decrease the set of cases where work notifications
can be shown.

They will continue to honour the parent profile's settings, but will
also get redacted/hidden if the work profile has stricter settings
than the parent or when the parent is unlocked but the profile is still
locked.

Bug: 31001762
Change-Id: I2152631dbb8beb7a9899d6406b05f4447d757010
ntent.java
bf76ee74c77da42b2d5f9dc18ab3c4588d298d3e 08-Sep-2016 liulvping <liulvping@xiaomi.com> fix NullPointerException in RegisteredServicesCache

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

Change-Id: I67c0b799d10f4b9c8fa0779069d23cc49916b395
Signed-off-by: liulvping <liulvping@xiaomi.com>
m/RegisteredServicesCache.java
2a04b0876f3923a0c3acd0a2bfda1b2016351b10 06-Sep-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Add new flow to OtaDexoptService am: d15300cf38
am: 32a092adf3

Change-Id: I7a49f0732cf24c2a86f798c6725a664e93092d7b
82f8ebc2b7654e6d9147efaa60db681e81a25cc6 06-Sep-2016 Andreas Gampe <agampe@google.com> Otadexopt: Expose progress percentage am: ff8ab4c9fa
am: 630a372a1d

Change-Id: I25937bf6a90076b37c5c322ccc8335fef3a9e6ee
d15300cf38ae3840309dc6cb6c093b17713fc277 24-Jun-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Add new flow to OtaDexoptService

Add functionality to capture/intercept installd communication, and
use this to return the full communication for dexopt. These parameters
can be used to drive otapreopt_chroot directly.

Keep the old direct invocation alive until devices have transitioned
to a service that exposes this API.

In preparation for renaming of A/B OTA artifacts to include target
slot names.

Bug: 25612095
Bug: 28069686
Change-Id: I14728ee1266f3882cada8f08dd21891ed5f7a0cb
(cherry picked from commit cc241a580cb9b753d0dde0cea578feb74ad517e7)
m/IOtaDexopt.aidl
ff8ab4c9fade0dd95bac6df6506e1ce14dbd8e42 11-Jun-2016 Andreas Gampe <agampe@google.com> Otadexopt: Expose progress percentage

To be able to report progress of an A/B OTA dexopt, expose a
progress function that the script can query.

Bug: 25612095
Bug: 29223204
Change-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd
(cherry picked from commit bf06232f4d440ced8230662a77ca0e8ece6383ca)
m/IOtaDexopt.aidl
366a3f14f522a9a617a93e7f35da7131dca5f014 31-Aug-2016 Tor Norbye <tnorbye@google.com> Merge "Add SYSTEM_HEALTH_SERVICE to the ServiceName typedef"
5afebff407b9c78a9300f41af6df56e64141eb61 31-Aug-2016 Tor Norbye <tnorbye@google.com> Add SYSTEM_HEALTH_SERVICE to the ServiceName typedef

Change-Id: I65c78a079152b2c4d82f8228ca14714ffff282c5
ontext.java
c4ec49b7b9f1b98e5dbece19d4e3c7e51aa6cc4e 30-Aug-2016 Paul Stewart <pstew@google.com> Document correct context for obtaining WifiManager am: 0e164b199e am: b09557b3cf
am: 163a135246

Change-Id: I943a2d60461633b9432bdf83c3b25086bba22b94
722de5f9d0bbac21fb0d132669fcc317e2c6703f 30-Aug-2016 Mitchell Wills <mwills@google.com> DO NOT MERGE Manually merge commit 'f28778064383821ccf48c9570191f34a24aa513f' into nyc-mr1-dev-plus-aosp

Change-Id: I7cb1f97a5b931c2057a811d7947f47ad7320ef1c
8e701d18fa779055860ffcaeb0ad54242592fc8f 30-Aug-2016 Mark Lu <marklu@google.com> docs: fix link in Loader reference page am: 9f52b7a4a8 am: c6612637bb
am: 2721e7db4a

Change-Id: Ic5976080ef14387a59914d05be38ecbabf86e332
f28778064383821ccf48c9570191f34a24aa513f 30-Aug-2016 The Android Automerger <android-build-merger@google.com> Manually merge commit 'b0b6afc' into nyc-dev-plus-aosp
5add769f59c76dc30f881eb6c7b66076e7baf081 30-Aug-2016 Kevin Hufnagle <khufnagle@google.com> docs: Adjusted return value desc. for getApplicationEnabledSetting

The return value now references ApplicationInfo instead of
ComponentInfo.

Bug: 18123642
Change-Id: I595befe62dbce997becb689362abe5e4483b82c4
m/PackageManager.java
b0214c4cd56e26a26c2bec61c287fc008ed3e551 18-Aug-2016 Etan Cohen <etancohen@google.com> [NAN] Udpate NAN API documentation, clean-up visibility

Change-Id: I951340eebab35c10efe98dab86b58fe8efada169
(cherry picked from commit 2e37b06dde2dff019b9143fc6b61021dab79bda3)
ontext.java
m/PackageManager.java
357773aa629cde25c60a27be69dd0d81fc02b7e2 29-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add KeyAttestationApplicationIdProviderService to SystemServer"
0f149f412b5491911ec975c051f8cf76d02c4e2c 26-Aug-2016 Fyodor Kupolov <fkupolov@google.com> Update services info before returning authenticators am: 814464894c am: 7540b79fee am: 69192b00e6
am: 44811aba74

Change-Id: Ie65a1d569c78860b4f5212ddf257408328267398
3b0859d6bbe12d83c1640d00f36a0e6afe7e8ce6 26-Aug-2016 Todd Kennedy <toddke@google.com> Implement new ephemeral resolver design am: fea1b776e9
am: 6485f6eddf

Change-Id: I2bca8e38da973a0a1e7d5d11b5d094dc0188cc40
6485f6eddf2b318a7efbbad31dc632f30a7e8ff4 26-Aug-2016 Todd Kennedy <toddke@google.com> Implement new ephemeral resolver design
am: fea1b776e9

Change-Id: Ied8a583de6247a5d826805dfbb5e8edbecdcdb27
80855e154e04977f2f9db8d080fee6e4b4abd83c 26-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement new ephemeral resolver design" into nyc-mr1-dev
163a13524641b154a3512a584ced04a9836a450c 26-Aug-2016 Paul Stewart <pstew@google.com> Document correct context for obtaining WifiManager am: 0e164b199e
am: b09557b3cf

Change-Id: I792d164a20e2e98fc58b54bab4f1f43e1eb2fe59
0e164b199ee33dbb1e9feeaa24c52231f9b81ac0 08-Aug-2016 Paul Stewart <pstew@google.com> Document correct context for obtaining WifiManager

Added comments to both WifiManager WIFI_SERVICE.

Bug: 25015174
Change-Id: Ibd1e21d860ef2b7cc432b3da76671d22c02ef7cb
ontext.java
2721e7db4a55e634ef2e187847ad8f79cdb52a82 26-Aug-2016 Mark Lu <marklu@google.com> docs: fix link in Loader reference page am: 9f52b7a4a8
am: c6612637bb

Change-Id: I0472093b0019a421319c2acf29a4e36b87e75cd6
e16c82d224ff53beff098f48437a3f0f130f0c89 26-Aug-2016 Mark Lu <marklu@google.com> docs: fix link in Loader reference page am: 9f52b7a4a8
am: f496b9a981

Change-Id: I7a7ee695fadb2e0774ef84724a4320fc73b45a88
c6612637bb996b2e414ab40434dd227823d9fb3c 26-Aug-2016 Mark Lu <marklu@google.com> docs: fix link in Loader reference page
am: 9f52b7a4a8

Change-Id: I98f4ca957005ffc795e41be321b6b4995c6242f0
f496b9a981c9acb35821e92d9830154dc98b6fc7 26-Aug-2016 Mark Lu <marklu@google.com> docs: fix link in Loader reference page
am: 9f52b7a4a8

Change-Id: I32164f55f9b42dc50f13756c942644350a7d643e
44811aba745d637ded74c09f6ffeea4ed94daca5 25-Aug-2016 Fyodor Kupolov <fkupolov@google.com> Update services info before returning authenticators am: 814464894c am: 7540b79fee
am: 69192b00e6

Change-Id: I4615e7480647b1d15d6e083f11e21acb4dbfefc6
7540b79fee975d9b6f46ab0aadcc05da88450071 25-Aug-2016 Fyodor Kupolov <fkupolov@google.com> Update services info before returning authenticators
am: 814464894c

Change-Id: I3d7eb42ef73ad77cb44c251a493ae967bcc0f651
814464894c16cc53bae7ba80b784bd3179123847 24-Aug-2016 Fyodor Kupolov <fkupolov@google.com> Update services info before returning authenticators

Added RegisteredServicesCache.updateServices method which allows callers
to request an update to services for which package has been updated.

Added a call to updateServices in getAuthenticatorTypesInternal

Test: Manually tested update flow on test authenticator with an artificial
delay in broadcast handling
Bug: 30979262
Change-Id: I499b2ee0be53fed01201c56068d929b6d621a78e
m/RegisteredServicesCache.java
890a210e41d6a77a87370e6782c2ee373fa857d1 24-Aug-2016 Svet Ganov <svetoslavganov@google.com> resolve merge conflicts of eeeebd3 to master

Change-Id: I3aa0d1b9228be408837f7dd93a9b8268e564fc65
eeeebd346a06cc1af2366b933355ac49717136fa 24-Aug-2016 Svetoslav Ganov <svetoslavganov@google.com> Only sync adapters with access can see an account - framework am: 5cb2973495
am: 721402e75a

Change-Id: I361b009afa6c6e658157e6e04bf88096e8331fd0
5cb2973495084f8ce3433b579e4b4962ed9d7efc 12-Jul-2016 Svetoslav Ganov <svetoslavganov@google.com> Only sync adapters with access can see an account - framework

It was possible for a sync adapter without accounts access to
see the account which it is supposed to sync which can be used to
identify the user. This change ensures that only sync adapters
with account access can run (which results in seeing the account),
otherwise we involve the user to approve access only to this account.

A sync adapter can access an account if one of these is true:
- it is signed as the authenticator for this account
- has the GET_ACCOUNTS permission
- has an auth token for the account
- it is a preinstalled app (system or privileged)

The main thing we need to figure out is if the extra prompts
for giving access to a sync adapter to the account create too
much friction.

bug:28163381

Change-Id: Ie083bb681b5a2aed81ca5f6a062193a175fad77e
yncAdapterType.java
yncAdaptersCache.java
d64d0f9e83733800e2d8f8d485709efae2f5bf3c 23-Aug-2016 Todd Kennedy <toddke@google.com> No need to check package name am: afb5269ad6 am: b9de7e33a3
am: 8860c34b32

Change-Id: If42958ce2661e7516a245954daa6da4a6897c2a2
ef8d8ea24ab3b2319ac1eed1c67ebacb0a6c726e 23-Aug-2016 Todd Kennedy <toddke@google.com> No need to check package name

Change-Id: I8c403ca2bc38f2c7191b6e9a709286ac7e450ac4
Fixes: 30958291
(cherry picked from commit afb5269ad6a507a3230b519b3156ac0bcc5fc3a0)
m/PackageParser.java
8860c34b32ffcbaf44b752d83e8035aef0b1388e 23-Aug-2016 Todd Kennedy <toddke@google.com> No need to check package name am: afb5269ad6
am: b9de7e33a3

Change-Id: If2b7a9bdf2a3cb5ae05049916596087606e8a01b
fea1b776e96d10879769d3a3c17f297146605062 28-Jun-2016 Todd Kennedy <toddke@google.com> Implement new ephemeral resolver design

In the new design, the ephemeral installer can be returned from
queryIntentActivities which means any intent resolution could potentially
return the installer. Additionally, the new design calls for a platform
defined broadcast receiver that receives the status from the ephemeral
installer. This receiver then starts the final intent -- either to launch
the ephemeral application or to launch the fallback.

For more detail, see go/ephemeral-design

Bug: 30805203
Bug: 30273584
Change-Id: I6644bbb4f180d2d22c63af04b9857577516344a9
(cherry picked from commit 8e2d9d1d9050e93b15c54e992698325c7d4aa57c)
ntent.java
m/ResolveInfo.java
afb5269ad6a507a3230b519b3156ac0bcc5fc3a0 23-Aug-2016 Todd Kennedy <toddke@google.com> No need to check package name

Change-Id: I8c403ca2bc38f2c7191b6e9a709286ac7e450ac4
Fixes: 30958291
m/PackageParser.java
5782aae1bed7dd6beb11fb18bdee02ce56f31317 20-Aug-2016 Etan Cohen <etancohen@google.com> [NAN] Udpate NAN API documentation, clean-up visibility
am: 2e37b06dde

Change-Id: Iba3682d9ce1a3d2d1bd07636ef7c633d8e7ed847
2e37b06dde2dff019b9143fc6b61021dab79bda3 18-Aug-2016 Etan Cohen <etancohen@google.com> [NAN] Udpate NAN API documentation, clean-up visibility

Change-Id: I951340eebab35c10efe98dab86b58fe8efada169
ontext.java
m/PackageManager.java
8ff1e193acc1d9946f877332547c7706cfcf12f4 03-Jun-2016 Janis Danisevskis <jdanis@google.com> Add KeyAttestationApplicationIdProviderService to SystemServer

Add getKeyAttestationApplicationId and the Parcelables
KeyAttestationPackageInfo and KeyAttestationApplicationId,
needed by keystore.

Bug: 22914603
Change-Id: I89a88cd9cd80e9b132ca67fc452e9cae8b8ad241
m/Signature.aidl
9cc589a3a0bd0d77b24383794d4eedc420041822 19-Aug-2016 Todd Kennedy <toddke@google.com> remove mention of file: URIs for package installs

they're not supported

Change-Id: Id274ee6065ba531c01ad720ac0a53fb97e0fc687
Fixes: 6517618
ntent.java
53f7d933be4e618a2ac61a67dd64b2b3a7ba80ea 15-Aug-2016 Todd Kennedy <toddke@google.com> Merge "More settings cleanup"
9f52b7a4a8d4c8648095618f5fd4ee5cd2b6c917 13-Aug-2016 Mark Lu <marklu@google.com> docs: fix link in Loader reference page

Bug: 29764129
Change-Id: I5ca881bb30adbbaf65ba37b1cf63903a4fc5600e
oader.java
788c8423d19972389b82a23dec297eb27d819c86 10-Aug-2016 Todd Kennedy <toddke@google.com> More settings cleanup

* While parsing the packages.xml file, don't call getPackagesLPw(); we'll
never find a package unless something has gone horribly wrong. Instead,
build the PackageSetting like a sane person and add it to internal
structures.
* Add methods to create a proper copy of the PackageSetting object and
not just the data from one class in the middle of the hierarchy.
* Stop converting Sets into Lists back into Sets when creating
IntentFilterVerificationInfo objects
* Remove the name argument when adding a package setting; it should always
be the name in the package setting

Bug: 30219944
Change-Id: I7fa2c540621fb5d70a59b15919bfd31d8465e25d
m/IntentFilterVerificationInfo.java
49ca529a850e60482ddcc8c0762105b4aa10f35f 10-May-2016 Jeff Sharkey <jsharkey@android.com> Avoid caching services with missing binders.

When fetching system services early during boot, if the underlying
binder interface hasn't been published yet, we end up caching a
manager class that is broken for the remainder of the process
lifetime, and innocent downstream callers end up using the broken
cached manager.

Fix this by using an explicit exception to quickly abort manager
creation when the underlying binder is missing. The exception is
only used to skip the remainder of the manager creation, and it
doesn't actually crash the process.

Bug: 28634953
Change-Id: I0cb62261e6d6833660704b93a11185aa11a2ac97
lipboardManager.java
7c5a32526f1b74c2bd458afe24df973111a6a41f 09-Aug-2016 Mark Lu <marklu@google.com> docs: add info to SharedPreferences.Editor.putString am: fb48521f41 am: f434456ba5
am: 82a7343653

Change-Id: I112c1d2944cf6f1feeb2abd93514c59ee143f08c
82a7343653e6bfdacd978a11b54171a37a6e3a2b 09-Aug-2016 Mark Lu <marklu@google.com> docs: add info to SharedPreferences.Editor.putString am: fb48521f41
am: f434456ba5

Change-Id: I5dec6b6fb20c741d92a840cf6291d0b33ac46d5a
9bc63b9bf0144ce52a5d4be9ccb45745eecb836d 09-Aug-2016 Mark Lu <marklu@google.com> docs: add info to SharedPreferences.Editor.putString
am: fb48521f41

Change-Id: I948c8091a70180e29a601d6cba40d7fb0cf2d76a
f434456ba5596216828fe6a03fdada69e834dc63 09-Aug-2016 Mark Lu <marklu@google.com> docs: add info to SharedPreferences.Editor.putString
am: fb48521f41

Change-Id: Icf8a1a92e8f18bcc63b52842ea75b00610feac9d
3dc99ea200e3d877af03bf2e67f00b173ee34222 04-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Break out static update method"
13715d521f340d24f1de6e06ceaaf2a945910c0d 01-Aug-2016 Todd Kennedy <toddke@google.com> Break out static update method

Simply getting package settings could changes stored state. Break out
the majority of the method to modify local variables and not change
any stored state. The top-level getPackageLPw() method will still
mutate stored state. This will be changed in a future CL.

Also add a set of tests to verify the behaviour of updatePackageSetting()

Bug: 30219944
Change-Id: I3360a36ce238e816246ee8ca7ecabfbbcdf0b89d
m/PackageParser.java
m/PackageUserState.java
3242a9a7fd2109404160305764e2eba11eb0e416 04-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove another fw.show_hidden_users"
434a74f5589844987048cf51e05cc20e5321a2a2 04-Aug-2016 Robin Lee <rgl@google.com> Remove another fw.show_hidden_users

We've finished developing managed profiles now.

Change-Id: Ic587fce990e06c676d0819c63439a31b9ca07dcb
m/UserInfo.java
391dfcfa6838c3b573e28fe22beca30ac5e34370 03-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Add per-user versions of set{Component,Application}EnabledSetting.""
38c67d3c0fdd27282d30a23784f98a3df704d6a9 03-Aug-2016 Sudheer Shanka <sudheersai@google.com> Revert "Add per-user versions of set{Component,Application}EnabledSetting."

This reverts commit 0e6bfff6c1ec17cf8f3cfb6e4853d3c0fa3ffb73.

Change-Id: I4eafa9fc052e9eba9e26fd32c09b5e759fe63b00
m/PackageManager.java
fb48521f41ef780bb305bf2f9819e7e018885197 02-Aug-2016 Mark Lu <marklu@google.com> docs: add info to SharedPreferences.Editor.putString

The information explains what happens when null is passed
as value parameter

Bug: 24696308
Change-Id: I362c2b1885e882312d1b4b2ff829f8f9f3546301
haredPreferences.java
b3941d2aee8f562a5d16818cfdca7b45dd5e0749 02-Aug-2016 Makoto Onuki <omakoto@google.com> LauncherApps should also throw when user is locked am: 02f338e23d am: 897a4f84d0
am: 88870a84ed

Change-Id: I5f098c71a128c9e51b957e5b391b2d57eca663f9
88870a84ed52c09024d5cf49d6a69a5e4eed3021 02-Aug-2016 Makoto Onuki <omakoto@google.com> LauncherApps should also throw when user is locked am: 02f338e23d
am: 897a4f84d0

Change-Id: I0e2112d5c638ddf11a51f004eec2b533acd2251b
35579aa7b4e975c5f295edd6f84ad9e6ec36b589 02-Aug-2016 Robin Lee <rgl@google.com> Merge "Pass userId through to singleton ContentProviders"
02f338e23d06499790c6948709afb1587416eb40 29-Jul-2016 Makoto Onuki <omakoto@google.com> LauncherApps should also throw when user is locked

otherwise it'd be racy.

Bug 30406401

Change-Id: I953eb6ae58e029d254d9fdbd5d05a0090b8d2391
m/LauncherApps.java
2ab02e2cb2ec09f91546edd6824dd55bf12c9554 28-Jul-2016 Robin Lee <rgl@google.com> Pass userId through to singleton ContentProviders

System content providers like SettingsProvider run as singleUser but
on receipt of a call make decisions based on the calling user ID.

This is right up until the caller is a system service or a cross-user-
-aware app like Settings, where putStringForUser etc. provide a
workaround for most settings but not for the few files SettingsProvider
exposes.

Change-Id: I90060c9c13e274edd71f8a16ab3a026a58b98e3e
ontentProvider.java
9e01f2ace536ac0a1faf3ddf8234e5dd854b26de 02-Aug-2016 Fyodor Kupolov <fkupolov@google.com> Merge \\\"Fix the API compatibility of \\\"UriMatcher#addURI\\\"\\\" am: 3e151273a3 am: bc8d946e09 am: dbf07bb8ef
am: 0d287f1846

Change-Id: Ic9ec776900cbb10470f731409de71ecbf55e700f
a31a6f9f271af7baf4bae1bb1504470e24d3c2d7 02-Aug-2016 Makoto Onuki <omakoto@google.com> Revert \\"LauncherApps should also throw when user is locked\\" am: 2ec16b08ac am: e330d59c2e
am: 685091f203

Change-Id: Iacfdd622ce04a86f0f5f573a9e11dc7d1cccc932
0d287f184698d0bc6c91f228fc58972d03f1851e 01-Aug-2016 Hidehiko Tsuchiya <hidehiko.xa.tsuchiya@sonymobile.com> Merge \\\"Fix the API compatibility of \\\"UriMatcher#addURI\\\"\\\" am: 3e151273a3 am: bc8d946e09
am: dbf07bb8ef

Change-Id: I105800630bb0b5b2ed610c27741eb027d60b61a2
dbf07bb8ef65a64916475c1972379daf8f3d0a18 01-Aug-2016 Fyodor Kupolov <fkupolov@google.com> Merge \\"Fix the API compatibility of \\"UriMatcher#addURI\\"\\" am: 3e151273a3
am: bc8d946e09

Change-Id: I6ab069a0e02e6b1053dafe98671ab68ef99ff527
685091f203aaf53a94923212802d3d0bd4bf7e94 01-Aug-2016 Makoto Onuki <omakoto@google.com> Revert \\"LauncherApps should also throw when user is locked\\" am: 2ec16b08ac
am: e330d59c2e

Change-Id: I18070a0a1a69ab8ba366cef5295f09ac598c5e9f
bc8d946e0964ff8b30840e0deee69b8c6f9022c6 01-Aug-2016 Hidehiko Tsuchiya <hidehiko.xa.tsuchiya@sonymobile.com> Merge \"Fix the API compatibility of \"UriMatcher#addURI\"\"
am: 3e151273a3

Change-Id: Ic06ade3ce6dd795e7d12cfba150286933512433d
2ec16b08accd254b6c64f7b632575d07981380f1 01-Aug-2016 Makoto Onuki <omakoto@google.com> Revert "LauncherApps should also throw when user is locked"

This reverts commit bc4ad85d29cd4490ba71baaad58e2f4d68b7d325.

Will retry when the updated launcher is in.

Change-Id: I428dc93132615480df70aeca7977089af008c041
m/LauncherApps.java
07996bce98e5cda7623f722edb5de5eca74b9bc3 31-Jul-2016 Makoto Onuki <omakoto@google.com> LauncherApps should also throw when user is locked am: bc4ad85d29 am: 5ec63fc3c7
am: 3b5920b2a1

Change-Id: I60beb409a55297a9a2adaaf52f1ea1e185668c88
5acd41d155a6fb7c0476a8b8a7c86434ff5ccb2f 25-Mar-2014 Hidehiko Tsuchiya <hidehiko.xa.tsuchiya@sonymobile.com> Fix the API compatibility of "UriMatcher#addURI"

The previous patch (ef23bf19 Allow leading slash in path...) made
a single slash path unmatchable.
To solve it, this patch stops removing a slash character if the path
only has a slash character.
Now, a single slash is a matchable path for a URI without path string.

Bug: 29524484
Change-Id: I90b357aa48be1a3e0cf36e75ed2a9d6532908972
riMatcher.java
3b5920b2a1e49c6c8a8c0324c75e85ef1b2e6034 29-Jul-2016 Makoto Onuki <omakoto@google.com> LauncherApps should also throw when user is locked am: bc4ad85d29
am: 5ec63fc3c7

Change-Id: Iacb1a0725553ff8e2c205eba8e74d26b19a9a5dd
bc4ad85d29cd4490ba71baaad58e2f4d68b7d325 29-Jul-2016 Makoto Onuki <omakoto@google.com> LauncherApps should also throw when user is locked

otherwise it'd be racy.

Bug 30406401

Change-Id: Id6b0295933c5639fa23c56d737a7f0199cbd7497
m/LauncherApps.java
347117f556afe91e943d1139867c33d964d94b43 29-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "fix javadoc for grantRuntimePermission"
a8eb6a89d6bf39e1826971ff16f8bd5e29b86a68 29-Jul-2016 Todd Kennedy <toddke@google.com> fix javadoc for grantRuntimePermission

javadoc and implementation were out of sync.

Change-Id: I53b50ac999134d3f10557cc3b2c3e2586aaa48de
fixes: 30119755
m/PackageManager.java
4830a0c5cabdd8f2c983c3d7c20df5d440fc09ec 29-Jul-2016 Makoto Onuki <omakoto@google.com> Prevent shortcut access when user is locked am: 9c850012ca am: cab2462e38
am: 890f85d70f

Change-Id: Ie6653dcc55b37598a45987d938f07ba31e173ef5
890f85d70feb0cd48176248c964b6bcbcaedcc24 28-Jul-2016 Makoto Onuki <omakoto@google.com> Prevent shortcut access when user is locked am: 9c850012ca
am: cab2462e38

Change-Id: I66faccf78500d057957fb4a7bc361ff8907811b5
9c850012cacf0af4a392294566a8c7c897dc8771 27-Jul-2016 Makoto Onuki <omakoto@google.com> Prevent shortcut access when user is locked

Also add some test utility methods that'll be used by CTS.

Bug 30406401

Change-Id: I9396acebbdb3cbe64f6e85877ee62a2131cd6e61
m/LauncherApps.java
m/ShortcutManager.java
21e778192d70359f46e1d2319612b097ed62e160 26-Jul-2016 Makoto Onuki <omakoto@google.com> Update ShortcutManager javadoc am: fe9c9669a4
am: d09c33f32c

Change-Id: I14fdc704a54e4b8e148b9bcd4127cadf7e89eec1
d09c33f32c9bd720d6ae32606358d7627f2c4980 26-Jul-2016 Makoto Onuki <omakoto@google.com> Update ShortcutManager javadoc
am: fe9c9669a4

Change-Id: I4bfaca9ce475e91ec0dae45739b1623ceac8a43c
90f331adadce8b1a33a7f583cf714cf5ba1d1d06 26-Jul-2016 Chad Brubaker <cbrubaker@google.com> Merge "Add asUser version of sendBroadcast(Intent, String, Bundle)"
fe9c9669a4d727a99e78db73ce8708c7505a3b70 26-Jul-2016 Makoto Onuki <omakoto@google.com> Update ShortcutManager javadoc

Bug 30359231

Change-Id: I01f1987416fa1ac3f0669afa1f15f88ff2dd1631
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
52c8edc2d8406a90c128d9e0ae86c62e88e618c9 25-Jul-2016 Chad Brubaker <cbrubaker@google.com> Add asUser version of sendBroadcast(Intent, String, Bundle)

Change-Id: Id87aa1123d6c0a8a036ed9430eee10357040321f
ontext.java
ontextWrapper.java
7a39181c6c7542ebfe914a3ce54052f123df9ee4 23-Jul-2016 Todd Kennedy <toddke@google.com> Merge "Implement new ephemeral resolver design"
8653659cbe7ca57183704b6126916e22b7e0817d 22-Jul-2016 Todd Kennedy <toddke@google.com> Merge "Add more tracing"
df4e733bf729ec74757dd24c2a24867444fa01db 22-Jul-2016 Makoto Onuki <omakoto@google.com> Follow-up to multiple intents support am: 0eed441c0c
am: b6ed7b7552

Change-Id: I1034eaa7670c7fa983ddffcce295979ec86bde89
ddde4706529d1246db711baef6d9cfa61c15b3ca 22-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix undefined fontScale issue in Configuration"
b6ed7b755287978e8bc85a0ca910324064a54cfe 22-Jul-2016 Makoto Onuki <omakoto@google.com> Follow-up to multiple intents support
am: 0eed441c0c

Change-Id: I3007735db610ddd8c608290ffac8edcdcf390758
8e2d9d1d9050e93b15c54e992698325c7d4aa57c 28-Jun-2016 Todd Kennedy <toddke@google.com> Implement new ephemeral resolver design

In the new design, the ephemeral installer can be returned from
queryIntentActivities which means any intent resolution could potentially
return the installer. Additionally, the new design calls for a platform
defined broadcast receiver that receives the status from the ephemeral
installer. This receiver then starts the final intent -- either to launch
the ephemeral application or to launch the fallback.

For more detail, see go/ephemeral-design

Change-Id: I6644bbb4f180d2d22c63af04b9857577516344a9
ntent.java
m/ResolveInfo.java
cd029da32165f4a348431d825d2bbaa46282710f 21-Jul-2016 Todd Kennedy <toddke@google.com> Add more tracing

Allows us to track PackageManagerService startup

Bug: 30272038
Change-Id: I56fa7480fe640f4444d09a657889ec83685a7570
m/PackageParser.java
0eed441c0cf3bd03b8ac780e62fbeae5d7fcac4b 21-Jul-2016 Makoto Onuki <omakoto@google.com> Follow-up to multiple intents support

- More unit tests
- LauncherApps.startShortcut() now supports sourceBounds
(again)
- Updated the javadoc.

Bug 30218829

Change-Id: Iae208ffd4911d149246ccfd0c4380544c2aafffc
m/ShortcutInfo.java
m/ShortcutManager.java
de1e6e4d2d37ceb736d6849b0caa8efe9fad66dc 21-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Support multiple intents in ShortcutInfo\\" into nyc-mr1-dev am: b84ce2e034
am: 9a6109f284

Change-Id: I0f1caf54cc544db0b73f8e3275005923904f57a8
9a6109f2845770021cf938b5b688c3868086347f 21-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Support multiple intents in ShortcutInfo\" into nyc-mr1-dev
am: b84ce2e034

Change-Id: I53daa680bdf18505896a372e59c7b4bd73d4edca
440a1ea8e2204ecb171e0187318beb2f08f6012c 20-Jul-2016 Makoto Onuki <omakoto@google.com> Support multiple intents in ShortcutInfo

Also fix b/30230996.

TODO: Support the sourceBounds argument to LauncherApps.
startShortcut().

Bug 30218829
Bug 30230996

Change-Id: Ibb6c59d5b7c0a320c21d09436d016d0eac94644f
m/ShortcutInfo.java
m/ShortcutServiceInternal.java
bad43fcae487a19865c174483c11829379817c8a 19-Jul-2016 Adam Lesinski <adamlesinski@google.com> Fix undefined fontScale issue in Configuration

When using a Configuration object as a delta for use
as an update to an existing Configuration object,
the fontScale property is always defaulted to 1.0, which
is not considered "undefined". That means that fontScale will
always get overridden to 1.0.

This changes the undefined value of fontScale to 0.0, which is
set when the Configuration object is constructed. Thankfully,
the documentation for Configuration states that until
Configuration#setToDefaults() is called, the Configuration is in
an invalid state. That means that apps can not rely on fontScale == 1.0
without calling setToDefaults().

Bug:29924927
Change-Id: I19342c55f7057423f1ca8c5d8dce1dff07617d90
es/Configuration.java
es/ResourcesImpl.java
c5837520ba94ced2a71809343a1e43329a0c3eaf 20-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add per-user versions of set{Component,Application}EnabledSetting."
0e6bfff6c1ec17cf8f3cfb6e4853d3c0fa3ffb73 20-Jul-2016 Sudheer Shanka <sudheersai@google.com> Add per-user versions of set{Component,Application}EnabledSetting.

Change-Id: Id63b233308e92a4c360f38d4728c519ac2131ff0
Fixes: 30230444
m/PackageManager.java
e1f90ac94a2648cc3dfef5e12676f2343fa97edf 20-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Stop adding FLAG_ACTIVITY_RESET_TASK_IF_NEEDED when...\\" into nyc-mr1-dev am: ceadb1a86a
am: c74ed0d6dc

Change-Id: I0c66444e1352af26bf7c039271a5bee952eb5e52
c74ed0d6dc0bed7b778921faa6d1fe4801d5cb2f 20-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Stop adding FLAG_ACTIVITY_RESET_TASK_IF_NEEDED when...\" into nyc-mr1-dev
am: ceadb1a86a

Change-Id: If26f5a2e8f2a0533b145025734e5819e72a48b28
ceadb1a86a00475d572a99053a0dcbd5bcc2f93d 20-Jul-2016 Makoto Onuki <omakoto@google.com> Merge "Stop adding FLAG_ACTIVITY_RESET_TASK_IF_NEEDED when..." into nyc-mr1-dev
347a6bd82059bc7581b1dcd229228f622c5cfca1 19-Jul-2016 Makoto Onuki <omakoto@google.com> Stop adding FLAG_ACTIVITY_RESET_TASK_IF_NEEDED when...

starting a shortcut.

- Also add API surface to support launching multiple intents

- Also add SM.isRateLimitingActive() which was supposed to be
added but was not due to a bad rebase.

Bug 30218829

Change-Id: I82d60ec0df1e2b889538705f9f8870ee727dd55d
m/ShortcutInfo.java
m/ShortcutManager.java
77dbac341a3c6f423191a9e173f67edfce209ddb 19-Jul-2016 Nicolas Prévot <nprevot@google.com> Merge \\"Don\\'t append userIds for the current user\\'s clipData uris.\\" into nyc-mr1-dev am: e723ed8b51
am: 91b6f5e44f

Change-Id: I8e85d2e6df9768a48b5d3589304f60a23c9ab182
91b6f5e44f014c7e45515a277451e41969aa0c97 19-Jul-2016 Nicolas Prevot <nprevot@google.com> Merge \"Don\'t append userIds for the current user\'s clipData uris.\" into nyc-mr1-dev
am: e723ed8b51

Change-Id: Idf3bf3c6baea706a15df5e68c50d79723a100d9f
e723ed8b51c3dea7b662b5c1bed07e98773f78eb 19-Jul-2016 Nicolas Prévot <nprevot@google.com> Merge "Don't append userIds for the current user's clipData uris." into nyc-mr1-dev
8024bf723c3283c67973d7d3611c7569154f23bd 16-Jul-2016 Adam Lesinski <adamlesinski@google.com> Merge \\"Deprecate Resources constructor and updateConfiguration() method\\" into nyc-mr1-dev am: c3829f528e
am: 6a9f651b73

Change-Id: I27261451c872502b5f240f1e68fdd092fa9e5e67
6a9f651b732537fe10eacf5a960439e9c4f378f7 16-Jul-2016 Adam Lesinski <adamlesinski@google.com> Merge \"Deprecate Resources constructor and updateConfiguration() method\" into nyc-mr1-dev
am: c3829f528e

Change-Id: I59c4daf39179409cc3195cda9c89ae604ec36af6
c3829f528e80403d0990707a14fad10b168e67d2 16-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Deprecate Resources constructor and updateConfiguration() method" into nyc-mr1-dev
aa19d5e49e6258bc85fa7121fe489b63926ecfcc 16-Jul-2016 Adam Lesinski <adamlesinski@google.com> Deprecate Resources constructor and updateConfiguration() method

These methods were never meant to be public. Instead, developers
can use Context#createConfigurationContext().

Bug:30088019
Bug:29999297
Change-Id: I2b864136163deda0af99fa3bfe9ef4ee1077341a
es/Resources.java
d36651717e591ed687f4964d13656c0a52390dba 16-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Cache the default launcher.\\" into nyc-mr1-dev am: cf99263662
am: 6406be311c

Change-Id: If7d3f5325388242a196d78f8429c4aba65ef041e
35dcfebd1ee3e451a870633110c86ba77ff254df 16-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Fix the allowed icon type error message\\" into nyc-mr1-dev am: fd57d549cf
am: 3e3f0f1ba8

Change-Id: Iaa3eb26436dfa339ee7e095562344394dcd56b53
6406be311c34646c5293a797d8f1f0d880361be3 16-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Cache the default launcher.\" into nyc-mr1-dev
am: cf99263662

Change-Id: If8d15587702dad81d9a9025e13dec9820456287b
cf992636627ac881691d9273ca55f408e21f0b2a 16-Jul-2016 Makoto Onuki <omakoto@google.com> Merge "Cache the default launcher." into nyc-mr1-dev
3e3f0f1ba8bc0b74685c6977b0f6235a2cc7215a 15-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Fix the allowed icon type error message\" into nyc-mr1-dev
am: fd57d549cf

Change-Id: Ibff8d87533d075f0af95ab98d44f67fd4405a951
a97256b793a9ad9d6958645f098cff0b6e8918b1 15-Jul-2016 Makoto Onuki <omakoto@google.com> Fix the allowed icon type error message

Bug 30162778

Change-Id: I925c563c1924c6525fe17afc44626d62864ba7e1
m/ShortcutInfo.java
1030520822c42cc7357b463d301c7e97e928ba22 15-Jul-2016 Makoto Onuki <omakoto@google.com> Cache the default launcher.

Originally we always checked with PM for the default launcher,
which would take ~2ms.

Now we cache the result, and clears the cache when (any) preferred
activities change.

Bug 30126557

Change-Id: Iceef288cd372c8bb9b119aa493e5173d894f2302
ntent.java
6a8581339ba4ac35f55906b9d55bf21a1e7c23ce 15-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Handle locale change and pacakge change in different way\\" into nyc-mr1-dev am: 83fa7a8255
am: 22963b8937

Change-Id: I39da795eeed8bb3d0e53b0ed02663cce1088cabf
22963b89372b624b5da1cec6cb386dac79089be8 15-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Handle locale change and pacakge change in different way\" into nyc-mr1-dev
am: 83fa7a8255

Change-Id: I4988ff6c77f70211336e21729f0f6cd69beefc7d
83fa7a82558a41a18d959c7b9fb197b787c52779 15-Jul-2016 Makoto Onuki <omakoto@google.com> Merge "Handle locale change and pacakge change in different way" into nyc-mr1-dev
58926243e0b4b760f87e86a15915c0b2a707f3bb 14-Jul-2016 Nicolas Prevot <nprevot@google.com> Don't append userIds for the current user's clipData uris.

If the primary user has a managed profile:
When setting the clipboard in the primary user:
The uris of the primary user's clipboard must not have an
embedded userId.

BUG:28572936

Change-Id: I1eb505c4518cc16a6513b950f6c2b1232a22426d
lipData.java
c7502cc7b5b32d18fbf00fb2742d0ef8ccd4cc2a 14-Jul-2016 Adam Lesinski <adamlesinski@google.com> Merge \\\"Don\\\'t hold on to AssetManager instances\\\" into nyc-dev am: f8e99e72e7 am: 165e9d92b2
am: 3d53abec7d

Change-Id: Ife9502a444f46d6327e08248833814bd2357d7a2
3d53abec7d458030df805014b40f41cfd768004d 14-Jul-2016 Adam Lesinski <adamlesinski@google.com> Merge \\"Don\\'t hold on to AssetManager instances\\" into nyc-dev am: f8e99e72e7
am: 165e9d92b2

Change-Id: I184f3508fd602409d01f105500693b5d02ab37a3
165e9d92b23d24896b6fb31e3e41c105847ee5c8 14-Jul-2016 Adam Lesinski <adamlesinski@google.com> Merge \"Don\'t hold on to AssetManager instances\" into nyc-dev
am: f8e99e72e7

Change-Id: Id29ae90fd336657d428a15fa0730b95d717386db
ce9cf64eb34242bd26bf4877d25c2058cbb52302 14-Jul-2016 Adam Lesinski <adamlesinski@google.com> Merge \"Don\'t hold on to AssetManager instances\" into nyc-dev
am: f8e99e72e7

Change-Id: I71b7499c6399ecbf1d8e8d93bf410aabbb2a1044
4e6cef49ef11bbb5bfc0e9f0fb865188492d88b0 14-Jul-2016 Makoto Onuki <omakoto@google.com> Handle locale change and pacakge change in different way

- Stop using a custom callback from AM to detect locale changes
and use the LOCALE_CHANGED broadcast instead.

- This would open up a chance where a publisher app fetches
its won manifest shortcuts after a locale change but
ShortcutManager hasn't updated string resources.

- So instead, at every entry point from ShortcutManager, check
if the locale has changed, and if so, update all resources
(and reset throttling).

- Do the same for package change events too. At every entry point
from ShortcutManager, check if the caller package has been updated,
or any target activities have been disabled. If so, rescan the
caller package.

- We do *not* do the same check at the LauncherApps entry points,
because the launcher should use the callback to listen to
shortcut changes.

- Also stopped using PackageMonitor for now because we want to
set a higher priority and changing PackageMonitor at this point
seems too much for DR.

Bug 29895275
Bug 30123329

Change-Id: Ib4a2f626a936c7328e2cc032324f5c3d1c3b9122
m/ShortcutServiceInternal.java
e60064ab3c399fdd084de11dada73af48735d2fc 13-Jul-2016 Adam Lesinski <adamlesinski@google.com> Don't hold on to AssetManager instances

If we enter multi-window mode or load WebView
assets into a Resources object, then the underlying
AssetManager instance may change.

crbug.com/627586

Bug:30118654

Change-Id: I837637bdad5370809db7f060d7d8536b536cad9e
es/TypedArray.java
c7b4815f232b3bf3dd19e1f8f164303ebcb4692a 13-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Revert \\"Revert \\"Revert \\"Handle package broadcasts before apps do\\"\\"\\"\\" into nyc-mr1-dev am: 6eefe67b2c
am: a74fce83ae

Change-Id: I8dcd074a8075e38416da0d6e3570545f17d6bc15
a74fce83ae729dc8b0afdfb90e5557370b5ee5ff 13-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Revert \"Revert \"Revert \"Handle package broadcasts before apps do\"\"\"\" into nyc-mr1-dev
am: 6eefe67b2c

Change-Id: I514fb0b48c79644f7bc3154b3a18fabfc4c35d15
f34c308dfd9cdda428b8ead8bf655de1608501a9 13-Jul-2016 Makoto Onuki <omakoto@google.com> Revert "Revert "Revert "Handle package broadcasts before apps do"""

This reverts commit 886ba78dfb105eb45416587b73b6c6b336448de5.

With the tests updated.

Change-Id: I162e6ca23c667f90feddc1e9f42b554a416295cf
m/ShortcutServiceInternal.java
2adc0c392e3e98e8fccb16f219acbd8b8a3585e2 13-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Revert \\"Revert \\"Handle package broadcasts before apps do\\"\\"\\" into nyc-mr1-dev am: 98802f6007
am: 80dd14e061

Change-Id: I32fcfdc3fb90fe7b0ac14239a721769234c7cb2f
80dd14e0610b7c51b7ab102fc19cc8d9ee4dbdb6 13-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Revert \"Revert \"Handle package broadcasts before apps do\"\"\" into nyc-mr1-dev
am: 98802f6007

Change-Id: I51e9cedb8cba67b987f8ed6b92bcf66082594990
886ba78dfb105eb45416587b73b6c6b336448de5 13-Jul-2016 Makoto Onuki <omakoto@google.com> Revert "Revert "Handle package broadcasts before apps do""

This reverts commit efbbe7ea9db8adab6bff407db1d7fc54bbaf31ee.

Change-Id: I3dbb080db5121307f533a7d411f4f5d47225500e
m/ShortcutServiceInternal.java
d0866414f962267ba2cee2f06cce70df4ff9568c 13-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Revert \\"Handle package broadcasts before apps do\\"\\" into nyc-mr1-dev am: 7f3187bb0d
am: 5f18bbe034

Change-Id: I05af5e8eb457c19e3dbce414e0e2351c936703ff
5f18bbe034ae616be1bce2f1d60ff9d5c060a2c6 13-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Revert \"Handle package broadcasts before apps do\"\" into nyc-mr1-dev
am: 7f3187bb0d

Change-Id: I15a7629138e1c0b44620bd6239d7a14d3df14b82
efbbe7ea9db8adab6bff407db1d7fc54bbaf31ee 12-Jul-2016 Makoto Onuki <omakoto@google.com> Revert "Handle package broadcasts before apps do"

And fix b/29939691 (don't try to load locked users) in a different way

Bug 29939691
Bug 29895275

Change-Id: Ib55f9c5d5547c54daa4e05c1e50bf4bbceaf1991
m/ShortcutServiceInternal.java
be0e56e9d2b7c81852f81584e654de23d165f25c 12-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Throw ActivityNotFoundException when failed to launch shortcut\\" into nyc-mr1-dev am: 50752f7391
am: b1e0982173

Change-Id: I466a7c5985cb080e6e2780cfbafa3bb90cc58dbf
b1e09821734e9a56356aa71787de144fc284e08a 12-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Throw ActivityNotFoundException when failed to launch shortcut\" into nyc-mr1-dev
am: 50752f7391

Change-Id: I0dcb7b89a32de22dee41ebe617e47ae935ac8227
2afa465e2c718e63d33fd49e2cdef64c8214f057 12-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Handle package broadcasts before apps do\\" into nyc-mr1-dev am: ae13eee9c6
am: fcf7db9eed

Change-Id: Idfe3e8ed29c9a5fe8870527e5c5d7470455f4989
1c93e205cff5d4e814ae30ef369700b6fda7ed0c 12-Jul-2016 Jeff Sharkey <jsharkey@google.com> Merge \\"Revert \\"Treat everyone the same.\\"\\" into nyc-mr1-dev am: 9dbc259b4f
am: 6e4fc19617

Change-Id: Ibdc245e98fd3cbabbb852bae1ceecbe1a0b6bda9
5ddf5109467df37074eb69726cc1a61db1538b06 12-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"ShortcutManager javadoc\\" into nyc-mr1-dev am: 3746d2224d
am: d4255a9c95

Change-Id: I689bbc294005276c0680d8bb664980553fb48341
fcf7db9eed752b9a267f63fc1e509f172888b8b1 11-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Handle package broadcasts before apps do\" into nyc-mr1-dev
am: ae13eee9c6

Change-Id: I4eee7d585bfe1218fae425f2b3f2097965924587
83f6d2da372de339dc563d6a7786be3facc52e76 11-Jul-2016 Makoto Onuki <omakoto@google.com> Throw ActivityNotFoundException when failed to launch shortcut

Originally the code used IIntentSender, but I had to switch to calling
startActivitiesInPackage() directly, because sendIntentSender() does
not support returning errors.

Bug 30035853

Change-Id: I5d7669c96a2f1805373c71aebf45b97ac1d01ff6
m/ILauncherApps.aidl
m/LauncherApps.java
6e4fc196177f84060c0730a13f56846fe4884bcb 11-Jul-2016 Jeff Sharkey <jsharkey@google.com> Merge \"Revert \"Treat everyone the same.\"\" into nyc-mr1-dev
am: 9dbc259b4f

Change-Id: Idbddd94cb16c2dee3891bcff14ceb618793dd767
ae13eee9c6e2adca405d2f265f257314e06953e5 11-Jul-2016 Makoto Onuki <omakoto@google.com> Merge "Handle package broadcasts before apps do" into nyc-mr1-dev
9dbc259b4f443d3955804150a3778c2468d02419 11-Jul-2016 Jeff Sharkey <jsharkey@google.com> Merge "Revert "Treat everyone the same."" into nyc-mr1-dev
a2241834a54dc91e2eef858741f1a56a743c27b2 06-Jul-2016 Makoto Onuki <omakoto@google.com> Handle package broadcasts before apps do

- Have PM to call the shortcut manager directly before sending a
pacakge broadcast.

- The shortcut manager will enqueue a task to handle a package
broadcast, which will be executed on Handler.

- At the entry points of all external facing methods, block until
all pending tasks are finished.

Bug 29895275

Change-Id: Ib29fa3c9c8d9b9e0ca5c8f1e9da2a390324960a4
m/ShortcutServiceInternal.java
d4255a9c95cc906158128a2acd6490ad57147a13 11-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"ShortcutManager javadoc\" into nyc-mr1-dev
am: 3746d2224d

Change-Id: I1a856a61c3453acd02a2541533a268ade9dd5933
f9c41aeeb52f2a9702cb5862d5b2f6ee34b07402 11-Jul-2016 Jeff Sharkey <jsharkey@google.com> Revert "Treat everyone the same."

This reverts commit 7678aeddd9ca894d5acddef6f900d9d43af009ce.

Bug: 30051184, 29746499
Change-Id: Ibd8bc2771d67c4db61c82dcc8a569eb8adfef8de
ontentProviderClient.java
4a91096a4ccdeeccfbd96da4bc88d874ec0bf451 07-Jul-2016 Makoto Onuki <omakoto@google.com> ShortcutManager javadoc

Bug 29515722

Change-Id: If4805a7f28a2ee602094fca06eb1ff30f258dc1e
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
ae76412b9918ee6845b3a1c7910a354071e8f0fb 08-Jul-2016 Todd Kennedy <toddke@google.com> Merge \\"Add values to ApplicationInfoFlags\\" into nyc-mr1-dev am: 6ac6ceb28b
am: 296b9edfb5

Change-Id: Icb86b109bb55500ad8f0f0768a5e8e8b04147bab
296b9edfb5a4fbeb259566d74d33138b3780a800 08-Jul-2016 Todd Kennedy <toddke@google.com> Merge \"Add values to ApplicationInfoFlags\" into nyc-mr1-dev
am: 6ac6ceb28b

Change-Id: I3aa2488496d7f21440c2bef03944b0f2bdaaa0b3
6ac6ceb28bf8871db213cbccfb966c8e6040738e 08-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add values to ApplicationInfoFlags" into nyc-mr1-dev
5a32c6c290aa7643cfb34973a0b30e39930ad811 07-Jul-2016 Todd Kennedy <toddke@google.com> Add values to ApplicationInfoFlags

Need to add MATCH_DISABLED_UNTIL_USED_COMPONENTS [and the deprecated
GET_DISABLED_UNTIL_USED_COMPONENTS] since those are used when building
the ApplicationInfo object.

Bug: 29824931
Change-Id: I09b24427222fed082f0946717826d2e0db857c7a
m/PackageManager.java
fd949c63e440e3c55e78f344fdb9978a88561663 07-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Hide more shortcut APIs\\" into nyc-mr1-dev am: 07e234c9d7
am: 639a862315

Change-Id: I215b00bae0bb6f9f6c44c23a713f69988f9ec9df
639a862315b2992a13e474d5d5e31f46b6f2511e 07-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Hide more shortcut APIs\" into nyc-mr1-dev
am: 07e234c9d7

Change-Id: If18c62359352c928e2b36c42563d5223c517964e
07e234c9d7ecc9f2b8b7b7d1caf79ea2a920c7ea 07-Jul-2016 Makoto Onuki <omakoto@google.com> Merge "Hide more shortcut APIs" into nyc-mr1-dev
fd9c9ee13d52825dc2b7301d1ec274fb9551002a 07-Jul-2016 Jeff Sharkey <jsharkey@android.com> Merge \\"Treat everyone the same.\\" into nyc-mr1-dev am: a1b026ea2e
am: f32a5c426f

Change-Id: I5e3c1c5fc2b25fd7a5b8cd61ed9fb073b66240e2
f32a5c426fa213167ffcfaa9a757370fe6f3c394 07-Jul-2016 Jeff Sharkey <jsharkey@android.com> Merge \"Treat everyone the same.\" into nyc-mr1-dev
am: a1b026ea2e

Change-Id: I853c743364189e689e29d87ab6c53b7963ebae2f
a1b026ea2e18473656c91e67207afc44b9c373b9 07-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Treat everyone the same." into nyc-mr1-dev
f805b43da7f6d9b12993f9320d80587bc0d0d16a 07-Jul-2016 Makoto Onuki <omakoto@google.com> Hide more shortcut APIs

Change-Id: I911b4963b878e67ad2084190ac080e8555ba63c0
m/ShortcutManager.java
c48903b7e9ab79a18b71c1f937a4e31fe088307c 07-Jul-2016 Dave Langemak <dlangemak@google.com> Merge \\"Hide APIs that shouldn\\'t have been public\\" into nyc-mr1-dev am: 8317f93012
am: d34da3b659

Change-Id: I49e9fc1f0f58db9f6200b954b5b639ac263ca8da
d34da3b6592c1d0431c5cfa79dc2be312a5e1d3b 07-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \"Hide APIs that shouldn\'t have been public\" into nyc-mr1-dev
am: 8317f93012

Change-Id: I28a43a5391d8f815029a3f78ef2f45bc67105bb9
8317f93012da3922e519343472369df43f9a656b 07-Jul-2016 Dave Langemak <dlangemak@google.com> Merge "Hide APIs that shouldn't have been public" into nyc-mr1-dev
598aca467283ed6be082fb240171bc3073ed720d 07-Jul-2016 Makoto Onuki <omakoto@google.com> Hide APIs that shouldn't have been public

Change-Id: I40f1c8e9c6fe991e782bf3dd772f305df641b267
m/ShortcutInfo.java
3fd8c801ba740067cbc48e6d2210e16db95e80d2 06-Jul-2016 Daniel Nishi <dhnishi@google.com> resolve merge conflicts of 7145cac to master

Change-Id: Idd0a8de30697687309953fd37b568207d2fc0be8
7145cace64303c077a85ffe8606c51390f9ad71d 06-Jul-2016 Daniel Nishi <dhnishi@google.com> Merge \"Move the MIME type icon detection into the platform.\" into nyc-mr1-dev
am: 9459f93c97

Change-Id: I151a72b8ee1c16ef94da70e85378dd44b4ac077c
c29d2b04927b9d28089d79cbaa63a6a91db1bb5a 30-Jun-2016 Daniel Nishi <dhnishi@google.com> Move the MIME type icon detection into the platform.

This allows the MIME type icons to be used in other system apps.
In this instance, the StorageManager app needs to show file icons
for a given file. By moving the icon mapping into a static library,
we can avoid duplicating the mapping and resources.

Bug: 29826961
Change-Id: Ic2dc7970cc5a5ca430e33425eb9f1ecbd733fe9a
ontentResolver.java
b8e1286605042da38891bf1ed5fe7db0fc63d2cc 01-Jul-2016 Makoto Onuki <omakoto@google.com> Merge \\"Start shortcuts as if publisher apps did using PendingIntent\\" into nyc-mr1-dev am: 60efbf2586
am: 20a9ca9311

Change-Id: I3bb569bb53b95176dc5e3b19f4122cf75511ac1e
20a9ca93117eeaa197db7632b1e95b51aae4f2ef 30-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Start shortcuts as if publisher apps did using PendingIntent\" into nyc-mr1-dev
am: 60efbf2586

Change-Id: If43a09cd1580edb318404f56459b8557b69b7d5a
ea11db15bd0cfe6ecbc44dd80a988ddf0e8c1ce7 25-Jun-2016 Makoto Onuki <omakoto@google.com> Start shortcuts as if publisher apps did using PendingIntent

Bug 29639471

Change-Id: I2aad115669b431cbea785ba92040b1958117ab47
m/ILauncherApps.aidl
0ba4ec6b9243789c22f9017da1076ec3d582b02c 30-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Merge \\"Address API council feedback (continued)\\" into nyc-mr1-dev am: 01e51e59dd\" into nyc-mr1-dev-plus-aosp
am: bd7d03ab6a

Change-Id: I4a2dd860bdf4ebdcc6ab420d162579307734fa6f
88c6a3eaa3eb6d3ebf17cccd3c81392231224ebe 30-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Address API council feedback (continued)\" into nyc-mr1-dev
am: 01e51e59dd

Change-Id: Ia3a6d4eb224667956eebd6b935628a2ba40dfb18
01e51e59dda2253dbbb2ab7eb3f951bf5fa940be 30-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Address API council feedback (continued)" into nyc-mr1-dev
d6880797f72e1e397e18c6e709c0125f795c7d2e 29-Jun-2016 Makoto Onuki <omakoto@google.com> Address API council feedback (continued)

Got a second set of comments.

Bug 29757958

Change-Id: Ib3a3ffd28bc3e35eb0218b0819870eb5c6ebadb5
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutManager.java
7678aeddd9ca894d5acddef6f900d9d43af009ce 29-Jun-2016 Jeff Sharkey <jsharkey@android.com> Treat everyone the same.

Bug: 29746499
Change-Id: I8344e42c5c55e5414bcc223e4caa857dc06de750
ontentProviderClient.java
71e4da01a63fe6bc27f0c2d47bf36fd5f7ef8750 28-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\"Define deprecated fields in IntDef\\'s\\" into nyc-mr1-dev am: 23bc74a8d5
am: c3575b2149

Change-Id: Ic1d2ac7e3cdb06ce1b01661dac1981aafc05b260
c3575b2149c00d8c1e268d913864b36c7e2795df 28-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"Define deprecated fields in IntDef\'s\" into nyc-mr1-dev
am: 23bc74a8d5

Change-Id: Ic8648d5acff4afdb65074eb9313be082482e2b17
23bc74a8d5c9086b3bddccc4b7554840e585fced 28-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Define deprecated fields in IntDef's" into nyc-mr1-dev
e6c821a81266cea26a3e95ff4dc44681eb3cdece 28-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\\"Default minSdkVersion to \\\'1\\\'\\\" into nyc-dev am: a98e3e3ede am: a1066ed6c2
am: e3cc3d8ad4

Change-Id: I42b6c96d661f4f8b3036513303f319c010c00485
e3cc3d8ad40d78e0a3d618fb478e943b6e908356 28-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\"Default minSdkVersion to \\'1\\'\\" into nyc-dev am: a98e3e3ede
am: a1066ed6c2

Change-Id: I58d97cd42bc939a91d00bd6189a1c2ffcc913b37
a1066ed6c20015db7acd2eae06d23687f1869077 28-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"Default minSdkVersion to \'1\'\" into nyc-dev
am: a98e3e3ede

Change-Id: I8d2b7205f80b3cae5dce04839890df6aafa8449e
08739a2778a6e942bd6e4e1479ded2844e945cf3 28-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"Default minSdkVersion to \'1\'\" into nyc-dev
am: a98e3e3ede

Change-Id: Ib3d99a331f49c2e8af2fcda24149314fc939f4c0
1f397f4e7bedd65e81d1269927e88cd071a046f1 28-Jun-2016 Todd Kennedy <toddke@google.com> Define deprecated fields in IntDef's

Tools need all of the valid constants to handle legacy apps; even
though we want developers to use the new constant names.

Bug: 29824931
Change-Id: I5f8055d50d1d3f32cfbed7459d8a497cfbd3661e
m/PackageManager.java
4f6570878c206b3ee7781ca4341d52c93b812f7b 28-Jun-2016 Todd Kennedy <toddke@google.com> Default minSdkVersion to '1'

Exception when targetSdkVersion is a letter API [eg 'N']. While this
is technically not according to the external docs, it's the behaviour
with prior platforms.

Bug: 29817839
Change-Id: I8382909dbe62de7b2ddfb7995ce11d5c2f43372e
m/PackageParser.java
1a0a502d4788b3e71de6788ec369d67a98f5856e 28-Jun-2016 Andreas Gampe <agampe@google.com> Merge \"Merge \\"Frameworks/base: Add new flow to OtaDexoptService\\" into nyc-mr1-dev am: d06f87399b\" into nyc-mr1-dev-plus-aosp
am: 8299d7156e

Change-Id: I61e73af556b718e58b14a7fed707c7520e3673d9
bd2503e5f4bd0268c34a0ccba275fd6f66bb4d53 28-Jun-2016 Andreas Gampe <agampe@google.com> Merge \"Frameworks/base: Add new flow to OtaDexoptService\" into nyc-mr1-dev
am: d06f87399b

Change-Id: Iaefa3414cb7ca7d113e9ac776f8f667d5dc724c8
d06f87399be44995fbe4690d7c7e73f41424fa2e 28-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Frameworks/base: Add new flow to OtaDexoptService" into nyc-mr1-dev
cc241a580cb9b753d0dde0cea578feb74ad517e7 24-Jun-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Add new flow to OtaDexoptService

Add functionality to capture/intercept installd communication, and
use this to return the full communication for dexopt. These parameters
can be used to drive otapreopt_chroot directly.

Keep the old direct invocation alive until devices have transitioned
to a service that exposes this API.

In preparation for renaming of A/B OTA artifacts to include target
slot names.

Bug: 25612095
Bug: 28069686
Change-Id: I14728ee1266f3882cada8f08dd21891ed5f7a0cb
m/IOtaDexopt.aidl
4eefd6801c5955a3017ff80f7bf61dd71a50b1a8 27-Jun-2016 Steven Ng <stevenckng@google.com> Merge \\"Disallow disable / hide device provision app\\" into nyc-mr1-dev am: dc52eaaa98
am: 8b764a81ef

Change-Id: Id04c937ce560d0446037a495394ec168875782cb
8b764a81ef5831555d5556f69947161cef4e8fc1 27-Jun-2016 Steven Ng <stevenckng@google.com> Merge \"Disallow disable / hide device provision app\" into nyc-mr1-dev
am: dc52eaaa98

Change-Id: I638ca8d2c03bb75bf4881511db993fdc29961a3e
dc52eaaa982f59e6c3369f3a485a4fd8e05253c1 27-Jun-2016 Steven Ng <stevenckng@google.com> Merge "Disallow disable / hide device provision app" into nyc-mr1-dev
c038c55f628838fe3a47ebc2cc15645a3808b4f9 25-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \"Update DisplayMetrics when resizing\" into nyc-dev
am: 34ccbe035a

Change-Id: I1b0b6711a3ad8c9fd29bbb967d59d59326fa7d25
3d26f768a22ae0f12ff92634afe19c8cb0abe271 25-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \\"Update DisplayMetrics when resizing\\" into nyc-mr1-dev am: 038084e61c
am: 89aea239cd

Change-Id: I9cc73d39e690d30c736b705235bb93e92bd029a6
ac3e0e590a7b425af20e2ac70569ced789155dde 24-Jun-2016 Adam Lesinski <adamlesinski@google.com> Update DisplayMetrics when resizing

Previously the DisplayMetrics passed to a new ResourcesImpl
object would be generated from the default DisplayAdjustments.
We now use the correct DisplayAdjustments for the ResourcesImpl
and make sure to update them for things like rotation changes.

Bug:29619314
Change-Id: If2ba0d7670a4554dcd3fde9766e2337f20a191fd
(cherry picked from commit 8e8d23214a71d8813ebd3676b192924c530cb913)
es/Resources.java
es/ResourcesImpl.java
89aea239cd841ea1df4b1eb314c27d4b6e4d800f 25-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \"Update DisplayMetrics when resizing\" into nyc-mr1-dev
am: 038084e61c

Change-Id: I82318bbd8dbf03ab4bc01533b8c5650306cff0aa
038084e61cb85ac09e745e5d64817668606f08d8 25-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update DisplayMetrics when resizing" into nyc-mr1-dev
a9d2a39bb1f2482b03bc8e8473d16b8471c5286e 24-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"Shortcut: Only \\"main\\" activities can have shortcuts.\\" into nyc-mr1-dev am: 1af9a58956
am: 312933e043

Change-Id: I26419c323a33bf26f2dea4666e07c64a4e7d6254
312933e0439f36dbfdb51dba14c6ef31fe94bfca 24-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Shortcut: Only \"main\" activities can have shortcuts.\" into nyc-mr1-dev
am: 1af9a58956

Change-Id: Id878608aec49985228e129de9736b751c9ae8567
8e8d23214a71d8813ebd3676b192924c530cb913 24-Jun-2016 Adam Lesinski <adamlesinski@google.com> Update DisplayMetrics when resizing

Previously the DisplayMetrics passed to a new ResourcesImpl
object would be generated from the default DisplayAdjustments.
We now use the correct DisplayAdjustments for the ResourcesImpl
and make sure to update them for things like rotation changes.

Bug:29619314
Change-Id: If2ba0d7670a4554dcd3fde9766e2337f20a191fd
es/Resources.java
es/ResourcesImpl.java
b08790c3b2f3bdb0c2e2f7ff46e4584fb1127769 23-Jun-2016 Makoto Onuki <omakoto@google.com> Shortcut: Only "main" activities can have shortcuts.

- Don't publish shortcuts when their target activities are not main.
- Only scan manifest shortcuts for main activities.
- When an app is updated, remove shortcuts that no longer belong to
valid main activities.

- Also re-publish manifest shortcuts after 'clear data'
- Also listen to PACKAGE_CHANGED and disable/re-publish shortcuts
properly.

Bug 29355786
Bug 29582255
Bug 29601844

Change-Id: I6c701ce669cf30a227bc2af4aa01de467ef73e3a
m/ShortcutInfo.java
9d48a731d0a7c016b58bc9c1afc4acd94200650f 24-Jun-2016 Steven Ng <stevenckng@google.com> Disallow disable / hide device provision app

+ Rename functions in ProtectedPackages.
+ Add a Set in ProtectedPackages to store protected package.

Bug: 29116229
Change-Id: Ib7dd93a158c09ebbf70f4d57c1afbd2c5102edbd
m/PackageManagerInternal.java
e4c1812750a47fe0beb4d6d998647c248b454232 23-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Merge \\\"Use granted userId to look up provider info\\\" into nyc-dev am: f9f2c7ceef am: 7bc1db96ed
am: d50b61ff36

Change-Id: Iceec1009f0ac020d402b980e6952a0de7d0a671c
d50b61ff368a0c956136fd56ac39ab37566cbeda 23-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Merge \\"Use granted userId to look up provider info\\" into nyc-dev am: f9f2c7ceef
am: 7bc1db96ed

Change-Id: I914c389f3b326eefdada42e2d55c116d308521c4
eb3f3aa46d6494766495f06b585feacfc6543d26 23-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Merge \"Use granted userId to look up provider info\" into nyc-dev
am: f9f2c7ceef

Change-Id: I7af8b1867bb4a1784658f445c91158c0e4c43667
7bc1db96edca9fbcc34e2e5a266c58f31781243e 23-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Merge \"Use granted userId to look up provider info\" into nyc-dev
am: f9f2c7ceef

Change-Id: Ifb6876fbb424632d3b47ec68686c01b56720b0a4
f9f2c7ceefa1348c57f1070327cf5d36c9c0d8d5 23-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Merge "Use granted userId to look up provider info" into nyc-dev
b5c8a98b7641c7f339393f69a29415242b7f9fd0 22-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \\\"ContextImpl: Keep DisplayAdjustments and Display in sync\\\" into nyc-dev am: 0bf31c3fa6 am: a72a6aae37
am: ce71c120df

Change-Id: I93c1714ded50dc0233185f68b08b7b7803cfc264
ce71c120df5386401ddaec61030e24fe8b398c1a 22-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \\"ContextImpl: Keep DisplayAdjustments and Display in sync\\" into nyc-dev am: 0bf31c3fa6
am: a72a6aae37

Change-Id: I8c85a4bb67d470c5bba5bcf81915e4684019027b
a72a6aae37f79408dfbfc6a47167370e242ef3fa 22-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \"ContextImpl: Keep DisplayAdjustments and Display in sync\" into nyc-dev
am: 0bf31c3fa6

Change-Id: If0da3136f1fcb17c43a5b8c22ca890b8abcfc25c
e894efa9b6b40865d6d5666a5d776ba4e7185156 22-Jun-2016 Adam Lesinski <adamlesinski@google.com> Merge \"ContextImpl: Keep DisplayAdjustments and Display in sync\" into nyc-dev
am: 0bf31c3fa6

Change-Id: Id0d16d2f9d69b87d4b4c01370eeceafe329d1817
9bbaacf845f6f387cd6e16834da50f7c1a0b451f 20-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Use granted userId to look up provider info

In getPersistedUriPermissions, use granted userId instead of the calling
userId to look up provider info.

Bug: 29058113
Change-Id: Ia637be414f9ef3b8e9bce13bb56bd335cfb28ac7
ontentResolver.java
4ece3d6bb18a609afcd0e82f0340b7d36ba24eea 17-Jun-2016 Adam Lesinski <adamlesinski@google.com> ContextImpl: Keep DisplayAdjustments and Display in sync

Make sure that when our Resources get updated, that DisplayAdjustment
and Display properly reflect the potentially new screen dimensions.

Bug:28388969
Change-Id: I340550ea094ece87abc8790dd46aaa60ab3cedd3
ontext.java
ontextWrapper.java
es/Resources.java
es/ResourcesImpl.java
02f355df6b9da34d8e9345d66126058cb2abf88e 22-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Merge \\"Shortcut Manager: Address API council feedback and fix TODOs\\" into nyc-mr1-dev am: 3c67b3e47c\" into nyc-mr1-dev-plus-aosp
am: 24c52732d7

Change-Id: Ib54aff79c823b6819d94ef0ef6194e4541bf734f
5665a66b447e48d813a18fc58655032cbd18f458 22-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Shortcut Manager: Address API council feedback and fix TODOs\" into nyc-mr1-dev
am: 3c67b3e47c

Change-Id: If7346f3dea63a31592d430b7503af170cb354677
3c67b3e47ca680d9e1b0aff69e8a8ea796dedaae 22-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Shortcut Manager: Address API council feedback and fix TODOs" into nyc-mr1-dev
b5a012fd6f088629746057a3902b5926f9fe8e08 21-Jun-2016 Makoto Onuki <omakoto@google.com> Shortcut Manager: Address API council feedback and fix TODOs

Bug 29515722
Bug 29516909
Bug 29515090
Bug 29516954
Bug 29515088

Change-Id: Ibe1d27033cbd0fd50d37e3d9945b47551211c568
ontext.java
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
6b2df04ce4b230cd4d8e6b9fd8b30f2e4626fc46 21-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\"Change prefix based upon mask\\" into nyc-mr1-dev am: 1dffcfdd7b
am: 322bb3fd0a

Change-Id: Ib2a7aee7e2d2dd7195a7a4d4e7c8c0b03885d25b
322bb3fd0a088e1e3d9b20cbc5067a3693ee3b2e 21-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"Change prefix based upon mask\" into nyc-mr1-dev
am: 1dffcfdd7b

Change-Id: I6a01e9ba3c914730b364766036e9c9c00b9d0a40
409b0a13e1f2f3f62e4827b835700c4cf2b77f06 21-Jun-2016 Todd Kennedy <toddke@google.com> Change prefix based upon mask

The mask may not be all F's.

Change-Id: I50ff4e4fb95af2037b84a1531b60dd9c0986bf86
m/EphemeralResolveInfo.java
39fcc6acbcde9bd9152a9f926d8675c4892e7809 21-Jun-2016 Tony Mak <tonymak@google.com> Merge "Fix the handling of bundle array in RestrictionsManager"
7e346ef8532c28d691236015dba9a79750d326a0 20-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"Launcher shortcut callback should deliver manifest shortcuts too\\" into nyc-mr1-dev am: 901c03faba
am: c07a7518d6

Change-Id: Ibc270d83d7c8544195ce1f6e9eee245db7e095f5
c07a7518d6bfd85fcc1ad15e72cf0fe8014ef0d0 20-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Launcher shortcut callback should deliver manifest shortcuts too\" into nyc-mr1-dev
am: 901c03faba

Change-Id: Iaccb15163fd5b795adced796ede0a56e30a544a3
901c03faba8c73194e694222477ce8d2c594d324 20-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Launcher shortcut callback should deliver manifest shortcuts too" into nyc-mr1-dev
1d18efe080f63f6518f06ebfb85d2bad4556590c 20-Jun-2016 Tony Mak <tonymak@google.com> Fix the handling of bundle array in RestrictionsManager

Fix: 29506624

Change-Id: I0683d406f8b70d5d5f78bfc337d3952b6513d102
estrictionsManager.java
d8914879b5a4738e8d072b9a076aea1ab429ce87 20-Jun-2016 Roozbeh Pournader <roozbeh@google.com> Merge \\"Fix AAPT-compatible output format for locales\\" into nyc-mr1-dev am: 63ed39f395
am: e7978c11c8

Change-Id: I18ba70a18087cba3c5472e991bef42e0b140a710
e7978c11c8379412e4c10babfb6f2e410335fd3b 20-Jun-2016 Roozbeh Pournader <roozbeh@google.com> Merge \"Fix AAPT-compatible output format for locales\" into nyc-mr1-dev
am: 63ed39f395

Change-Id: I55f2edc543d1d029a63a9352522a3e18ace655ac
63ed39f3954fe76733821fef198eb107fce7f56f 20-Jun-2016 Roozbeh Pournader <roozbeh@google.com> Merge "Fix AAPT-compatible output format for locales" into nyc-mr1-dev
7182948b567ac493598ee078c1737eb178033add 20-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"Merge \\"fix resolver\\" into nyc-mr1-dev am: acc21f572d\" into nyc-mr1-dev-plus-aosp
am: 3e68026036

Change-Id: Ie4f8397a0511c527cfa46b2c04c888e7d0141847
fcb121216cc01f4d0412b20fa967babb7020036d 20-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"fix resolver\" into nyc-mr1-dev
am: acc21f572d

Change-Id: I7bf923b0683dd60ea86f374d2cc5dc029613a907
acc21f572dfb88f8fa08ea95c77c5ce212b86efb 20-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "fix resolver" into nyc-mr1-dev
958b3410bf9d5a9c8afdc7571d514b242926101e 20-Jun-2016 Todd Kennedy <toddke@google.com> fix resolver

Change-Id: I31649d0f85b7b6553a6ecf38fd7c08279b85a0a6
m/EphemeralResolveInfo.java
4d6b87ffdf06df3303239130ced685bc1a3fae50 17-Jun-2016 Makoto Onuki <omakoto@google.com> Launcher shortcut callback should deliver manifest shortcuts too

- Also include "activity" in the key fields, as this is now an
important field.

- Also optimize ShortcutInfo parceling for the "key field only" case.

Bug 29394043
Bug 29451629

Change-Id: I61b2bc2f61ad6ebdcbaf6d02f1bd88777c45a7f0
m/LauncherApps.java
m/ShortcutInfo.java
309ebd6430a7df246110f614966e614290d6486b 18-Jun-2016 Roozbeh Pournader <roozbeh@google.com> Fix AAPT-compatible output format for locales

The previous code used a format that is not supported by AAPT,
although it claimed it was. The new code generates locale codes in
the format AAPT can consume, using xx and xx-rYY for simple locales,
and the b+ format for everything else.

Bug: 25599046
Change-Id: I34d432f23b84913d313d6562c110d7fad87c457a
es/Configuration.java
cb0f366fe21c8fd4fd52cd853dce8bfa3affdbf9 17-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"Update manifest shortcut XML schema\\" into nyc-mr1-dev am: a65d8b6609
am: 5a533c9ae3

Change-Id: If46b8c1763b3682c780dcbaef1a790c1a5b9ded6
4926ee18c00401561579a7c80b4cb14d641f8088 17-Jun-2016 Gina Dimino <gdimino@google.com> Merge \\\"Docs: Suppress errors in SystemApi Build Bug: 28427390\\\" into nyc-dev am: d06520a488 am: b7181150c4
am: cb08f6805a

Change-Id: I65d3016319d0cc53a53f931aa62c642ac53b9520
5a533c9ae3dfdd444a581023d8c3774f9f60b333 17-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Update manifest shortcut XML schema\" into nyc-mr1-dev
am: a65d8b6609

Change-Id: I7f7b88bb468e608e28ecb2af3b2455ae75e812af
a65d8b660986520a8d7b6ec4c363ce13e4560667 17-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Update manifest shortcut XML schema" into nyc-mr1-dev
df6da040e00cba255cad64d2d231aae62928607a 16-Jun-2016 Makoto Onuki <omakoto@google.com> Update manifest shortcut XML schema

Use the standard <intent> tag instead of custom tags.

- Also fix setDynamicShortcuts(), which was broken in the previous CL.
- Also tolerate runtime exceptions while parsing XMLs
- Also fix b/29422018 while I'm at it

Bug 29390156
Bug 29077932
Bug 29422018

Change-Id: I2756c9d66c6d7b2962a982d9e57a7d84a5755b28
m/ShortcutInfo.java
cb08f6805ad06fd02f728fe3c5a2a4a1d3d03cc5 16-Jun-2016 Gina Dimino <gdimino@google.com> Merge \\"Docs: Suppress errors in SystemApi Build Bug: 28427390\\" into nyc-dev am: d06520a488
am: b7181150c4

Change-Id: Iaa27ea956dbb521ff0fd20c2ab4ddb27608bf2f4
b7181150c42da5d5edcf45fad84e8a7fb2be462b 16-Jun-2016 Gina Dimino <gdimino@google.com> Merge \"Docs: Suppress errors in SystemApi Build Bug: 28427390\" into nyc-dev
am: d06520a488

Change-Id: Ice3bd7016d11e4f8f50c09e7b6ba3cb613911a52
0bae4dcd76d4138ca9ec9d0b0e9960705e54650d 16-Jun-2016 Gina Dimino <gdimino@google.com> Merge \"Docs: Suppress errors in SystemApi Build Bug: 28427390\" into nyc-dev
am: d06520a488

Change-Id: I127501113d4e290a1e8d0b3a44ba779ec36cdc1d
d06520a488056e004b3338154f5d8baf7214a66f 16-Jun-2016 Gina Dimino <gdimino@google.com> Merge "Docs: Suppress errors in SystemApi Build Bug: 28427390" into nyc-dev
092d4e91e8723e6d3cd5df9a8bc5683e2d5c1fc4 16-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"Shortcut: Reset throttling upon inline reply\\" into nyc-mr1-dev am: 489bafbb4b
am: 58b2258506

Change-Id: I7034cc9ef130c9dccfa35a8cb75940d717a2a15d
58b22585062fcfb7d451f54a2c79b966ab3dc0ed 16-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Shortcut: Reset throttling upon inline reply\" into nyc-mr1-dev
am: 489bafbb4b

Change-Id: I5c8dc7f3c1e5860ea870d88b2ff7fc2a86a4ba39
489bafbb4ba53fd104c898975cf48c8815a1cb59 16-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Shortcut: Reset throttling upon inline reply" into nyc-mr1-dev
274ae72b470270fc61955d033165c0c65c2ae5f5 16-Jun-2016 Amith Yamasani <yamasani@google.com> Merge \\\"More thorough cleansing of expired users\\\" into nyc-dev am: 4f2b1b455e am: bf1301f542
am: 80027e9d93

Change-Id: I9f6040fb97c55aa5e01d00d5221a2c678227dab2
80027e9d9324fae6b34f8af3075cf49d7fecc42b 16-Jun-2016 Amith Yamasani <yamasani@google.com> Merge \\"More thorough cleansing of expired users\\" into nyc-dev am: 4f2b1b455e
am: bf1301f542

Change-Id: Ie4250ddaa0175ff25a85abdbaa59a31b61003752
bf1301f5427d3081982b99408b646761f23b7500 16-Jun-2016 Amith Yamasani <yamasani@google.com> Merge \"More thorough cleansing of expired users\" into nyc-dev
am: 4f2b1b455e

Change-Id: Ia5388c84b89cdabefe666b483cebe40066e4d26a
c5ffdb9ee48905bacab0d5986d3eff2b399acd5e 16-Jun-2016 Amith Yamasani <yamasani@google.com> Merge \"More thorough cleansing of expired users\" into nyc-dev
am: 4f2b1b455e

Change-Id: I5714f73a9b90c0cb8fee653abf799374acfc6232
a8607b119d1816b5e251e83f0f2120dc139ba81e 16-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"ShortcutManger: Auto-adjust ranks.\\" into nyc-mr1-dev am: 70a91541e9
am: 35f77b2b74

Change-Id: If3e4a6387085b6a58154619af326e39f497158db
35f77b2b746eca5cf3108ee8ecd8beaaae2bd58b 15-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"ShortcutManger: Auto-adjust ranks.\" into nyc-mr1-dev
am: 70a91541e9

Change-Id: I42d2d2a954bd2f52bd7b75cfd051bab0def100da
70a91541e9eb2acc6ee5a34785abdc420127a5ec 15-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManger: Auto-adjust ranks." into nyc-mr1-dev
9e1f5595bd7ffe3af6ca35b3235dfca0ecd07978 08-Jun-2016 Makoto Onuki <omakoto@google.com> ShortcutManger: Auto-adjust ranks.

Spec: go/shortcutmanager-spec-ranks

Bug 28984376
Bug 28536066

Change-Id: Ibffb92233c62792af06eeadc5a9a6379d0506a3c
m/ShortcutInfo.java
d04aaa323c3a788d26f18fc66e0a59b47e525b38 13-Jun-2016 Amith Yamasani <yamasani@google.com> More thorough cleansing of expired users

If any /data/system_[c|d]e folders were not erased
when the user was removed (maybe due to a reboot),
make sure they're cleaned up on restart as well
as when the userId is recycled later.

Mark the users' system folders with the correct
serial number for later verification.

AccountManager shouldn't be querying accounts of
partially created/destroyed users.

Change-Id: I4313756b7464f34cd5ce4fb296d61daa50b41fcb
Fixes: 29285673
ontext.java
20c0209e2f2b54a412331a673eb728ed6e03ed6a 15-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\"New API w/ multiple prefixes\\" into nyc-mr1-dev am: d07b87cb1c
am: 162b74a6fd

Change-Id: I81d79930c6d3d42be61a9ab1cdb5f29d677cd3de
162b74a6fdaa3cd4da58f307eff08fd98b0a3222 15-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"New API w/ multiple prefixes\" into nyc-mr1-dev
am: d07b87cb1c

Change-Id: I3296ac4343cfedb5b88470963cb4671e9e3427f6
a97045b2456b63a9c699a8cc8af66b0e8e95c519 11-Jun-2016 Todd Kennedy <toddke@google.com> New API w/ multiple prefixes

Use the new API that contains multiple hash prefixes and a mask. Also
do some small refactoring necessary to handle multiple prefixes and
use a common implementation of the hash generation

Change-Id: Ib52f767ea6aadc30c67c5bdee949e9f9c5f04e44
m/EphemeralResolveInfo.java
d6e1f3bec18167f726ccc20f9bcbc6526dfc78fe 14-Jun-2016 Makoto Onuki <omakoto@google.com> Shortcut: Reset throttling upon inline reply

When the user does an "inline reply", we consider the notification
publisher app is "activated" and reset the shortcut throttling.

Bug 28705275

Change-Id: Ic9ffa13635274ead7e9d1e832cd31dea997830aa
m/ShortcutManager.java
eacbc45469f7670900457d539f8394802064910a 14-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Merge \\\"Push DO/PO package names from DPMS to PM\\\" into nyc-dev am: f419bd9e03 am: 93322e6818\" into nyc-mr1-dev-plus-aosp
am: 1dc43402e9

Change-Id: I6621d43fdebb9f7b76d9c2f49a77ec626642f8da
31a5d3affa89b9ac95ecf55d4abc64bdce1a2a74 14-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"Push DO/PO package names from DPMS to PM\\" into nyc-dev am: f419bd9e03
am: 93322e6818

Change-Id: I4fd9877c9e6adcdeeb17a9a5a2e70731f6e0b596
93322e68186da8e5f5f728d0836821f7d1434e19 14-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Push DO/PO package names from DPMS to PM\" into nyc-dev
am: f419bd9e03

Change-Id: I27dec65477ddfa90060baeea26169ea79503f642
58806af09cd79b3ba7ce751d74dc234d7792a60e 13-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "new ClipData constructor."
78f16950c62c68ccc6a5547f7388afd9b1c77fde 13-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Push DO/PO package names from DPMS to PM\" into nyc-dev
am: f419bd9e03

Change-Id: Ic3071f3a712da72fd141ef37ac6aabe6dbd09355
f419bd9e03574d63581694f646f1b1136e7574d8 13-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Push DO/PO package names from DPMS to PM" into nyc-dev
57eaaf68572bfb796029f6fef709386a66cf81ff 13-Jun-2016 Steve McKay <smckay@google.com> new ClipData constructor.

Add new constructor with args: ClipDescription, ArrayList<Item>.

This allows description and item list to be constructed separately.

Change-Id: I09f63d308dbafdb2c749019848afb0d2d24b8c44
lipData.java
3196999a505c77f1c9f136092f2ee9f97e090782 13-Jun-2016 Andreas Gampe <agampe@google.com> Merge \\"Otadexopt: Expose progress percentage\\" into nyc-mr1-dev am: b71c36b000
am: cda39b3af7

Change-Id: I34b02aca376561622ce51a7b061978bcf9cd4257
cda39b3af7ab73a86a9a6840de79dcf8913f56ad 13-Jun-2016 Andreas Gampe <agampe@google.com> Merge \"Otadexopt: Expose progress percentage\" into nyc-mr1-dev
am: b71c36b000

Change-Id: I3489b6b85f1306f2ef056aaf28c28fc16b2e2a05
b71c36b000ac5757cf6d5fc3d560afb95e16852a 13-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Otadexopt: Expose progress percentage" into nyc-mr1-dev
8aabf5e997a6143f08345f5b1231cfc36cf03480 13-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"Fix some exception messages and enhance unit tets\\" into nyc-mr1-dev am: 5b8f5fd38b
am: 1c14929ae8

Change-Id: I29fe2b8c212d8447792b5c721fd794933ae14a96
1c14929ae8d1476ca73f463ac2ae85118a888896 13-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"Fix some exception messages and enhance unit tets\" into nyc-mr1-dev
am: 5b8f5fd38b

Change-Id: If0c711f8f9cef00b4a8fb279b5c5996f2995d1f0
5b8f5fd38be1ea9aa3202f747d14f3b8f4b61c01 13-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "Fix some exception messages and enhance unit tets" into nyc-mr1-dev
a1d38b3c95cd6a38ee7336fd90729d3b3be6ae25 11-Jun-2016 Makoto Onuki <omakoto@google.com> Fix some exception messages and enhance unit tets

Bug 29275393

Change-Id: Idaa8564d41f86de2a2cbefa4ff3c08b89a3a6dd2
m/ShortcutInfo.java
bf06232f4d440ced8230662a77ca0e8ece6383ca 11-Jun-2016 Andreas Gampe <agampe@google.com> Otadexopt: Expose progress percentage

To be able to report progress of an A/B OTA dexopt, expose a
progress function that the script can query.

Bug: 25612095
Bug: 29223204
Change-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd
m/IOtaDexopt.aidl
a62547849de29d961bf793f83aa3bc599028c1bd 10-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\"fix prefix generation\\" into nyc-mr1-dev am: 0f8427773e
am: db6cd50708

Change-Id: Iec8b0587af5a0487bd67a7b12e0c3eb017258348
db6cd507083f749247ff61b98cabb574761cda06 10-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"fix prefix generation\" into nyc-mr1-dev
am: 0f8427773e

Change-Id: I4614c85ce7e08bbd5d30d8cebc3a77294154a577
3c91c4076945940d091c9e2eb54e7d1fd47c10f1 10-Jun-2016 Keisuke Kuroyanagi <ksk@google.com> Merge "Fix: UndoManager#saveInstanceState."
e2e1ef0581c188014a0b11bbf46325b82d959720 10-Jun-2016 Todd Kennedy <toddke@google.com> fix prefix generation

when performing bitwise operations, java promotes byte's to int's.
this is normally okay except when the value is negative. in that
case, java extends the sign bits. this means that after shifting,
all of the upper bits are most likely going to be all f's. instead,
undo the sign extension by pulling out just the 8 bits we're
interested in.

Change-Id: I89f7244f6b675be2cca4a185a7002b5f8a6eece1
m/EphemeralResolveInfo.java
a3d4c84311e9bd03c5813f7512a48922986ec99c 09-Jun-2016 Todd Kennedy <toddke@google.com> Merge \\"make round icon usage configurable\\" into nyc-mr1-dev am: 7b52b2eccd
am: ca251e5325

Change-Id: Icdf6c4c97c8ef7601f64e920623b47d215efa9d4
ca251e53251a7754c04334088bbfea27b3200994 09-Jun-2016 Todd Kennedy <toddke@google.com> Merge \"make round icon usage configurable\" into nyc-mr1-dev
am: 7b52b2eccd

Change-Id: I99706274705ca5589a70370af8dd17f5a4bc0297
a83bfca63fdc0304c69e080395aeee815fc1f2fe 03-Jun-2016 Todd Kennedy <toddke@google.com> make round icon usage configurable

We want to only use round icons for Nexus devices, so, add a configuration
boolean to control it. By default we will use the legacy, rectangle icons.

Bug: 28981414
Change-Id: Ib6448bc09287de852a48a943461a6882bd890a30
m/PackageParser.java
4258617146280eee5cd232378ab4330215878505 09-Jun-2016 fionaxu <fionaxu@google.com> Merge \\\"resolve merge conflicts of afed6f8 to nyc-dev\\\" into nyc-dev am: 0c4f1c7e5c am: bee500e374
am: e9819bae1a

Change-Id: I21ab89b4b9277fbb846c5232d7fbb2b47d4df7ef
e9819bae1a175768153166204d59b6807b0ce35f 09-Jun-2016 Chen Xu <fionaxu@google.com> Merge \\"resolve merge conflicts of afed6f8 to nyc-dev\\" into nyc-dev am: 0c4f1c7e5c
am: bee500e374

Change-Id: I7c1ad4e3fa9b1bab21ab931be6ccaae33e89f20b
e285ab3aaeed9345b3a43d0a931c46ff326aba26 09-Jun-2016 fionaxu <fionaxu@google.com> Merge \"resolve merge conflicts of afed6f8 to nyc-dev\" into nyc-dev
am: 0c4f1c7e5c

Change-Id: I46be8494c88f03768e20bb702383f78cf38c1115
bee500e3746d0844a971c5a9beab3d69b414616b 09-Jun-2016 fionaxu <fionaxu@google.com> Merge \"resolve merge conflicts of afed6f8 to nyc-dev\" into nyc-dev
am: 0c4f1c7e5c

Change-Id: I2d17de5bc787f4f9c8b7a9115a635bfee820a219
79781477712b846dc5b05102141704f6b563942a 09-Jun-2016 fionaxu <fionaxu@google.com> resolve merge conflicts of afed6f8 to nyc-dev

Bug: 28557603
Change-Id: Icb19f3d031cce2d846d5f6e9ad4d28d002db6bac
7fa09ec4dc600c2313914cd819d79362186c281e 08-Jun-2016 Alan Viverette <alanv@google.com> Merge \"Return correct default theme on API >= 24\" into nyc-dev
am: afaa1e9db1

Change-Id: If520e4590d5d5b2832e3e53b25e95f6ca5e3b497
8042dd846a18f53675b4be498825c55815475ef6 08-Jun-2016 Alan Viverette <alanv@google.com> Merge \\\"Return correct default theme on API >= 24\\\" into nyc-dev am: afaa1e9db1 am: 1bb283131f
am: af2f098c8c

Change-Id: I5cbd140458a6fa354551bcfb1a73b0cffcbd8453
af2f098c8c827985fbcc8f134b97c5091fd5bddb 08-Jun-2016 Ian Pedowitz <ijpedowitz@google.com> Merge \\"Return correct default theme on API >= 24\\" into nyc-dev am: afaa1e9db1
am: 1bb283131f

Change-Id: I2f21175998134e3ac03279307e7d6bb163614ce9
c29f62c7388f550da2c7368c5dbc0aec7d1564fe 07-Jun-2016 Makoto Onuki <omakoto@google.com> Push DO/PO package names from DPMS to PM

Bug 29126573

Change-Id: I95ea1559f6acf5d2f0e1b0953568cdfc938e83b9
m/PackageManagerInternal.java
1bb283131faa7673962027f84c8ab838e194ee5e 08-Jun-2016 Alan Viverette <alanv@google.com> Merge \"Return correct default theme on API >= 24\" into nyc-dev
am: afaa1e9db1

Change-Id: I620b5682bc4fa9752b1f1bf68d8ed1498db66a5d
c10e4fae05b84b4564496be9e3261ceb3b784da5 08-Jun-2016 fionaxu <fionaxu@google.com> resolve merge conflicts of 2c53526 to lmp-mr1-dev am: c196526f8e am: 1e8fe12f4e am: 965084dd0c am: 698e044717
am: c95d552de0

Change-Id: I4db8cef9678c409b7f0610d98f161e0e048a0333
c4e64bc449475f16c0ef3afa76ca168ac24a9a41 08-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \\"ShortcutManager: deal with changing resource IDs on app update\\" into nyc-mr1-dev am: 3bb4366006
am: a3a56ab9d1

Change-Id: Id5e39a35db803223a89100a8e23a7b3309cd9dd3
c95d552de089a70526416d771df456566b60da2d 08-Jun-2016 fionaxu <fionaxu@google.com> resolve merge conflicts of 2c53526 to lmp-mr1-dev am: c196526f8e am: 1e8fe12f4e am: 965084dd0c
am: 698e044717

Change-Id: I5a00c0b206cae8a13f860783756ffa66c08db65d
a3a56ab9d16a542931249d6e7b8fd68eabbc16d5 08-Jun-2016 Makoto Onuki <omakoto@google.com> Merge \"ShortcutManager: deal with changing resource IDs on app update\" into nyc-mr1-dev
am: 3bb4366006

Change-Id: Ic2adc036d256a0ad3da4f65a20edfc4cdeb30447
698e044717e1106bbd8a63798b062a9d31e9ddb1 08-Jun-2016 fionaxu <fionaxu@google.com> resolve merge conflicts of 2c53526 to lmp-mr1-dev am: c196526f8e am: 1e8fe12f4e
am: 965084dd0c

Change-Id: I1db27bacdfc0c66ddc28c3d656f1f5cfb98894a8
965084dd0cc643713afe6cebe47cc519e9ffcf84 08-Jun-2016 fionaxu <fionaxu@google.com> resolve merge conflicts of 2c53526 to lmp-mr1-dev am: c196526f8e
am: 1e8fe12f4e

Change-Id: I3122c1d81dde1088990bcbd2aff7eea478ead4fc
4b2b615669edf0cb3e2b1dbf3116281477e1f0b7 08-Jun-2016 Alan Viverette <alanv@google.com> Return correct default theme on API >= 24

This method was broken, but it was returning light theme on N preview
builds, so we'll keep it consistent as we move into N release.

Bug: 29192690
Change-Id: I0d16abbe48756070dcd653c39d0da4124ea66b28
es/Resources.java
c196526f8e33b745b8d515df46b003ef44114135 08-Jun-2016 fionaxu <fionaxu@google.com> resolve merge conflicts of 2c53526 to lmp-mr1-dev

Change-Id: I4fe45fae0a98934ac9b0f6f48c8cab8546392641
2c53526b4b2d89d453ecf89548ed94427424d1ec 08-Jun-2016 fionaxu <fionaxu@google.com> Backport loadSafeLabel changes am: be2865a60a am: 4c50846519
am: 9a825b0fd5

Change-Id: Ie3042058420fbd3018ae238dab4129de58ec69c8
9a825b0fd50537f49057f7e1c9f91fc071c584c4 08-Jun-2016 fionaxu <fionaxu@google.com> Backport loadSafeLabel changes am: be2865a60a
am: 4c50846519

Change-Id: Ia31592def4d88a3a9e92a7e0c9126691c64a5fc4
4c508465190067dbf71583b5b2a2807229d512a8 08-Jun-2016 fionaxu <fionaxu@google.com> Backport loadSafeLabel changes
am: be2865a60a

Change-Id: Ifabe996449c534c5085245c4f07e2d865a23e126
157b1628fd84dc3ef0355fddd8d281618f94d33e 03-Jun-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: deal with changing resource IDs on app update

- When an app is upgraded, all the resource IDs may change. So
if a shortcut is previously published with an icon for res ID 100
and the publisher is upgraded, resource #100 may refer to something
different.

- So now the service also remembers resource names for icon resources,
as wells as string resources. When an app is updated, the service
fetch the updated resource IDs by name.

- Also extract all string resources when a shortcut is published
and persist them, so that even when the original string resources are
removed from the app, the launcher can still show the extracted strings.

- When the system locale changes, re-extract all string resources.

- Also really hide the constants in ShortcutInfo that were
accidentally made public.

Change-Id: I23c29b45c1de5d76175229190a1533c9c62c5960
m/ShortcutInfo.java
be2865a60a470c6248bdd7155f79d57239baa0f1 03-Jun-2016 fionaxu <fionaxu@google.com> Backport loadSafeLabel changes

Bug:23531798
Bug:28557603
Change-Id: Iee49f7c37d6a42fe74077bb15ed47919d351d172
m/PackageItemInfo.java
973edd1081e017339719fd4e8d40a4fea5d3669a 03-Jun-2016 Keisuke Kuroyanagi <ksk@google.com> Fix: UndoManager#saveInstanceState.

The number of redo states was stored to Parcel in saveInstanceState;
however, there wasn't corresponding read in restoreInstanceState.

Bug: 29113655
Change-Id: I95298f43dd206e0318a80f1643d2129d1199cc9e
ndoManager.java
cffb6041d258fff79dd3d4f9ea989d13a8ee43c9 03-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Implement usage report API" into nyc-mr1-dev am: 37087ad710
am: 51c7ce7531

* commit '51c7ce7531f5c1fc1ae442b1c6f206735599cea2':
ShortcutManager: Implement usage report API

Change-Id: Ia713dbbb510d2f848b8866a4d0dc692f67803522
51c7ce7531f5c1fc1ae442b1c6f206735599cea2 03-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Implement usage report API" into nyc-mr1-dev
am: 37087ad710

* commit '37087ad710087755786c115508b14e053c47f882':
ShortcutManager: Implement usage report API

Change-Id: I4ac336f441fa2111d1d645b02a79dc717490c1c0
37087ad710087755786c115508b14e053c47f882 03-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Implement usage report API" into nyc-mr1-dev
d2bbc1e2a0aa608a67ab169adab7cd15e6fa9e0d 03-Jun-2016 Todd Kennedy <toddke@google.com> Merge "Round icons" into nyc-mr1-dev am: 7d64d64269
am: a84b5d0ebd

* commit 'a84b5d0ebdeb7d4d5670d490380f5a7a48282b90':
Round icons

Change-Id: Iff9a17b9f826053c31aaa6ada8fb167f8e4520b5
a84b5d0ebdeb7d4d5670d490380f5a7a48282b90 03-Jun-2016 Todd Kennedy <toddke@google.com> Merge "Round icons" into nyc-mr1-dev
am: 7d64d64269

* commit '7d64d642692ff6728ee83e1a0d8658909d1bdd44':
Round icons

Change-Id: I5578f3eb7b7ffc7791a5a4305b0defba38963bba
bb8a42da707c503b6d048728472f09b8601fd7dc 02-Jun-2016 Todd Kennedy <toddke@google.com> Round icons

Allow applications to specify "android:roundIcon" in all places
they can already specify the rectangular "android:icon".

Bug: 28981414
Change-Id: I167163d650db80f4949274d365e7fee9aceacb3a
m/PackageParser.java
ac042501c816fa9a65aed005060ebdcfc0a0f3b2 21-May-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Implement usage report API

Bug 28536054

Change-Id: I293e8eaad523e3b0d76d562fc381601633451ed3
m/ShortcutManager.java
9a968df82804dc9f12289546f50afcfe36c1b4da 02-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: API rename" into nyc-mr1-dev am: 60585d12e7
am: facbcba617

* commit 'facbcba617766402b03c2b1ecc889dfc0fd9c4a2':
ShortcutManager: API rename

Change-Id: If7da8f53354762bb7e035ab8a9c66e73886545ec
f8b6855dcafe65920ec8900352b1be9a424dffea 02-Jun-2016 David Sehr <sehr@google.com> Merge "Merge "Installer connection support for dump_profiles" into nyc-dev am: 7c5bcfc21a am: fc536cb862" into nyc-mr1-dev-plus-aosp
am: ad63ea9962

* commit 'ad63ea9962f300a1a660c4b565c29357460d678a':
Installer connection support for dump_profiles

Change-Id: Ia332553255b7ca91e6d53e819a04ce90d0e669a7
0e1a527c64579f936d7487c30c853ef11be4ec8c 02-Jun-2016 Jeff Sharkey <jsharkey@android.com> Merge "Merge "Release AssetManagers when ejecting storage." into nyc-dev am: 380f3b12a4 am: 20340d0fc8" into nyc-mr1-dev-plus-aosp
am: d73289e7ac

* commit 'd73289e7ac0efe8032dbfc0a83fbb09baede7bbe':
Release AssetManagers when ejecting storage.

Change-Id: I7e57dd56dba320694109ae66df12c700a450a6b2
facbcba617766402b03c2b1ecc889dfc0fd9c4a2 02-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: API rename" into nyc-mr1-dev
am: 60585d12e7

* commit '60585d12e717d6dd02c89cf177159dbb1c7b4fc9':
ShortcutManager: API rename

Change-Id: Ieca236424835edf8b141706733b3bc98657547ab
4fa0e171832c937def4dc71fb638421527669af0 02-Jun-2016 David Sehr <sehr@google.com> Merge "Installer connection support for dump_profiles" into nyc-dev am: 7c5bcfc21a
am: fc536cb862

* commit 'fc536cb862c67d91eaa7fa94557cdc2f0f415678':
Installer connection support for dump_profiles

Change-Id: I6f8dbd362f6accc2d90409b91e96efed531820d9
c9c4fe2af945c39642b9e6d400c9fddb28088fd6 02-Jun-2016 Jeff Sharkey <jsharkey@android.com> Merge "Release AssetManagers when ejecting storage." into nyc-dev am: 380f3b12a4
am: 20340d0fc8

* commit '20340d0fc82bccf883898e9523f3c8aca8c9ac04':
Release AssetManagers when ejecting storage.

Change-Id: I8053660edc7088f26c94fb2a3174a743a8d60636
98ad88811c76f7334c285cc970a4107f7a716b5a 01-Jun-2016 Gina Dimino <gdimino@google.com> Docs: Suppress errors in SystemApi Build
Bug: 28427390

Change-Id: Ifea85bf7b1fcdd30a3d7f61bd17d0efba6368aa4
ntent.java
fc536cb862c67d91eaa7fa94557cdc2f0f415678 02-Jun-2016 David Sehr <sehr@google.com> Merge "Installer connection support for dump_profiles" into nyc-dev
am: 7c5bcfc21a

* commit '7c5bcfc21ac87c56c57b1929ce04481fa0e116c7':
Installer connection support for dump_profiles

Change-Id: I4085587ad80b04bc99efbe51c4480f193186a872
20340d0fc82bccf883898e9523f3c8aca8c9ac04 02-Jun-2016 Jeff Sharkey <jsharkey@android.com> Merge "Release AssetManagers when ejecting storage." into nyc-dev
am: 380f3b12a4

* commit '380f3b12a4725a0534d62ada7c6f3bd67ebd0d01':
Release AssetManagers when ejecting storage.

Change-Id: I92c0fcbe38dd242cb8a0a3792381de81a7c0384c
2855609944f0683efec2985f88ee167c9b7941d9 02-Jun-2016 David Sehr <sehr@google.com> Merge "Installer connection support for dump_profiles" into nyc-dev
am: 7c5bcfc21a

* commit '7c5bcfc21ac87c56c57b1929ce04481fa0e116c7':
Installer connection support for dump_profiles

Change-Id: I6cf3d4fe88577ef1d149c3c4b1c3ee7160d9c7e6
f02954ccd5f536577fa4564ede76c5ec61fbbf88 02-Jun-2016 Jeff Sharkey <jsharkey@android.com> Merge "Release AssetManagers when ejecting storage." into nyc-dev
am: 380f3b12a4

* commit '380f3b12a4725a0534d62ada7c6f3bd67ebd0d01':
Release AssetManagers when ejecting storage.

Change-Id: I54282cfcf53279f87e66cc1263ae9663fe94bc04
60585d12e717d6dd02c89cf177159dbb1c7b4fc9 02-Jun-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: API rename" into nyc-mr1-dev
7c5bcfc21ac87c56c57b1929ce04481fa0e116c7 02-Jun-2016 David Sehr <sehr@google.com> Merge "Installer connection support for dump_profiles" into nyc-dev
380f3b12a4725a0534d62ada7c6f3bd67ebd0d01 02-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Release AssetManagers when ejecting storage." into nyc-dev
042dd1cee69ac883d72c22f9147ce7c85ca9719c 01-Jun-2016 Benjamin Franz <bfranz@google.com> Merge "Add an intent extra to force master clear" into nyc-mr1-dev am: 3c826b160c
am: 8f79bc6c77

* commit '8f79bc6c7799e2edf3bc13cb82c0972ceeb5edab':
Add an intent extra to force master clear

Change-Id: I4af0022ec5834d2669321d5c9c76956539c8ead7
8882cf98b990d3436e548d7780d3e72713cccb78 01-Jun-2016 fionaxu <fionaxu@google.com> Merge "trim and strip html tags for load safe label name" into nyc-dev am: c16bc88fc9 am: 36befb2dbc
am: d97994962d

* commit 'd97994962d0d5e691d4f1df51623685c2af1341a':
trim and strip html tags for load safe label name

Change-Id: I569bea23e9b867fa84c456accb7d24fd03853970
98bf12f99989ba2550fac83ee48ecbb6f1582f07 26-May-2016 Jeff Sharkey <jsharkey@android.com> Release AssetManagers when ejecting storage.

When ejecting a storage device, the system process needs to rapidly
release any open FDs to prevent itself from being killed by vold.

This change examines all ResourceImpls cached inside the system
process and evicts any that reference the storage device being
ejected. (ResourcesManager will gladly recreate any evicted entries
when asked again in the future.)

Also replace broken use of WeakHashMap, since we want the values to
be weak references, not the keys.

Bug: 28867548
Change-Id: Ib9cfc66497149b6d3f8d49213e9779408a331d2a
es/ResourcesKey.java
8f79bc6c7799e2edf3bc13cb82c0972ceeb5edab 01-Jun-2016 Benjamin Franz <bfranz@google.com> Merge "Add an intent extra to force master clear" into nyc-mr1-dev
am: 3c826b160c

* commit '3c826b160c724d38f49bb479aa13ab8cf685e2d2':
Add an intent extra to force master clear

Change-Id: I5789ac49b040ba6b1330e9680c1a595f24e82af9
3c826b160c724d38f49bb479aa13ab8cf685e2d2 01-Jun-2016 Benjamin Franz <bfranz@google.com> Merge "Add an intent extra to force master clear" into nyc-mr1-dev
eddbfecb8dd751161339a9ed16d07ce2e108a575 01-Jun-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: API rename

The words "title" and "text" implies that "text" is a secondary label
that's shown with the title, but it turned out the launcher would show
only one of those depending on how much space it has.

So now we change them to "shortLabel" and "longLabel"

Note we're only changing the API surface -- in order to mimimize
the impact to the code, internally we'll keep using the old names.

- Also remove "shortcutRank" while I'm here -- it should be implied
from the order of the XML elements.

Bug 29057378

Change-Id: I3203f63b0318c7462c1c61fef43cf9755fa8c008
m/ShortcutInfo.java
d97994962d0d5e691d4f1df51623685c2af1341a 01-Jun-2016 Chen Xu <fionaxu@google.com> Merge "trim and strip html tags for load safe label name" into nyc-dev am: c16bc88fc9
am: 36befb2dbc

* commit '36befb2dbce9b05ce1cf26ee9aef5c268d6c7266':
trim and strip html tags for load safe label name

Change-Id: I630902aad16a71485506628625bb3b9c09b992f6
30680c65061777a6eaa4a19e195567765bdb6b6d 01-Jun-2016 fionaxu <fionaxu@google.com> Merge "trim and strip html tags for load safe label name" into nyc-dev
am: c16bc88fc9

* commit 'c16bc88fc99a6446c77d0b075f242c042bb31ded':
trim and strip html tags for load safe label name

Change-Id: I34cebbce65db27304e6d3dcc2c6e0cbc0f005b03
36befb2dbce9b05ce1cf26ee9aef5c268d6c7266 01-Jun-2016 fionaxu <fionaxu@google.com> Merge "trim and strip html tags for load safe label name" into nyc-dev
am: c16bc88fc9

* commit 'c16bc88fc99a6446c77d0b075f242c042bb31ded':
trim and strip html tags for load safe label name

Change-Id: Ic79f077813fcf2124fe1cbf031cb4e0770a02a51
c16bc88fc99a6446c77d0b075f242c042bb31ded 01-Jun-2016 Chen Xu <fionaxu@google.com> Merge "trim and strip html tags for load safe label name" into nyc-dev
a87770828637813dacd176ba3c8d3810f7ed6ab8 25-May-2016 David Sehr <sehr@google.com> Installer connection support for dump_profiles

Bug: 28748264
Change-Id: I22322b5a0716a030d9873edcc6dfd7f3ef2d3bca
m/IPackageManager.aidl
f9d5e6a3db7eb8c378cc2ac78e976aa0312f2c6e 26-May-2016 Benjamin Franz <bfranz@google.com> Add an intent extra to force master clear

Currently, if a priv-app sends ACTION_MASTER_CLEAR, whilst
DISALLOW_FACTORY_RESET is set, the factory reset is blocked. This CL
introduces a new extra for master clear that let's the priv-app bypass
the user restriction.

Bug: 28689894
Change-Id: I4bf979a3826454e977f1abff4562f85c8d0eec4a
ntent.java
e630f353222509474c8aa739e00bacfc3d906663 31-May-2016 fionaxu <fionaxu@google.com> trim and strip html tags for load safe label name

Bug: 28557603
Change-Id: I30b6c1d32e97c1fb71ba83c2845c310fe3b7f579
m/PackageItemInfo.java
d30ac73d313af10791dd15d9d0c35762992ec95a 01-Jun-2016 Andrii Kulian <akulian@google.com> Merge "Update override config to include some changes from global config" into nyc-dev am: 88be465ce5 am: ae01e27755
am: cd99c37bc2

* commit 'cd99c37bc2b742043be79c8d4e85876a1f7a15b4':
Update override config to include some changes from global config

Change-Id: I95b69f5e21c573aa081752c914ff1f5797ad8aad
cd99c37bc2b742043be79c8d4e85876a1f7a15b4 01-Jun-2016 Andrii Kulian <akulian@google.com> Merge "Update override config to include some changes from global config" into nyc-dev am: 88be465ce5
am: ae01e27755

* commit 'ae01e27755107d437bc92b1f994932c860453453':
Update override config to include some changes from global config

Change-Id: Ie6459b34e31ea7a5a7aff40b71db0157e2fe014f
ae01e27755107d437bc92b1f994932c860453453 01-Jun-2016 Andrii Kulian <akulian@google.com> Merge "Update override config to include some changes from global config" into nyc-dev
am: 88be465ce5

* commit '88be465ce572f84649e01744a7ec96b6346b3686':
Update override config to include some changes from global config

Change-Id: I2b15d9856f87e66ae9eb1ab6c9b84f7ac3add2ce
a0668c7442ed2f66323c4ae798b5b39c1ab7cd52 01-Jun-2016 Andrii Kulian <akulian@google.com> Merge "Update override config to include some changes from global config" into nyc-dev
am: 88be465ce5

* commit '88be465ce572f84649e01744a7ec96b6346b3686':
Update override config to include some changes from global config

Change-Id: I0f1f9f64bcd81321f44c48cd01537749ac4727ea
f12fce1a3aa4b28335e3644057c346e205693189 28-May-2016 Andrii Kulian <akulian@google.com> Update override config to include some changes from global config

In override config for task we set Configuration#screenLayout field based on
initial global config + shrink to fit the area on screen given for this task.
However this field also contains information (like layout direction) that we
do not intend to override and it can be changed in global config separately.
In this case we need to update the override config with changes from global
config.

Bug: 28616488
Change-Id: I22673257621b3f9ae7933b37bd0fb9446c6042ea
es/Configuration.java
f95fb4fb17dc7dd423503272160ab076766f814a 31-May-2016 Nicolas Geoffray <ngeoffray@google.com> resolve merge conflicts of 4b092e4 to master

Change-Id: I29a92ce3afe3a7b2851126a921879631e9846a40
4b092e47ac856c5567ff5126fd795e2695c38e6f 31-May-2016 Nicolas Geoffray <ngeoffray@google.com> Merge "Cleanup performDexOpt with instruction sets." into nyc-dev am: 89f4bff149
am: 0063f2c80b

* commit '0063f2c80b1d9512fd77ca71faa85737c1fd2424':
Cleanup performDexOpt with instruction sets.

Change-Id: If15ee5ff3e58d3bf0226bea94707e228c77fbf08
0063f2c80b1d9512fd77ca71faa85737c1fd2424 31-May-2016 Nicolas Geoffray <ngeoffray@google.com> Merge "Cleanup performDexOpt with instruction sets." into nyc-dev
am: 89f4bff149

* commit '89f4bff149c62baf8371118aed2c4e6ac29976c5':
Cleanup performDexOpt with instruction sets.

Change-Id: I6293cb0c9adf562d69aac59d74edc6540e6a0693
ff078da846a8d719d2724bd035d987d8e943afbe 31-May-2016 Nicolas Geoffray <ngeoffray@google.com> Merge "Cleanup performDexOpt with instruction sets." into nyc-dev
am: 89f4bff149

* commit '89f4bff149c62baf8371118aed2c4e6ac29976c5':
Cleanup performDexOpt with instruction sets.

Change-Id: Id973c65cbe87f54a743bfcb89fbe7e4aea45d1c8
89f4bff149c62baf8371118aed2c4e6ac29976c5 31-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Cleanup performDexOpt with instruction sets." into nyc-dev
b787a5cb6bcc9eff43fb336f0e018b60e4a4e055 28-May-2016 Christopher Tate <ctate@google.com> Merge "Don\'t call .toString() on potentially null CharSequence" into nyc-dev am: b182735757 am: 8cc9f36067
am: 6d31571950

* commit '6d315719501341621d8d7f67a2b1dd70981c4d36':
Don't call .toString() on potentially null CharSequence

Change-Id: I22099d2d55539af4ed13d4121296402b9596f631
6d315719501341621d8d7f67a2b1dd70981c4d36 28-May-2016 Chris Tate <ctate@android.com> Merge "Don\'t call .toString() on potentially null CharSequence" into nyc-dev am: b182735757
am: 8cc9f36067

* commit '8cc9f360673ac971050d03b384a78cd2163454bc':
Don't call .toString() on potentially null CharSequence

Change-Id: Ia30a5de830ceacf310e1573f55c206d40a679db7
7317034daf526553ef3ad7052d994b17820fd9e3 28-May-2016 Christopher Tate <ctate@google.com> Merge "Don\'t call .toString() on potentially null CharSequence" into nyc-dev
am: b182735757

* commit 'b182735757630db7e84e577c999b9e7d8a288353':
Don't call .toString() on potentially null CharSequence

Change-Id: I5c8253739fa06b07abd4d67b4947c6bed153d010
8cc9f360673ac971050d03b384a78cd2163454bc 28-May-2016 Christopher Tate <ctate@google.com> Merge "Don\'t call .toString() on potentially null CharSequence" into nyc-dev
am: b182735757

* commit 'b182735757630db7e84e577c999b9e7d8a288353':
Don't call .toString() on potentially null CharSequence

Change-Id: I7242f7f064f6695956a9b529f38c2ece82effbcb
53da7b9ee393abf0a75317a90b1374ec65e15c86 28-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Implement get-drawable APIs" into nyc-mr1-dev am: 5b11a81f9f
am: 451afea589

* commit '451afea5892454be029910b18a73d27bf41ad5bd':
ShortcutManager: Implement get-drawable APIs

Change-Id: I6f72f51bbfed601c3ab087921e8de9a64ad785ee
f135b271bfaa5a23f3af5a15ce59fd4ffb44a6be 28-May-2016 Christopher Tate <ctate@google.com> Don't call .toString() on potentially null CharSequence

We're building an exception message string, but by explicitly invoking
.toString() we're accidentally triggering an NPE rather than the typed
exception we want to throw. Build the string in a way that will be
safe and sensical even if the CharSequence is null.

Bug 29009255

Change-Id: I1813260f0b36fd44506b8327f997dd20c2d6c8bf
es/ResourcesImpl.java
6afa2e1d1d4ba9bae912c675f018ba78a7d86804 28-May-2016 Felipe Leme <felipeal@google.com> Merge "Allow apps to bypass Power Save restrictions when launched from a Notification\'s PendingIntent." into nyc-dev am: efa291a860 am: 8c8ea506d9
am: d786355405

* commit 'd786355405dfb50b1e6eb0bb8628276b9b2823c6':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

Change-Id: Ic8f6cbfce572c54d7124a508af12043a58d5bc66
09c66122884a5bfd083740ed44ea6837e957de23 28-May-2016 Makoto Onuki <omakoto@google.com> resolve merge conflicts of 8de7c95 to master

Change-Id: I04447215323c7582554dc5f6ae8b105308c6f623
451afea5892454be029910b18a73d27bf41ad5bd 28-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Implement get-drawable APIs" into nyc-mr1-dev
am: 5b11a81f9f

* commit '5b11a81f9fed69b0b6e233bad4ba8636f47febf7':
ShortcutManager: Implement get-drawable APIs

Change-Id: If0c3279fe7374382a2f7148435b009c02e7d7e88
5b11a81f9fed69b0b6e233bad4ba8636f47febf7 28-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Implement get-drawable APIs" into nyc-mr1-dev
d786355405dfb50b1e6eb0bb8628276b9b2823c6 27-May-2016 Felipe Leme <felipeal@google.com> Merge "Allow apps to bypass Power Save restrictions when launched from a Notification\'s PendingIntent." into nyc-dev am: efa291a860
am: 8c8ea506d9

* commit '8c8ea506d91db44de1d312612a8f63ab107af799':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

Change-Id: Iaffe5981b299eca5756666bd03c67a84c8e15283
feaa8982fcd19ec9dbaa2eb5cd19dcfd349dfebf 27-May-2016 Felipe Leme <felipeal@google.com> Merge "Allow apps to bypass Power Save restrictions when launched from a Notification\'s PendingIntent." into nyc-dev
am: efa291a860

* commit 'efa291a8605e91d775faf46ada349ec7f81fcdb9':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

Change-Id: I11bf96280ac5e143d5260cb20238da38b4e0eaa3
8c8ea506d91db44de1d312612a8f63ab107af799 27-May-2016 Felipe Leme <felipeal@google.com> Merge "Allow apps to bypass Power Save restrictions when launched from a Notification\'s PendingIntent." into nyc-dev
am: efa291a860

* commit 'efa291a8605e91d775faf46ada349ec7f81fcdb9':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

Change-Id: Ibd09b082140b66d25bd8583040761581bb20af76
a1b79bfd7a15006a93da933695359765e0fee495 24-May-2016 Felipe Leme <felipeal@google.com> Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

This scenario typically happens when the device is on Doze Mode and a
notification action is triggered from a Wear device.

In a nutshell, the workflow is:

- ProcessRecord has a flag telling whether a process has "whitelist
management" privileges.
- When NotificationManager binds a new NotificationListenerService, it
sets the BIND_ALLOW_WHITELIST_MANAGEMENT flag.
- On bind(), ActiveService asserts that only system apps can set that
flag.
- On computeOomAdjLocked(), ActivityManagerService sets the
ProcessRecord flag if necessary.
- Upon creating a notification, NotificationManager calls AM to mark its
PendingIntents as coming from a notification.
- When PendingIntentRecord sends it to the target, it checks if it's
from a notification and if so calls AM to do the temp whitelist.
- On unbind(), ActiveService removes the ProcessRecord flag if necessary.

Fixes: 28818704

Change-Id: I00d46036a2cbb73f7f733fd35bf0b743a02807a1
ontext.java
04b9aab94576411b9f59aa49d87080976ee6fa46 24-May-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Implement get-drawable APIs

Bug 28594168

Change-Id: I750e800b59dca56877ba78baac808aff93acd19d
m/LauncherApps.java
8de7c953a1598d1fc5829f8c81df002b863946d3 27-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Support manifest shortcuts" into nyc-mr1-dev
am: 05e0a9f3cf

* commit '05e0a9f3cf632e237654c13f6d223eb22ea3be89':
ShortcutManager: Support manifest shortcuts

Change-Id: Ib0a2620e92249452130a681208424fbddfa1935b
22fcc68e6be0edaa98f3dacf79d580a5e5d50005 17-May-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Support manifest shortcuts

- Now apps can publish shortcuts via AndroidManifest.xml
(Sample: I5b127150)

- Rename some APIs per API council feedback

- Publishers can now "disable" shortcuts.
(https://docs.google.com/presentation/d/1raUn1QBURDb1yrd6mSmVxII9ezNh3MWukODdtufJ29U/edit#slide=id.g13ef592464_7_39)

Bug 28785283
Bug 28536066

Change-Id: I4a126841e43e40139bb4baa6d0f98ad7b3a75ac1
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
fb6cf77a6721f2af4df09b33d649f66ad79559f6 27-May-2016 Nicolas Geoffray <ngeoffray@google.com> Cleanup performDexOpt with instruction sets.

Always use the packages' derived instruction sets.

This fixes a bug where otas and background dexopt would only
look at one instruction set.

bug:28994818

Change-Id: I730b59d24943c71de30adb485a823fd79c6806a6
m/IPackageManager.aidl
e3f4aaf57f9815382ad33ff04a05bf91243134a4 25-May-2016 Jeff Sharkey <jsharkey@android.com> Merge "API council feedback: hide and document." into nyc-dev am: dfe232c763 am: 19e2f49181
am: e2c9ed48ba

* commit 'e2c9ed48ba5eed95c7fdf45744e7fbeb4597cbd1':
API council feedback: hide and document.

Change-Id: I002236f584ddc7a5f479b8936e4b5f5ed61759eb
e2c9ed48ba5eed95c7fdf45744e7fbeb4597cbd1 25-May-2016 Jeff Sharkey <jsharkey@android.com> Merge "API council feedback: hide and document." into nyc-dev am: dfe232c763
am: 19e2f49181

* commit '19e2f49181b209d790f551b374d6d24002de7c9b':
API council feedback: hide and document.

Change-Id: I3715fc6e824f2a55517788299afe36145db597d7
19e2f49181b209d790f551b374d6d24002de7c9b 25-May-2016 Jeff Sharkey <jsharkey@android.com> Merge "API council feedback: hide and document." into nyc-dev
am: dfe232c763

* commit 'dfe232c7636d16379191442bdb2bac59d7a60f5c':
API council feedback: hide and document.

Change-Id: Icfcb4e2a9892ecc5dab61cb78598e48fa7714a26
55a83354bf36c057dfb26bf5aca075f112afea69 25-May-2016 Jeff Sharkey <jsharkey@android.com> Merge "API council feedback: hide and document." into nyc-dev
am: dfe232c763

* commit 'dfe232c7636d16379191442bdb2bac59d7a60f5c':
API council feedback: hide and document.

Change-Id: I180f504fe21f6f90179d359e8808ffff006e4538
dfe232c7636d16379191442bdb2bac59d7a60f5c 25-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "API council feedback: hide and document." into nyc-dev
e1b53d7caba4e6c8e0367e4d33f5dd3b816a6606 25-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add missing @Deprecated annotations."
a349f8ce7a50e168e2a0fc3cd7df61f84255b89f 25-May-2016 Jiaquan He <hejq@google.com> Merge "Add support for android.R.attr#onTopLauncher"
514c5ef8d5774d8820ed1bf90fe53af1606cf106 25-May-2016 Aurimas Liutikas <aurimas@google.com> Add missing @Deprecated annotations.

Add missing @Deprecated annotations for methods with @deprecated tag
in javadoc.

Change-Id: I35b78ccb97832d86b914c21a300444ba29e33844
lipboardManager.java
ntent.java
534881d8fa17e0f5c99e1c648cb97a9f43660ef5 24-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "Improve performance of LocaleList with Resources" into nyc-dev am: bb26248bbb am: 5e106dea45
am: 9ed84d8612

* commit '9ed84d86120dd6487eacba503f45f6d147f05fbf':
Improve performance of LocaleList with Resources

Change-Id: I7c1694545f9eee940ca7065f3ac5aee5e2a7b27c
9ed84d86120dd6487eacba503f45f6d147f05fbf 24-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "Improve performance of LocaleList with Resources" into nyc-dev am: bb26248bbb
am: 5e106dea45

* commit '5e106dea4545547f3f7c50dad30f792809659b96':
Improve performance of LocaleList with Resources

Change-Id: I733cdad0b30069ac7830fa91ef0188dd0f0cfac9
5e106dea4545547f3f7c50dad30f792809659b96 24-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "Improve performance of LocaleList with Resources" into nyc-dev
am: bb26248bbb

* commit 'bb26248bbba6e4014ea89a97b86618b7289a5f29':
Improve performance of LocaleList with Resources

Change-Id: Ic43a26915a28d71a967eb038331a0f3c31bdfe8f
5e5e871fdc0b51ba5b0903169451e9401b98f1f3 24-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "Improve performance of LocaleList with Resources" into nyc-dev
am: bb26248bbb

* commit 'bb26248bbba6e4014ea89a97b86618b7289a5f29':
Improve performance of LocaleList with Resources

Change-Id: I307b4a7c78ff04797fda041afa8106b082951bc9
b61e405397200f78b1c652143cba7c751df05a00 20-May-2016 Adam Lesinski <adamlesinski@google.com> Improve performance of LocaleList with Resources

We allow each individual Resources object to select the best
Locale for the given APK. This allows one update to the configuration
instead of multiple updates, once the locale is chosen.

The Java locale is selected from the app context's locale.

Bug:28625993
Bug:27325465
Change-Id: I99e1e53f522e560f3b80bbd1e1c605f552dbdff0
es/Configuration.java
es/ResourcesImpl.java
9e2c7ecf64e11e69dceb40fba6fd740e41a32417 23-May-2016 Jiaquan He <hejq@google.com> Add support for android.R.attr#onTopLauncher

This allows a launcher activity to always stay on top of all other
activities.

Bug: 28425537
Change-Id: Iad39a076b1e8c6a8304c3b218883a172c913a602
m/ActivityInfo.java
m/PackageParser.java
532bbd243899f520aa1319753c6c2e42430ed18b 23-May-2016 Chad Brubaker <cbrubaker@google.com> Merge "Use an attribute for the network security config resource" into nyc-dev am: 6812bdf387 am: 76d3d8590d
am: be04f7247a

* commit 'be04f7247a5835bcba2f598e9d47e0a07d08af3d':
Use an attribute for the network security config resource

Change-Id: I5c2213114bf26a4506a64c5a5a8a2e592610783d
be04f7247a5835bcba2f598e9d47e0a07d08af3d 23-May-2016 Chad Brubaker <cbrubaker@google.com> Merge "Use an attribute for the network security config resource" into nyc-dev am: 6812bdf387
am: 76d3d8590d

* commit '76d3d8590d1fb9a9c341159fbc06914ef19bdb8d':
Use an attribute for the network security config resource

Change-Id: I15da47a2cd78dc37019bd20847d13248612c77f5
76d3d8590d1fb9a9c341159fbc06914ef19bdb8d 23-May-2016 Chad Brubaker <cbrubaker@google.com> Merge "Use an attribute for the network security config resource" into nyc-dev
am: 6812bdf387

* commit '6812bdf38797101d3744befe70f3501b75f01ce6':
Use an attribute for the network security config resource

Change-Id: I2236b69a2af2258e7600a4833fe7be95f64e6260
c6a49bb008068eaa53ce308ffa4abaa2924c69ea 23-May-2016 Chad Brubaker <cbrubaker@google.com> Merge "Use an attribute for the network security config resource" into nyc-dev
am: 6812bdf387

* commit '6812bdf38797101d3744befe70f3501b75f01ce6':
Use an attribute for the network security config resource

Change-Id: I470b8e991d590135223066d18b49ff123e0b1f6e
6812bdf38797101d3744befe70f3501b75f01ce6 23-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use an attribute for the network security config resource" into nyc-dev
0696b9ae90beb005f415d04669608bfe4b31fe70 20-May-2016 Seigo Nonaka <nona@google.com> Merge "Clear locales without changing layout direction." into nyc-dev am: 6686711ba2 am: 18bf0e2ad2
am: 461e71472d

* commit '461e71472df1942936c27fb65f46b72c3eb4ab1b':
Clear locales without changing layout direction.

Change-Id: I0db0a2e72765632803a17dce56857207ffc146e9
461e71472df1942936c27fb65f46b72c3eb4ab1b 20-May-2016 Roozbeh Pournader <roozbeh@google.com> Merge "Clear locales without changing layout direction." into nyc-dev am: 6686711ba2
am: 18bf0e2ad2

* commit '18bf0e2ad22a28060e9cbd1516b1c36236c5b557':
Clear locales without changing layout direction.

Change-Id: Ia3925ac1adbf3e5cdaa45c1d88f9fc50483765cb
18bf0e2ad22a28060e9cbd1516b1c36236c5b557 20-May-2016 Seigo Nonaka <nona@google.com> Merge "Clear locales without changing layout direction." into nyc-dev
am: 6686711ba2

* commit '6686711ba289740a20dc15133aed4a2b5bac5d44':
Clear locales without changing layout direction.

Change-Id: Ifa6124e9b772b54355b696aa4df1ca94950c64c5
5ac2c3b4a0e646884b6998fbccf538145cf70e7a 20-May-2016 Seigo Nonaka <nona@google.com> Merge "Clear locales without changing layout direction." into nyc-dev
am: 6686711ba2

* commit '6686711ba289740a20dc15133aed4a2b5bac5d44':
Clear locales without changing layout direction.

Change-Id: I5c7714d3ef54fc7caf6580837d48a1b79e56a892
6686711ba289740a20dc15133aed4a2b5bac5d44 20-May-2016 Roozbeh Pournader <roozbeh@google.com> Merge "Clear locales without changing layout direction." into nyc-dev
bd5cac67b8b3087c030cb9068e4db8ea19a3d72a 13-May-2016 Seigo Nonaka <nona@google.com> Clear locales without changing layout direction.

Calling Configuration.setLocales with emtpy LocaleList may change the
layout direction to LTR. To clear the locales in Configuration without
layout direction change, introduce hidden API to Configuration.

Bug: 28695661
Change-Id: I47c339dffb83099bd329ddb60237dab27b05f593
es/Configuration.java
d21cad13a6d77294f3d0181a3bc5e26af2fc0f7f 20-May-2016 Jeff Sharkey <jsharkey@android.com> API council feedback: hide and document.

Hide isMetered() and clarify moveDatabaseFrom() docs.

Bug: 28870582, 28775585
Change-Id: Iabe63045c39ce7f662488f4224b56387c3c59519
ontext.java
c845b2a21cedda4dd221fcf01aae74706ecade94 13-May-2016 Chad Brubaker <cbrubaker@google.com> Use an attribute for the network security config resource

Originally we went with the meta-data approach to make unbundling
easier, however with the amount of platform changes that the config
ended up relying on it would be better to focus on exposing it through
the platform.

Bug:28763009
Change-Id: Iaf80001b1980220cd2e1e05faf2dc86af41700e1
m/ApplicationInfo.java
m/PackageParser.java
5a3ff142250d6e97e0f5f598016fb25492c52092 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Workaround for ignored resizeableActivity param" into nyc-dev am: 005f9a73fb am: 6b21f45add
am: e78cbe1770

* commit 'e78cbe1770ffee7d9f24c8f1126fb1592c9ad1c3':
Workaround for ignored resizeableActivity param

Change-Id: I36d934ec2aea69156680d9b9e55584ce12d76b60
e78cbe1770ffee7d9f24c8f1126fb1592c9ad1c3 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Workaround for ignored resizeableActivity param" into nyc-dev am: 005f9a73fb
am: 6b21f45add

* commit '6b21f45add49cdacaad9e75cbba332fa3b63522c':
Workaround for ignored resizeableActivity param

Change-Id: Ia8dc3606ff13b1358d657a8280820ed542cb4781
6b21f45add49cdacaad9e75cbba332fa3b63522c 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Workaround for ignored resizeableActivity param" into nyc-dev
am: 005f9a73fb

* commit '005f9a73fbecdb8d0d05eb699d0f02d745110495':
Workaround for ignored resizeableActivity param

Change-Id: Ia524867cac9118b6dbe5c7c210cd1a1753fe53e1
ede05733f0c02f16324b71311397db5e680f607b 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Workaround for ignored resizeableActivity param" into nyc-dev
am: 005f9a73fb

* commit '005f9a73fbecdb8d0d05eb699d0f02d745110495':
Workaround for ignored resizeableActivity param

Change-Id: I93844e807cbedc50b26f98916fe3e79e0ef9afa2
005f9a73fbecdb8d0d05eb699d0f02d745110495 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Workaround for ignored resizeableActivity param" into nyc-dev
ebf7a56e695c5a5107fee8135768039ee1c5b2ea 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Rename minWidth/Height attributes" into nyc-dev am: 42b3acf9d3 am: 81ce16a2e6
am: c59e70d520

* commit 'c59e70d52015a73fb7607ae71d2a45e00776ac26':
Rename minWidth/Height attributes

Change-Id: I3ecfd0db6eaa56f1ef3e39cb1b76f62f03074b35
c59e70d52015a73fb7607ae71d2a45e00776ac26 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Rename minWidth/Height attributes" into nyc-dev am: 42b3acf9d3
am: 81ce16a2e6

* commit '81ce16a2e690fbe808ae4546e0c9b814a7ff2e3d':
Rename minWidth/Height attributes

Change-Id: I927c32ddf2522de03c6b5a75aa6b80537adf1d38
1699b51cbe80dbf9e5e496732a7c970d049613a2 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Rename minWidth/Height attributes" into nyc-dev
am: 42b3acf9d3

* commit '42b3acf9d3eed15324bfa67e92ad751a10e45718':
Rename minWidth/Height attributes

Change-Id: Id7d89884ea46b3900459af10f5b4a4b32139ddd8
81ce16a2e690fbe808ae4546e0c9b814a7ff2e3d 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Rename minWidth/Height attributes" into nyc-dev
am: 42b3acf9d3

* commit '42b3acf9d3eed15324bfa67e92ad751a10e45718':
Rename minWidth/Height attributes

Change-Id: I1710ea3bec982917ce0d163f56b07042a5869281
42b3acf9d3eed15324bfa67e92ad751a10e45718 19-May-2016 Andrii Kulian <akulian@google.com> Merge "Rename minWidth/Height attributes" into nyc-dev
3f8dc1586146ea3cea0b6b25970e2bb51c0e590e 18-May-2016 Andrii Kulian <akulian@google.com> Workaround for ignored resizeableActivity param

If <uses-sdk> tag is below <application> in AndroidManifest.xml then,
when activity is parsed, targetSdkVersion param is not yet set correctly.
Because of that we're defaulting to RESIZE_MODE_FORCE_RESIZEABLE and the
param resizeableActivity will be ignored.
This CL checks if resizeableActivity was set explicitly when targetSdkVersion
is less than N (or not set).

Bug: 28020462
Change-Id: I099f6c00dd50547ddea873e47dbb447869d0be6f
m/PackageParser.java
a3d46611e3679371c69b9771f0c676e90ee94a05 18-May-2016 Amith Yamasani <yamasani@google.com> Merge "Retail mode flag and some clients for it" into nyc-mr1-dev am: dbf0dbd8c2
am: 1ab19ea6e6

* commit '1ab19ea6e6575a578244eecbae61d46150bec392':
Retail mode flag and some clients for it

Change-Id: I08eb3539db3fd29403d05d8ef1124862a78d1acc
1ab19ea6e6575a578244eecbae61d46150bec392 18-May-2016 Amith Yamasani <yamasani@google.com> Merge "Retail mode flag and some clients for it" into nyc-mr1-dev
am: dbf0dbd8c2

* commit 'dbf0dbd8c216e801b3d95f83d13ae05c1ba0ea39':
Retail mode flag and some clients for it

Change-Id: I5f9e7c49759154925c6f20ab3fd647d84259b1bb
dbf0dbd8c216e801b3d95f83d13ae05c1ba0ea39 18-May-2016 Amith Yamasani <yamasani@google.com> Merge "Retail mode flag and some clients for it" into nyc-mr1-dev
f092af3f9062b79b0283b08af1bf4faea3da59c4 18-May-2016 Svet Ganov <svetoslavganov@google.com> Merge "Hide ephemeral API" into nyc-dev am: 68c2919f70 am: 1129a0f473
am: 891fcc2779

* commit '891fcc277944ae32c6dda9954e36f52363f8df76':
Hide ephemeral API

Change-Id: I5526e933019bbb9c821a35bc19c3c10cf15b9c3d
891fcc277944ae32c6dda9954e36f52363f8df76 18-May-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Hide ephemeral API" into nyc-dev am: 68c2919f70
am: 1129a0f473

* commit '1129a0f4733514043b3f9240dbe77124260d9d53':
Hide ephemeral API

Change-Id: I79a26bd67329872b8282d9c0d207ab949d815307
1129a0f4733514043b3f9240dbe77124260d9d53 18-May-2016 Svet Ganov <svetoslavganov@google.com> Merge "Hide ephemeral API" into nyc-dev
am: 68c2919f70

* commit '68c2919f70299352ae649e1d7a05e9431f8b7aa0':
Hide ephemeral API

Change-Id: I1de27c7aac1ba488c755d615f039a069928ba7be
75a364eabf80c4a3248b715942604aa4857f792e 18-May-2016 Svet Ganov <svetoslavganov@google.com> Merge "Hide ephemeral API" into nyc-dev
am: 68c2919f70

* commit '68c2919f70299352ae649e1d7a05e9431f8b7aa0':
Hide ephemeral API

Change-Id: I033dcf9e551cf3a110aea0b3493e3cdad9a38d80
68c2919f70299352ae649e1d7a05e9431f8b7aa0 18-May-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Hide ephemeral API" into nyc-dev
a506d23ca8f831a91e240060387011bf7119767a 18-May-2016 Robert Sesek <rsesek@google.com> Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev am: f45bc095c6 am: ffc715b8f5
am: 4b7f83870b

* commit '4b7f83870be5a0fae07ff7a254b25cf258a24f39':
Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Change-Id: I3562273285d115aa5b9822a3586b2730c59a1203
4b7f83870be5a0fae07ff7a254b25cf258a24f39 18-May-2016 Robert Sesek <rsesek@google.com> Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev am: f45bc095c6
am: ffc715b8f5

* commit 'ffc715b8f5ad7a4cbdb8805f0fd916501ac3ba64':
Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Change-Id: I1b5570d889c20f8a029a5321a290b6807ce6af77
ffc715b8f5ad7a4cbdb8805f0fd916501ac3ba64 18-May-2016 Robert Sesek <rsesek@google.com> Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev
am: f45bc095c6

* commit 'f45bc095c6cef916f5f801fb320b3413f0fc099a':
Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Change-Id: I5306ff5f4e9abe6161616873e752cf4d54ed6408
a83b4cfc74716e3945d40dc3f7c6ae94d1a158e4 18-May-2016 Robert Sesek <rsesek@google.com> Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev
am: f45bc095c6

* commit 'f45bc095c6cef916f5f801fb320b3413f0fc099a':
Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Change-Id: Ie16d11c4aaa515a570b8b717241d556903198d24
f45bc095c6cef916f5f801fb320b3413f0fc099a 18-May-2016 Robert Sesek <rsesek@google.com> Merge "Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE." into nyc-dev
2265fddba6d8469ae3b2b0540c54275a7cb17abf 18-May-2016 Svet Ganov <svetoslavganov@google.com> Hide ephemeral API

bug:28825660

Change-Id: I4e9cdd6e29df44a173136aed13c4039443d944cc
ntent.java
af15c8bcaec3f301b9e646d9702d90b43ceb23a0 18-May-2016 Yohei Yukawa <yukawa@google.com> Merge "Move LocaleList to avoid layering violation." into nyc-dev am: 31884efd13 am: ddaf3f4681
am: bf4c8f730b

* commit 'bf4c8f730b167e5ee65ed7c59dfa1d7867b63fcc':
Move LocaleList to avoid layering violation.

Change-Id: I78fee5269f7428e34b196573575784fc15cb1372
bf4c8f730b167e5ee65ed7c59dfa1d7867b63fcc 18-May-2016 Yohei Yukawa <yukawa@google.com> Merge "Move LocaleList to avoid layering violation." into nyc-dev am: 31884efd13
am: ddaf3f4681

* commit 'ddaf3f468195e5aa47617317c08e9e2c35bcfeee':
Move LocaleList to avoid layering violation.

Change-Id: I7dbe5c3d552a7350ab61c929f431e2a3cffdee5b
ddaf3f468195e5aa47617317c08e9e2c35bcfeee 18-May-2016 Yohei Yukawa <yukawa@google.com> Merge "Move LocaleList to avoid layering violation." into nyc-dev
am: 31884efd13

* commit '31884efd13b3ac60078edaa0b7e8a4b75d995538':
Move LocaleList to avoid layering violation.

Change-Id: I9132fe456a8d79569c651dac0a0bce0153444767
13fa6b7c4811ca19f86c40ad7bfab86abafa4887 18-May-2016 Yohei Yukawa <yukawa@google.com> Merge "Move LocaleList to avoid layering violation." into nyc-dev
am: 31884efd13

* commit '31884efd13b3ac60078edaa0b7e8a4b75d995538':
Move LocaleList to avoid layering violation.

Change-Id: I45e9b7e834d2c5e515eb6c60885296358e7d786e
eb437d4dffb310857e19bb619778dc5b6b7febff 29-Apr-2016 Amith Yamasani <yamasani@google.com> Retail mode flag and some clients for it

Bug: 27280140
Change-Id: Ide33e941b9c71eb925b5977d0b0d62198537ca14
m/UserInfo.java
23cbe85610f780134cc77dd4a54732a22ed6e86e 18-May-2016 Yohei Yukawa <yukawa@google.com> Move LocaleList to avoid layering violation.

Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.

Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
es/Configuration.java
es/ResourcesImpl.java
55b2d11cd30b0088206750cf38cca94b5a229e35 18-May-2016 Robert Sesek <rsesek@google.com> Add clarifying documentation to Context.BIND_EXTERNAL_SERVICE.

Bug: 28775488
Change-Id: Ic0473d3664671f0ac5df8412f61ca8c1d029887f
ontext.java
f66a83db41711ebd1187bf9e99d0b21e428075f5 17-May-2016 Andrii Kulian <akulian@google.com> Rename minWidth/Height attributes

Rename WindowLayout#minimalWidth and #minimalHeight to #minWidth
and #minHeight to be consistent with other APIs.

Bug: 28775586
Change-Id: Ib7dc26318c4391693ef23f908b4d6090138dd0d7
m/ActivityInfo.java
m/PackageParser.java
fab87630f3d142fa733baf0e67453637ed374f5b 17-May-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #27532364: Security Vulnerability in IIntentSender.send" into nyc-dev am: 607844efa5 am: a24af982ff
am: ae5664af28

* commit 'ae5664af28e78c685c4ffec671254d75f1c932fb':
Fix issue #27532364: Security Vulnerability in IIntentSender.send

Change-Id: I96430b2073f2aafba489e5d2a0d11822709f4206
ae5664af28e78c685c4ffec671254d75f1c932fb 17-May-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #27532364: Security Vulnerability in IIntentSender.send" into nyc-dev am: 607844efa5
am: a24af982ff

* commit 'a24af982fffeeb6d3d4919907b5c27064c5a8ff1':
Fix issue #27532364: Security Vulnerability in IIntentSender.send

Change-Id: Iea2b8a6b86f10122ea763e93e1516fce43e58dfa
4d7e92b56bcf02e96e474ce44ff6f019d4fa5a08 17-May-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #27532364: Security Vulnerability in IIntentSender.send" into nyc-dev
am: 607844efa5

* commit '607844efa59f79bd9fab55eb75f217d21cd15f5f':
Fix issue #27532364: Security Vulnerability in IIntentSender.send

Change-Id: Iaf3102ba03cf2242b02030aa24df8282ed3fbdc8
a24af982fffeeb6d3d4919907b5c27064c5a8ff1 17-May-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #27532364: Security Vulnerability in IIntentSender.send" into nyc-dev
am: 607844efa5

* commit '607844efa59f79bd9fab55eb75f217d21cd15f5f':
Fix issue #27532364: Security Vulnerability in IIntentSender.send

Change-Id: I749b455402caef335239b540ec8883a8d7b2a974
1b537cc6233a83b2e210e4021418a2369a3aea37 17-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: API changes for DR" into nyc-mr1-dev am: 8295332d83
am: 37d5cb3181

* commit '37d5cb3181b4fc94b5e180f1a011330b893fcd84':
ShortcutManager: API changes for DR

Change-Id: Id585b05388cb487aba19f5c7fee3e13bd467e808
607844efa59f79bd9fab55eb75f217d21cd15f5f 17-May-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #27532364: Security Vulnerability in IIntentSender.send" into nyc-dev
37d5cb3181b4fc94b5e180f1a011330b893fcd84 17-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: API changes for DR" into nyc-mr1-dev
am: 8295332d83

* commit '8295332d83d1e664a7ef3a731370ae71242688a1':
ShortcutManager: API changes for DR

Change-Id: I0006667d4bbe2fa92015ac442ae1e8362cbcacbd
8295332d83d1e664a7ef3a731370ae71242688a1 17-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: API changes for DR" into nyc-mr1-dev
bb803cf2f602d2b1302d0ce33a8066ac30aa471b 17-May-2016 Xiaohui Chen <xiaohuic@google.com> pm: query both direct boot un/aware activities

Bug: 28762791
Change-Id: I64009c75ae7ac8784e739349b70d0413f0b4681a
m/AppsQueryHelper.java
20c95f854e54b71caa49f0efe07d47d1e6afd435 12-May-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: API changes for DR

See https://goto.google.com/shortcutmanager-spec-dr for
the details.

This CL contains changes to ShortcutInfo and all the new API
entry points, but not the implementation of the new APIs.

- ShortcutInfo.activityComponent is now mandatory.
- Publishers can now disable shortcuts. ShortcutInfo can now have
"disabled message".
- ShortcutInfo now supports string resources for all the String
fields.
-> When launcher fetches shortcuts, ShortcutService will
automatically load resources and expose as strings.
- LauncherApps now supports getShortcutIconDrawable() and
getShortcutBadgedIconDrawable() to be consistent with
LauncherActivityInfo.

- ShortcutInfo.weight is replaced with "rank".

- Added ShortcutManager.reportShortcutUsed(), which will be used for
usage tracking / suggestion.

Bug 28536054
Bug 28536066
Bug 28564134
Bug 28594168

Change-Id: Ib8245b39bb1e753991a9de89c0b73accacd90355
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
b04a9f65959aa11bf5da37ec98f25bd17ffa573a 16-May-2016 Alan Viverette <alanv@google.com> Merge "Update docs for ColorStateList to include alpha" into nyc-dev am: 5bcf7650b4 am: 3818d32374
am: c46f3a4fe9

* commit 'c46f3a4fe98448b931ab2f933bd52cb7e51fa56d':
Update docs for ColorStateList to include alpha

Change-Id: Ic01d73f1173ed1836fd3a762db428b2af5b5c50a
c46f3a4fe98448b931ab2f933bd52cb7e51fa56d 16-May-2016 Alan Viverette <alanv@google.com> Merge "Update docs for ColorStateList to include alpha" into nyc-dev am: 5bcf7650b4
am: 3818d32374

* commit '3818d32374374f568805a9a5eb7c4468aec78862':
Update docs for ColorStateList to include alpha

Change-Id: Ife972ac77358719a78c6ead2c2866e8de84e722e
3818d32374374f568805a9a5eb7c4468aec78862 16-May-2016 Alan Viverette <alanv@google.com> Merge "Update docs for ColorStateList to include alpha" into nyc-dev
am: 5bcf7650b4

* commit '5bcf7650b492ca9ce5b685c5e0f535b5927af0c6':
Update docs for ColorStateList to include alpha

Change-Id: Ibb7c034061ec5c6b540e44ca856bed2624c14629
f10697e17bf4ad2ebd97107483f0fbf232d5e797 16-May-2016 Alan Viverette <alanv@google.com> Merge "Update docs for ColorStateList to include alpha" into nyc-dev
am: 5bcf7650b4

* commit '5bcf7650b492ca9ce5b685c5e0f535b5927af0c6':
Update docs for ColorStateList to include alpha

Change-Id: I1dc16f964509cec422622da2ac60e5428b8203f6
5bcf7650b492ca9ce5b685c5e0f535b5927af0c6 16-May-2016 Alan Viverette <alanv@google.com> Merge "Update docs for ColorStateList to include alpha" into nyc-dev
582dcac856268f13121d5775497c5e1ca13e47af 16-May-2016 Alan Viverette <alanv@google.com> Update docs for ColorStateList to include alpha

Bug: 28760030
Change-Id: I309364002220b9896f5ddf29dabde79636a722e9
es/ColorStateList.java
0c4e6a8da3405f742e5cef8afdf579d58b6f1246 14-May-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27532364: Security Vulnerability in IIntentSender.send

We need to make IIntentSender oneway... but when the system is
calling that for itself, it needs to be able to return a result code.

Solution: instead of directly calling the interface, we have a new
IPC through the activity manager. If the thing being used is the
activity manager impl, it can do the synchronous send and return
the result directly in place. If not, you only get asynchronous
sending and thus never a failure result back (too bad for you!).

Change-Id: I4096e5b00063e8dba66230585a2dfe67e35e8092
IntentSender.aidl
ntentSender.java
4c8c470015062508e641ed54acd85b8b147088dd 13-May-2016 Steve Pomeroy <steve@staticfree.info> Merge "ContentValues: improve documentation" into nyc-dev
am: 33d0ff9959

* commit '33d0ff995976533f9989cd6ec95c3de5ba9aee05':
ContentValues: improve documentation

Change-Id: I29244d0c039abcd08139e2814bb465e2e5b9e03a
b31b1cc5ff901a9b7442eef3b9112af5a93bb1ed 09-Oct-2012 Steve Pomeroy <steve@staticfree.info> ContentValues: improve documentation

Correct and clarify the documentation for ContentValues.

Signed-off-by: Steve Pomeroy <steve@staticfree.info>

(cherry picked from commit 1276b5f29ed6f889e9691cf296fd9911958895c1)

Change-Id: Id6f4e93dcca64dd41daeb4066d804ff173f4747b
ontentValues.java
3f0fcdb1f6702cf9951afc12a9f26e7e2c0b6859 13-May-2016 Steve Pomeroy <steve@staticfree.info> Merge "ContentValues: improve documentation" am: b44d4207c1 am: 78e5a04902 am: b6c826227d
am: d88ca0e659

* commit 'd88ca0e659d89147e62addac01ce08192beb051e':
ContentValues: improve documentation

Change-Id: Id42ec6e2c361bd0b8a279c8e42f8ac5232f0850e
d88ca0e659d89147e62addac01ce08192beb051e 13-May-2016 Steve Pomeroy <steve@staticfree.info> Merge "ContentValues: improve documentation" am: b44d4207c1 am: 78e5a04902
am: b6c826227d

* commit 'b6c826227dfbc1cdb565098a9df5b897dd1137f3':
ContentValues: improve documentation

Change-Id: I6a3f730971777a19460f9afeafca1878c4fd522d
b6c826227dfbc1cdb565098a9df5b897dd1137f3 13-May-2016 Steve Pomeroy <steve@staticfree.info> Merge "ContentValues: improve documentation" am: b44d4207c1
am: 78e5a04902

* commit '78e5a0490278bc12cb7e3c12225aba05639c922f':
ContentValues: improve documentation

Change-Id: Ifce0816dc5565e6b7944de92ee814f97cb4753b6
1276b5f29ed6f889e9691cf296fd9911958895c1 09-Oct-2012 Steve Pomeroy <steve@staticfree.info> ContentValues: improve documentation

Correct and clarify the documentation for ContentValues.

Change-Id: Iddf54da093e97c32da2568eab8802b1b2715303b
Signed-off-by: Steve Pomeroy <steve@staticfree.info>
ontentValues.java
82c64a485a798020059efe16f8a748d97bc70c0e 12-May-2016 Makoto Onuki <omakoto@google.com> Merge "Remove ShortcutManager" into nyc-dev
am: 26edcba2c9

* commit '26edcba2c950701ff2dd8794687552bc37e4dfc8':
Remove ShortcutManager

Change-Id: I4b99a5fe6d73400070ba5829573255283c7b7a5c
26edcba2c950701ff2dd8794687552bc37e4dfc8 12-May-2016 Makoto Onuki <omakoto@google.com> Merge "Remove ShortcutManager" into nyc-dev
10b889de7d0c9271e3fb47c87a8ed140bee9c271 12-May-2016 The Android Automerger <android-build-merger@google.com> stephenli Manually merge commit '68fffa5'

* commit '68fffa5': (23 commits)
Fix smallest width configuration calculation
docs: DoDS, wearable reference docs
Switch the default text selection handles to Material style.
docs: Noted minor API changes in release notes
docs: added "billions" doc in Distribute>Essentials
Remove wear design pages redirecting to design/wear
correct the support library redirects to redirect whole path
Stop saving ActionMenuItemView state.
Fix iterator double-advance in ContentObserverController
TIF: Remove the uniqueness check for track ID from notifyTracksChanged
Update and add attributes to the JavaDoc for VectorDrawable
Use Q=100 JPEG instead of PNG for wallpaper display
Fix issue #28400000: Settings memory UI still showing z-ram...
docs: Updated support library revision history for 23.4.0
docs: Updates to notifications for DP3
docs: Added emoji section to api overview.
Fixed a bug where the QS was animating wrong when closing
Fix KeyguardManager.isSecure() to observe work profile
cherrypick from mnc-docs docs: Updated APK Signature Scheme v2 doc.
Docs: Added new Whitelist feature to Data Saver for DP3
...
ad3773a1541e37a96f4dea0e6d06a9c37b46bd80 12-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "BluetoothManager: Make requestControllerActivityInfo one call" into nyc-dev am: 3723194dc8
am: 04d676b3ae

* commit '04d676b3ae36bca3f3f80b522024121f2238835d':
BluetoothManager: Make requestControllerActivityInfo one call

Change-Id: Id439d6d314805f378bc068144eabd9a16a521f25
04d676b3ae36bca3f3f80b522024121f2238835d 12-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "BluetoothManager: Make requestControllerActivityInfo one call" into nyc-dev
am: 3723194dc8

* commit '3723194dc831f4734d465602b2e21449d9357c2e':
BluetoothManager: Make requestControllerActivityInfo one call

Change-Id: I0b86c2bd861a7de788917c6bae7bccf02dc97b31
ebfb372876803a071f3a7d9888facd132b0d3ce9 12-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "BluetoothManager: Make requestControllerActivityInfo one call" into nyc-dev
am: 3723194dc8

* commit '3723194dc831f4734d465602b2e21449d9357c2e':
BluetoothManager: Make requestControllerActivityInfo one call

Change-Id: Iafdc65be9a8045c10ee485685a4222ece087e031
3723194dc831f4734d465602b2e21449d9357c2e 12-May-2016 Adam Lesinski <adamlesinski@google.com> Merge "BluetoothManager: Make requestControllerActivityInfo one call" into nyc-dev
538c440c33fc2b9e0bf0c680ddbb14f9a079ff6a 11-May-2016 Makoto Onuki <omakoto@google.com> Remove ShortcutManager

Bug 28704708

Change-Id: If7b739adeec38d81d554fc1cf34c81194f5d67b9
ontext.java
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
728fe71b213489758b686a335038c55027fee65e 11-May-2016 Todd Kennedy <toddke@google.com> Merge "Fix secondary ABI instrumetion" into nyc-dev am: f09f069936 am: fc7701c569
am: d2ebc5e3ab

* commit 'd2ebc5e3ab900905b4b14de55e4be9d0e70c51d6':
Fix secondary ABI instrumetion

Change-Id: Ieceae5d3fe442bbd0c6821ead5dc37dc2ee83a71
d2ebc5e3ab900905b4b14de55e4be9d0e70c51d6 11-May-2016 Todd Kennedy <toddke@google.com> Merge "Fix secondary ABI instrumetion" into nyc-dev am: f09f069936
am: fc7701c569

* commit 'fc7701c56923369bb30eae6559dfbc100a174477':
Fix secondary ABI instrumetion

Change-Id: I88afbda2d0b4f87f03b9806ff6de9a4066bd4dac
fc7701c56923369bb30eae6559dfbc100a174477 11-May-2016 Todd Kennedy <toddke@google.com> Merge "Fix secondary ABI instrumetion" into nyc-dev
am: f09f069936

* commit 'f09f0699369c02a6a46fbff68c02b00a7c703697':
Fix secondary ABI instrumetion

Change-Id: I7a48511c8038725524abd8fc0adbd86e9e9fe09c
9580593e5d031296ce64697cb382d2cc457c2676 11-May-2016 Todd Kennedy <toddke@google.com> Merge "Fix secondary ABI instrumetion" into nyc-dev
am: f09f069936

* commit 'f09f0699369c02a6a46fbff68c02b00a7c703697':
Fix secondary ABI instrumetion

Change-Id: I0ad719338b8cbcf9cf90526d2e0196aa25ff07ad
f09f0699369c02a6a46fbff68c02b00a7c703697 11-May-2016 Todd Kennedy <toddke@google.com> Merge "Fix secondary ABI instrumetion" into nyc-dev
b482032705edd04e386b891f8583b6d2d0b461bc 11-May-2016 Greg Kaiser <gkaiser@google.com> Merge "GradientColor: Fix typo in documentation." into nyc-dev am: a452dd3fd9 am: 9311165c2c
am: bac3e57f3d

* commit 'bac3e57f3d5e1d4b1ec0b184d4bbc9657f7d0f13':
GradientColor: Fix typo in documentation.

Change-Id: I91779eec11c9966c9f1ea8e6566c96a301c50f6d
bac3e57f3d5e1d4b1ec0b184d4bbc9657f7d0f13 11-May-2016 Greg Kaiser <gkaiser@google.com> Merge "GradientColor: Fix typo in documentation." into nyc-dev am: a452dd3fd9
am: 9311165c2c

* commit '9311165c2cbb42fe37a42dc916e303ac180f9f6c':
GradientColor: Fix typo in documentation.

Change-Id: I590125c62d1e5b73bfe3b0255f69c07daf3d78b9
9311165c2cbb42fe37a42dc916e303ac180f9f6c 11-May-2016 Greg Kaiser <gkaiser@google.com> Merge "GradientColor: Fix typo in documentation." into nyc-dev
am: a452dd3fd9

* commit 'a452dd3fd97fc1cae971abad5bfcb40013dad0c6':
GradientColor: Fix typo in documentation.

Change-Id: I392ac824d733dcbeb2e79d5be4ad1668ad3400cc
56621209231effd430c2de9bed2072cb0ce964c6 11-May-2016 Greg Kaiser <gkaiser@google.com> Merge "GradientColor: Fix typo in documentation." into nyc-dev
am: a452dd3fd9

* commit 'a452dd3fd97fc1cae971abad5bfcb40013dad0c6':
GradientColor: Fix typo in documentation.

Change-Id: I647222141e85163cefe2241a96439f0eb3d7a97a
2d609eda74ea8e50018e020b923b2da92f866ead 09-May-2016 Greg Kaiser <gkaiser@google.com> GradientColor: Fix typo in documentation.

Bug: 28678266
Change-Id: I8f551108643698a1b6c573911509a4e48ad88783
es/GradientColor.java
7608f5d214112bef263dd9ca0e5534df2cba3a65 11-May-2016 Makoto Onuki <omakoto@google.com> Merge "Refactoring ShortcutManager + bug fixes." into nyc-mr1-dev am: 4a3b597f55
am: c9289b8053

* commit 'c9289b805307ff071ad2b17936bfb4b4a6f4ad84':
Refactoring ShortcutManager + bug fixes.

Change-Id: I9b584cd3ff0125294556fc3ca56cc01895167367
c9289b805307ff071ad2b17936bfb4b4a6f4ad84 11-May-2016 Makoto Onuki <omakoto@google.com> Merge "Refactoring ShortcutManager + bug fixes." into nyc-mr1-dev
am: 4a3b597f55

* commit '4a3b597f557ef900299202ef88a6e601c0629368':
Refactoring ShortcutManager + bug fixes.

Change-Id: Ief3a0dd2c81a2343895a88d9049b48d19bac6ac1
e713efcac103f3d8083ec9d5b00c528af7266b21 10-May-2016 Todd Kennedy <toddke@google.com> Fix secondary ABI instrumetion

When installing an APK that supports multiple ABIs, the ABI installed
can be forced to the secondary ABI [i.e. On devices that support both
32 and 64 bit variants, the 32-bit version can be forced when it's
the secondary ABI.] In this case, instrumenting the class always tried
to use the primary ABI. Instead of blindly using the primary ABI and
dropping the secondary ABI, we propagate both ABIs and make a
decision on which one should be chosen.

Bug: 28406240
Change-Id: I7ebb2fd264d2281912afd30f6d73ccb460f9cf85
m/InstrumentationInfo.java
c51b2876ec5c0af449469a0f76bb38c51cfcff04 05-May-2016 Makoto Onuki <omakoto@google.com> Refactoring ShortcutManager + bug fixes.

- Don't pass the ShortcutService instance as an argument. This tiny
optimization is no longer meaningful now that PackageShortcut and
PackageLauncher have reference to ShortcutUser.

- Rename mLauncherComponent to mDefaultLauncherComponent for clarity.

- Don't instantiate ShortcutPackage instances when not needed.

- Don't allow intents with a null action.

- Also improve javadoc.

Bug 28592642
Bug 28474517
Bug 28557169

Change-Id: I8790d3494bf3b92c143c02824b0ed0e514504baa
m/ShortcutInfo.java
m/ShortcutManager.java
991357fe25b3addabf85b871df3f4098fc4b833b 10-May-2016 Adam Lesinski <adamlesinski@google.com> BluetoothManager: Make requestControllerActivityInfo one call

Instead of making multiple calls into the Bluetooth service,
make one call that can timeout. This helps prevent cases
when the Bluetooth process hangs and the system_server is calling into
it and causes a WATCHDOG restart.

Bug:28658141
Change-Id: I37778b7b6e508be420a21bdf23593ae89b38f5b8
es/ResourcesImpl.java
d89abcf16d95df29d40701fd1777799d97e25540 06-May-2016 Hans Boehm <hboehm@google.com> Merge "Improve grammar in startService() documentation." am: e3a25ad692 am: cc9c83dbd4 am: 1a72cf2e4f
am: 3bc625a30a

* commit '3bc625a30af39a25a2dec5a5e70fb3fbd38c98ca':
Improve grammar in startService() documentation.

Change-Id: Id179761ee138cecf7245788735dd3a3e063f9bc0
3bc625a30af39a25a2dec5a5e70fb3fbd38c98ca 06-May-2016 Hans Boehm <hboehm@google.com> Merge "Improve grammar in startService() documentation." am: e3a25ad692 am: cc9c83dbd4
am: 1a72cf2e4f

* commit '1a72cf2e4f7d94f004979ee140fbe3f17c5e350a':
Improve grammar in startService() documentation.

Change-Id: Ifd50bd9f2b8c83e657bc6df419e70b30532649d0
1a72cf2e4f7d94f004979ee140fbe3f17c5e350a 06-May-2016 Hans Boehm <hboehm@google.com> Merge "Improve grammar in startService() documentation." am: e3a25ad692
am: cc9c83dbd4

* commit 'cc9c83dbd4123cf4677cd351fd0b96d9d04ffbee':
Improve grammar in startService() documentation.

Change-Id: I7a7296839c0b9ec89002dead994cc346e1969567
fb9f6acd6ff973ec8e18f2393f5f9e7be32645e5 05-May-2016 Hans Boehm <hboehm@google.com> Improve grammar in startService() documentation.

Change-Id: If72f710caa2e85512636d6f7ddacff2426cfb835
ontext.java
f9d60d034e0b78a33a401aaa1741bf25e8b676ec 05-May-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Update VR API docs." into nyc-dev am: 01d232988a am: 2d1a1a4521
am: d12543c983

* commit 'd12543c9836ebae9f82045ef626d09da2654363f':
Update VR API docs.

Change-Id: Ic26060e0684b983767b399490e8d47c0420a1c11
d12543c9836ebae9f82045ef626d09da2654363f 05-May-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Update VR API docs." into nyc-dev am: 01d232988a
am: 2d1a1a4521

* commit '2d1a1a45219d4946527c284eb801a1c9e966966c':
Update VR API docs.

Change-Id: I6f3c0348d98db2d7c8f6e3d757ac77f02d4e179f
17f3a406457c461a3629e012604f38ceb2296d30 05-May-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Update VR API docs." into nyc-dev
am: 01d232988a

* commit '01d232988a69dfdee7f90cebf560686e458849e4':
Update VR API docs.

Change-Id: I1b2cc88ca390c90d42cae3736aaf986e6c0e9396
01d232988a69dfdee7f90cebf560686e458849e4 05-May-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Update VR API docs." into nyc-dev
0e86dfb8028fd4fce7e61291c8628720acc277d9 05-May-2016 Makoto Onuki <omakoto@google.com> Merge "Merge "ShortcutManaegr: bug fixes" into nyc-mr1-dev am: 5b9d876ef5" into nyc-mr1-dev-plus-aosp
am: ccf9c83765

* commit 'ccf9c8376595ddbed64cedd236349cb99a2e8708':
ShortcutManaegr: bug fixes

Change-Id: I2aeb67ca5f46165b63e685c90d8acf6cb909b351
9f842251b0f668cf0c385c24cc40dcb6c989cb85 04-May-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Fix ClipData JavaDoc and behavior that contradicts JavaDoc" into nyc-dev am: 221c6e6db7 am: 423c902258
am: 040646bb08

* commit '040646bb084632713436ee6a2a0b9de99d4eee8d':
Fix ClipData JavaDoc and behavior that contradicts JavaDoc

Change-Id: Ifa6973f839dd2c8f4bac8befd6ad445f68a462d9
5b9d876ef5bf4613d9ef89148c1ab021c473c02e 04-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManaegr: bug fixes" into nyc-mr1-dev
85694526039fb0a80ab74b2dc3ab17bacc1a4a59 04-May-2016 Makoto Onuki <omakoto@google.com> ShortcutManaegr: bug fixes

Fixes 28590035
Fixes 28586105

Change-Id: Ia11d29e4996ad5b47b279a3c04d9586695cdc0a5
m/LauncherApps.java
221c6e6db77c99351d65db29c432caa077613124 04-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix ClipData JavaDoc and behavior that contradicts JavaDoc" into nyc-dev
f67661cc7a97754ed916f328e0aed3ea8f48bc49 04-May-2016 Vladislav Kaznacheev <kaznacheev@google.com> Fix ClipData JavaDoc and behavior that contradicts JavaDoc

1. Expand JavaDoc for ClipData.addItem to clarify how MIME types are affected.
2. Add "text/uri-list" to MIME type list only for non-content URIs (as JavaDoc explicitly says).

Bug: 28564003
Change-Id: I074daf34310323725690a9ba2c7dff0542ed6349
lipData.java
6b8b7996ffa0f621b20e64c7fb305270f40a5720 03-May-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Merge "Fix typos in ClipData JavaDoc" into nyc-dev am: 77843a4213 am: 0fd5036fec" into nyc-mr1-dev-plus-aosp
am: 1adf75e6bb

* commit '1adf75e6bb06255cc565024efc10d96936f03f0d':
Fix typos in ClipData JavaDoc

Change-Id: I8891f67276fc00339e5e632f6b0b2ae62159b0af
77843a4213a9ce81e8aa4d6681e3c46350a31335 03-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix typos in ClipData JavaDoc" into nyc-dev
7e4669c5a6de347fe85b976475e7e749512114fa 03-May-2016 Vladislav Kaznacheev <kaznacheev@google.com> Fix typos in ClipData JavaDoc

Also removed the obsolete text regarding iconic representation
and fixed some whitespace.

Bug: 28536304
Change-Id: I55ca681b86a121018903a41fff228e7c6126c7e7
lipData.java
d1bc17aacd2fcf45a67cf35adf78eca5c2bd708e 03-May-2016 Makoto Onuki <omakoto@google.com> Merge "Merge "ShortcutManager: finishing touches" into nyc-dev am: 7d164d35a4" into nyc-mr1-dev am: 59cfcb502d
am: 2c0af8597d

* commit '2c0af8597dd3edb155893453dbb03027dc95135e':
ShortcutManager: finishing touches

Change-Id: Id54d01e50b8120b898263a674b1886e2f5c16ac4
7d164d35a41d2aa351f0a27faf05fc67ba262c07 03-May-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: finishing touches" into nyc-dev
927d3453d39a9048c41eddf2418a97562757e930 03-May-2016 Ruben Brunk <rubenbrunk@google.com> Update VR API docs.

Bug: 28526281
Change-Id: Iff48d02a2fee542c5ded7fc8cd6cf74957eb738c
m/PackageManager.java
e15ad0a4ef9c5d947003f3b30c7fafe38d0914b9 03-May-2016 Svet Ganov <svetoslavganov@google.com> Merge "Disable unused features" into nyc-dev am: d4d1512b64 am: d76b1a5dad
am: fa58b2752a

* commit 'fa58b2752abe8f60391f73da5cca61dffd0208b5':
Disable unused features

Change-Id: I7e5894d96f76e1139b02bb23c168f1f0f7623b14
d4d1512b64df37157f3fa9c205f1dd3738b47e21 03-May-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Disable unused features" into nyc-dev
a7532cfa46bc0c0a795aaaafe89d0727927b3cd7 02-May-2016 Svet Ganov <svetoslavganov@google.com> Disable unused features

The multi-package APKs feature was not validated and is now disabled.
Also the ephemeral work was postponed which requires disabling of the
ephemeral cookie APIs.

bug:28514747

Change-Id: Iab7f11c503a76bcc414408dfebdf200843db814e
m/PackageParser.java
779869cabf4d3d7b6e189dcbe834e050c043524f 03-May-2016 Raph Levien <raph@google.com> Merge "Make LocaleList constructor non-nullable" into nyc-dev am: 4d826831b5 am: c29bc443f8
am: 16e416ec69

* commit '16e416ec69cb281e669c2f38833de33ebaf22962':
Make LocaleList constructor non-nullable

Change-Id: I4536dacdd94329f2ab8fecef6f5e868d6895b1fd
4d826831b5a516184e2323ce619b317e658d475a 03-May-2016 Raph Levien <raph@google.com> Merge "Make LocaleList constructor non-nullable" into nyc-dev
c699a024790314a5e9a5a828dfea31ca3b5c041f 03-May-2016 Todd Kennedy <toddke@google.com> Merge "use \'int\' for min sdk version" into nyc-dev am: 6a3948bc12 am: 09bad50ef4
am: fa1f49c504

* commit 'fa1f49c504abe7a7eefe87fac54f775f22e301f4':
use 'int' for min sdk version

Change-Id: I85590aa529cab7765137ee8658d78da5246a844a
6e2e7f585ba74213fde92bd23150949f76335fba 02-May-2016 Todd Kennedy <toddke@google.com> use 'int' for min sdk version

per api council

Change-Id: Id3c1191534f61a0d511a6e9932f50ee613830999
m/ApplicationInfo.java
m/PackageParser.java
10ea92aefa7051eb432383e0b56e7c44664fd560 02-May-2016 Raph Levien <raph@google.com> Make LocaleList constructor non-nullable

This commit makes the LocaleList constructor require non-null
arguments in all cases, and fixes all uses of LocaleList that could
previously pass a null to use getEmptyLocaleList() instead (which is
preferred anyway becaues it avoids an allocation.

Bug: 28460668
Change-Id: I4b8b3cfa82914412731c2b79003951c46cb2afa1
es/Configuration.java
4d36b3a8c5ba1289d851ef337e46709bba333100 27-Apr-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: finishing touches

- Change back the throttling quota to 10 calls / day
- Foreground apps are no longer throttled, and when an app comes to
foreground the call counter will be reset.
- When the system locale changes, reset throttling for all packages
for all users.
See LocalService.onSystemLocaleChangedNoLock() for how it's performed.
Because the reset must happen before any other apps have a chance to
publish shortcuts, the logic is not straightforward.

- Added an internal API to reset the throttling upon inline-reply
from a notification.

- Stop supporting icons from "content:" URIs
- Improved javadoc on several APIs.

Also internal refactor needed to this:
- ShortcutUser.getAllPackages()/getAllLaunchers() are no longer
accessible to outer code to prevent accidentally adding/removing the
content. Outer code should use forAllPackages() / forAllLaunchers().

Bug 27923857

Change-Id: I002511193d1d33718163bb1dabe77610bde58198
m/IShortcutService.aidl
m/ShortcutInfo.java
m/ShortcutManager.java
m/ShortcutServiceInternal.java
0b4f8443ab83f190eec952868ccb95360ad02371 02-May-2016 Todd Kennedy <toddke@google.com> Merge "Restrict updates of system packages" into nyc-dev am: 4e4fca43b0 am: 728b0978e5
am: c5f564a0d6

* commit 'c5f564a0d6179189721ceb1cc05cdaefa35a225c':
Restrict updates of system packages

Change-Id: I06d7729ddc9ee2fb485ab3a9af88e3a7d26b5718
4e4fca43b0fb1320ce0265640d33b700cd886da8 02-May-2016 Todd Kennedy <toddke@google.com> Merge "Restrict updates of system packages" into nyc-dev
e777ee22492baa5667b0bb5d35e3fff1f036d867 30-Apr-2016 Wale Ogunwale <ogunwale@google.com> Merge "Set ActivityInfo.resizeMode to RESIZE_MODE_RESIZEABLE by default" into nyc-dev am: e7fefcb565 am: 1a9d6ff291
am: 027612d71f

* commit '027612d71f9e50b900cba8b53320a8fe87e6f7f1':
Set ActivityInfo.resizeMode to RESIZE_MODE_RESIZEABLE by default

Change-Id: I7039b26a64e8a63515de5b42907135e53b2ea97b
8f6c925ae751e06232cfc636949eef74852cfbec 30-Apr-2016 Wale Ogunwale <ogunwale@google.com> Set ActivityInfo.resizeMode to RESIZE_MODE_RESIZEABLE by default

Previous assumption was ActivityInfo was completely initialized in
PackageParser, but that isn't the case with the ResolverActivity
whose ActivityInfo in populated in PackageManagerService.
This was causing the device to exist multi-window mode since
the default ActivityInfo.resizeMode was 0 (RESIZE_MODE_UNRESIZEABLE).

Bug: 28378995
Change-Id: I46e58d434f2a0274c461a8ff00b59ed3d2a1dd52
m/ActivityInfo.java
fdd241a1e026afeeb68d30cb3d999ee9506769ce 28-Apr-2016 Todd Kennedy <toddke@google.com> Restrict updates of system packages

By declaring a <restrict-update> tag in its manifest, a system package
can restrict its update to be the singular package that has the same
given hash. An update's hash is the SHA-512 across all its APKs [i.e.
for splits, the SHA-512 is calculated over the concatenation of the
base plus all splits].

The restriction only applies to system packages.

Bug: 28398205
Change-Id: Iec493fc8ef27edee53f1d437cb0caaa78782f329
m/PackageParser.java
b5271598ff475c7b2e08ef1a94a614e71dc8573d 28-Apr-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #28431297: Crash in system process" into nyc-dev am: 1a2f993 am: 2501220
am: 8aad038

* commit '8aad0386145df5a11cc9140a4b7e8d4588e64aa5':
Fix issue #28431297: Crash in system process

Change-Id: Ibfe02253fe0a4d4981680e58de4d90422e05c9e0
89f543c5f5046183c7c77143a6ae58cab5f399f3 28-Apr-2016 Christopher Tate <ctate@google.com> Merge "Make sure FIRST_LAUNCH is after PACKAGE_ADDED" into nyc-dev am: 0731806 am: 3218e95
am: 77ea251

* commit '77ea25191f96c71c634fb1cc8589f83140a79233':
Make sure FIRST_LAUNCH is after PACKAGE_ADDED

Change-Id: Ic386fa6ce64fbbe52b377105891c3904c3f48011
1a2f993ba5a81899500b989683364708025e13a5 28-Apr-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #28431297: Crash in system process" into nyc-dev
123ad32f177d214ba23fb1e921530588c30aaadd 28-Apr-2016 Adam Powell <adamp@google.com> Merge "Don\'t lose content change during rollback for loader already started" into nyc-dev am: 8ff7d16 am: a3aef2a
am: fa8d696

* commit 'fa8d696556fa4124953de9be41fd495c748c9f76':
Don't lose content change during rollback for loader already started

Change-Id: I8f2bfdd63962bc1c83ed68bc43622d06b228a185
07318065b22ba13ae003d7803a3e48e441f9f6e5 28-Apr-2016 Chris Tate <ctate@android.com> Merge "Make sure FIRST_LAUNCH is after PACKAGE_ADDED" into nyc-dev
e761777323444e900ab683137a1e4d6abecdc728 28-Apr-2016 Dianne Hackborn <hackbod@google.com> Fix issue #28431297: Crash in system process

Don't allow null URIs to get put into the notification path.

Change-Id: I4f68f438960c8a90c7b417feaa2e19968a3a200a
ontentResolver.java
5cf5578a457e448dda9fd47943e91f0f3b67690f 26-Apr-2016 Christopher Tate <ctate@google.com> Make sure FIRST_LAUNCH is after PACKAGE_ADDED

If an app undergoes restore during install, it is considered 'started'
and the FIRST_LAUNCH broadcast needs to go out. However, this must not
take place until after the restore operation has fully completed, in
order to avoid publishing the app's existence while it may still be in
an incoherent state. We now make this broadcast part of POST_INSTALL
in the restore case.

Bundled apps are in the 'started' state regardless, so no FIRST_LAUNCH
broadcast is ever sent for them -- this CL does not change that
existing behavior even in the case of setup-time data restore of
factory-installed packages.

Bug 28173625

Change-Id: Ibcc3758576662dc447b75476173a0d008a9fe4da
m/IPackageManager.aidl
4be84bb10cf0bd998f33d9e5a7ca42cf8e072ad7 27-Apr-2016 Adam Powell <adamp@google.com> Don't lose content change during rollback for loader already started

Framework edition

If a loader is already started when we try to rollback a content
change, force a new load instead of simply setting the flag to refresh
next time.

Bug 28406183

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

Change-Id: If11d79088d30dd2dc48cf1b3d2882f3712b6cddb
oader.java
7bb8e8c7a9755df1893b4ecad655142b53e3845c 27-Apr-2016 Raph Levien <raph@google.com> Merge "Give guidance on alternatives to deprecated locale field" into nyc-dev am: 78dd08d am: b22b5d7
am: 8435e68

* commit '8435e68e0ea5401300e2bfb03252b172bdf6be5b':
Give guidance on alternatives to deprecated locale field

Change-Id: Ic75d9c8e440a9a77faf71d48ebde2b3ee3415b00
78dd08d5dd49ba3e054e1416849606a22064b389 27-Apr-2016 Raph Levien <raph@google.com> Merge "Give guidance on alternatives to deprecated locale field" into nyc-dev
b163870d46488df0cc068b27f91fb8df6ea66515 27-Apr-2016 Raph Levien <raph@google.com> Give guidance on alternatives to deprecated locale field

The deprecation message for the "locale" field should clearly state
what to do instead when only the primary locale is needed.

Bug: 27532422
Change-Id: I3e83cc1e9054d4e199d7e34b1a42b7bcd6c77f62
es/Configuration.java
656352ba9985ad4a3884bd5b9f9ae315b74a09cf 27-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Merge "Don\'t override pre-release target sdk" into nyc-dev am: 97ef0e7 am: 9a50b6a" into nyc-mr1-dev-plus-aosp
am: c7dd6b9

* commit 'c7dd6b912d89354ff50e981dacd3c0ef9d446a50':
Don't override pre-release target sdk

Change-Id: Ic9bfae8ba399727f9d5f68d162b2a2dc25a61eae
dd1a9e05ef277d0ea3e92ac012b83a9ce1ed3daf 27-Apr-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Add manifest attribute for VR activities." into nyc-dev am: f84b3e0 am: 45d6192
am: 842d0d4

* commit '842d0d44883591ba7221ff62c55a1efd70876ca0':
Add manifest attribute for VR activities.

Change-Id: Ie2f10baef334561e66e08eceb8a73e860e308514
97ef0e77afa3be6255b70c8567843ac298386251 27-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Don't override pre-release target sdk" into nyc-dev
b1072718130b998e6d25bc3358eefa62b4fa5a2d 27-Apr-2016 Todd Kennedy <toddke@google.com> Don't override pre-release target sdk

If a package targets a pre-release SDK [eg a letter version] it should not
be allowed to be upgraded by a release SDK [eg a number version]. If one
absolutely must upgrade to a release SDK, use the "--force-sdk" option
during install.

Bug: 28345311
Change-Id: Ic9fb209968e7c5da2c80c5ca4c0f44f5125f610a
m/PackageManager.java
m/PackageParser.java
f84b3e0e2fe11c8ee1d86ad44236ba4129fc3ae1 27-Apr-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Add manifest attribute for VR activities." into nyc-dev
badba5893fe6b0f6a81becca48b5af77e63b2f91 26-Apr-2016 David Brazdil <dbrazdil@google.com> Merge "Change app selection policy for post-OTA verification" into nyc-dev am: 3eaf72d am: 9ada71d
am: b424dd9

* commit 'b424dd9e1ea1c1be3577db90b8420b94eb5632c6':
Change app selection policy for post-OTA verification

Change-Id: Ic81447d56181f0246af6127cd2b6331b1084a09e
90e269917e1d8f9fadb12c3528b8c360b2271e82 18-Apr-2016 David Brazdil <dbrazdil@google.com> Change app selection policy for post-OTA verification

Changes the policy for selecting packages which will be pre-verified
during post-OTA boot animation.

For Nx to Ny, an app is pre-verified if used in the foreground in the
last 7 days, or if its APK was loaded by other apps.

For M to N (or early N builds without detailed stats), an app is
pre-verified if it has any recorded use in the last 7 days.

Bug: 27902702
Bug: 27350503
Change-Id: I2b38daf017ecd0e5aa5ed596ed9351cffa03dbcb
m/PackageParser.java
f56c9f432bafda9765f5ffcb25be5259645e121d 23-Apr-2016 Ruben Brunk <rubenbrunk@google.com> Add manifest attribute for VR activities.

- Allow jank-free VR->VR activity transitions, even during
long activity transitions.

Bug: 28115931
Change-Id: I1e3fd1a5245bac3433ea6282cb1c7a71f0e0266f
m/ActivityInfo.java
m/PackageParser.java
af1ad873fc7ce2dd94560fe9dff2b56a38e6d73a 25-Apr-2016 Rubin Xu <rubinxu@google.com> Merge "Regenerate ApplicationInfo if package suspend state is changed." into nyc-dev am: 0c9c09c am: b3e7163
am: d584076

* commit 'd584076940d1d70e0c76a179e05acd833e141451':
Regenerate ApplicationInfo if package suspend state is changed.

Change-Id: I8c7bcb654790a1afb275cb8f7d3f56ebbb0bc465
0c9c09ccff72c9a017e6c7da3aef8738eea5f176 25-Apr-2016 Rubin Xu <rubinxu@google.com> Merge "Regenerate ApplicationInfo if package suspend state is changed." into nyc-dev
879f5ba3f7eecda7c204751efc3fbfa58e7001ae 23-Apr-2016 Svet Ganov <svetoslavganov@google.com> Merge "Cleanup of the PackageInstaller API - Frameworks" into nyc-dev am: c947ebd am: 70d720c
am: 13da561

* commit '13da5613e2fce0ca2d5682fd202234856d2206e9':
Cleanup of the PackageInstaller API - Frameworks

Change-Id: Ibe4a6258c6437a9e86ed25e242301ca6d6635d26
d1bd91aae8ecbd67ace4fe23d78d9d3ed019612f 22-Apr-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Disallow disable of the system shared libs." into nyc-dev am: 5a91b61 am: 50d08f8
am: 115ee83

* commit '115ee8340fd0ef4090550f046e2da51f476d32c0':
Disallow disable of the system shared libs.

Change-Id: I9f96c94d6a0007ea602ef0c923e9079dceff4094
ae0e03a9e03de34e37b768b971d7596d7220a053 26-Feb-2016 Svet Ganov <svetoslavganov@google.com> Cleanup of the PackageInstaller API - Frameworks

The PackageInstaller app manages side-loading apps as well
as permission management. It should be updatable, hence
should rely on system APIs to talk to the platform. This
is the first step of defining an API boundary.

Change-Id: I9814eafd0b22ae03b4b847a7007cdbf14c9e5466
ntent.java
m/PackageManager.java
m/permission/IRuntimePermissionPresenter.aidl
m/permission/RuntimePermissionPresentationInfo.aidl
m/permission/RuntimePermissionPresentationInfo.java
m/permission/RuntimePermissionPresenter.java
5a91b615232374084a45752d7c09c25265e263ed 22-Apr-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Disallow disable of the system shared libs." into nyc-dev
203ae48ff76c9fb9bd5d7fe091aa6e2f2faf48a3 22-Apr-2016 Andrei Stingaceanu <stg@google.com> Merge "Keyboard shortcuts: dismiss when activities start via shortcut" into nyc-dev am: 1a83df8ba7 am: 9e16d11683
am: e0ea2e06ab

* commit 'e0ea2e06abafdde2974b8976ececd727e590060c':
Keyboard shortcuts: dismiss when activities start via shortcut

Change-Id: Ic86b86c3254318d17059b4650a9c7bcb652bddf3
1a83df8ba716d027ac26c9198ed3d3b8d2b98ad1 22-Apr-2016 Andrei Stingaceanu <stg@google.com> Merge "Keyboard shortcuts: dismiss when activities start via shortcut" into nyc-dev
0bf096f1b45959e260b09b2483e79187c1991f54 14-Apr-2016 Andrei Stingaceanu <stg@google.com> Keyboard shortcuts: dismiss when activities start via shortcut

* introduced a new intent DISMISS_KEYBOARD_SHORTCUTS and
and new public API in Activity (which sends a broadcast
to KeyboardShortcutsReceiver) which applications can
use to dismiss the keyboard shortcuts.

* plumbing and implementation for a new call to dismiss
keyboard shortcuts from PhoneWindowManager and used it:
** when starting activities invoked via Search+key
** when starting activities invoked via META
** when starting activities via application launch keys

* removed unused variable in
Activity#onProvideKeyboardShortcuts

Note that for apps started via touch (aka non-shortcut)
like tapping the Settings gear icon from the notification
bar the menu is not automatically dismissed.

Bug: 28012198
Change-Id: I83a8d4f342bb8a08115a648648834d0d2bac19fd
ntent.java
30d90d1af56fc04dded25c4e7914593ceea4537f 22-Apr-2016 Brian Carlstrom <bdc@google.com> Merge "Add reasons to notifyPackageUse calls" into nyc-dev am: 6894199054 am: eca1026d72
am: 280ca7b83a

* commit '280ca7b83a84f51a80a034c3d28b5185db4c2693':
Add reasons to notifyPackageUse calls

Change-Id: I89ef19f3278dad1b8dcde147596ec52ef048e5fe
ca82e616d3131570bf2ee29778f4796f343720d5 20-Apr-2016 Brian Carlstrom <bdc@google.com> Add reasons to notifyPackageUse calls

This is so we can record more specific times in PackageUsage.
If file with only one timestamp per package is found, the value is
copied to all usage slots.

Bug: 27902702
Change-Id: I8affe43c735e54620a9204433aad367cfddfded7
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
7b2d5714bb0fba4f12a54a892516d34d0231a680 22-Apr-2016 Rubin Xu <rubinxu@google.com> Merge "Remove MANAGED_PROFILE_AVAILABILITY_CHANGED broadcast" into nyc-dev am: b40667eccd am: 67c7ac2890
am: dfb47299f8

* commit 'dfb47299f8dfffe4d9c8c57af2d83a64e5ed347c':
Remove MANAGED_PROFILE_AVAILABILITY_CHANGED broadcast

Change-Id: I9154ccdf9b9b7676cd880fa9d956bb246a2cac3c
b40667eccdd797d08560c33e696625509f90d52b 22-Apr-2016 Rubin Xu <rubinxu@google.com> Merge "Remove MANAGED_PROFILE_AVAILABILITY_CHANGED broadcast" into nyc-dev
0392182bff9ba7888aa9cd699d2e6d3018a0d742 20-Apr-2016 Trevor Johns <trevorjohns@google.com> Merge changes from topic \'merge_docs_nyc-dev\' into nyc-dev am: 59c9a93 am: 254f1b8
am: e1b5670

* commit 'e1b56701fd219227adae615fe81f03d5db4ae433':
Remove links to createAndInitializeUser() and createUser()
Resolve merge conflicts of a5060ee to nyc-dev

Change-Id: I8cf43f9ad491c6f23eb5fe0051293267ab2d03bf
59c9a93fc268e226495d4ee8cf7c507c2ea2c433 20-Apr-2016 Trevor Johns <trevorjohns@google.com> Merge changes from topic 'merge_docs_nyc-dev' into nyc-dev

* changes:
Remove links to createAndInitializeUser() and createUser()
Resolve merge conflicts of a5060ee to nyc-dev
bf67c9c1164bffa1dbaaaf72233e8ab5a1d2fd67 20-Apr-2016 Rubin Xu <rubinxu@google.com> Regenerate ApplicationInfo if package suspend state is changed.

Bug: 28184597
Change-Id: Ie3d50630b8946299128d599f77dce31150bc7a6c
m/PackageParser.java
50828c790a1b37311cbf11b4bc23f62511db67a5 19-Apr-2016 Chris Craik <ccraik@google.com> Merge "Document startService cost" into nyc-dev am: 6ed4e35 am: 82b735b
am: 90f1a4c

* commit '90f1a4c60792898feaa9c5d52dfc1f59e61eee27':
Document startService cost

Change-Id: I586cb1a40393dc2e4285492369d7117fda86ba7b
6ed4e35e49fb9d1e485f53b4ce309865d98a6058 19-Apr-2016 Chris Craik <ccraik@google.com> Merge "Document startService cost" into nyc-dev
62347f17f375e4b4da9d29e219a0c22286968011 19-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Always perform has code check" into nyc-dev am: 069ed70 am: 64dc481
am: a0906c8

* commit 'a0906c8d9e36ac79d1f802ec0cf6dd82aa39240c':
Always perform has code check

Change-Id: I6e1afb2c727cf3944fb65d8b15f49de272bde362
f720a9d91eb964b7772e3d42aae6bef83f531aac 15-Apr-2016 Todd Kennedy <toddke@google.com> Always perform has code check

Move code checking from the package parser and into the block
where we implement policy.

Bug: 28132476
Change-Id: Ie5cacacbf80289ff8d85acc5b57e58ea7216859c
m/PackageParser.java
682c24e22811d4ee17ae1cd61bf255c3f7e722b7 12-Apr-2016 Trevor Johns <trevorjohns@google.com> Resolve merge conflicts of a5060ee to nyc-dev

This undoes the automerger skip which occured in
commit e740c84dc32180214a7fd157105d6c18d30408ee and
replays it as a standard (NOT -s ours) merge.

Change-Id: If5a47be26f73d6a0735c425cd66310a3e2a89086
ntent.java
m/PackageManager.java
1e3535276365da64ad066bffc86238ed04a7ae13 18-Apr-2016 Chris Craik <ccraik@google.com> Document startService cost

bug:27998068

Change-Id: Iab66c21856a08678e29a1e5cf26a5f71a22027da
ontext.java
b9ff7f725e8721ea950378fd0b04f113e849d271 18-Apr-2016 Craig Donner <cdonner@google.com> Merge "Replace CTS with CDD in comment for FEATURE_VR_MODE_HIGH_PERFORMANCE" into nyc-dev am: e54b439 am: 5a92375
am: de15a3b

* commit 'de15a3b3d485948af3d8cda30c2844f7a141e401':
Replace CTS with CDD in comment for FEATURE_VR_MODE_HIGH_PERFORMANCE

Change-Id: Iaece123a511ae0a164316981a7e421cd7bcdc8af
e54b4397d37e12daa4d068feb61f9532afa6930e 18-Apr-2016 Craig Donner <cdonner@google.com> Merge "Replace CTS with CDD in comment for FEATURE_VR_MODE_HIGH_PERFORMANCE" into nyc-dev
75d09e660828da6b3748f5f5721d37b40126bea1 18-Apr-2016 Narayan Kamath <narayan@google.com> Remove unnecessary allocation+unboxing of objects. am: a09b4d2 am: 4c89ae0
am: 42c2de5

* commit '42c2de56abb91a613291a935cc88da3f655b3a9d':
Remove unnecessary allocation+unboxing of objects.

Change-Id: Ic48935549f7f9b13d5f0a2d98fc0979fbfc5a38b
a09b4d2a611a7606e8fc8c73a24bd941b6fc173f 15-Apr-2016 Narayan Kamath <narayan@google.com> Remove unnecessary allocation+unboxing of objects.

Transforming String->int can be done with 0 allocations
using Integer.parseInt.

bug: 28078871
Change-Id: I8d9f322d7154728849dde61ef282046032858d60
ntent.java
36f4afbcca81de92e42fe2e1f0700680293ff56c 16-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Categories should be Set, not List." into nyc-dev am: e2be9f4
am: 2870094

* commit '2870094a86531e977898681aef503bb393b24a3e':
ShortcutManager: Categories should be Set, not List.

Change-Id: I114c3ac304bed3b237128c2e330dec0fe19f6613
be73a8068ff3babe5b0a4f12656731ba8eea6149 15-Apr-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Categories should be Set, not List.

Bug 27923857

Change-Id: Ife859da8e66478174f6c4463316886a23e5aa4e0
m/ShortcutInfo.java
d7ed181f64c8c9997585448806778c22cf990db5 15-Apr-2016 Todd Kennedy <toddke@google.com> Fix parse flags am: d022ac2
am: 9ed9ea9

* commit '9ed9ea93da20c1fac32c387a7831570eebfaf4a8':
Fix parse flags

Change-Id: Ib452d9bc69ffd16fc1f86ce3fa60ca8d76d5f355
d022ac21ebcb441314b80b6d8f0656939f2480e5 13-Apr-2016 Todd Kennedy <toddke@google.com> Fix parse flags

Setting PARSE_IS_SYSTEM to the parse flags happens long after the
APK is actually parsed. So, we fail to pick up the boot aware and
protected storage attributes. Instead, always pull them from the
manifest, but, remove the flags if the package is not actually a
system package.

Also, we were incorrectly skipping certificate verification if
the flag PARSE_IS_SYSTEM was set. However, this flag is used for
_any_ system package -- whether it's physically on /system or if
it's an unbundled update. Instead, we should only skip this step
if the flag PARSE_IS_SYSTEM_DIR. We can implicitly trust any
APK actually stored in /system.

On a different note ... At some point, we will break apart the
parse flags into actual parse flags [i.e. those that change
physically parsing an APK] and policy flags [i.e. those that
change the interpretation of the APK contents].

Bug: 28116074
Bug: 28088617
Change-Id: I85246b0cb18fb5647df3618107910e288137fbc7
m/PackageParser.java
19c2a57c24fa337030ff31867380b685e9a5b586 15-Apr-2016 Rubin Xu <rubinxu@google.com> Remove MANAGED_PROFILE_AVAILABILITY_CHANGED broadcast

Bug: 27532254
Change-Id: Iaca17355d3ec75fa09c36a5353f40d678cc2c812
ntent.java
8819c9d2ffff44098843e7380dff16e4ed640110 15-Apr-2016 Craig Donner <cdonner@google.com> Replace CTS with CDD in comment for FEATURE_VR_MODE_HIGH_PERFORMANCE

Bug: 27532416
Change-Id: I303d63d5b70434019acd77e8d82abcbabb1a85c1
m/PackageManager.java
60b73587bb2daf88f1f4af00796e468a8a824f7f 14-Apr-2016 Bernard Chau <bernardchau@google.com> Merge "Includes both direct boot aware and unaware apps in Apps default view" into nyc-dev am: 25c43b7
am: d17b301

* commit 'd17b3013ce7bd38aaf16d1ffd578d964bfd1808a':
Includes both direct boot aware and unaware apps in Apps default view

Change-Id: I85630c13799c9bbaa558a0f1582691f7a00e0b86
25c43b78d11f74e98ba9d5f541647aa5ed44ebce 14-Apr-2016 Bernard Chau <bernardchau@google.com> Merge "Includes both direct boot aware and unaware apps in Apps default view" into nyc-dev
a9c2500a6863dabdd786f17a25ce0bf3683109a2 14-Apr-2016 Svetoslav Ganov <svetoslavganov@google.com> Disallow disable of the system shared libs.

bug:28173410

Change-Id: If731f2d90312a083bb940f83431ba3eccf213947
m/IPackageManager.aidl
m/PackageManager.java
fe7184e5b23893cabb0c9f80cae467944494780d 13-Apr-2016 Sudheer Shanka <sudheersai@google.com> Merge "Add an intent action ACTION_SHOW_APP_INFO." into nyc-dev am: b53a36b
am: dab38b0

* commit 'dab38b0aaa5086656b519f3fe636f6619228bc29':
Add an intent action ACTION_SHOW_APP_INFO.

Change-Id: Iad5fe29e6b7874fe63cc04636a2c91ddc9c14650
b53a36b8cf331b0edd73909c42024fac0984ffcc 13-Apr-2016 Sudheer Shanka <sudheersai@google.com> Merge "Add an intent action ACTION_SHOW_APP_INFO." into nyc-dev
186f29b6d8f00dfc16288b4972d43e874a805229 13-Apr-2016 Bernard Chau <bernardchau@google.com> Includes both direct boot aware and unaware apps in Apps default view

The view should be showing a combined list of "downloaded"
+ "visible in launcher" apps. However, if FBE and work callenge are
enabled, after a reboot the direct boot unaware apps are filtered.

Reason is that PackageUserState#isMatch assumes at least one of the flags
are specified and expects system to derive the aware/unaware flags
according to the user's lock state if neither of them is specified.

Bug: 28004355
Change-Id: Ia05edb0530023597fd219eb5e59cd71752efd279
m/PackageUserState.java
1aa27fccb7ab63fcd44bd83417892882b142e987 13-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Added api to delete cache files for a given user" into nyc-dev am: 0a6a6db
am: 7b13098

* commit '7b13098b6299530348c836266d74369b0ff0b3d4':
Added api to delete cache files for a given user

Change-Id: I4a2c3d4137e2f48bf3e57c3a54c0ed5e573ed66e
0a6a6dbe9107a3e31d74293f853b46ae0e5b9e7b 13-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Added api to delete cache files for a given user" into nyc-dev
78c9eb8947538f63d2e06684663d400991dfff8f 13-Apr-2016 Suprabh Shukla <suprabh@google.com> Added api to delete cache files for a given user

Added an api to delete application cache files for a specific user. This
allows settings to clear cache files for work profile apps as well.

Bug: b/25338468
Change-Id: I52d4944a7a03b6d63ad44dd6bb868aec62815eab
m/IPackageManager.aidl
m/PackageManager.java
a9a8d44cdcd52cae4dadd5c8adfae960a9bab26b 13-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Address API review feedback." into nyc-dev am: 1d616f0
am: 9d25ead

* commit '9d25ead98b6b09611fd95dfdd2b49ef5191ea030':
ShortcutManager: Address API review feedback.

Change-Id: I663034ac1ae3bdb7b0757efae0396235784b8dce
0a6fc940d7a4a557734ead02e6b688e955a28de6 13-Apr-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Merge "Changing LauncherApps to resolve activity by component name" into nyc-dev am: 1fe7dfa" into nyc-dev-plus-aosp
am: 411d2f9

* commit '411d2f97054a1265a117c2bcdf8f83683846d73b':
Changing LauncherApps to resolve activity by component name

Change-Id: I9fc47dfb6e801ab30babc012ff82011c48ab57b5
694e960c86b13a5af82d70849f99d546f2730bd5 13-Apr-2016 Chad Brubaker <cbrubaker@google.com> Merge "Merge "Document when usesCleartextTraffic is ignored." into nyc-dev am: e341ddf" into nyc-dev-plus-aosp
am: 82029af

* commit '82029afade6a8f74b0ddee2978218a1ac4bf8d98':
Document when usesCleartextTraffic is ignored.

Change-Id: I4a0c329f41ef56113f4da0c3bc1662021e0a6bcd
1d616f0d880d0a4109e811221f3c3ff2e016013b 13-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Address API review feedback." into nyc-dev
1fe7dfa66aaf37045c62094438ab3db2ee5403c5 12-Apr-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Changing LauncherApps to resolve activity by component name" into nyc-dev
e341ddfa05e61d7ef937d6b3fd21a2bf4fa903fd 12-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Document when usesCleartextTraffic is ignored." into nyc-dev
2df5ba777a6ad271b1af6d9ef18d79e2aca5f105 11-Apr-2016 Chad Brubaker <cbrubaker@google.com> Document when usesCleartextTraffic is ignored.

In N and above when using an Android Network Security Config the
cleartext configuration from that is used and
android:usesCleartextTraffic in the manifest is ignored.

Bug:27596429
Change-Id: I50ec765cead6cfd6bbaec585723f99d72e0fd945
m/ApplicationInfo.java
b6d3523dfb5d73ddda4b750a82c059cdc42acf8e 05-Apr-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Address API review feedback.

- "delete" -> "remove"
- add/deleteDynamicShortcut() now takes a list.
- Throttling default settings is now 2 calls / hour.

- Add categories to ShortcutInfo.
- getIconResourceId() is now public

Bug 27923857
Bug 27548047

Change-Id: I8457b30e4b2f7c63ab2988648b37178fd16ea45b
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
11872394237f94c005a34c01ddc8ac1a85414036 12-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: First cut of CTS" into nyc-dev am: bc20320
am: 0beb56d

* commit '0beb56d4e49f433759f7c825374c90442f2aed53':
ShortcutManager: First cut of CTS

Change-Id: I048150bf9451e8d28dc599673321bd31f8d119a1
45d3e977487da262a58bbfc5650c99a2d94aba9f 31-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Changing LauncherApps to resolve activity by component name

This makes the behavior of resolveActivity similar to isActivityEnabled.
Not that starting this activity may still fail due to other reasons.

Bug: 27549770
Change-Id: I924d7aa2305c64fd319ca1e38058f9f956c0c256
m/ILauncherApps.aidl
m/LauncherActivityInfo.java
m/LauncherApps.java
ca133845ef815d7cc1f036b1355130a8a867a98c 12-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities am: 60351d3
am: 3dfc6d9

* commit '3dfc6d986f6142b1e0020c9970f626c7c435711e':
DO NOT MERGE Fix intent filter priorities

Change-Id: Id396cca79db8f830a513746f387fb866c773c778
bd770bc97b7c4745c39d16ca417bd8ddedcaefcf 12-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities am: eeb970a
am: cd24c4e

* commit 'cd24c4ebc0904342b5c9657c43dfa6c07c6e1eec':
DO NOT MERGE Fix intent filter priorities

Change-Id: Idc3d639cd5494210f06f46b644f465be26eca9b1
3dfc6d986f6142b1e0020c9970f626c7c435711e 12-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities
am: 60351d3

* commit '60351d3be29977dfe0b422de797a0429edf500b7':
DO NOT MERGE Fix intent filter priorities

Change-Id: Ieca2ee83f22e5d4083f895f52d42a2f697920be7
cd24c4ebc0904342b5c9657c43dfa6c07c6e1eec 12-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities
am: eeb970a

* commit 'eeb970ada10d37495ad7a8a4b14ad0506b640eea':
DO NOT MERGE Fix intent filter priorities

Change-Id: I22cfcc61e9ec37242e0e47ef732c9364bdb8a886
5ba0d3e3a3035b67d2ce3a59975145b1e0061ef4 11-Apr-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: First cut of CTS

Bug 27548047

Change-Id: Idd7a768ea4fee44c2cf6e3bd473cea9e67f5f7cd
m/LauncherApps.java
m/ShortcutManager.java
b29ec1a7e43ff28b977a8db342003ce6d9b7ce2d 11-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "Add UserHandle to ShortcutInfo, and simplify LauncherApps APIs." into nyc-dev am: 390a813
am: 9a98e46

* commit '9a98e4679a64e8293a8b74677bb6b2839dae6a31':
Add UserHandle to ShortcutInfo, and simplify LauncherApps APIs.

Change-Id: Ifb1f6d3331af119893007b46909e0e5ffcb210fc
390a81302f13a0285e58e550cf786255ce5f8bd8 11-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "Add UserHandle to ShortcutInfo, and simplify LauncherApps APIs." into nyc-dev
c4e4274d9e191980633655ed56fcefcb9a5f740d 11-Apr-2016 Clara Bayarri <clarabayarri@google.com> Merge "Expose the Keyboard Shortcuts Helper in Activity" into nyc-dev am: 738ab04
am: 3f19243

* commit '3f192435a964c2c24073d1befe0c07e7eb37ff47':
Expose the Keyboard Shortcuts Helper in Activity

Change-Id: Idaf11769a1fc78cb759ab1303a82ba1d354a3076
738ab04fd94746d47ebeffa97252b7e3fb2a8d93 11-Apr-2016 Clara Bayarri <clarabayarri@google.com> Merge "Expose the Keyboard Shortcuts Helper in Activity" into nyc-dev
4f61b2a50aed6c7a2ffc91f7782714eef32635d5 11-Apr-2016 Jeff Sharkey <jsharkey@google.com> Merge "Use inode numbers for CE storage." into nyc-dev am: 2e3ce4c
am: 5573294

* commit '5573294808e7c20b774e6b40e35fac5300707baf':
Use inode numbers for CE storage.

Change-Id: I9c7084cea8a8a8436bced1f753260babba2f54e2
4288419787120ce85a241a4b315d7d2123aa2d4a 10-Apr-2016 Jeff Sharkey <jsharkey@android.com> Use inode numbers for CE storage.

Certain operations, such as clearing/destroying app data, or just
counting on-disk size, require us to know the CE storage directory
of a particular app. To facilitate these operations, offer a method
to get the inode of a CE directory, and accept that inode number
for later operations. Collect and store the inode number in
PackageUserState for future use when that user's CE storage is
still locked. This design means it's safe to clear/destroy app
data in both CE/DE storage at the same time.

Move most installd-related methods to a uniform calling convention
that accepts a single parent PackageParser.Package, and internally
fans out to handle all "leaf" packages under that parent.

In previous releases, we started installing apps using a new
directory-based layout, where all app code, unpacked native libraries,
and optimized code is bundled together. So now we only have a single
path to measure for code size. This fixes several outstanding bugs
that were causing sizes to be miscounted for apps supporting multiple
architectures.

Fix a subtle bug in PackageSettings that would cause "notLaunched"
to be parsed incorrectly.

Bug: 27828915, 27197819
Change-Id: Ia582cf3550553292bde4bb4313367111332913ec
m/PackageUserState.java
c72c505b231fc12e365e4ae76b1c70393de7f747 09-Apr-2016 Adam Powell <adamp@google.com> Merge "Chooser filtering and caller direct share targets" into nyc-dev am: fe5e1a7
am: a1be176

* commit 'a1be176a42db8dad7dcebca8842b95bbf6cc6bf9':
Chooser filtering and caller direct share targets

Change-Id: I17d733ef5f6d2381dea3050f666436fbfe185982
abe8442951ff88aa01ed882adb54fb1b3472ca3e 07-Apr-2016 Makoto Onuki <omakoto@google.com> Add UserHandle to ShortcutInfo, and simplify LauncherApps APIs.

- Also fixes the bitmap recycle bug in the service.

Fixes 28053541

Change-Id: I2b244feda0f85c60e2c15af427fcad95ad5e6da5
m/ILauncherApps.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutServiceInternal.java
52c39215db2a0e1d339733e06284a2ba81e4c794 08-Apr-2016 Adam Powell <adamp@google.com> Chooser filtering and caller direct share targets

Let apps invoking the system chooser specify components to filter out
such as themselves; this will prevent duplicate nonsensical UX where
it doesn't make sense for an app to share to itself.

Similarly, let apps provide their own Direct Share targets for when
they do want to let users share via their own internal services in the
same UI. These options can be used together.

Also fix a bug where a lingering binder reference from a remote
ChooserTargetService that hasn't been GC'd in the remote process could
keep an active reference to a ChooserActivity instance.

Bug 28073484

Change-Id: Ib613b1153b49dfedf79574b1af7c45379eceec24
ntent.java
60351d3be29977dfe0b422de797a0429edf500b7 04-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities

Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
defined on the system image.

NOTE: I had to bring in pieces of ag/526831 so intent filters could
be collected and matched

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
ntentFilter.java
b526b4250994f710b5c3751769046af3dcb94fdc 08-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Hide unnecessary extra name constants in ClipDescription" into nyc-dev am: e1efbce
am: ee03cdf

* commit 'ee03cdf9a71c67edd56f3dfef3c4258aa36800dc':
Hide unnecessary extra name constants in ClipDescription

Change-Id: I425e34fa44893b1e745e387a8393df52bd275136
e1efbceeb76799e99e53821165ce6ea3f7f8d274 08-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Hide unnecessary extra name constants in ClipDescription" into nyc-dev
80b6641f28a38e7efa40b26c8041837d3938b2b6 07-Apr-2016 Sudheer Shanka <sudheersai@google.com> Add an intent action ACTION_SHOW_APP_INFO.

Bug: 27404193
Change-Id: I0ca43ba4cde47b7c0621cb3caf0d726ce8c70386
ntent.java
a4ab470ad123bae1920df10e8ad901fd7bf2af9f 07-Apr-2016 Jeff Sharkey <jsharkey@google.com> Merge "Clarify version docs." into nyc-dev am: cff1025
am: ea32701

* commit 'ea327017a90636083176e66bc7b597d718eab932':
Clarify version docs.

Change-Id: Ib58f9be60c06011c544fe4fb991ee339f88894bc
cff102508cf4cf1d2f298ebdba663bd27c458520 07-Apr-2016 Jeff Sharkey <jsharkey@google.com> Merge "Clarify version docs." into nyc-dev
e721615f431d0799175ed40a9519edd4f1c355d7 07-Apr-2016 Jeff Sharkey <jsharkey@android.com> Clarify version docs.

Change-Id: I64cc9e5e51f12d33e770e73734efd89df20c8504
m/FeatureInfo.java
956759a9e5ef029d83f573b60bfad5c84747a7ad 07-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Only parse an APK once" into nyc-dev am: 9d8da4c
am: 40ec11a

* commit '40ec11a392c275f8914e8f663f1beeb6b6f6678b':
Only parse an APK once

Change-Id: I7ad181116e896209257d9414b4ca85ca4727630b
eb3c2d3e630825974e7275607558978252882204 01-Apr-2016 Clara Bayarri <clarabayarri@google.com> Expose the Keyboard Shortcuts Helper in Activity

This allows apps to trigger it from their own menus

Bug: 27811273
Change-Id: I028caa5a88bb0e1c51238db28bb496293b78f90b
ntent.java
d9d438ac4e851275abb4ddc6671f74701e07b4fc 06-Apr-2016 Todd Kennedy <toddke@google.com> Only parse an APK once

During package installation, we were parsing the APK twice; once
in the context of the PackageInstaller and once in the context
of the PackageManager. Instead, the installer should just pass
the certificates to be used further in the process.

If the PackageManager doesn't receive certificates [or, if there's
an error using them], it will fallback to re-parsing the APK.

Bug: 27502465
Change-Id: I94ce551af54eaa9916228e933134debe50867d21
m/PackageParser.java
fd84a7af4f221d36e0ffc79136ebfd0ce50a67e6 06-Apr-2016 Dianne Hackborn <hackbod@google.com> Merge "More work on issue #26390151: Add new JobScheduler API..." into nyc-dev am: d273f0d
am: cfb4721

* commit 'cfb472112dfac835950b4c53fdf921c569388114':
More work on issue #26390151: Add new JobScheduler API...

Change-Id: Idd203c9daba08a3498c8184028554d5136101085
1f713a4d7707a7296c76f3c7458f5331e395842c 06-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Adjust javadoc for filter priority" into nyc-dev am: c2b2f6e
am: cccd0f5

* commit 'cccd0f59d0c4a15d63c3231b4373868e45faefd6':
Adjust javadoc for filter priority

Change-Id: I3d320870f32a757cbfe16407a6837abd0e30c278
d273f0d659b2850a2956d94229a48f17df77a740 06-Apr-2016 Dianne Hackborn <hackbod@google.com> Merge "More work on issue #26390151: Add new JobScheduler API..." into nyc-dev
c2b2f6eeffe7e1745d17244a693b9df6f42dbcd5 06-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Adjust javadoc for filter priority" into nyc-dev
2c4078611ad1f91c84ef8fd4fac107699b670b06 06-Apr-2016 Todd Kennedy <toddke@google.com> Adjust javadoc for filter priority

This clarifies the usage of setPriority() for receiver filters.
Should also adjust the XML description of android:priority to
better describe the new behaviour for activity filters

Bug: 26417683
Change-Id: I96b2d90d71640041e232c401cf6e6838dbdbfeab
ntentFilter.java
478d2b92b4f4f3842c4cf074b2d32bca145a1dc2 06-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Move cert tracing to PackageParser" into nyc-dev am: 4bb8030
am: 87a30ba

* commit '87a30bae4036729c0bcfdef7c878fba8bfc985c2':
Move cert tracing to PackageParser

Change-Id: Ic932ef86cf38564477da3cb7d571f0b246f057b1
0f4bc2b8002b927290dc84403bb0255e4c4a9079 06-Apr-2016 Todd Kennedy <toddke@google.com> Move cert tracing to PackageParser

Tracing for cert collection in PackageManagerService was only
catching one of a couple usages. Move tracing lower in the
call stack to ensure tracing exists for all calls.

Also added a new tag to differentiate between verifying v1 & v2
signatures.

Bug: 27502465
Change-Id: Ie29f326e44f32cdbea1572714689c82f07ca12ba
m/PackageParser.java
5d196673b8d940b9420cfdb12c2d6d75460b818c 06-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Hide unnecessary extra name constants in ClipDescription

Bug: 27530944
Change-Id: I6989a55ea4f5d16d7cfd2ba3ab9342f0be34113c
lipDescription.java
141f11c82a2dbf042833f75aeae6f028e8ae2084 06-Apr-2016 Dianne Hackborn <hackbod@google.com> More work on issue #26390151: Add new JobScheduler API...

...for monitoring content providers

- Improve media provider change reporting so that observers can
avoid spurious reports of the top-level content directory changing.
- Fix a bug where collected content changes while a job was running
were not being properly propagated to the next job.

Change-Id: I29e3c2960e6fec75b16ee3ee6588d47342bf8c75
ontentResolver.java
ContentService.aidl
eeb970ada10d37495ad7a8a4b14ad0506b640eea 04-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities

Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
defined on the system image.

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
ntentFilter.java
d6174e74020aaec97db5780837a3edcd787018bf 04-Apr-2016 Todd Kennedy <toddke@google.com> DO NOT MERGE Fix intent filter priorities

Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
defined on the system image.

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
ntentFilter.java
284e8a441a823e08eff18934aac630f383567a6e 05-Apr-2016 Rubin Xu <rubinxu@google.com> Merge "Split ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED into two." into nyc-dev am: 63d1ee4
am: 586da02

* commit '586da02e83084174519aead33c1329e76a73b479':
Split ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED into two.

Change-Id: I18ec427abd07e39cfdc90d31be420c988ef1ec60
63d1ee45eee7e01bd098c7a9694daaea300c1133 05-Apr-2016 Rubin Xu <rubinxu@google.com> Merge "Split ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED into two." into nyc-dev
9fbf66ac3718f5cf1bc0d9cb950cff65815e1272 05-Apr-2016 Alan Viverette <alanv@google.com> Merge "Fix bad workaround docs in Resources.getDrawable()" into nyc-dev am: 16aaa3e
am: 1323b45

* commit '1323b45ff5bd4c0f4b28562b8ef8e3c6cee33fae':
Fix bad workaround docs in Resources.getDrawable()

Change-Id: I014d58922ffe4c8376ac437bea5c99b99ea08396
952802e2d1ccfd93c6640de512105f4e400ce473 04-Apr-2016 Alan Viverette <alanv@google.com> Fix bad workaround docs in Resources.getDrawable()

The real solution is to use ContextCompat, but we can't reference support
library from framework. C'est la vie.

Bug: 27727320
Change-Id: Ib9bcd5f2bdce1996f02fd44877df9ba202b26edc
es/Resources.java
e95057ade126e9e159fe05b69c32f85f7891490f 01-Apr-2016 Rubin Xu <rubinxu@google.com> Split ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED into two.

Add more comment to EXTRA_QUIET_MODE

Bug: 27532254
Change-Id: I68a217561afca8b87f523c62393cdad097d5b75d
ntent.java
b7a142063c6fffa95db376a93c3c1f53ebb8eb39 04-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Fix intent filter priorities" into nyc-dev am: 6dffdf8
am: c8647f9

* commit 'c8647f9ea47b8081cce54c96e745f091e0590b38':
Fix intent filter priorities

Change-Id: I4ec37ac340ed083d346bb782146588d65e376a1b
5585dd971e265cbb3a515bb759710646c5bc6f63 29-Mar-2016 Todd Kennedy <toddke@google.com> Fix intent filter priorities

There are now three rules that guard intent filter priorities:
1) Only privileged applications will be granted a >0 priority
filter [previously, _all_ system applications could do this]
2) There are certain actions that are considered protected [eg
ACTION_VIEW, ACTION_SEND, ...] and even privileged applications
will NOT be granted a >0 priority filter. There is one, and
only one, exception for the SetupWizard.
3) Updates will NOT be granted a priority greater than the priority
defined on the system image.

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
ntentFilter.java
ad85c7be8634412566e4431de9f674695903e657 01-Apr-2016 Russell Brenner <russellbrenner@google.com> Merge "Add new protection level for setup wizard" into nyc-dev am: 3ccb354
am: 395db24

* commit '395db247fb8e1273fcc9d15e7821033477ca4e6c':
Add new protection level for setup wizard

Change-Id: Ic6287b5bdaa66ffd4cfdc094329557ba12afd6a3
3ccb35421d642e96048d5cdeb60043634933267d 01-Apr-2016 Russell Brenner <russellbrenner@google.com> Merge "Add new protection level for setup wizard" into nyc-dev
34010044ea19bff30fd355910e48303544ee804c 01-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Allow retrieving info /system components" into nyc-dev am: 0242467
am: 320e7ef

* commit '320e7ef2b2468a3e00ebda557f3756cc94e713d6':
Allow retrieving info /system components

Change-Id: I7640bdf4734a8a859c55aac78fe2655a3eae4a3c
02424676c68e23f44432ef0e379d65ddd9c3a786 01-Apr-2016 Todd Kennedy <toddke@google.com> Merge "Allow retrieving info /system components" into nyc-dev
b23346639b66783c1662fd8ffa5345ef5cef336c 23-Mar-2016 Russell Brenner <russellbrenner@google.com> Add new protection level for setup wizard

Adds PROTECTION_LEVEL_SETUP, a privileged permission for use only by
the setup wizard.

Bug: 20016740

Change-Id: Ib95e349c54d5d12465bf43162975dfb628ef2434
m/PermissionInfo.java
d6ee0ba57906f83f45ca2a2cd835d7ff6e7a88df 01-Apr-2016 Todd Kennedy <toddke@google.com> Allow retrieving info /system components

Generally we return info for the latest installed package; which could
either be a built-in [i.e. on the /system partition] package or a user
updated package. In certain circumstances, we want to be able to get
the version on the /system partition regardless of whether or not the
user has updated it. We do this by passing MATCH_FACTORY_ONLY to
getPackageInfo().

Bug: 27469181
Change-Id: I8dd1d110e2d72e5c6f024812d0b5d15d8b217347
m/PackageManager.java
c93e9f5b8a93c749be873d229d19a1adb6ceead1 31-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Chaning LauncherActivityInfo to return a density specific non-badged icon" into nyc-dev am: 56d3dd8
am: 80d57ef

* commit '80d57efd94b7c394a39f78a2425d82aed5c75485':
Chaning LauncherActivityInfo to return a density specific non-badged icon

Change-Id: Idda2dec39ecb821578ba213b4046e5210a6bfe63
56d3dd8af70f2b24aa7f2cabae025c5fea06a1c8 31-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Merge "Chaning LauncherActivityInfo to return a density specific non-badged icon" into nyc-dev
562ac8b9bb45707ea0dffa40c136837b570daeab 31-Mar-2016 Jeff Sharkey <jsharkey@android.com> Merge changes Ifecff4f1,Ia302de46 into nyc-dev am: 2c0ae91
am: 4d5806d

* commit '4d5806d0e662e0163ad174f61779a4d4ddf48b81':
Make preferred activities direct-boot aware.
Make Parcelable classes final, API cleanup.

Change-Id: I7aa9858905cc241343da5a1fb3479bf3f74b8ba8
2c0ae91f2d22b2c9a3b506d3a7f60bc31f72c57d 31-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge changes Ifecff4f1,Ia302de46 into nyc-dev

* changes:
Make preferred activities direct-boot aware.
Make Parcelable classes final, API cleanup.
70168dde6e1da06042818350fc6e258188d001ae 31-Mar-2016 Jeff Sharkey <jsharkey@android.com> Make Parcelable classes final, API cleanup.

Remove some Context methods that leaked through. Add lint rule to
recommend using List<? extends Parcelable> instead of Parcelable[].

Bug: 27932224, 27930145, 27932911
Change-Id: Ia302de46cdb0c5101fa175a09316df91aeefcf0d
ontextWrapper.java
m/ShortcutInfo.java
bc48d8c6a8189c7043b47f629aab71d09d567388 31-Mar-2016 Sunny Goyal <sunnygoyal@google.com> Chaning LauncherActivityInfo to return a density specific non-badged icon

Bug: 27877821
Change-Id: I57c39c197b2480d9620a1719ace076cc6c936652
m/LauncherActivityInfo.java
24208cf7af655b5ea1b5855bad427fee181481b1 30-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Clean up javadoc." into nyc-dev am: 04a5473
am: 458e843

* commit '458e8436f93cb0e1ca2d2c49bd9e55f5fc11441e':
Clean up javadoc.

Change-Id: I1193510ae71e49eb5a9bb634b97627cfbf02d5be
0e65d36607abd3d3c2315184bd8c46a77a271c1e 29-Mar-2016 Makoto Onuki <omakoto@google.com> Clean up javadoc.

Bug 27548047

Change-Id: I10410c969136db634bb98687710d011d159bca07
m/ShortcutInfo.java
m/ShortcutManager.java
4f1f7b0167efddde5ca9073da4717640f0e4daab 30-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Support secondary text field." into nyc-dev am: ca0ee28
am: a3d8cdc

* commit 'a3d8cdca997e0577bcb1d9091880a0267e2d3f38':
ShortcutManager: Support secondary text field.

Change-Id: I5262a756c5fe50e498192aea8e247f46d5742edc
dac7ce8efb02f9ef708036b1ca562368d1eac054 30-Mar-2016 David Brazdil <dbrazdil@google.com> Merge "Move OTA package update before fstrim, hide "Optimizing apps" dialog" into nyc-dev am: b67b5b9
am: 72ecc75

* commit '72ecc752ce1cb3683a6671e2de25123bead2df83':
Move OTA package update before fstrim, hide "Optimizing apps" dialog

Change-Id: Ic4d927f18f741bf81ad64882e5acc1665f13809e
ca0ee285bb28ee5698d7cf2680e2fa6ca337cefd 30-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Support secondary text field." into nyc-dev
f5c444ffd4fdce4fab939fcd88f163288dc804c5 30-Mar-2016 David Brazdil <dbrazdil@google.com> Move OTA package update before fstrim, hide "Optimizing apps" dialog

This patch moves the updating of packages before performing fstrim,
which runs asynchronously anyway, and stops showing the UI dialog.

Bug: 27350503
Change-Id: I6fceda10d7696f9badb97978fb9dc7927d698a4b
m/IPackageManager.aidl
8fff90ca7c3bfdb1fd00ad506a78576bbf934ea3 30-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: proper work profile support" into nyc-dev am: d5b745a
am: 4fc3441

* commit '4fc34416fb8d389557934f3000dab7b6fbafb97c':
ShortcutManager: proper work profile support

Change-Id: I1a708988b7e9c505370e2399572dca6caa9d5cef
e3ae7ec14a3204ee502219b6bb46dc9ab8e24a36 30-Mar-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Support secondary text field.

Bug 27548047

Change-Id: I2d184bab2c26e351b7326945fa0cacf826f16d1e
m/ShortcutInfo.java
d5b745a9e64734483bc43c781ad809b2a75bd1ba 30-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: proper work profile support" into nyc-dev
273472810b2634e236ec178922345d3990210d11 30-Mar-2016 Suprabh Shukla <suprabh@google.com> Merge "Removing unused intent extra" into nyc-dev am: 7a3bff1
am: 13638e2

* commit '13638e29df8a031c787e809ca9c62f303a7013b6':
Removing unused intent extra

Change-Id: Ic61e004a36124515eb7d0cb4e24b85d9d5370116
7a3bff184731912ddcf3c88da1a6c58c956e01f2 29-Mar-2016 Suprabh Shukla <suprabh@google.com> Merge "Removing unused intent extra" into nyc-dev
9da23fc6ac565b38129d52f4f8f174c833a9bd01 29-Mar-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: proper work profile support

Bug 27548047

Change-Id: I8acea3355f8974a551f53814624dec30732f7b2f
m/IShortcutService.aidl
7959416308c20b5ce247b74b1f067eed91985989 29-Mar-2016 Michal Karpinski <mkarpinski@google.com> Merge "Moving app process logging from AMS to PMS" into nyc-dev am: 5393784
am: acc9468

* commit 'acc9468e3324046f6d7ce06de9a3d19e16849ba1':
Moving app process logging from AMS to PMS

Change-Id: I9dcd57ee35a3102b9e13bde64f24f56991dd2620
53937849fcb4f2e33072997bd8a7cee40137495c 29-Mar-2016 Michal Karpinski <mkarpinski@google.com> Merge "Moving app process logging from AMS to PMS" into nyc-dev
b52a461851f322b0edf3cb9383da5f449b533311 21-Mar-2016 Michal Karpinski <mkarpinski@google.com> Moving app process logging from AMS to PMS

Bug: 26796347
Change-Id: I21894c2edb41929f6ecd3880667c53e00acef677
m/IPackageManager.aidl
4824ed486cbe38bcd3df41670dd738522534d556 29-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "ShortcutManager: Fix work profile" into nyc-dev am: bdda585
am: 74b8a65

* commit '74b8a6545d337f49031f28908bce3d9db845cd22':
ShortcutManager: Fix work profile

Change-Id: I022371e785a944c01cf5fe307b53dbad71e8cc6c
d99c6f04bbb68f8be78f2c3ca625a3a8d5645275 28-Mar-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: Fix work profile

- Pinned shortcuts need to know not only which package
has pinned them, but also on which user's, due to work profile.

- Launcher can always launch shortcuts that it has pinned.

Bug 27548047

Change-Id: I23b4e7dfbb6ecc42099d31008bcfd61d44e2c7fb
m/ShortcutServiceInternal.java
2810b694f58a5ab96f071bc8b4de13b70b6489f6 29-Mar-2016 Suprabh Shukla <suprabh@google.com> Removing unused intent extra

Change-Id: If3904d0b3878390e6a49776aa8fcbd4d8592016d
ntent.java
11073cda39b72a69690b9047e8c1451aa49b9dbc 28-Mar-2016 Andrii Kulian <akulian@google.com> Merge "Update ActivityInfo#WindowLayout apis (1/3)" into nyc-dev am: 47869bd
am: d5afdc7

* commit 'd5afdc71c96960ec9acf405a8ae1222aba48ebf2':
Update ActivityInfo#WindowLayout apis (1/3)
47869bd446e0de36bdb4848d3c286a15fc3fdbf7 28-Mar-2016 Andrii Kulian <akulian@google.com> Merge "Update ActivityInfo#WindowLayout apis (1/3)" into nyc-dev
2e751b8c778fd991fcdcec3bc2d1f32a722f436b 17-Mar-2016 Andrii Kulian <akulian@google.com> Update ActivityInfo#WindowLayout apis (1/3)

Adds documentation, renames Layout to WindowLayout and
splits #minimalSize to #minimalWidth and #minimalHeight.

Bug: 27528326
Change-Id: Idb440cb081a14ccdc83309284e906454633c4504
m/ActivityInfo.java
m/PackageParser.java
3c664a9b39b047e18c5b2ec0e99df4a3c448e941 27-Mar-2016 Jeff Sharkey <jsharkey@android.com> Update PRE_BOOT_COMPLETED for FBE. am: bd91e2f
am: bef5aad

* commit 'bef5aad065fd2f5f222ac14a8d063d12348c7c34':
Update PRE_BOOT_COMPLETED for FBE.
bd91e2f3f6aca512a02be645b2515b5e3331e177 22-Mar-2016 Jeff Sharkey <jsharkey@android.com> Update PRE_BOOT_COMPLETED for FBE.

Now that CE data isn't available until after a user is unlocked, we
need to delay the PRE_BOOT_COMPLETED broadcasts. This is done by
adding a new RUNNING_UNLOCKING user state to the UserController
lifecycle.

We now track the last fingerprint a user was logged in under, and we
dispatch PRE_BOOT receivers when that fingerprint changes. To work
around battery pull issues, we only persist the updated fingerprint
once all PRE_BOOT receivers have finished. This is less granular
than the original solution, but it's still correct. We only consider
a user as "logged in" once it transitions into the RUNNING_UNLOCKED
state.

When starting a process, track if the user was "unlocked" when
started, so that we only spin up unaware providers in processes
started before user unlock.

Add generic IProgressListener to communicate PRE_BOOT progress and
strings up to lock screen. For now, LockSettingsService just blocks
until finished, but it could display these strings in the future.

Bug: 27220885
Change-Id: I349439776b885acd32f6a578d8951ffd95640be2
ntent.java
m/UserInfo.java
86acec8135e8525430918287c030b6289cc53d10 24-Mar-2016 Alex Klyubin <klyubin@google.com> Merge "Ignore signature stripping protection for preinstalled APKs." into nyc-dev am: e60d72f
am: c860aec

* commit 'c860aecc2f632ba7a0a1e53755b778b52645bb7e':
Ignore signature stripping protection for preinstalled APKs.
e60d72f49a10ba8d51fd184ed5604ca4d8225552 24-Mar-2016 Alex Klyubin <klyubin@google.com> Merge "Ignore signature stripping protection for preinstalled APKs." into nyc-dev
9b59bc459b4cb5415909641bd1e981100bfafb2b 24-Mar-2016 Alex Klyubin <klyubin@google.com> Ignore signature stripping protection for preinstalled APKs.

The current build process may currently strip APK Signature Scheme v2
signatures from prebuilt APKs to be installed on the system or vendor
partitions. However, it leaves intact the signature scheme rollback
protections introduced by APK Signature Scheme v2. Due to a bug, when
the system extracts signer certificates from preinstalled APKs, it
encounters the rollback protection and aborts the extraction process.
This manifests itself as some preinstalled packages not appearing as
installed.

This change makes the system ignore signature scheme rollback
protections when extracting certificates from preinstalled APKs. This
is fine because the process of extracting certificates from
preinstalled APKs does not care about validity/integrity of signatures
and the APKs. It only cares about extracting signer certificates.

Bug: 27829513
Change-Id: I3bed463e776b057e93a0fce915db4014946be1f9
m/PackageParser.java
aa268b773e2b95a79a371ff1e7359d8f178e2bfa 24-Mar-2016 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Refactor package manager" into nyc-dev am: a7f2bcc
am: 31e9eec

* commit '31e9eec4ea3a359d572d4eb843537484f18ceb84':
Frameworks/base: Refactor package manager
a7f2bccca3f27a2ad12397ffb52d47fceea76018 24-Mar-2016 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Refactor package manager" into nyc-dev
bdd30d86ef98456161069d11481b2ccd25a11b4e 20-Mar-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Refactor package manager

Introduce a mapping between dexopt reasons and compiler filters. Use
reasons in package manager and other classes, where possible.

Change PackageDexOptimizer to accept a compilation filter. Adapt for
the split-out profile merging. Pass compilation filter to installd.

Bug: 27689078
Change-Id: I8c0ea6f10fbfdbd096adecc52abfd2466d048fdc
m/IPackageManager.aidl
c731dd758d52d81fe45f6daff069bdfda9f4c708 23-Mar-2016 Amith Yamasani <yamasani@google.com> Merge "Localize owner\'s name to current locale until changed" into nyc-dev am: df4c40d
am: 195ed1e

* commit '195ed1e61b52a1c0616846c61029b5db7c89928d':
Localize owner's name to current locale until changed
6f48d6ef35df55e092d18619fe1f92a2593682d4 23-Mar-2016 Amith Yamasani <yamasani@google.com> Localize owner's name to current locale until changed

Don't set a name for the system user and always return a localized
name until the user explicitly sets a name.

Bug: 27814125
Change-Id: I7972a45d77c07d9efbd67d5b360bacee46247a66
m/UserInfo.java
7318a26360ae575a8340c9008f0df49ad8f2bee7 21-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Merge "API review: Hide ComplexColor and GradientColor" into nyc-dev am: 68e5b96
am: a9c417e

* commit 'a9c417e87e2ff118184a2250ae314e45084e5ca4':
API review: Hide ComplexColor and GradientColor
e03c469fd416cf68c9d27268140f058028cd8666 17-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> API review: Hide ComplexColor and GradientColor

b/27532267

Change-Id: I01582e067ec8f4897c34dcec0f7c14700c40e02b
es/ComplexColor.java
es/GradientColor.java
es/Resources.java
es/TypedArray.java
4621029922cb7e7631ebeea8ceadaf6111f7e8ff 18-Mar-2016 Jeff Sharkey <jsharkey@android.com> Merge "Mark more Bundles as being defusable." into nyc-dev am: 620a28b
am: c012cf2

* commit 'c012cf26869e432adf8461e7134f117d95f239e2':
Mark more Bundles as being defusable.
620a28bad2b1ddabddf2d78b5a20a762ebc29205 18-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge "Mark more Bundles as being defusable." into nyc-dev
a04c7a7c6442b8c6f87f5dd11fc5659cdb92decc 18-Mar-2016 Jeff Sharkey <jsharkey@android.com> Mark more Bundles as being defusable.

They're destined for the system, so they're okay to look inside.

Bug: 27726127
Change-Id: Ic85c308a8efe6f9b8652952717c72b3c663d328a
ontentProvider.java
ontentResolver.java
yncRequest.java
70a6fd4ce4c8bd06a23deeaf886735a866929c1c 18-Mar-2016 Jeff Sharkey <jsharkey@android.com> Merge "Update direct boot related documentation." into nyc-dev am: 2a4e495
am: a903fd7

* commit 'a903fd76262f61fa09bb5a09ad130ce8ca01ff40':
Update direct boot related documentation.
2a4e495448a048bef9d3b2a756816a622abd57b0 18-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge "Update direct boot related documentation." into nyc-dev
cf3f0a11a83e7a798e0586a78efdafc82a7f3d08 18-Mar-2016 Jeff Sharkey <jsharkey@android.com> Update direct boot related documentation.

Also hide a few APIs as requested by council. Add a method to
easily determine if a given File would already be encrypted at rest
by the OS.

Bug: 27531029
Change-Id: Icad5f1cd56411ad3ac707db85fd7449acdcc4b94
ontext.java
ntent.java
m/PackageManager.java
fd5e7ab3cf01300bd21c33588a42e0ed60b81dce 18-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Improve ShortcutSrvice" into nyc-dev am: 45c1827
am: 706928d

* commit '706928df5d361e15623108a8f47fae28cad5a9d7':
Improve ShortcutSrvice
45c1827c37ba9d8ed3c644aee89e993e4e5288b1 18-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Improve ShortcutSrvice" into nyc-dev
78bcc89df493fa4cc96f893272193fd6b99cdaed 17-Mar-2016 Jeff Sharkey <jsharkey@android.com> Merge "Refactoring FBE APIs based on council feedback." into nyc-dev am: a0a58a2
am: 5a128c4

* commit '5a128c4f33aa38d3a35b5884519f6bd3a355512d':
Refactoring FBE APIs based on council feedback.
a0a58a2fd5cbc1bb8056227bb04f276b364c6e96 17-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge "Refactoring FBE APIs based on council feedback." into nyc-dev
aa8b94aa79df94d77d0f7698ce532ac98f197a99 17-Mar-2016 Makoto Onuki <omakoto@google.com> Improve ShortcutSrvice

- Delayed save
- Reset logic update

Bug 27548047

Change-Id: Ibd52f90a7986991974301b7ff1f1d8520f9ef0d9
m/LauncherApps.java
m/ShortcutInfo.java
8a372a0a280127743ce9a7ce4b6198c7a02d2a4f 16-Mar-2016 Jeff Sharkey <jsharkey@android.com> Refactoring FBE APIs based on council feedback.

Mostly consists of removing the word "encryption" from most APIs,
since we can't actually make promises about the data being encrypted.

Bug: 27531029
Change-Id: Iace9d7c4e64716abf86ed11847c40f3947e1d625
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
m/ComponentInfo.java
m/InstrumentationInfo.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
m/RegisteredServicesCache.java
20c9b4f5efb72e67c979152aca45fa3ea4556069 17-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Support multi-launcher" into nyc-dev am: fb3f3f5
am: 7572efa

* commit '7572efad408d94ecbeed28aa7c2a89437ee8ac40':
Support multi-launcher
9c50f150431157e8ae24af606cd41017bad16340 17-Mar-2016 Todd Kennedy <toddke@google.com> Merge "update "dont kill" api" into nyc-dev am: ce71dee
am: cb62438

* commit 'cb624386e6329358c822aca93233e135f3c64f0a':
update "dont kill" api
09243d0451a3262f56af537ef4ec275315ecb30c 17-Mar-2016 Sudheer Shanka <sudheersai@google.com> Merge "Flush package restriction changes for a user." into nyc-dev am: f9124ec
am: 3430c45

* commit '3430c45bcb10ca6ba4c67b2f5e273e3be08b087b':
Flush package restriction changes for a user.
5031e5f97aed31e907999a1a16d6f73287728612 17-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Add "pm set-home-activity"" into nyc-dev am: 1b21124
am: e10a984

* commit 'e10a984bab7667c4780cd952c684ecd915303e5c':
Add "pm set-home-activity"
4f69fe3cf5bfaa3a7d80db7ecde199be7a40c2cd 17-Mar-2016 Jeff Sharkey <jsharkey@android.com> Merge "Remove references to Google packages." into nyc-dev am: 215fe69
am: cfe811f

* commit 'cfe811f936eff449bf212b6aa87417e8c50349b5':
Remove references to Google packages.
7029a23b381ca40d1661353fdf81333c7bc308d6 17-Mar-2016 Jeff Sharkey <jsharkey@android.com> Merge "Defuse Bundles parsed by the system process." into nyc-dev am: c4b0ade
am: a0f6318

* commit 'a0f6318f44244ec4e916d3abecf157beb4fefc8c':
Defuse Bundles parsed by the system process.
fb3f3f5b283095cff67ce78b554700958543d4f5 17-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Support multi-launcher" into nyc-dev
ce71deefca1f5fe53457f6092cda788023669693 17-Mar-2016 Todd Kennedy <toddke@google.com> Merge "update "dont kill" api" into nyc-dev
f9124ecad9ec20f572df8cdca6f985ef3f97210d 17-Mar-2016 Benjamin Franz <bfranz@google.com> Merge "Flush package restriction changes for a user." into nyc-dev
1b21124d126792e77cdac40c7342adb3486f004b 17-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Add "pm set-home-activity"" into nyc-dev
24ca5c6d7da534dd529421ccdb45447c90063108 16-Mar-2016 Todd Kennedy <toddke@google.com> update "dont kill" api

* update the name to be more consumer friendly
* expose it as a system api [so zapp can use it]

Change-Id: I11062e360bfd709dd5568409934fec539f64b863
m/PackageInstaller.java
4828a59d68570270875d43d29b1ee25b799a923d 16-Mar-2016 Makoto Onuki <omakoto@google.com> Add "pm set-home-activity"

This is needed to change the default launcher on CTS for
ShortcutManager.

- When the default set with DPM.addPersistentPreferredActivity() is
still stronger.

- Ideally we should unify the code with HomeSettings, but I couldn't
find a good way to do this.

- I didn't make it to work to set the default for any intents
because building an intent filter from a command line would be
painful.

Bug 27548047

Change-Id: I66b153c20c7796147f77214b483112629f9d80c5
m/IPackageManager.aidl
237db27c58069d7b15d1b0ec22b4a99acaa3e561 10-Mar-2016 Jeff Sharkey <jsharkey@android.com> Remove references to Google packages.

Bug: 26441633
Change-Id: Iba6566215e2b6d224fd3b9c11d086f5c2db87dca
m/PackageInstaller.java
d136e51a99df5275eaafdde407e89e78c02b829b 10-Mar-2016 Jeff Sharkey <jsharkey@android.com> Defuse Bundles parsed by the system process.

It's easy for apps to throw custom Parcelables into Bundles, but
if the system tries peeking inside one of these Bundles, it triggers
a BadParcelableException. If that Bundle was passed away from the
Binder thread that delivered it into the system, we end up with a
nasty runtime restart.

This change mitigates this trouble by "defusing" any Bundles parsed by
the system server. That is, if it encounters BadParcelableException
while unpacking a Bundle, it logs and delivers an empty Bundle as
the result.

Simultaneously, to help catch the system process sticking its
fingers into Bundles that are destined for other processes, a Bundle
now tracks if it's "defusable." For example, any Intents delivered
through ActivityThread are marked as being defusable, since they've
arrived at their final destination. Any other Bundles are considered
to be "in transit" and we log if the system tries unparceling them.

Merges several Parcel boolean fields into a flags int. Add better
docs to several classes.

Bug: 27581063
Change-Id: I28cf3e7439503b5dc9a429bafae5eb48f21f0d93
lipData.java
ntent.java
9f09d21b00c97bb1532d0cd57c22822dd2d33123 16-Mar-2016 Peng Xu <pengxu@google.com> Merge "Exposing Context Hub service." into nyc-dev am: ac329d3
am: f3882c8

* commit 'f3882c8633edafbc072713033627582934491b32':
Exposing Context Hub service.
ac329d3e34e99e10243906d32cc4e36c626ac8ee 16-Mar-2016 Ashutosh Joshi <ashutoshj@google.com> Merge "Exposing Context Hub service." into nyc-dev
611bff36f8d320905e39ddf26a530ad0e90be533 16-Mar-2016 Tony Mak <tonymak@google.com> Fix NotificationListenerService fail to mirror work notification am: 4dc008c
am: 63dbf9c

* commit '63dbf9c2165ae7963d857e396237864ebceab3ee':
Fix NotificationListenerService fail to mirror work notification
4dc008cda2980fabb6acbf8a3b7096d1090ee36f 16-Mar-2016 Tony Mak <tonymak@google.com> Fix NotificationListenerService fail to mirror work notification

1. Instead of getting application info in runtime, just retrieve the
one in the context to avoid cross user operation.

2. Functions in PackageManager that retrieve badged icon now return
badged icon if the targer user is managed profile instead of checking
whether target user is a managed profile of the user in mContext.

3. Relax the restriction of getUserInfo, if the caller is asking a user
in the same profile group or having the manage user permission, we let
it go.

Bug: 26469166

Change-Id: Ia1ffc5743f7d94bd489cdb7571eaed51499ebdd9
m/PackageManager.java
db38235fd3e5ef37f8f72bcdf18cc38a9d928b16 16-Mar-2016 Tomasz Mikolajewski <mtomasz@google.com> Update docs for ACTION_QUICK_VIEW. am: fe023137d0
am: 08caebb5d1

* commit '08caebb5d1f7ecfba9f9b41f8f3621f03c79485b':
Update docs for ACTION_QUICK_VIEW.
fe023137d0b33e30d0428132e6212ea4d0df8b5c 10-Mar-2016 Tomasz Mikolajewski <mtomasz@google.com> Update docs for ACTION_QUICK_VIEW.

Bug: 27531273
Change-Id: I917ca16c14db20e6a2773018e00a61ff5fcf7ecd
ntent.java
bbb3ff2b2a29d42771a9ce2fe2d6f576cff62617 09-Jul-2015 Sudheer Shanka <sudheersai@google.com> Flush package restriction changes for a user.

Change-Id: I7c4481f820b6b368487d00de6c783e64cec99f4b
m/IPackageManager.aidl
m/PackageManager.java
de66737ae9c5d5c94155820fad65224a83d04c3d 15-Mar-2016 Makoto Onuki <omakoto@google.com> Support multi-launcher

Each launcher can have its won set of pinned shortcuts.
- Shortcuts pinned by others should look like not pined to this
launcher. This affects how ShortcutQueryFLAG_GET_PINNED works,
as well as what ShortcutInfo.isPinned() returns.

- When pinning a shortcut, it should be a visible one to itself --
a non-dynamic shortcut that's pinned by another launcher but
not by the caller is not visible, so this launcher cannot pin it
either.

- Also clean up the dynamic shortcut adding.

Bug 27548047

Change-Id: Ia478a2ea19b7d35557ec6ea42384c79a84d6b8de
m/ShortcutInfo.java
9ff7d2235427b211344fa58b608424805a21aa24 11-Feb-2016 Peng Xu <pengxu@google.com> Exposing Context Hub service.

Adding the Context hub service. This is the service that exposes
the context hub HAL to the system. The API exposed is a System API.

Change-Id: I854141714ecd21f6386e6b15b7bc9a997483ccf6
ontext.java
fdc8d14ce5ed411a3d0530d8084ae5fc8ac0ce09 15-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Fix launcher side callback" into nyc-dev am: ed1b89878b
am: de40929c65

* commit 'de40929c65a28525629c962d859758ff5e61e412':
Fix launcher side callback
4dbe0ded4ae9faaef580be80184fca0749e27198 15-Mar-2016 Makoto Onuki <omakoto@google.com> Fix launcher side callback

- Fix crash in work profile case
- Calculate shortcuts for each caller
- Add tests

Bug 27548047

Change-Id: I1a5b6a96956abac75d01eb5cc1cec9a9e8e379a3
m/ILauncherApps.aidl
m/LauncherApps.java
m/ShortcutServiceInternal.java
51e4305a58793e1169f8c02118a4b318d1c01df3 15-Mar-2016 Felipe Leme <felipeal@google.com> Merge "Fixed typos."
f068cff1761a2876587caa7ca6978a848198439a 15-Mar-2016 Alan Viverette <alanv@google.com> Merge "Push flags from top-level TypedValue into ComplexColor changing configs" into nyc-dev
49f6fbcd1f516ec543ada6aeab62eb51a3cdf712 14-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Implement the launcher side permission." into nyc-dev
2d5b465fa9235e66ec176f6d6ffaaa0c18143e41 12-Mar-2016 Makoto Onuki <omakoto@google.com> Implement the launcher side permission.

Only the default launcher can call the LauncherApps shortcut APIs.

Bug 27548047

Change-Id: I6d597fcad80c5201a2f93b8cbecd567fc79926d8
m/ILauncherApps.aidl
m/LauncherApps.java
m/PackageManagerInternal.java
m/ShortcutServiceInternal.java
0b9295d06750dc6da032a2b2092e2c500c65393f 10-Mar-2016 Alan Viverette <alanv@google.com> Push flags from top-level TypedValue into ComplexColor changing configs

Previously a ComplexColor that was defined within varying configs would
not push the flags into its changing configs, so it wouldn't get reloaded.

This implementation follows the Drawable implementation, where the base
changing configs are stored in the superclass.

Bug: 27573177
Change-Id: I1da5ee6ab998d8296f8860c1a99d3e1399438543
es/ColorStateList.java
es/ComplexColor.java
es/GradientColor.java
es/ResourcesImpl.java
791a1546484f643e98a4bb245c3b7c302b894f78 14-Mar-2016 Todd Kennedy <toddke@google.com> Merge "Fix API" into nyc-dev
948b702f39935fc856bca913714e489dcd67239b 14-Mar-2016 Todd Kennedy <toddke@google.com> Fix API

change name and allow passing in a boolean

Change-Id: I29b9765fedbd6b49878bb75df782012ad87a6866
m/PackageInstaller.java
0fbdab8397ecee12d04ec5f273e7277c74e020eb 14-Mar-2016 Wale Ogunwale <ogunwale@google.com> Merge "Added more info to FLAG_ACTIVITY_LAUNCH_ADJACENT documentation" into nyc-dev
6bdf257d4343e4208071d52f2e1b639d9f3af52d 12-Mar-2016 Wale Ogunwale <ogunwale@google.com> Added more info to FLAG_ACTIVITY_LAUNCH_ADJACENT documentation

Developers need to add FLAG_ACTIVITY_MULTIPLE_TASK flag if they don't
want an existing instance of their activity to be used.

Bug: 27604971
Change-Id: I80791ba9b8a68e4ffcf7a5b9a963f27239071037
ntent.java
815c6a8716a5d326a87cd8211de1a87a5015d0f4 14-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge "Offer to cache ContentResolver-related Bundles." into nyc-dev
8731408b11a24e3a92188653548f2c90bf866a32 12-Mar-2016 Jeff Sharkey <jsharkey@android.com> Offer to cache ContentResolver-related Bundles.

There are a handful of core system services that collect data from
third-party ContentProviders by spinning them up and then caching the
results locally in memory. However, if those apps are killed due to
low-memory pressure, they lose that cached data and have to collect
it again from scratch. It's impossible for those apps to maintain a
correct cache when not running, since they'll miss out on Uri change
notifications.

To work around this, this change introducing a narrowly-scoped
caching mechanism that maps from Uris to Bundles. The cache is
isolated per-user and per-calling-package, and internally it's
optimized to keep the Uri notification flow as fast as possible.
Each Bundle is invalidated whenever a notification event for a Uri
key is sent, or when the package hosting the provider is changed.

This change also wires up DocumentsUI to use this new mechanism,
which improves cold-start performance from 3300ms to 1800ms. The
more DocumentsProviders a system has, the more pronounced this
benefit is. Use BOOT_COMPLETED to build the cache at boot.

Add more permission docs, send a missing extra in DATA_CLEARED
broadcast.

Bug: 18406595
Change-Id: If3eae14bb3c69a8b83a65f530e081efc3b34d4bc
ontentResolver.java
ContentService.aidl
7020aa66bf7aac6b2e834447332763fc6c1a62eb 14-Mar-2016 Polina Bondarenko <pbond@google.com> Merge "Renamed HARDWARE_PROPERTIES_SERVICE to hardware_properties." into nyc-dev
781fbf28c70868d803a6caf13a2209c785fa4fce 14-Mar-2016 Alan Viverette <alanv@google.com> Merge "Ensure all Java-side usages of config flags are using Java flags" into nyc-dev
ac85f90466dd60d2af8ffc3942d503a0de606726 11-Mar-2016 Alan Viverette <alanv@google.com> Ensure all Java-side usages of config flags are using Java flags

Previously we were using native config flags in some places that expected
Java flags, and vice-versa. All usages of config flags are now annotated
to ensure we're using the right type.

Cleans up annotations on most methods that were touched.

Bug: 21161798
Change-Id: Ifd87dfb12199fc8258915d8a510e03ddb681ca89
m/ActivityInfo.java
es/AssetManager.java
es/ColorStateList.java
es/Configuration.java
es/ConfigurationBoundResourceCache.java
es/ConstantState.java
es/GradientColor.java
es/ResourcesImpl.java
es/ThemedResourceCache.java
es/TypedArray.java
b0f6e311ce19add792048db855844e542e808dd6 11-Mar-2016 Todd Kennedy <toddke@google.com> Merge "Allow app downgrades" into nyc-dev
c84d1ab11a5b9d0dc81b673e382e804cc70f35a4 11-Mar-2016 Todd Kennedy <toddke@google.com> Allow app downgrades

only system apps can do this

Change-Id: If0947f13f5c447f9396690bfda3ad40b07fbbb6b
m/PackageInstaller.java
1374af2c7be265701b9b402b7d4749ffe716ef01 11-Mar-2016 Todd Kennedy <toddke@google.com> Merge "Add minSdk to dumpsys" into nyc-dev
89d60189cd53a7f0e20c23bb42d4cd4c3dbc20b4 11-Mar-2016 Todd Kennedy <toddke@google.com> Add minSdk to dumpsys

Bug: 27526333
Change-Id: I0148275013ebab899bcb63c07d71a840539c1863
m/ApplicationInfo.java
m/PackageParser.java
7a6a05f0ccc8c57496d0a1e2b0882ab7de3175e5 11-Mar-2016 Makoto Onuki <omakoto@google.com> Test for ShortcutManager.updateShortcuts(), also

... fix bugs

Bug 27548047

Change-Id: Ia55d35521912dcba2fb1bb9c20588a83d1a2d004
m/ShortcutInfo.java
58f1018c56a88e7864c7ff85f5b85129e790ffd2 10-Mar-2016 Adam Lesinski <adamlesinski@google.com> Merge "Cache per-Activity Resources objects" into nyc-dev
082614c6a57a115ee0c5975e3579bf34a178c0f8 04-Mar-2016 Adam Lesinski <adamlesinski@google.com> Cache per-Activity Resources objects

Each Activity has a Resources object whose underlying state changes
when a configuration change occurs, both global and for that activity only (multi-window).
Views and other clients of the Resources object can safely cache it knowing that
they always have a reference to the most up-to-date resources.

This applies to Resources.Theme objects as well.

Bug:26854894
Change-Id: Ifd3da5a1086e17f747dfc265a447fe92a3a5c692
es/Resources.java
es/ResourcesImpl.java
es/ResourcesKey.java
ab750d283aca3dcfa8178589ca64e8be819f848b 10-Mar-2016 Kenny Guy <kennyguy@google.com> Merge "Update docs to make suspend then uninstall clear." into nyc-dev
23ca16865ae63a482f8725f663231389a7984202 10-Mar-2016 Todd Kennedy <toddke@google.com> Merge "fix docs" into nyc-dev
1ed6b876346b60cbe429955a022c86c02e43e280 10-Mar-2016 Todd Kennedy <toddke@google.com> fix docs

No code change; just doc clarification per API Review Council suggestions

Bug: 27531045
Change-Id: Ib1eef9635d68d44be596888b46de0650883d118c
m/PackageInstaller.java
39ceeb5472d920a6d5f6ddc1effdb9c4fedda4dd 10-Mar-2016 Jesse Hall <jessehall@google.com> Refer to hasSystemFeature(String, int) in Vulkan feature docs

Bug: 27531286
Change-Id: Ifb32ae519fc8118923d6216e1d574cbbf83dfd23
m/PackageManager.java
871f3ebb56b5c9219ff3f9cf7bab98038a7b7a5a 09-Mar-2016 Kenny Guy <kennyguy@google.com> Update docs to make suspend then uninstall clear.

Update docs to say suspending then unintalling an
app unsuspends the app. Point out admin can block
uninstall if they want.

Bug: 26935242
Change-Id: I4390fa20c9d8954b36ff80fc449b62891eee598c
m/PackageManager.java
04a72a2a51ce3d128959b2ba53b5c22576322e59 10-Mar-2016 Joe Onorato <joeo@google.com> Merge "Add an API for apps to get their System Health / Battery Stats data." into nyc-dev
713fec85b8612256211f09c62b8958a99fe5b9db 04-Mar-2016 Joe Onorato <joeo@google.com> Add an API for apps to get their System Health / Battery Stats data.

Change-Id: Ib27e1be469b826f6d83d73ce6024102bbdb1d47a
ontext.java
f96eee36df0cc987bafd1f01ce69504191efb8b8 10-Mar-2016 Todd Kennedy <toddke@google.com> Merge "remove splits" into nyc-dev
eb9b05392ad047863244f9e07a3b10e9c0561e39 08-Mar-2016 Todd Kennedy <toddke@google.com> remove splits

Individual splits can now be removed for an application. The
application will be terminated if it's running when a split is
removed.

To remove a split, either use either "uninstall":
$ adb shell cmd package uninstall <PACKAGE> <SPLIT>

or "install-remove":
$ adb shell cmd package install-create -r -p <PACKAGE>
$ adb shell cmd package install-remove <SESSION> <SPLIT>
$ adb shell cmd package install-commit <SESSION>

For "install-remove" you must use '-r' and '-p' when creating
the session.

Bug: 27547051
Change-Id: I4d71a19ad45e39f6622d9ab6791ea8c4230a79e0
m/IPackageInstallerSession.aidl
m/PackageInstaller.java
8333c7327fb464060d244be250df7097d88c3bb6 09-Mar-2016 Polina Bondarenko <pbond@google.com> Renamed HARDWARE_PROPERTIES_SERVICE to hardware_properties.

Bug: 27531271
Change-Id: I7a86c6e320fa7fd803db3927c4cdfeeb019762ca
ontext.java
5504622fb01ab9774b5e73d05f86ee03a8b68ab7 08-Mar-2016 Makoto Onuki <omakoto@google.com> ShortcutManager: add remaining APIs.

- Icons are now persisted. (under /data/system_ce, as PNGs)
- the "load icon" APIs in LauncherApps are supported.
- Implement updateShortcuts()

- Addressed all the comments on the previous CL
- @hide the newly added constructor for PersistableBundle

- Enhance incoming shortcut validation
- A lot of internal clean-up.

Bug 27548047

Change-Id: I8e3c1ccd3e0a997a6d271c84d81170f0c022b60e
m/ILauncherApps.aidl
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutInfo.java
m/ShortcutManager.java
m/ShortcutServiceInternal.java
43204b8357d781f284037fb8b7b7050ed04a2103 09-Mar-2016 Makoto Onuki <omakoto@google.com> Implement LauncherApps.startShortcut().

Bug 27548047

Change-Id: I357732e22be0959fb573fd6cdaee7c6b439ef7c4
m/ILauncherApps.aidl
m/LauncherApps.java
m/ShortcutServiceInternal.java
ed58f5f0aa580dd4a6dc0fd5dc957862309db8d9 08-Mar-2016 Makoto Onuki <omakoto@google.com> Merge "Introducing ShortcutManager" into nyc-dev
e4e4da5cc6436c66765130e9ce498d29717c5f33 08-Mar-2016 Tenghui Zhu <ztenghui@google.com> Merge "Add tileMode support into GradientColor" into nyc-dev
9aa6db03f0a317b8414af760b8b1ee6331bedc46 08-Mar-2016 David Brazdil <dbrazdil@google.com> Add option to clear profile data to 'cmd package compile'

Adds an option which clears all profile data of a given package.

Bug: 27516490
Change-Id: Ie83ef1f06ca47d35ffb206c29341dc68166afeb3
m/IPackageManager.aidl
990fb6b5c91be62078a698ee1c01e24d33364c85 01-Mar-2016 David Brazdil <dbrazdil@google.com> Add option to compile all packages with 'cmd package compile'

To help investigate performance regressions, an option is added to
'adb shell cmd package compile' to compile all packages with the
given mode.

Bug: 27391290
Change-Id: I70a3a518e08b54535bb34f13f0cedda3a1f7085f
m/IPackageManager.aidl
1664a829eb08dd5c0f567f6466368ef1d1895e36 05-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Add tileMode support into GradientColor

So VectorDrawable can have tileMode supported Gradient color.
b/27126035

Change-Id: Icbf5983be165f04dc640627f6208fb1292f15625
es/GradientColor.java
fdc5ba8f43e09cfbc8f5de0bf819b7684094953e 05-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge "Move more PM calls to ParceledListSlice." into nyc-dev
d5896630f6a2f21da107031cab216dc93bdcd851 05-Mar-2016 Jeff Sharkey <jsharkey@android.com> Move more PM calls to ParceledListSlice.

Since the data returned by these calls can grow unbounded based on
various GET flags, we need to switch 'em over.

Bug: 27391893
Change-Id: Ie849ca30dbaaa91158da4c83675657715629a0ee
m/AppsQueryHelper.java
m/IPackageManager.aidl
6f7362d92573e4ae693bc513dca586d6a4eb087b 04-Mar-2016 Makoto Onuki <omakoto@google.com> Introducing ShortcutManager

What's supported:
- Most APIs are implemented, except for SM.updateShortcuts(),
the icon APIs in LA, and LA.startShortcut().
- Persisting information, except for icons
- Throttling

In addition, now PersistableBundle has a public copy
constructor from a Bundle. (Do we want to @hide it?)

TODOs:
- Add icon support
- Implement missing APIs
- Listen to PACKAGE_* broadcasts and do clean-up
- Support multi-launcher apps (pinned shortcuts per launcher)
- Dev option to reset throttling
- Load throttling config from Settings
- Backup & restore
- Figure out LauncherApps permissions (BIND_APPWIDGETS??)
- Other minor TODOs in the code
- Better javadoc

Note: This requires Idf2f9ae816e1f3d822a6286a4cf738c14e29a45e

Bug 27325877

Change-Id: Ia5aa555a4759df5f79a859338f1dc5e624cd0e35
ontext.java
m/ILauncherApps.aidl
m/IOnAppsChangedListener.aidl
m/IShortcutService.aidl
m/LauncherApps.java
m/ShortcutInfo.aidl
m/ShortcutInfo.java
m/ShortcutManager.java
m/ShortcutServiceInternal.java
40a6e6a10e0b411fd7434d586f2323674b11b757 04-Mar-2016 Todd Kennedy <toddke@google.com> Merge "dump apk signing version" into nyc-dev
c4dd2e7d525fc41081ab9138535cd1cf153c4bc6 04-Mar-2016 Adam Lesinski <adamlesinski@google.com> Merge "Move the guts of Resources to ResourcesImpl" into nyc-dev
66c5553c2e418724ea20b2234a8590e889f0ffe4 27-Feb-2016 Todd Kennedy <toddke@google.com> dump apk signing version

bug: 26905579
Change-Id: I5c2682904f2fb83ffce572fe2eb35c38e1b72f01
m/PackageParser.java
dfa93abf2f64237007af8e72c4a4114a5258e858 04-Mar-2016 Todd Kennedy <toddke@google.com> Fix javadoc

Make referenced constants @SystemApi and change argument name to
match its actual meaning.

bug: 25441401
Change-Id: I4277799b95f394edb4305be05f57437717a86691
m/PackageManager.java
e8498cd0066113068f2b0294144837546f213bd1 03-Mar-2016 Todd Kennedy <toddke@google.com> Merge "Splits without restart" into nyc-dev
0c9ef61944e883219dd167f765a504ab8cdb7710 03-Mar-2016 Calin Juravle <calin@google.com> Merge "Better handling of various types of compilation in DexOptimizer" into nyc-dev
66ae66a7f74ee835807a141a216afbb254664510 19-Feb-2016 Vadim Tryshev <vadimt@google.com> Adding getManagedUserBadgedDrawableForDensity() to PackageManager.

It allows badging an image regardless of of the user (no
user id parameter). The styling for managed users is applied.

This is useful for new cases where the existing functions
wouldn't badge the icon, but we need it.

Bug: 25192539
Change-Id: I2fd2f226f626fb2e6cda1cfe072013350e12b41c
m/PackageManager.java
693f997cc8b8c2ba8d3ed29627b2641dd86392a5 25-Feb-2016 Calin Juravle <calin@google.com> Better handling of various types of compilation in DexOptimizer

From the runtime perspective extract-only/profile-guide-compiled/fully-
compiled oat files are up-to-date and don't need dex2oat. However,
wihout knowing the exact "class" of the aot file we are not able to do a
full compilation of something previously only-extracted, or limit
profile-guide compilation to only previously profile-guide or extract-
only oat files.

GetDexOptNeeded now accepts a mask of desired types of compilation
that the runtime takes into account when advising what's needed.

This CL adds the necessary handling in DexOptimizer.

Also:
- removes the contraint to use extract-only oat files only when
profiles are enabled.
- removes mDexOptPerformed which interfere with the different types of
compilation and only saved a call to GetDexOptNeeded.

Bug: 27189430
Change-Id: Iced2bdcc3aa7866ff888a3bace43f4b71fffb353
m/PackageParser.java
39bfee5e3674faea992c32204abc1c03429b8cda 24-Feb-2016 Todd Kennedy <toddke@google.com> Splits without restart

In specific cases [as determined by the installer], we can install
splits without restarting the application. The split must be purely
additive [i.e. it should not modify class(es)/resource(s) defined
in the base or other splits. Otherwise, the behaviour could be
inconsistent [e.g. if a modified class was already loaded, the
modified version won't be loaded until the process is restarted].
The platform does not perform any verification that the split is
purely additive.

Bug: 26463098
Change-Id: I3526c3b1b847a8e0afabc7a4787fa770422196b7
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageManager.java
m/PackageManagerInternal.java
093622f089a84298b5cfaab839eef6678292de5d 02-Mar-2016 Vadim Tryshev <vadimt@google.com> Revert "Adding getManagedUserBadgedDrawableForDensity() to PackageManager."

This reverts commit 9f68f41a5866e1feb810b16c769705c10e850d5d.

Caused breakage.

Change-Id: I441737f61f6f38ed9f440211b52bbac0f74982e3
m/PackageManager.java
fb302ccd8e0610a09691ea5503ff8111dc7a2e41 01-Mar-2016 Adam Lesinski <adamlesinski@google.com> Move the guts of Resources to ResourcesImpl

In order to satisfy the requirement that clients can
cache a Resources object when a configuration change happens,
we move the caches and all other method bodies to ResourcesImpl.
These can then be swapped out for the correct version when needed,
while allowing clients to keep holding the existing Resources references.

This is part 1 of 2 CLs. The next one will do the actual switching of implementations
based on configuration changes for multiwindow.

Bug:26854894
Change-Id: I41156194a3541e59053b4048c3a15981c7d8a506
es/ConfigurationBoundResourceCache.java
es/DrawableCache.java
es/Resources.java
es/ResourcesImpl.java
es/TypedArray.java
9f68f41a5866e1feb810b16c769705c10e850d5d 19-Feb-2016 Vadim Tryshev <vadimt@google.com> Adding getManagedUserBadgedDrawableForDensity() to PackageManager.

It allows badging an image regardless of of the user (no
user id parameter). The styling for managed users is applied.

This is useful for new cases where the existing functions
wouldn't badge the icon, but we need it.

Bug: 25192539
Change-Id: I20ca2d7265cbc3a47c050a72ec1843cc0a481c74
m/PackageManager.java
6cc1ba8e174935aeaf5e6da20cb8aeb243c2f08c 02-Mar-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "API for safe label to present in the UI" into nyc-dev
aa8b0d74f4f4e14c3591582bad7baead0d30e655 01-Mar-2016 Svetoslav Ganov <svetoslavganov@google.com> API for safe label to present in the UI

bug:23531798

Change-Id: Ic3e0ed3db11445dbc5e562ca1a91b181ec5f2553
m/PackageItemInfo.java
a67932374dbbfbe4c6440d223fc7922b313dd957 24-Feb-2016 Todd Kennedy <toddke@google.com> Revert "Revert "Remove deprecated methods / classes""

This reverts commit 5cbeb5902633646fbc0a1be252081e77aaaee7b4.

Change-Id: Id96010364d65e6131221ebbcc8ce5889a2da256c
m/ContainerEncryptionParams.java
m/IPackageManager.aidl
m/PackageManager.java
m/VerificationParams.aidl
5c64b957dd710cce27134cd480e0b83563c50d7f 28-Feb-2016 Alan Viverette <alanv@google.com> Use asset cookie in XML block cache key

Ensure we're using file paths from the correct package. Also cleans up
synchronization to avoid synchronizing on local variables which, while
not an issue in the current implementation, is generally unsafe.

Bug: 27313689
Change-Id: Ib8550909e7b02ea88d19ce2fc43756a16f9664ab
es/Resources.java
f8880561e67e1da246970b49b14285efd4164ab1 26-Feb-2016 Jeff Sharkey <jsharkey@android.com> When system server goes down, crash apps more.

Similar to first patch, but now using new "rethrowFromSystemServer()"
method which internally translates DeadObjectException into
DeadSystemException. New logic over in Log.printlns() now
suppresses the DeadSystemException stack traces, since they're
misleading and just added pressure to the precious log buffer space.

Add some extra RuntimeInit checks to suppress logging-about-logging
when the system server is dead.

Bug: 27364859
Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
lipboardManager.java
estrictionsManager.java
m/LauncherApps.java
m/PackageInstaller.java
4d85985f80c114456ec47d3cce75ac0b4c2bdb5a 25-Feb-2016 Alan Viverette <alanv@google.com> Merge "Use correct index when obtaining unresolved attribute value" into nyc-dev
921dd754ab49df0cd580ff96503f7616c4c85f4a 24-Feb-2016 Alex Klyubin <klyubin@google.com> Disallow downgrading of non-debuggable packages.

An attacker could downgrade a package to an older version with known
security vulnerabilities and then use some of the vulnerabilities to
access the application's data. This would constitute a bypass of
Android Application Sandbox. Thus, downgrading while keeping
application data is no longer permitted.

To help developers debug their apps, packages marked as debuggable can
still be downgraded while keeping their data. This does not put the
installed base at risk because, as a security measure, most
application stores reject packages marked as debuggable.

To downgrade a non-debuggable (i.e., release) package, uninstall the
package (thus wiping its data), then install the older version of the
package.

Bug: 27327503
Change-Id: Iac75ed3c3831b5d925dfd8b660527cfa95813da8
m/PackageManager.java
2f68e8a62ad776106e2bb3506b1a3a47b53dca62 23-Feb-2016 Jason Monk <jmonk@google.com> Add constant to link to app's general settings

Bug: 27276982
Change-Id: Ia438faeb12b24251bb74919f680713a7bc03e0b5
ntent.java
5b90e82827dbd0aa7fe9a0893f9174aab1a1602a 24-Feb-2016 Alan Viverette <alanv@google.com> Use correct index when obtaining unresolved attribute value

Change-Id: I03e12157f74901e3188fec6663ae22cfaa849176
es/TypedArray.java
1ddda4793c26fd249590fd3549cf060ecb7c157b 12-Feb-2016 Lenka Trochtova <ltrochtova@google.com> Prevent ephemeral user from being re-entered after stop.

Once the ephemeral user stops, the user's deletion is scheduled.
It takes a while before the user actually disappears and it is not
desirable for the user to be re-entered in the meantime.
Mark the user as disabled on stop and check this flag
in the activity manager to prevent the user from being switched
to again. Also hide the user from user-switching UI.

BUG: 26795729
BUG: 26780152

Change-Id: I83a61674958954b5a210114b88ffa5ae55922c1f
m/UserInfo.java
fde021371668fa8feb62569af155efeecda18026 23-Feb-2016 Alan Viverette <alanv@google.com> Remove @Nullable annotation from getDrawable() methods

Developers usually do not need to check the result of getDrawable(), so
we shouldn't be annotating it like they do.

Bug: 27134828
Change-Id: I0db0ca806fd89c18781da452fe3f31ef344f3cca
es/Resources.java
791a7df8b2d4cef843b109aa98a0a9e2ff429462 23-Feb-2016 Jesse Hall <jessehall@google.com> Merge "PackageManager: add Vulkan system features" into nyc-dev
5cd52bee32250e14f5eca14d9e82535a0f2f4f87 23-Feb-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Expose removed permissions flag as system API" into nyc-dev
2a1376d9dfb362a18ba110d8e172f96021f1d879 23-Feb-2016 Svet Ganov <svetoslavganov@google.com> Expose removed permissions flag as system API

There are some permissions that were removed from the platform
and guard nothing but legacy apps may be checking them before
calling APIs. Hence, these apps should get the permissions as
expected despite them being a no-op. To address this the platform
declares removed permissions as normal permissions that are hidden
such that legacy apps can always get them. These permissions are
not shown in the UI. Play needs a way to filter out these
permissions like the platform as they have permissions UI too.

bug:23361760

Change-Id: I10f442dfc09a299ddc5480d8bf2db0bd786aec62
m/PermissionInfo.java
f77a34fa17d64fad80f423aa8a86e781a7441b9e 05-Feb-2016 Jesse Hall <jessehall@google.com> PackageManager: add Vulkan system features

FEATURE_VULKAN_HARDWARE_FEATURES describes the feature set supported
by the device hardware and driver. FEATURE_VULKAN_HARDWARE_VERSION
describes the Vulkan API version supported by the driver, which may be
lower than the API version supported by a particular Android release.

Bug: 26583896
Change-Id: Ia3e6be496abf631cb677eb838d632d3c7b4dd24b
m/PackageManager.java
e8a403d57c8ea540f8287cdaee8b90f0cf9626a3 31-Dec-2015 Tao Bao <tbao@google.com> Add support for update-on-boot feature.

Add a separate system service RecoverySystemService to handle recovery
related requests (calling uncrypt to de-encrypt the OTA package on the
/data partition, setting up bootloader control block (aka BCB) and etc).

We used to trigger uncrypt in ShutdownThread before rebooting into
recovery. Now we expose new SystemApi (RecoverySystem.processPackage())
to allow the caller (e.g. GmsCore) to call that upfront before
initiating a reboot. This will reduce the reboot time and get rid of the
progress bar ("processing update package"). However, we need to reserve
the functionality in ShutdownThread to optionally call uncrypt if
finding that's still needed.

In order to support the update-on-boot feature, we also add new
SystemApis scheduleUpdateOnBoot() and cancelScheduledUpdate() into
android.os.RecoverySystem. They allow the caller (e.g. GmsCore) to
schedule / cancel an update by setting up the BCB, which will be read by
the bootloader and the recovery image. With the new SystemApis, an
update package can be processed (uncrypt'd) in the background and
scheduled to be installed at the next boot.

Bug: 26830925
Change-Id: Ic606fcf5b31c54ce54f0ab12c1768fef0fa64560
ontext.java
0f3431b616e03fe76cb52cabad209f95e1d7899c 19-Feb-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Improve requestPermissions API docs and throw correct exception." into nyc-dev
f66381cd0df0aad41b7e4db9994483e44e0aaada 19-Feb-2016 Svet Ganov <svetoslavganov@google.com> Improve requestPermissions API docs and throw correct exception.

bug:26220898

Change-Id: Iebda3fe13b963b10829de917fb00a9a14186b72c
m/PackageManager.java
5eb148bab6ea49c4c646649692ae6769b9c4e54c 19-Feb-2016 Yohei Yukawa <yukawa@google.com> Merge "Stop granting default Contacts permission to IMEs." into nyc-dev
726c45970e35e3fff3eeb4d86c3b772db73adcc7 18-Feb-2016 Yohei Yukawa <yukawa@google.com> Stop granting default Contacts permission to IMEs.

This partially reverts the previous commit [1], which allowed special
components to be granted some pre-configured default permissions.

With this CL, we no longer grant Contacts permissions to pre-installed
IMEs. Rationals are:

1. Even without this CL, not the all pre-installed IMEs are granted
Contacts permission by default, because it was done during the boot
time where InputMethodManagerService is not yet completely
initialized. The current behavior is confusing not only for users
but also for developers.
2. In almost all the cases, IMEs are supposed to be able to work
without Contacts permission. Hence it is not too late to ask users
to grant the permission to the IME after the initial setup is
completed.
3. It is difficult to add new features such as File-Based Encryption
(FBE) with keeping the current implementation, because currently we
dynamically call mSettings.setCurrentUserId(userId) just to
enumerate what IMEs will be enabled for a given user. Adding
another condition (whether the user has already unlocked the device
or not) would make things more complicated.

Note that LatinIME has already support the case where Contacts
permission is not granted by default. It does not ask users for
anything until Setup-Wizard is completed, and requests Contacts
permission only when the user taps a message in the suggestion strip
that suggests users to use contacts name for typing suggestions.

[1] If8b8cadbd1980ffe7a6fc15bbb5f54a425f6e8f9
adc1cf46045ae756d3a9ccbccf6b0f894e4c1edd

Bug: 24756974
Bug: 26743676
Change-Id: Ief2a40b5971b3eb97d765f934d20ce7f2ef25665
m/PackageManagerInternal.java
43fbc5f898a488dcfa9ecf3030f05f27ce5428f9 18-Feb-2016 Christopher Tate <ctate@google.com> Add android:backupInForeground

An app can now declare that it really needs to be backed up
whenever possible even if it is currently engaged in foreground-
equivalent work. Only applies to full-data backup clients: key/value
backups are not intrusive on normal lifecycle so they can already
happen in such circumstances.

Bug 26790411

Change-Id: Ia0ebcc7a53da888ae9ae4d63cd4bcab6e3a2e866
m/ApplicationInfo.java
m/PackageParser.java
2c1ba9a961d4f96c26df260ee437655ad9e7c03e 17-Feb-2016 Jeff Sharkey <jsharkey@android.com> Make BackupManager encryption aware.

Backup requires both CE and DE storage to be available, so delay
spinning up the backup system until the user is unlocked, since
that's when CE storage becomes available. Note that devices without
FBE immediately transition USER_SYSTEM into the unlocked state,
since their CE is always available.

Offer to backup and restore files under both CE and DE. Since DE
is effectively the same as CE, most logic is simply duplicated for
now, but it could be simplified in the future. Since system apps
can force their default storage location to DE, we always build
explicit CE and DE paths.

Add getDataDir() to give clean access to the top-level private data
directory, but disclaim that apps shouldn't create files there.

Bug: 26279618
Change-Id: Ic34a4b330223725db93b1d0f5c9dffc88002c61f
ontext.java
ontextWrapper.java
fc482c30b7a3c2cf7bc14d5c86de758a16f6433d 17-Feb-2016 Makoto Onuki <omakoto@google.com> Merge "[framework] Don't allow apps on external storage to be active admin" into nyc-dev
014a0d11c7ac521b77c62278d31ce4d41c5f33b7 17-Feb-2016 Felipe Leme <felipeal@google.com> Merge "Removed Intent.OPEN_EXTERNAL_DIRECTORY." into nyc-dev
3c3770d8fe9f64fc92de02f3e52901748e1f30de 17-Feb-2016 Felipe Leme <felipeal@google.com> Merge "Initial implementation of StorageManager.getVolumesList()." into nyc-dev
34a9d5271915fb82c22811e6d17691a34b6c52c1 17-Feb-2016 Felipe Leme <felipeal@google.com> Removed Intent.OPEN_EXTERNAL_DIRECTORY.

Such intent is now encapsulated by StorageVolume.createAccessIntent().

BUG: 26742218

Change-Id: I2e2bd71126ecd74981f77b0af7d069f51aaece74
ntent.java
f34db0a17ee035c165a4e81e9192f73d2455bd1c 17-Feb-2016 Makoto Onuki <omakoto@google.com> [framework] Don't allow apps on external storage to be active admin

Bug 27149287

Change-Id: I6d959d2e66dc0b19f78e6135fbdcf45ca8551958
m/IPackageManager.aidl
m/PackageManager.java
04a5d40cf35fb2c2fca2c1bfd573e5916d804ef6 09-Feb-2016 Felipe Leme <felipeal@google.com> Initial implementation of StorageManager.getVolumesList().

This change makes StorageManager.getVolumesList(),
StorageManager.getPrimaryVolume(), and StorageVolume public and adds a
buildAccessIntent() in the latter to automatically generate the
ACTION_OPEN_EXTERNAL_DIRECTORY intent, but it doesn't change the
ACTION_OPEN_EXTERNAL_DIRECTORY implementation yet (i.e., it still takes an URI with the physical path of the directory, instead of a StorageVolume and
a directorny name).

BUG: 26742218

Change-Id: I36c59c42b6579e125ec7f03c3af141260875a491
ntent.java
2528fcdfbd5d674c00387ed4ce93546ea5581ede 17-Feb-2016 Bill Yi <byi@google.com> Merge commit '26ada7e78993241d702a908eae93d174cbb3c8b3' into HEAD

Change-Id: Ifc45930160cf01ee78ecfbfdc48697055f82e0a7
eb84b1843a3f6805c6109c1d9d023550229a3fc5 26-Jan-2016 Andrei Stingaceanu <stg@google.com> Suspend packages - one call for multiple packages

Refactor setPackageSuspended into setPackagesSuspended. The rationale
is that the consumers of this API are likely to want to remove
multiple packages at once. Rather than calling the API N times, call
it just once.

The good part is that we already have the broadcast intent for
suspended packages take an array so only one broadcast. Less stress
on the system.

Another good part is that (right now) we only have one consumer of
this API and it will be easy to make changes once this CL goes in.

As a shell command, for consistency only allowed one package at
a time.

Bug: 22776761
Change-Id: Ic8b8cf64d0a288ea3a282bb7b72f9d663b3b0049
m/IPackageManager.aidl
m/PackageManager.java
5ae4e73ef0747c2d08a901f1a76d8fb8ee64a53a 17-Feb-2016 Andrei Stingaceanu <stg@google.com> Merge "Suspend packages - new API for retrieving the suspended status" into nyc-dev
b305e16051192540e2e19863d4c3c0fb3e980db2 16-Feb-2016 Wale Ogunwale <ogunwale@google.com> Merge "Force resize pre-N apps that don't have fixed orientation." into nyc-dev
355b232d7998cfc9b29d42a0356390e25191bcbd 12-Feb-2016 Andrei Stingaceanu <stg@google.com> Suspend packages - new API for retrieving the suspended status

Instead of always rebuilding the full ApplicationInfo for a
package when callers are only interested in the suspended status
add a new fast API in Packagemanager (which only checks the
suspended user setting for the requested package and returns
a boolean) and change the appropriate caller code too.

Bug: 26794775
Bug: 22776761
Change-Id: Ide8428ef734479360d5a8a75fd8e0ed8ddf2da7a
m/IPackageManager.aidl
m/PackageManager.java
508ff55e8cc6580aa303c19ad0388e08b1f8851e 16-Feb-2016 Wale Ogunwale <ogunwale@google.com> Force resize pre-N apps that don't have fixed orientation.

We were previously only doing it for SCREEN_ORIENTATION_UNSPECIFIED,
but there are other orientation settings that aren't fixed that we
need to handle.

Change-Id: If21fcd8312b6267407d94b6646158ac6eae44b44
m/ActivityInfo.java
m/PackageParser.java
115d2c189a46f535778d9dd0923f703ff2f888fe 16-Feb-2016 Jeff Sharkey <jsharkey@android.com> Add feature versions for devices and apps.

We're starting to see more instances of device features that will
increment separately from the SDK API level, such as camera HAL,
GPU capabilities, Bluetooth, and other hardware standards.

This change adds the ability for device features to specify a
version, which is defined to be backwards compatible. That is, apps
requesting an older version of a feature must continue working on
devices with a newer version of that same feature.

When a version is undefined, we assume the default version "0".

Bug: 27162500
Change-Id: If890bf3f3dbb715e8feb80e7059a0d65618482ea
m/FeatureInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
b1b302660cf5b1b1c5b342cc90eca93b8f66890c 09-Feb-2016 Kenny Guy <kennyguy@google.com> Support FBE for managed profiles.

Allow launcher to see and attempt to launch non-crypto
aware application when profile is locked.
Hide unlock notification until parent user is unlocked.
Have unlock notitication use confirm credentials to unlock
the profile.
Updated notification strings as per suggestions in mocks
to make it clearer between users and profiles.

Bug: 27038260

Change-Id: If2d2c8148670d814544f4edd44193d15da32a289
ntent.java
567704bca22c08a6fbfdaa15d054e0e3124b38e8 11-Feb-2016 Wale Ogunwale <ogunwale@google.com> Merge "Force pre-N apps to be resizeable." into nyc-dev
d829d36f09d0ec9af3606a401f7773397fe0bbc5 11-Feb-2016 Wale Ogunwale <ogunwale@google.com> Force pre-N apps to be resizeable.

We feel this experience is better than the 2-finger gesture.
Added ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE resizeMode
to indicate we are force resizing an app.

Bug: 27132829
Bug: 26847884
Change-Id: I65db2de0d9f3f171cc3bb136cc1282b3ef3549b0
m/ActivityInfo.java
m/PackageParser.java
8212ae0aee1700b9c287ebadf15af8dacdc8eae6 10-Feb-2016 Jeff Sharkey <jsharkey@android.com> Consistent naming for internal storage APIs.

Also completely remove a few confusingly named deprecated APIs.

Change-Id: Ia7e4ea3190a97f0a7dfa9bebf2118da0866ec38f
m/ApplicationInfo.java
691546e5b7f94a6e2d76630ee1287e0b9c69e7a8 09-Feb-2016 Adrian Roos <roosa@google.com> Isolate Keyguard from main thread badness

Adds a bindService variant to run the ServiceConnection callbacks
on a dedicated Handler.

Changes KeyguardService binding to use the foreground thread
instead of the main thread and changes state to the
KeyguardScrim on the UI thread.

Bug: 26954967
Change-Id: I9d7bd85382816cd0e23772b14ff6518266a9d232
ontext.java
d4c6582a605d6b6ac03a56053c39c9c5b81266ee 10-Feb-2016 Felipe Leme <felipeal@google.com> Merge "Whitelisted ACTION_OPEN_EXTERNAL_DIRECTORY to use file:// URIs." into nyc-dev
52fe147602af948daef967cec9d41dbdfa34b187 10-Feb-2016 Felipe Leme <felipeal@google.com> Whitelisted ACTION_OPEN_EXTERNAL_DIRECTORY to use file:// URIs.

BUG: 27109099
BUG: 26742218
Change-Id: I4848b30e6efbda72ff04a6786bac32f34d528f84
ntent.java
e0feadcaac89739a4ae66055f75ee048d004b66f 10-Feb-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Add an API to query the package name of the services shared lib" into nyc-dev
d7b1f41109abee60ec8529369a85d84300b1d678 10-Feb-2016 Svet Ganov <svetoslavganov@google.com> Add an API to query the package name of the services shared lib

The servcies shared lib contains components apps can invoke such
as services to bind to, activities to start, UI choosers, etc.
This lib is built from AOSP code but an OEM may chage its
package name. For example, Google renames the package names for
GMS apps from android.foo.bar to com.google.android.foo.bar.
While we have more than one shared lib that are a part of the
platform (currently shared and services libs) the serivces lib
is the only one clients need to start components in, thus need
to know its package name. This change adds an API to query the
package name of the services shared lib. The API is hidden as
currently the only clients are a part of the system.

Change-Id: Ied48fa4819024522791764b22b3336d4f4b42cc3
m/IPackageManager.aidl
m/PackageManager.java
75827b2fb626d23ed4a716dd1d9b35d6e215b7ce 09-Feb-2016 Selim Gurun <sgurun@google.com> Fix build break

Bug: 26874366
Change-Id: Ic7634cb9d823d4f74d2893f4c46a77a5af02a0a1
m/PackageParser.java
2d291d89f957495917071282ac0afce9b65c5e26 06-Feb-2016 Selim Gurun <sgurun@google.com> Introduce a use32bitAbi flag

Bug: 26874366

On Multiarch apps, it might be necessary to prioritize 32bit Abi ahead
of 64bit ones. The use32bitAbi flag enables this.

This CL also reverts the public api changes in I2c1fd1d036efe72b28b5fe996416df69a583959f and Ie3ecea6d84e2cb1522e736a21c3a3a24ac62eb27. Previously
the same functionality was provided using a raw abi string that
utilized cpuabioverride flag.

Change-Id: Idce3cbfedd11ef9079ce8a2901e69d30b1cf9ef4
m/PackageParser.java
354cd3ce2213a1032d9138ea6fa1420f055ab08c 17-Dec-2015 Svet Ganov <svetoslavganov@google.com> Multi packages per APK

This change introduces the ability to have multiple packages per
APK. The feature is currently restricted to privileged apps and
updates to such apps.

In essence the manifest can have multiple child package declarations.
A child package can declare everything an Android package can except
some tags or attributes that are not applicable and instead inherited
from the parent when needed. For example, the target SDK of the parent
applies to all children.

A child package can be updated only through the parent package.
A package with multiple child packages is installed, uninstalled
atomically - no partial installs where some child packages are not
installed.

The remaining work is to ensure broadcasts are also sent for child
packages. This will come in a subsequent change.

Sample app:ag/848432

Design doc: https://docs.google.com/document/d/18nFWtJuZchLxrHf5SBbJW03-Ky9Rh_G0-OVB14b6u78

Change-Id: I6fd021d981bf5786290e0c53502724a14c97358c
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
e4697136ed8d3e2486738b5798b22f2226b7de75 07-Feb-2016 Jeff Sharkey <jsharkey@android.com> Migrate default app data on non-FBE devices.

When a system app requests "forceDeviceEncrypted" they expect their
default app storage to point at a consistent location regardless of
device FBE support. So when booting upgraded non-FBE devices, we
may need to migrate any data from CE to DE. Note that on non-FBE
devices these are just semantic locations with identical protection.

This migration *only* works for non-FBE devices; changing
forceDeviceEncrypted flags on an FBE device always requires a full
data wipe.

Bug: 26668510
Change-Id: Ic5dfeaaf2db26c385901a638ca8ec35eb3c52859
m/ApplicationInfo.java
m/PackageManager.java
37355a9f5d1e82c6d3eb3d6c919462373457af4c 06-Feb-2016 Jeff Sharkey <jsharkey@android.com> Tweaks to file:// Uri StrictMode checks.

Whitelist two more legacy intent actions, and don't enforce the
StrictMode checks when resolving intents that might be coming from
legacy apps. Newer apps would have already been yelled at directly
before getting to the resolver.

Bug: 26976516, 26977622
Change-Id: Ibf72a361ed68c52cfaac16c32ab40e79005a42e7
ntent.java
911db2e19a81c1a7cd0511eb70a9d62db7706aa9 05-Feb-2016 Makoto Onuki <omakoto@google.com> Merge "Remove com.google.android.syncadapters.contacts from exception list"
e798ba103321ded5ad88b181fce277e179db58ec 05-Feb-2016 Makoto Onuki <omakoto@google.com> Remove com.google.android.syncadapters.contacts from exception list

Bug 26902400
Bug 26481405

Change-Id: I3b4d0217ee033f727074f68ebe6a1c1461509d04
ontentProviderClient.java
fee44846376c212114223fc4259382921e6dca7a 05-Feb-2016 Roozbeh Pournader <roozbeh@google.com> Various LocaleList cleanups

- Remove the LocaleList#getPrimary() API. It had become confusing
after locale negotiation was completely implemented. For example,
it could create the confusion that calling getPrimary() on the
default locale list would provide the default locale, etc.
- Use the adjusted locale list from LocaleList.getAdjustedDefault()
in Paints created with no locale list provided.
- Change LocaleList#get() to treat out of bound indexes from both
negative indexes and too large indexes the same way.

Bug: 26984092
Bug: 26193251
Bug: 26834387
Change-Id: I75f77aea6b75e38793ed8477e5e5a4420d5e6d85
es/Configuration.java
es/Resources.java
545569d93b5335e7f22bce614707ee956efe9904 12-Jan-2016 Felipe Leme <felipeal@google.com> Fixed typos.

Change-Id: I96f38fdeec45a3e5fc39ba13490e5a7cf32221bd
ntent.java
278fb3b35920cd7d5ba4ce3a4c24776e89007bbd 04-Feb-2016 Mikhail Naganov <mnaganov@google.com> Make flags related for "external services" public

ServiceInfo.FLAG_EXTERNAL_SERVICE is set when the service is
exported with the new public manifest attribute "android:externalService"

Context.BIND_EXTERNAL_SERVICE is used by clients when they
are binding such service.

Bug: 22084679
Bug: 21643067
Change-Id: Ifd708f90b47a1571cd54c5ec9fc217f0567d5ff4
ontext.java
m/ServiceInfo.java
fe54b11803e7940d23b6c540b2e6db738299702c 02-Feb-2016 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Add A/B OTA preopting"
f70fb29c8320901d51d997e577c15df2af0e4eef 02-Feb-2016 Wale Ogunwale <ogunwale@google.com> Merge "Allow apps that target less than N SDK to be resizeable."
0829fd4b269aafd0d64a93f00870c124bee877eb 02-Feb-2016 Selim Gurun <sgurun@google.com> Merge "Run 32-bit app in multiArch APK."
a89087542f774c585b6a6ec535fc294721710521 10-Nov-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Add A/B OTA preopting

Add an OTA Dexopt service. Refactor package manager service and
package dex optimizer to reuse some code. Add knowledge about
OTA flag to installer.

Bug: 25612095
Change-Id: I7dd6bb468fea44b9d3acf0ac7d7404fb02d0f30a
m/IOtaDexopt.aidl
c9a0237f5f49f2ffa52affb1bfd3e190b2267f22 13-Jan-2016 Tao Bai <michaelbai@google.com> Run 32-bit app in multiArch APK.

Bug: 26874366

Change-Id: I2c1fd1d036efe72b28b5fe996416df69a583959f
m/PackageParser.java
163828db30f2e6d3617bf7693f16d4e8722ef1d4 01-Feb-2016 Wale Ogunwale <ogunwale@google.com> Allow apps that target less than N SDK to be resizeable.

If an app says it is resizeable then make it resizeable
regardless of the SDK it is targetting.

Change-Id: I51a1c5417657c6b15ce035f8d5af202506f4120a
m/PackageParser.java
84867864932d7b8ed20e2c31f4568cb16bcc020e 01-Feb-2016 David Brazdil <dbrazdil@google.com> Merge "Add 'package compile' shell command"
493411ace40a8b4a90be70576f361c5b7515f29d 01-Feb-2016 David Brazdil <dbrazdil@google.com> Add 'package compile' shell command

Bug: 26707406
Change-Id: I554969c9f3b3153179370d3d23a88fa7e8693885
m/IPackageManager.aidl
33e0a5f7edc39d676bb7bd8a3e471d753f223953 01-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Add feature tag for high-performance VR devices."
40a11e525c3888613361a555d71ff13e5ef834e4 01-Feb-2016 Shreyas Basarge <snb@google.com> Merge "Updated Javadoc to reflect min period"
e96c3b7eff5290f2a6c5e572babbfa8a3897be96 29-Jan-2016 Shreyas Basarge <snb@google.com> Updated Javadoc to reflect min period

Javadoc updated and logging added for
min period and min flex enforcements
in JobScheduler and SyncManager.

Bug: 26874152
Change-Id: Ifdd248b776a1bd04df21b7b9f0ac96bdef0f8bb6
ontentResolver.java
yncRequest.java
a491c07f36350cbb13b0a3070508553ba6c96608 01-Feb-2016 Shreyas Basarge <snb@google.com> Merge "SyncManager on JobScheduler"
14a79bd12ac5e24f15f46bb19243ac97347b6a3b 31-Jan-2016 Wale Ogunwale <ogunwale@google.com> Merge changes I8d546487,Ib62d357f

* changes:
Allow resizeableActivity to be specified at the application level
Renamed manifest attributes initialWidth/Height to defaultWidth/Height
174d36d87a4b00ef16f18a388aa54592470d442d 31-Jan-2016 Wale Ogunwale <ogunwale@google.com> Merge "Renamed FLAG_ACTIVITY_LAUNCH_TO_SIDE to FLAG_ACTIVITY_LAUNCH_ADJACENT"
a8b42780c24aa6938731aff186f152a7f8829528 31-Jan-2016 Jeff Sharkey <jsharkey@android.com> Ignore null actions.

Bug: 26862905
Change-Id: I30a21e67b0f60ebca5eaccc843834059e52a6b78
ntent.java
634dc42c9e16f492b015ccafffc110952cdccec8 31-Jan-2016 Jeff Sharkey <jsharkey@android.com> Throw when using deprecated file modes.

installd no longer grants o+x to private app data directories for
apps targeting N, so the long-deprecated MODE_WORLD_READABLE and
MODE_WORLD_WRITEABLE flags no longer have any effect, which may lead
to frustrating debugging sessions.

So to help clearly communicate that these flags no longer work, let's
throw when an app targeting N tries using them.

Bug: 26886867
Change-Id: I97dae6182fc3c55639ff37a39c4aae6dd0bed507
ontext.java
35871f2c2bb114806b4e3f109960b7f863d7885c 30-Jan-2016 Jeff Sharkey <jsharkey@android.com> Offer to migrate databases and SharedPreferences.

Databases and SharedPreferences often involve multiple files under
the hood, so developers wanting to migrate them between different
storage contexts should ask us to make sure all relevant files are
migrated correctly.

This makes a best-effort attempt to recover from battery pulls
during migration, while still trying to alert developers to
conflicting files.

Bug: 26668510, 25860525
Change-Id: I9ffa3e8cb6191dfd4237b9466a081d6d77df3ba0
ontext.java
ontextWrapper.java
6afdf91b179afd4e4ae9aa0e520961e57638d637 30-Jan-2016 Wale Ogunwale <ogunwale@google.com> Allow resizeableActivity to be specified at the application level

Makes it easier for developers to set a state for all their activities
vs. doing it individually.

Bug: 26508215
Change-Id: I8d546487b6461a03f75cce7760522e7af9fc2740
m/ApplicationInfo.java
m/PackageParser.java
b12e1099ce8602b474b0867b9b872012d2ecbcdb 30-Jan-2016 Wale Ogunwale <ogunwale@google.com> Renamed manifest attributes initialWidth/Height to defaultWidth/Height

Per feedback from API council.

Bug: 26508215
Change-Id: Ib62d357f0e6309ad6f6305ba5ac376c5e3ab04e7
m/ActivityInfo.java
m/PackageParser.java
2a25a62739bca2f93aa91fbba698a6de697032b2 30-Jan-2016 Wale Ogunwale <ogunwale@google.com> Renamed FLAG_ACTIVITY_LAUNCH_TO_SIDE to FLAG_ACTIVITY_LAUNCH_ADJACENT

Per feedback from API council.

Bug: 26508215
Change-Id: Id17166fe981587c9c16c382ccbdf0846ed2ae5d6
ntent.java
54fa566ab74368bd0f0a8e9da7c695b2d33d6124 30-Jan-2016 Jaewan Kim <jaewan@google.com> Merge "PIP: Use StatusBarService to handle PIP key"
8c834c07675052c984728cbf79f7c2e0d8246e43 07-Jan-2016 Shreyas Basarge <snb@google.com> SyncManager on JobScheduler

SyncManager now uses JobScheduler for scheduling
and persistence purposes.

Change-Id: I38c92aedbf4d891ca297644d0b706835aaedfcd6
ontentResolver.java
yncRequest.java
b1faf60b896afe235175354ffd90290ff93a54b4 27-Jan-2016 Wale Ogunwale <ogunwale@google.com> Use resizeMode integer instead of resizeable boolean.

Changes activity manager and window manager to use resizeMode
as defined by ActivityInfo#resizeMode instead of a boolean.

Bug: 26774816
Change-Id: I8cef46d9fba6bfdd21df7da63ed5d5330ad03d4b
m/ActivityInfo.java
c552b04cb4aac9d31dbaf9744f32ddc14886e222 18-Jan-2016 Jaewan Kim <jaewan@google.com> PIP: Use StatusBarService to handle PIP key

Bug: 26591829
Change-Id: I7051fab966e2fc0887b2a21ddbf11aff7e16804b
ntent.java
344744b49633a7f8aa0c8e43469bbfcf9d8e2cab 29-Jan-2016 Jeff Sharkey <jsharkey@android.com> Exposing file:// beyond your app is bad, m'kay?

For several releases now we've told developers that sharing raw files
between apps is a recipe for trouble. There are at least three major
problems with sending raw files:

-- Apps sending generic intents can't know who is at the other end,
so they may not have access to shared storage locations. This is
more likely now that runtime permissions require apps to explicitly
ask users for permission.

-- Apps making files in their private storage world-readable has been
deprecated for several releases, and now in N it's fully blocked. If
we let these intents through, the receiving app would fail to open
the file, when the real blame rests on the sending app.

-- Devices with user profiles can't share raw files when using
cross-profile intent filters, since filesystem access is fully
locked down between users.

The time has finally come to communicate clearly that if you're
sharing content between apps, you need to use content:// Uris. We
added the simple FileProvider several years ago to give apps a clean
way to migrate with minimal work on their part.

Bug: 26860922, 9069185
Change-Id: I075f627f6a0d6c7fca2c090ca133b9aae9801c64
roadcastReceiver.java
lipData.java
lipboardManager.java
ntent.java
c26d59f6abc875ff3a1bba1b5cc3fd9f73dd3dfd 28-Jan-2016 Jeff Sharkey <jsharkey@android.com> Fix activity-alias encryption awareness bug.

Since the activity-alias is backed by the same code as the original
activity definition, they should both have an identical encryption
awareness. This fixes a bug where we accidentally dropped that value.

Bug: 26731340
Change-Id: I6ad615332df7d16542893a49e6997c88fc24334b
m/PackageParser.java
7b9f2e1d86e5017dbf5530356ec30d090f703a67 28-Jan-2016 Fyodor Kupolov <fkupolov@google.com> Merge "Added SystemApi for getting serial numbers of users"
940e8577a1569140521fb605336997863529f7ad 26-Jan-2016 Fyodor Kupolov <fkupolov@google.com> Added SystemApi for getting serial numbers of users

Also added UserHandle version of queryBroadcastReceiversAsUser.

Bug: 25844894
Change-Id: I78ecbef186e4ced10425ae2899db72c2d91c5792
m/PackageManager.java
ec498e8ebedbfbb614808ca1cd4455886fa80af1 28-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Report FBE through a feature string."
b92b05bb4bcaa6f7869128e925d0331eee62e4da 28-Jan-2016 Jeff Sharkey <jsharkey@android.com> Report FBE through a feature string.

Since devices can be converted to enable/disable FBE across a
factory reset, we offer to add the features dynamically depending
on device status.

Bug: 26808417
Change-Id: I905140ba500a5e69756b547f2b1d6167b9a37dc6
m/PackageManager.java
0a4b4cdf1c2abfe301742f639015a272ee42f98d 28-Jan-2016 Ryan Lothian <rjlothian@google.com> Merge "Update SharedPreferences javadoc"
d26176f36039e33b575c044aa119c57e82744847 26-Jan-2016 Wale Ogunwale <ogunwale@google.com> Support different multi-window compatibility modes

- Change idea of activity resizablility from true or false to
unresizeable, cropped_windows, resizeable, and resizeable_and_pipable
- Default pre-N apps to cropped_windows mode and N or greater apps to
unresizeable or resizeable depending on the value of resizeableActivity
attribute.
- Mark legacy apps that specify fix orientation or immersive only mode
as unresizeable.
- Change to hide docked stack when unsupported app is the focus app.

Bug: 26774816
Change-Id: Ie473d36ca95f08e9332ab10fd2f0ec17ef50a02f
m/ActivityInfo.java
m/PackageParser.java
868ed48c1342425921b807ffc4446a369cd95f45 28-Jan-2016 Ryan Lothian <rjlothian@google.com> Update SharedPreferences javadoc

Remove 6-year-old promise to add multi-process support
for SharedPreferences: our docs elsewhere suggest using
a ContentProvider for multi-process preferences instead.

Change-Id: Ic44550ce46fe62ed2c4ab40b6fa7f7090d5b1d7b
haredPreferences.java
de3dbb463c30b53ac0a254f69ffa01416dcbadb3 28-Jan-2016 Tenghui Zhu <ztenghui@google.com> Merge "Gradient for VectorDrawable's fill and stroke"
5fc9b8b86b3ee5aaea2e0b288f70e66930994d6f 28-Jan-2016 Suprabh Shukla <suprabh@google.com> Merge "Added a constant to be used as an Intent extra"
74a2fe4f03292d78d3823c87ec1fead46f6d7c57 27-Jan-2016 Suprabh Shukla <suprabh@google.com> Added a constant to be used as an Intent extra

Added a constant which can be specified to skip the uninstallation
confirmation dialog. Useful in cases where we want to show a different
warning message to the user before starting the UninstallerActivity

Change-Id: Ia87184a9ad715b628118feb447388625b8bf7f1c
ntent.java
a35b5539a95342799a18e95616c5e5751a198e4c 20-Jan-2016 Peng Xu <pengxu@google.com> Dynamic Sensor Discovery Implementation

Defined the dynamic sensor meta data type and UUID of sensor, as well
as the broadcast intent that is related to dynamic sensor status
change.

Modify SensorManager, SystemSensorManager and the JNI layer to support
dynamic sensor discovery.

Added SensorNotificationService to notify apps that sensor connected
or disconnected via broadcast.

Change-Id: I28adfb005357d7e3983d65117d6865830c75027d
ntent.java
dbee9bb342cdfaa5155b1918f90262c05e2464cb 15-Dec-2015 Teng-Hui Zhu <ztenghui@google.com> Gradient for VectorDrawable's fill and stroke

Add ComplexColor interface for both GradientColor and ColorStateList.
Set up constant state, factory, theme attrs for GradientColor, while
refactoring the ColorStateList's similar code. (Functionality in CSL should
be the same).

Support themeing in both the root and item level in GradientColor.
For example, both startColor in <gradient> tag or color in <item> tag can
have theme color.
Add tests for both simple and complex cases with themeing etc.

Hook up the native VectorDrawable implementation using 2 extra JNI calls for
simplicity. Such calls only happen at inflate and applyTheme call.

b/22564318

Change-Id: Ibdc564ddb4a7ee0133c6141c4784782f0c93ce0e
es/ColorStateList.java
es/ComplexColor.java
es/GradientColor.java
es/Resources.java
es/TypedArray.java
8b0b0e3b92d227817f7f64691d092dddbbb72d60 28-Jan-2016 Felipe Leme <felipeal@google.com> Merge "Minor improvements on parseCommandArgs,"
31d80ea1815d41b3b8fe2698732dfc310a0fc633 26-Jan-2016 Ruben Brunk <rubenbrunk@google.com> Add feature tag for high-performance VR devices.

Bug: 26667978
Change-Id: I4adeaebdf4cb77eb8ba889bd25f678d873c493cd
m/PackageManager.java
a772e5fc062c8de48cb9c1d61755110f6b2e189b 25-Jan-2016 Arunesh Mishra <arunesh@google.com> SoundTrigger API improvements.

This CL implements the SoundTrigger API improvements as given in b/22860713. Only the java-level
parts are implemented in this CL.

Key changes include:

* Addition of a SoundTriggerManager/SoundTriggerDetector system API to manage
the sound-trigger based sound models.
* Addition of a SoundTriggerService service that manages all sound models
including voice (keyphrase) and sound-trigger based models.
* Includes logic to write sound-trigger based models to the database.
* VoiceInteractionManager service now uses SoundTriggerService instead of
SoundTriggerHelper.

Bug: 22860713
Change-Id: I7b5c0ed80702527c4460372efeb5e542d3693a69
ontext.java
3cb48cd2a8a73bde15f88810fb4542777ef7ee83 27-Jan-2016 Felipe Leme <felipeal@google.com> Minor improvements on parseCommandArgs,

- Added --receiver-foreground flag.
- Documented -f flag.

BUG: 26805230
Change-Id: Iee7a45dba549773abd7b026f5205ab94f0a8ef2a
ntent.java
8b8b242985d3b12d21be11e8f0efb74d3236ea74 27-Jan-2016 Polina Bondarenko <pbond@google.com> Merge "HardwarePropertiesManager: Add API for hardware properties retrieval"
486117bf5b3e6f1c5af0a176c4f07a06d44ab42f 27-Jan-2016 Roozbeh Pournader <roozbeh@google.com> Merge "Move locale negotiation to ResourcesManager"
a74e729fa991064dd6eba8c49924b2a88efdc463 27-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Fix SecurityException in Editor.onDrop"
9465a0383148338a702818f65029b051f58d9219 26-Jan-2016 Vinit Deshpande <vinitd@google.com> Merge "Remove older passpoint code that we never made to work" into mm-wireless-dev
am: 82c8b7edd0

* commit '82c8b7edd0656bcab79411c8dbfe3651a314a559':
Remove older passpoint code that we never made to work
c14df8e73d093f839c4ea2585eade6ae6690d224 22-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Fix SecurityException in Editor.onDrop

When a content URI is dropped onto EditText, it tries making sense
of the contents, and in the process it accesses the content provider.
If this content provider requires a permission grant, SecurityException
occurs.

This fix does two things:
1. Editor.onDrop now requests DropPermissions and releases is
when it is done. This required the introduction of a new hidden method
DropPermissions.takeTransient, because the existing method required
access to an Activity instance.

2. If the drag originator neglected to allow the permission grant,
DropPermission request would not help, so a try/catch block
is added to Editor.onDrop to avoid breaking the recipient app.

Bug: 26694948
Change-Id: I714429a507e62c83a150d91fbcdee791bced3ad3
lipData.java
cb90cfbe16ab4828eaee3ab3b2de864a1f83fb06 26-Jan-2016 Vinit Deshpande <vinitd@google.com> Remove older passpoint code that we never made to work

Since we are hiding MO trees et al; there is no reason to
keep this code anymore.

Change-Id: Ic92131b5949c3b97b7a55fa7d3e0cd8f9e933aa0
ontext.java
834641b3908b21e7054c290e116d76e3d5e6888c 24-Jan-2016 Roozbeh Pournader <roozbeh@google.com> Move locale negotiation to ResourcesManager

Previously, locale resolution happened at Resources level, which
could result in different Resources in the same app using different
locales.

This change moves the locale negotiation to ResourcesManager, which
remembers the locales supported by each Resources as they are
created, and negotiates the locale based on their union.

It also makes sure that the old model of apps getting the default
locale by accessing it through the Configuration's locale attribute
continues to work, since the negotiated locale will be moved to the
top of the list before Resources are created and when they are
updated with a Configuration change.

Bug: 25800576
Bug: 26404653
Change-Id: I0dd81df288327fd8d1229188c9544ee2209c161a
es/Resources.java
8de29ca4f3ce2be808eb17cd8739bb533d968a37 22-Jan-2016 Kweku Adams <kwekua@google.com> Fixing typo in ApplicationInfo documentation.

Change-Id: I6d1d2e5d8bdfefa5ac28e3be46cca78b3a4b09e7
m/ApplicationInfo.java
bfb94e21d3b54cf3ab57a9fe78335aa576b0ab01 25-Jan-2016 Dianne Hackborn <hackbod@google.com> Merge "Add and implement JobScheduler content observer APIs."
795c458c89418885f146f40b8d4de96fb0d08ffe 25-Jan-2016 Rubin Xu <rubinxu@google.com> Merge "Turn off profile by stopping the user."
f13c9801697ccac3171137df10dd15f491dd15bd 21-Jan-2016 Rubin Xu <rubinxu@google.com> Turn off profile by stopping the user.

Bug: 22541941
Change-Id: I713ab9b87f3dd1b7bd6206af137562d20a44d76d
ntent.java
f82ab8bea4c914c567a3487297fd4914561978a1 25-Jan-2016 Martijn Coenen <maco@google.com> Merge "Implementation of HCE for NFC-F." am: e168012ff2
am: cf2f9d0966

* commit 'cf2f9d0966af01eb269b9ce6f2d08870647dd22f':
Implementation of HCE for NFC-F.
cf2f9d0966af01eb269b9ce6f2d08870647dd22f 25-Jan-2016 Martijn Coenen <maco@google.com> Merge "Implementation of HCE for NFC-F."
am: e168012ff2

* commit 'e168012ff21408f8be85040bb4ac977061519f62':
Implementation of HCE for NFC-F.
c46d891170f061e8c97b2c6938638b2a46e6524b 25-Jan-2016 Tomasz Mikolajewski <mtomasz@google.com> Merge "Make ACTION_QUICK_VIEW public."
1a30bd9b13fd127d9bbfdc5fd4cb2f80ab7ece21 11-Jan-2016 Dianne Hackborn <hackbod@google.com> Add and implement JobScheduler content observer APIs.

Allows one to schedule jobs to run when content URIs
change, and find out what changed when the job executes.

This required adding a new API to StateController to
tell it when we are about to start executing a job, so
we can transfer the currently collected changes out of
its internal state to fill it in to the JobParameters.

Also some additional dumpsys debug output to help
understand what is going on in the job scheduler.

Change-Id: I91f51b226ff4add7a271a8333beffa5e86c7bf18
ontentResolver.java
21f255dea9c7831b2764c3f7d418a88d64a46aa3 22-Jan-2016 Felipe Leme <felipeal@google.com> Merge "Created a new API to grant scoped directory access to applications."
c7b1f89e9e86fcea8e4d334cebbf427dbd278ae1 16-Jan-2016 Felipe Leme <felipeal@google.com> Created a new API to grant scoped directory access to applications.

The Storage Access Framework currently provides an
API (OPEN_DOCUMENT_TREE) that lets the user pick a directory to be used
by the application. Although this APIs is very powerful (for example, it
allows the user to create sub-directories, delete and share files,
etc...), it's too complex for simpler use cases like a camera
application trying to have access to the standard Pictures directory.

The new API (OPEN_EXTERNAL_DIRECTORY) simplifies this scenario by
letting the application select a standard, pre-defined directory (as
defined by android.os.Environment). The user still needs to grant access
to the requested directory, but the resulting UI will be simpler and
more straightforward.

Usage example:

// ...
int requestCode = 42;
Intent intent = new Intent(Intent.ACTION_OPEN_EXTERNAL_DIRECTORY);
intent.setData(Uri.fromFile(
new File(Environment.getExternalStorageDirectory(),
Environment.DIRECTORY_PICTURES)));
startActivityForResult(intent, requestCode);
// ...

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;
}
Uri uri = data.getData();
int modeFlags = data.getFlags()
& (Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(uri, modeFlags);
}

BUG: 23011462
Change-Id: Ie832026532f74e681ef220b761667eb66ff3c8b0
ntent.java
965ecbbb3eb19007690c333ab3aa05e380deb633 13-Nov-2015 Polina Bondarenko <pbond@google.com> HardwarePropertiesManager: Add API for hardware properties retrieval

Add serive "hardwareproperties" and methods getDeviceTemperatures,
getCpuUsages and getFanSpeeds to retrieve hardware properties:
device temperatures (CPU, GPU and battery), CPU usages and fan speeds.
This is a public API.

Bug: 22407109
Change-Id: If7efcbba7b160256d41704b60d93a7218dcc79d7
ontext.java
319fb497db6c4a35da34be35641af2705709bd88 19-Jan-2016 Tomasz Mikolajewski <mtomasz@google.com> Make ACTION_QUICK_VIEW public.

Bug: 20822219
Change-Id: I301031c513d31890d46819c2c911c342978bdc2e
ntent.java
c52adfe12469a1d1bcd5b7119b83363e094a7b84 22-Jan-2016 Yoshinobu Ito <Yoshinobu.Ito@jp.sony.com> Implementation of HCE for NFC-F.

This impementation includes HCE(Host-based Card Emulation) for NFC-F
which emulates NFC Forum Type 3 Tag on a smartphone.

Signed-off-by: Daisuke Ito <DaisukeE.Ito@jp.sony.com>
Yoshinobu Ito <Yoshinobu.Ito@jp.sony.com>

Change-Id: I1618a7fba801e0705ff3cc078206a1446b3dd56d
m/PackageManager.java
e6ff946cd4f40a0d4f3de51b6554e07b8d3cee93 16-Jan-2016 Selim Cinek <cinek@google.com> Switched the work profile badge used in the notifications

Change-Id: I62616f1ae8fcda9953853b9859c69a9f1e6f44ca
m/PackageManager.java
5fc753acaf9731742957db256b2818376fe8c4a4 21-Jan-2016 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Redact Account info from getCurrentSyncs am: a5cafd2a93
am: 06ef7dfdf0

* commit '06ef7dfdf0a3efb44326228c55309ec6df134376':
DO NOT MERGE Redact Account info from getCurrentSyncs
06ef7dfdf0a3efb44326228c55309ec6df134376 21-Jan-2016 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Redact Account info from getCurrentSyncs
am: a5cafd2a93

* commit 'a5cafd2a93ce1c481328e2ce25c3bf2a19b81601':
DO NOT MERGE Redact Account info from getCurrentSyncs
772427555f2624b38124ab8e586ac0ccc451eb53 15-Jan-2016 Kenny Guy <kennyguy@google.com> Update PackageMonitor and LauncherApps for suspended apps.

Allow launchers to read ApplicationInfo from LauncherApps
to support suspended flag.
Provide callback to launchers via LauncherApps for suspend
/unsuspend broadcasts.

Change-Id: I772a121c45f60f926e8343bb6f181bef4e8929d3
m/ILauncherApps.aidl
m/IOnAppsChangedListener.aidl
m/LauncherApps.java
a5cafd2a93ce1c481328e2ce25c3bf2a19b81601 20-Jan-2016 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Redact Account info from getCurrentSyncs

BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
(cherry picked from commit b63057e698a01dafcefc7ba09b397b0336bba43d)
yncInfo.java
a0e10434c49c6fe075e853da2046fd281318c4c4 20-Jan-2016 David Brazdil <dbrazdil@google.com> Extract APKs on install or OTA

ART will unzip APKs in memory during launch if an OAT file is not
present. To save the time and memory, this patch will invoke dex2oat
with '--compiler-filter=verify-at-runtime' to unzip the APK during
install or after an OTA.

Change-Id: I16583f9450ad60356123a29f7a6a649b2ab9999f
m/IPackageManager.aidl
1f0945e9f6fc81f5c58da24a29c86e1efa2714ef 20-Jan-2016 Raph Levien <raph@google.com> Update mResolvedLocale more aggressively

A client that mutates the locale of the Configuration being updated
can cause failure of the test that mResolvedLocale needs to be
recomputed. This patch stashes the previous locale list privately
so that updates can be detected even in this case.

Bug: 25993843
Change-Id: I1ea17dffd722177fb5b65ee77b9f5ce9a943f15b
es/Resources.java
506e47fcc40ed8576e59abc464ffc5575cacc374 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c am: 0f292147f3 am: ce3842eb1a am: 85f169d19f am: c77a2228aa am: 4cc10825f0
am: 88d641ce26

* commit '88d641ce265fe1c6b188b5fa2a2397f3fa8e15ba':
Redact Account info from getCurrentSyncs
88d641ce265fe1c6b188b5fa2a2397f3fa8e15ba 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c am: 0f292147f3 am: ce3842eb1a am: 85f169d19f am: c77a2228aa
am: 4cc10825f0

* commit '4cc10825f0234d365016a18e1f86d61cbd2fd030':
Redact Account info from getCurrentSyncs
85f169d19f200daa35a30652905d6daf090955c6 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c am: 0f292147f3
am: ce3842eb1a

* commit 'ce3842eb1a5184331ee4aad3e36d5f11f999cf2e':
Redact Account info from getCurrentSyncs
69d5ebc59e3cbc9c394906a95dc4b9bdc3355c08 14-Jan-2016 Andrei Stingaceanu <stg@google.com> Suspend apps - broadcast intent and API

Send a protected broadcast to registered receivers only
when packages get suspended.

Bug: 22776761
Change-Id: I043053ed45bdc202ead18518a0c1e39cce47947c
ntent.java
ce3842eb1a5184331ee4aad3e36d5f11f999cf2e 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c
am: 0f292147f3

* commit '0f292147f3ac803a8701afd7362ad3e0487fd496':
Redact Account info from getCurrentSyncs
0f292147f3ac803a8701afd7362ad3e0487fd496 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e
am: a947baa87c

* commit 'a947baa87caeb6733846d6de4ef2bf84f7ab0fa1':
Redact Account info from getCurrentSyncs
a947baa87caeb6733846d6de4ef2bf84f7ab0fa1 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb
am: be136b7a3e

* commit 'be136b7a3e3f117dea283d194d1e6979fb47662b':
Redact Account info from getCurrentSyncs
0e7cd0a9fbdcb48c551d54627eb964364dd946d0 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs am: f39549e389
am: 1a0aed3257

* commit '1a0aed3257ad1b8216930928090885cf4210bd87':
Redact Account info from getCurrentSyncs
1a0aed3257ad1b8216930928090885cf4210bd87 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs
am: f39549e389

* commit 'f39549e389edf62f43bacd95a1b8580d75ad77ed':
Redact Account info from getCurrentSyncs
309a75556af595ccbc0f0e06828b141cc040afbc 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Revert "Redact Account info from getCurrentSyncs"

This reverts commit b63057e698a01dafcefc7ba09b397b0336bba43d.

Reverting this b/c http://droidmerger-01.mtv.corp.google.com:8888/googleplex/branch/lmp-dev
claims there's an automerge path from lmp-dev all the way to master.

Change-Id: Ia99a20410153442436ea836b5223a524b640dcbf
yncInfo.java
f39549e389edf62f43bacd95a1b8580d75ad77ed 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs

BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
(cherry picked from commit b63057e698a01dafcefc7ba09b397b0336bba43d)
yncInfo.java
b63057e698a01dafcefc7ba09b397b0336bba43d 20-Jan-2016 Matthew Williams <mjwilliams@google.com> Redact Account info from getCurrentSyncs

BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
yncInfo.java
12747879b0204b9dfee997eddc981d09289e8b77 07-Dec-2015 Amith Yamasani <yamasani@google.com> User creation with an intent

New API for an app to request creating a new user with
a given user name and seed account information for the
SetupWizard to use when that user is switched into.

Also adds system APIs to read the seed account data from
UserManager.

Bug: 22776757
Change-Id: I0bc3f11ee19c15e0ee2a908c88d98b13296cc30d
m/UserInfo.java
2a0a2e0129694c28686f7cf80b671ad777335207 16-Jan-2016 Mikhail Naganov <mnaganov@google.com> Merge "Mark Context.BIND_EXTERNAL_SERVICE as SystemApi"
11a27b19d17bb7cf8a83a34a60924971feaf7cb2 15-Jan-2016 Youngsang Cho <youngsang@google.com> Merge "PIP: Use long press HOME for PIP on Android TV (2/2)"
8a790c04692cff832f5641ff5eb05834b5e93a7a 15-Jan-2016 Mikhail Naganov <mnaganov@google.com> Mark Context.BIND_EXTERNAL_SERVICE as SystemApi

This way, it can be used in WebView's Chromium code.

Bug: 22084679
Bug: 21643067
Change-Id: Ia34f08857d02876f94b24df79c46212d34b01036
ontext.java
e9fd1fa31ad6f62d1eb6f32cdcdab50349f246eb 16-Sep-2015 Christopher Tate <ctate@google.com> Back up / restore runtime permission grants

Only user-originated grant actions are backed up/restored. This
includes outright grants, one-time denials, and "never ask again"
type denials.

Bug 19870549

Change-Id: I78b4a8abb713dc5d74b93cb53217b212d57b26e4
m/IPackageManager.aidl
52632e21faf5aa63e53e5626046bc1742cba100c 14-Jan-2016 Jaewan Kim <jaewan@google.com> PIP: Use long press HOME for PIP on Android TV (2/2)

Bug: 25580820
Change-Id: Ic269132ec7de1e725989ad57a1ee205b3334e3bb
ntent.java
3da7357951a1981ecf40391e19ad8e53b45cb046 15-Jan-2016 Etan Cohen <etancohen@google.com> Merge "NAN: baseline NAN manager for discovery." into mm-wireless-dev
am: e540b64aaf

* commit 'e540b64aaf58460f7930a5e4937cee660215c948':
NAN: baseline NAN manager for discovery.
224af9e3f831cd5cac0693ad2221b02ba12caed3 15-Jan-2016 Alex Klyubin <klyubin@google.com> Merge "Verify APKs using APK Signature Scheme v2."
20d329b08df7d1a94e6caee781f09e812a79c913 29-Sep-2015 Etan Cohen <etancohen@google.com> NAN: baseline NAN manager for discovery.

Initial framework for user API (all @hide for now). Supports:
- NAN configuration
- Publish/Subscribe = Discovery
- Message passing
- Notifications

Bug: 26216681
Change-Id: I72e467756a02f7b80c52fae916b9a47c8174af42
ontext.java
m/PackageManager.java
32cb9ab5cc793609c174870c704169a9f99a158c 14-Jan-2016 Dongwon Kang <dwkang@google.com> Fix javadoc related to ACTION_MEDIA_RESOURCE_GRANTED

This addresses comments left in If506a533c5c7b567e770217a9430bf68b539677a

Change-Id: I6f952db6a8fa246d974bab556be3e21fe1b7f3da
ntent.java
ab064b3b3687424e14dccfd60ff9a8f93ec22c23 13-Jan-2016 Dongwon Kang <dwkang@google.com> Merge "Add a way for SystemUI to receive media resource (e.g. A/V codec) usage"
e415718502897a4e5385af47d3bbe8c8257c2e5d 05-Jan-2016 Alex Klyubin <klyubin@google.com> Verify APKs using APK Signature Scheme v2.

This makes Package Manager check whether an APK is signed using APK
Signature Scheme v2 and, if it is, verify the APK's signatures using
that scheme rather than the usual JAR signature scheme.

APK Signature Scheme v2 is a whole-file signature scheme which aims
to protect every single bit of the APK as opposed to the JAR signature
scheme which protects only the names and uncompressed contents of ZIP
entries.

The two main goals of APK Signature Scheme v2 are:
1. Detect any unauthorized modifications to the APK. This is achieved
by making the signature cover every byte of the APK being signed.
2. Enable much faster signature and integrity verification. This is
achieved by requiring only a minimal amount of APK parsing before
the signature is verified, thus completely bypassing ZIP entry
decompression and by making integrity verification parallelizable
by employing a hash tree.

Bug: 25794543
Change-Id: If59fe013f2e62bac7677bb20e65f6061b91eec2e
m/PackageParser.java
81d867f5db7fc97d4a1b775c9089e43fea9f826b 13-Jan-2016 Robert Sesek <rsesek@google.com> Merge "Add external services, a way to run isolated processes as a different package."
c3132513bf73022cb299c9041727233300c46a5c 12-Jan-2016 Jeff Sharkey <jsharkey@android.com> Parsing a static archive should be stateless.

When the caller hasn't specific encryption-related matching flags,
we should match both aware and unaware components.

Bug: 26508249
Change-Id: I2c35f6e00e451ba3f5fa0810223b7a3d80dee233
m/PackageManager.java
2034a4c4c5edd1516d03b73a8c8d8600eb3d4cbc 14-Dec-2015 Dongwon Kang <dwkang@google.com> Add a way for SystemUI to receive media resource (e.g. A/V codec) usage

Bug: 26175834
Change-Id: If506a533c5c7b567e770217a9430bf68b539677a
ntent.java
b9a8666eb5504f022343fef9087135b7d937ddf8 09-Dec-2015 Robert Sesek <rsesek@google.com> Add external services, a way to run isolated processes as a different package.

This adds android:externalService boolean attribute to <service>. If that
attribute is true, then bindService() may be called with
BIND_EXTERNAL_SERVICE to create the new service process under the calling
package's name and uid. The service will execute the code from the package in
which it is declared, but will appear to run as the calling application.

External services may only be used if android:exported="false" and
android:isolatedProcess="true".

Bug: 22084679
Bug: 21643067
Change-Id: I3c3a5f0ef58738316c5efeab9044e43e09220d01
ontext.java
m/PackageParser.java
m/ServiceInfo.java
9229ee595988c66f1c59409a963fef88b2c30e03 12-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Install non-EA providers once user is unlocked."
12705131b95d5d6bcfae79d7991ff3e6f02457e4 06-Jan-2016 Todd Kennedy <toddke@google.com> Hide ephemerality

Change-Id: Ibf60366b3f00b1920e330cd804bcc1c550f8882a

Bug: 26404647
m/PackageManager.java
5eeefba37c8ef7fe6fed3cfc37d9f18f9d6e34b2 11-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Temporary patch to work around broken casting."
6c4b87be9ea2b6c44a1c5f98fe6561f4008125e7 11-Jan-2016 Jeff Sharkey <jsharkey@android.com> Temporary patch to work around broken casting.

Bug: 26481405
Change-Id: If91ecfbfda94a2cb694098d456126f87311e1d05
ontentProviderClient.java
bc215b8426a706c0813575f95d9bd076a060eda2 10-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Fix NPE when UID has no packages."
377ded0fce449f77cd7efae35f97722cdab52693 10-Jan-2016 Jeff Sharkey <jsharkey@android.com> Fix NPE when UID has no packages.

Bug: 25224723
Change-Id: I637214666a1f02bd23474c27a285eea9152cfa9d
m/PackageManager.java
2bd31dbd023a11d90061c7b6831dd06454c928af 10-Jan-2016 Jeff Sharkey <jsharkey@android.com> Install non-EA providers once user is unlocked.

When starting encryption-aware apps while the device is locked, we
can only spin up ContentProviders that have been marked as
encryption-aware. Once the user is unlocked, we need to go back and
install non-encryption-aware providers in already running apps.

Fix bugs in getPackageInfo() where only one of the various MATCH_
flags was being consulted (!). Move matching logic to single unified
location in PackageUserState so we have consistent behavior.

Fix another class of bugs where Safe Mode wasn't correctly filtering
package details (!). These bugs are fixed by splicing in the new
MATCH_SYSTEM_ONLY flag as part of state-based flag mutation that was
added for encryption.

Bug: 25944787
Change-Id: I39c8da74b1f9ba944cc817176983f50ba322329c
m/PackageParser.java
m/PackageUserState.java
3ea44a52f00d0e359d48969663e6691a5d8bdae7 09-Jan-2016 Jeff Sharkey <jsharkey@android.com> Device encrypted storage is always available.

In order to support backup/restore on devices without native FBE
support, we always need to make the DE storage area available. Add
docs clarifying the lifecycle.

Bug: 26279618
Change-Id: I789915f295b10aca6bf80ca58406aea212835ffd
ontext.java
5aa86938b8b50a20830bc3d608321fc4c0afb0e8 09-Jan-2016 Jeff Sharkey <jsharkey@android.com> Fix docs build by removing bad links.

Also define InstallFlags and DeleteFlags, and point installPackage()
users towards new PackageInstaller APIs. Remove old movePackage()
API that is no longer used.

Change-Id: I661a65149e4778a7591dbd912b72b4dd81b266da
m/PackageManager.java
2b60ca45a1e97bd62e84e5de6ebd353fef956a80 09-Jan-2016 Amith Yamasani <yamasani@google.com> Fix typo in javadoc

Change-Id: I7a61f84f9d19d5ebc64c3a6e01eea42c3fac4fed
m/PackageManager.java
cd65448ccd13c4c2d0fe9e9623fec3a898ab9372 09-Jan-2016 Jeff Sharkey <jsharkey@android.com> Even more PackageManager caller triage.

Finish moving all UID/GID callers to single AIDL method that requires
callers to provide flags.

Triage AppWidgets and PrintServices, which currently can only live on
internal storage; we should revisit that later.

Fix two bugs where we'd drop pending install sessions and persisted
Uri grants for apps installed on external storage.

Bug: 26471205
Change-Id: I66fdfc737fda0042050d81ff8839de55c2b4effd
m/IPackageManager.aidl
m/PackageManager.java
629f98466a4c2d778ddd4ce5a9df107e28f9b98a 09-Jan-2016 Jeff Sharkey <jsharkey@android.com> Fix build.

Change-Id: If128c90225a2237ea015063cec526a64af5bf576
m/PackageManager.java
c4fd3c9871e8a2b28ccc6bb51bf4a62b913dba0a 09-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Update javadoc for flags"
6b9bfa1d16f5b3c28b140ae579c031938f207c43 08-Jan-2016 Todd Kennedy <toddke@google.com> Update javadoc for flags

Bug: 25997037
Change-Id: Ia44634b0271ad0195d857ef13afec2a1ef022fae
m/PackageManager.java
0ab0bdde2b39c77175d9e0d69d6631e130e4b5ac 09-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "More progress on triaging PackageManager callers."
c5967e9862489024c932b0c7fcb84ed0af2a7fd7 08-Jan-2016 Jeff Sharkey <jsharkey@android.com> More progress on triaging PackageManager callers.

Catch a bunch of simple cases where the PackageManager flags are
obvious. Add the ability to use the MATCH_SYSTEM_ONLY flag on
PackageInfo and ApplicationInfo queries.

Re-examine recent tasks after a user is unlocked, since some of the
activities may now be available and runnable.

Bug: 26471205, 26253870
Change-Id: I989d9f8409070e5cae13202b47e2c7de85bf4a5b
m/PackageManager.java
m/PackageParser.java
02714165634c8a1d455cf25fb9c1b364fd63c864 08-Jan-2016 Todd Kennedy <toddke@google.com> Merge "Update PackageInstaller install handing"
am: 47950e588c

* commit '47950e588c59ff58d12b3429d285e3330b9dfe01':
Update PackageInstaller install handing
bd9402289311c4f3afc3c319075d89cd8ed2fcc4 08-Jan-2016 Jeff Sharkey <jsharkey@android.com> Oh look, GmsCore is using more hidden APIs.

Bug: 26429932
Change-Id: Ie949d4bbdead8864aaed16282a591258ef528ca8
m/PackageManager.java
703fe24e25327f9e039185be4a0e4a34f69bef08 08-Jan-2016 Jeff Sharkey <jsharkey@android.com> Null cursors don't need to be wrapped.

Change-Id: I59b604a60a066c2d808a796658757af952ef913c
ontentProviderClient.java
819d2745b4e04eb684ab323742b718c66d19c2c1 30-Sep-2015 Todd Kennedy <toddke@google.com> Update PackageInstaller install handing

* Allow forcing permission check. We want to modify the PackageInstaller to
use the PackageInstallerSession for better security / remove deprecated APIs.
In order to do this and continue to prompt for permissions, we need to prevent
the PakcageInstaller from auto-approving the permissions.

* Add originating UID to SessionParams. This is used for package verifier
checks.

Bug: 22282121
Change-Id: I19079749d20ace66f1332f399d52cb0fb8784cd9
m/PackageInstaller.java
m/PackageManager.java
ba75a9b6bab16114a8206015a4d2c7ce3bd70f2a 07-Jan-2016 Jeff Sharkey <jsharkey@android.com> Instrumentation targets must have code.

If they don't have code, give the developer a somewhat helpful error
message instead of later falling into a weird classpath failure.

Change-Id: Iebda10173ff99943cbbd71127ae24aa455b709f4
m/ApplicationInfo.java
8588bc1ef1f020bbe4a24d46874f675708149a57 07-Jan-2016 Jeff Sharkey <jsharkey@android.com> Add flags to requests for package UID/GIDs.

This gives callers the ability to request details for missing
packages. Also add annotations for userId and appId variables and
start tagging their usage.

Change-Id: I63d5d7f870ac4b7ebae501e0ba4f40e08b14f3f6
ontentResolver.java
ontext.java
m/PackageManager.java
8b0db0401e1a1c2582180edb39efb25e28521afa 07-Jan-2016 Jeff Sharkey <jsharkey@android.com> GmsCore is casting to a concrete subclass, sigh.

Since this technically wasn't an API change, there isn't a good
reason to protect with target API. So change the behavior based on
the caller for now.

Bug: 26438049
Change-Id: I65aa1fc9af1f935544f8e191444440af4f98f26f
ontentProviderClient.java
a73b8fd1f4faaad00d8a49d6e496aaf249fa7003 07-Jan-2016 Jeff Sharkey <jsharkey@android.com> Add some TestApis to fix build.

Change-Id: Icf0d8d63f3a41d99e46ebe96003863bae637bd9d
ontentResolver.java
ontext.java
m/ApplicationInfo.java
m/PackageManager.java
51f3908c6a788f82d8188762c0680594a54b17ae 06-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Consistent naming for PackageManager methods."
e06b4d1d9f718b9fe02980fea794a36831a16db2 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Consistent naming for PackageManager methods.

When hidden PackageManager methods take a userId argument, they
should be named explicitly with the "AsUser" suffix. This fixes
several lagging examples so that we can pave the way to safely
start passing flags to new methods without scary overloading.

Also fix spacing issues in various logging statements.

Change-Id: I1e42f7f66427410275df713bea04f6e0445fba28
m/PackageManager.java
81cf69a3b4e84c504772173900efbdb606a6eef1 06-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Update logic for resolving verifiers."
2a90f673f5819e05ea72f6aba3e75956e0f807dc 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Update logic for resolving verifiers.

Verifiers or installers may not be encryption-aware, or the user may
have disabled them, so we probe pretty deeply during system boot to
resolve them. Use the new MATCH_SYSTEM_ONLY flag to limit results to
packages on the system image.

When there are multiple matches, pick the one with highest priority
instead of crashing the system.

Switch to updated MATCH_ constants in more places.

Bug: 26250295
Change-Id: Ia7a3b1fb74da6c3b9d2c2edbf1deaa9fb52fc40a
m/ResolveInfo.java
946502f50a4e4d757df03e16bcc72f21db487a43 06-Jan-2016 Alan Viverette <alanv@google.com> Merge "Cache XML blocks against file name rather than resource ID"
b7e3363359eea808a3225f5e9133175f2cf4106c 06-Jan-2016 Alan Viverette <alanv@google.com> Merge "Clean up asset manager package-private methods"
ec76b2a1d8c14dc01986d86718dae3acf6a09288 06-Jan-2016 Alan Viverette <alanv@google.com> Merge "Skip the cache when loading drawables from a foreign density"
10979613899ca3963c7d64d25d5f8ef7db1dde84 06-Jan-2016 Alan Viverette <alanv@google.com> Cache XML blocks against file name rather than resource ID

Caching against resource ID leads to incorrect cache hits, since multiple
files (ex. within drawable-mdpi, drawable-ldpi) may map to the same ID.

Also adds nullability annotations.

Bug: 26400880
Change-Id: I4d83caf3c44dc9b546511753e9e72171e8850eb2
es/Resources.java
11dce73277fecf3296ce48cc1e53fb4f0143a14d 06-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Add Ethernet feature."
4efb8b4030157dd7445bed37538044949b0641af 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Add Ethernet feature.

Change-Id: I1f1badff5a8c9237d9489497e36e2578266e34b4
m/PackageManager.java
62728e31077e45887cb1f55b63cfd1e8c1755377 06-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Discourage use of "_data" column."
60cfad80bdf61db436643927337c2fb30186e99d 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Discourage use of "_data" column.

Moving forward, all client file access really needs to be going
through explicit APIs like openFileDescriptor(), since that allows
the provider to better protect its underlying files.

This change also changes several classes to use the AutoClosable
pattern, which enables try-with-resources usage. Older release()
methods are deprecated in favor of close().

Uniformly apply CloseGuard across several classes, using
AtomicBoolean to avoid double-freeing, and fix several resource
leaks and bugs related to MediaScanner allocation. Switch
MediaScanner and friends to use public API instead of raw AIDL calls.

Bug: 22958127
Change-Id: Id722379f72c9e4b80d8b72550d7ce90e5e2bc786
ontentProviderClient.java
ontentResolver.java
8819c61bcfb25bea07cb4f285e7a5220ff43b0b2 06-Jan-2016 Clara Bayarri <clarabayarri@google.com> Merge "Work Challenge: Handle Recents launches"
ea9b10e64419edbd5d3ed13f82007ffed97af418 04-Dec-2015 Clara Bayarri <clarabayarri@google.com> Work Challenge: Handle Recents launches

Intercept calls to start activities from the recents
stack and show the Work Challenge if needed. This requires
passing the taskId to ConfirmDeviceCredential so it can
launch the recents task itself when the credentials are
confirmed.

Change-Id: I013b134f3f31a35b551ad683c68cc89b8af44499
ntent.java
7941a7fd8e2976922172ef28106b803caa49d7d1 06-Jan-2016 Alan Viverette <alanv@google.com> Skip the cache when loading drawables from a foreign density

Bug: 26400880
Change-Id: I87c06b30afc61495fe62aa6a9dfe77990200cde7
es/Resources.java
fb9236cb0c7bdad05ad01b722806edde7385b296 16-Dec-2015 Roozbeh Pournader <roozbeh@google.com> For locale negotiation, assume English is always supported

In practice, a lot of apps provide English resources as their default
resources, so assume that English is always supported.

With this change, users can safely set secondary locales after
English in their preferred locale lists. Such settings would help
the apps (and parts of the system that are aware of multiple locales)
consider the user's familiarity with the secondary locale or the
user's preference for glyphs forms in the secondary locale. This
change makes sure that no app unintentionally switches to such
secondary locales.

Note that this doesn't break from the tradition of previous releases.
Traditionally, if the user had set the system locale to English, they
would get the default resources when the app didn't explicitly
provide English resources. This will continue to be the case where
the user's locale list has English in it before another supported
language. (English will be the first locale in most cases.)

Bug: 26192817
Change-Id: I2c1a003760299157786c1b3f9fb116ce18db3b8c
es/Resources.java
4f6d400b0fa4c94e0f785a7b15ffb30126e6759d 05-Jan-2016 Alex Klyubin <klyubin@google.com> Merge "No need to pass digest of AndroidManifest.xml around."
4fac76803050be83db9df07f5d37f70a7557b49a 05-Jan-2016 Roozbeh Pournader <roozbeh@google.com> Merge "Avoid matching system locales in locale negotiation"
e273b93651785d0692e21d3f93f324aa496c4696 05-Jan-2016 Alan Viverette <alanv@google.com> Clean up asset manager package-private methods

Refactors duplicate code, flattens methods by inverting if blocks, updates
nullability annotations, fills out missing javadoc, uses consistent
variable names. No functional changes.

Change-Id: I4c3a139197697a9d6f6afc9c428a193c02fc777c
es/AssetManager.java
6cae765b67d3a3b37e2cacbc9816665b5bc080b9 26-Dec-2015 Wale Ogunwale <ogunwale@google.com> Added support for android.R.attr#alwaysFocusable

Allows an activity to always be focusable regardless of if it is in a
stack whose activities are normally not focusable. For example, activities
in pinned stack aren't focusable. This flag allows them to be focusable.

Also, changed ActivityInfo.#{resizeable, supportsPip} to use flags.

Bug: 26273032
Bug: 26034613
Change-Id: I8c63e6d3256757e2e6931e08b8a65269f5169d35
m/ActivityInfo.java
m/PackageParser.java
1c686f2ce6cbfa3fdb598f452aa31d38f3eb2320 18-Dec-2015 Roozbeh Pournader <roozbeh@google.com> Avoid matching system locales in locale negotiation

Also:
1. Add AssetManager method for finding non-system locales: This is
used in per-app locale negotiation. (Normally,
AssetManager#getLocales() returns both system and non-system
locales.)

2. Match pseudolocales correctly in locale negotiation.

Bug: 25800576
Bug: 26236938
Change-Id: I116caf3a91c290deb4ad68b291c65b7035b18dd4
es/AssetManager.java
es/Resources.java
31ffb442414bd9cf6c0225799d7d0c5409f3769d 21-Dec-2015 Alex Klyubin <klyubin@google.com> No need to pass digest of AndroidManifest.xml around.

When an APK is being installed, the full path to the file is
occasionally passed between processes. To detect changes to the file
during these handovers, the digest of the AndroidManifest.xml entry
could be passed around as well.

This security feature is no longer used and is no longer needed. APKs
should be installed using the modern Package Installer API
(android.content.pm.PackageInstaller).

Bug: 24542768
Change-Id: I2762634c85448e7adcd47ffc9a5294c021e127bd
m/ManifestDigest.java
m/PackageManager.java
m/PackageParser.java
m/VerificationParams.java
2f3e35376ada0327b34a71d7c45ac6e6d955d7dc 21-Dec-2015 Jeff Sharkey <jsharkey@android.com> More work towards triaging missing app behavior.

Many places across the platform query package details without
gracefully handling packages or components that go missing for
various reasons. This can cause annoying user data loss, such as
resetting back to built-in apps or dropping of accounts, etc.

This change verifies that system callers have thought about these
edge cases by logging if they use default matching behaviors without
explicitly marking themselves as being "triaged." (The logging is
currently disabled by default.)

Also creates explicit definitions of supported flags for various
incoming PackageManager calls, and defines a clear distinction
between flag types:

-- GET-style flags are used to request additional data that may have
been elided to save wire space.

-- MATCH-style flags are used to include components or packages that
would have otherwise been omitted from a result set by current system
state.

There are a handful of existing GET flags that better fit under the
MATCH definition, so this change clones them to new constants and
marks the old ones as deprecated.

Fixes bug in JobSchedulerService to consider jobs from apps on
external storage. Revert some dialer behavior back to being
untriaged.

Change-Id: I9b6ab0968241e3479bddbd78de0c51e3b9917318
ntent.java
m/PackageManager.java
m/ParceledListSlice.java
f59c02a65e9fd529467c4e5083d94ed6453e70f7 24-Dec-2015 Narayan Kamath <narayan@google.com> Merge changes from topic \'aosp-merge-24-12\'
am: e0e81bf407

* commit 'e0e81bf407508ec096c752948f8794af5fd480ca':
Special case system_server to not create the JIT code cache.
Don't use IntegralToString
Track libcore commit 85d69e16fe1e59e50c1ad228e754abf325088362.
Track API changes to java.lang.ref.Reference.
Remove merge markers from preloaded-classes
Move StrictJarFile from libcore to framework
Switch RecoverySystem impl to use sun.security.pkcs
API update for OpenJdk based libcore
Use libcore/known_oj_tags for the javadoc stage.
Stop preloading fortress classes
Use HexDump instead of java.lang.IntegralToString
Add core-oj to the list of core library jars.
6a8ad6d161d6846311267f5e4aa933b8490bc821 03-Nov-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move StrictJarFile from libcore to framework

Bug: 25337946

(cherry picked from commit 8a7c1606d88873c5a1b5764c16cb046b6f2275b2)

Change-Id: I1bfce4129887d7cbfc02d92641b44920d7cdbbee
m/PackageParser.java
e69a31d75081676260f05b3dd1b549849f775767 15-Oct-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Use HexDump instead of java.lang.IntegralToString

java.lang.IntegralToString is being removed, replaced
all its usage by com.android.internal.util.HexDump.

(cherry picked from commit 3f72604be806c0173b5dca0225cadf6e7c872147)

Change-Id: I0527d580f5975dca0dfaa6f86fa3695dd49d0849
m/ManifestDigest.java
5217cacbd9f382068bb9e176cd5a0b15388a335c 20-Dec-2015 Jeff Sharkey <jsharkey@android.com> Make JobSchedulerService encryption aware.

When a user is started, but a persisted job component doesn't appear
in the normal resolution list, we avoid enqueuing the job. Later
when the user is unlocked, we take another pass over the pending
jobs to see if they became available.

Load keyboard layouts from XML metadata regardless of crypto status,
since we don't need to spin up any remote code.

Add MATCH_SYSTEM_ONLY to make system logic easier to write when
looking for trusted components.

Sprinkle more annotations on ArrayUtils methods.

Bug: 26279465
Change-Id: Iec28e0bb46862b07d740b12a79f6360de68dab0f
m/ComponentInfo.java
m/PackageManager.java
2a9e3f8e6813716ab88ca54fd04ae047dc9aaaeb 18-Dec-2015 Jeff Sharkey <jsharkey@android.com> Better named encryption flags, start triaging.

Create distinct flags for encryption aware, unaware, and both, and
name them like the other MATCH_ flags.

Start adding logic to help triage all system internal callers to
verify that they've done their homework and thought about how to
handle apps while locked. Call sites in the system should either
ask for explicit matching behavior, or explicitly use the DEFAULT
match flag to indicate that they've been triaged to use the
default state-based matching.

Bug: 26250295
Change-Id: I86214e5c4f71a6dc72f06930800388713aecd107
ntent.java
m/PackageManager.java
m/RegisteredServicesCache.java
55bed957788e853d3ee3f674dd6eea79ad3a193b 18-Dec-2015 Ruben Brunk <rubenbrunk@google.com> Merge "Add a framework service tracking VR mode state."
36a832dd128c18628783cc629b89b2ae399db4f8 17-Dec-2015 Todd Kennedy <toddke@google.com> Merge "revert quick install"
373f0b4313d3a2444aebf6b89a71c4ba64566110 16-Dec-2015 Todd Kennedy <toddke@google.com> revert quick install

bug: 25118622
Change-Id: I61c3a1ea9015599dc45bd9e656f99f6bf8c4ec02
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
dd18a0b69537954d1cc34929a1386deb54f12b14 05-Dec-2015 Ruben Brunk <rubenbrunk@google.com> Add a framework service tracking VR mode state.

- Implement a "VR mode" that may be enabled by a focused Activity.
- Add a system service that tracks the current VR mode state and notifies
other core framework services of mode changes.
- Extend NotificationListenerService to allow the bind/unbind lifecycle
of specified listeners to be triggered by system events.

Bug: 22855417
Bug: 25479708

Change-Id: I1ac8692bbb5521bb6c7cfb9d2b56b98b720f8568
m/ActivityInfo.java
m/PackageManager.java
ad217b68f8bfc993984fb0ceea4bae149bc46157 17-Dec-2015 Alan Viverette <alanv@google.com> Merge "Don't call public non-final getResources() from getAssets()"
9149d2b117aef40f38a7d62c0f8c2bb76eb4e244 15-Dec-2015 Vladislav Kaznacheev <kaznacheev@google.com> Rename and simplify DropPermissionHolder

Rename DropPermissionHolder to DropPermissions and move
all server-side implementation details into a separate class.
Rename DragEvent.getDropPermissionHolder to
requestDropPermissions and make it take the permissions
implicitly.

Change-Id: Ia83f7cb8af07ce13ba9536d24b0f9d63331d8736
lipData.java
6142f90b9f99c33c4f75c2057fb1db3bc77425cf 17-Dec-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Introduced PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER"
713a5cdb5347afa6556385f81ba972e1773f8e8f 16-Dec-2015 Alan Viverette <alanv@google.com> Don't call public non-final getResources() from getAssets()

Refactors to getResourcesInternal() and calls that from both methods.
Adds documentation on Context.getResources() and getAssets() that the
instances returned should be consistent with each other.

Bug: 26228895
Change-Id: I41b09f1e9a3a0315bcdf1c08a7b431a9a697bb6f
ontext.java
ontextWrapper.java
1e2839188fb49575b86646d3aadb355c81ef9cc5 26-Nov-2015 Andrei Stingaceanu <stg@google.com> Wire call to suspend a package

Adds APIs in DevicePolicyManager and PackageManager for allowing
a device admin to suspend a package. PackageManagerService sets
or unsets a new PackageUserState 'suspended' setting. Terminal
command to suspend/unsuspend has been added via
PackageManagerShellCommand (as root).

Next steps:
* use the new 'suspended' setting for denying access to start app
(probably in ActivityStackSupervisor)
* broadcast a PACKAGE_(UN)SUSPENDED intent for launchers to pick up
* remove app from recents (go further and kill it if it is running)
* erase existing notifications for this app

Bug: 22776576
Change-Id: I718b3498f6a53cc0c6fdfb6d15031e53ddca4353
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
d5f94468bae6813c9ab559de9a166f7cf87a7a77 16-Dec-2015 Filip Gruszczynski <gruszczy@google.com> Merge "API for launching activities to the side in side-by-side mode."
f11eca85517c46fb39b301ccef1fcebfb0b9726e 16-Dec-2015 Roozbeh Pournader <roozbeh@google.com> Merge "Negotiate locales during Resources contruction and updates"
80e29f1ccad2398e95d7b64bb89eb9c391a9da05 14-Dec-2015 Filip Gruszczynski <gruszczy@google.com> API for launching activities to the side in side-by-side mode.

This API is intended for side-by-side mode, so that when a new activity
is launched, it will show up on the other side instead of covering the
launching activity.

Bug: 26141281

Change-Id: I97d7f2f48d42a31cfb1a86821474582b9c5d9e45
ntent.java
fbe12c4e0ff33f385704edd34aabe6eaa75fedbe 07-Dec-2015 Wale Ogunwale <ogunwale@google.com> Added PackageManager#FEATURE_PICTURE_IN_PICTURE

Indicating that a device supports picture-in-picture
multi-window mode.

Also allow activities to be in Pip mode if force resizeable
is enabled.

Bug: 25580820
Bug: 26187878
Change-Id: If80edfee39ece5a51d21040e4d3a8a9135aa1783
m/PackageManager.java
bdbc9692c7cb365d9d3f239baa2377724a6f7bc8 14-Dec-2015 Fyodor Kupolov <fkupolov@google.com> Introduced PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER

When set, signals that the application is required for the system user and
should not be uninstalled.

Bug: 25616324
Change-Id: Idbbd1618e09c40bdb83fa26c0a3d9662dd73bea4
m/ApplicationInfo.java
m/AppsQueryHelper.java
m/IPackageManager.aidl
4f7b035e34c64d25d4aa9ebc567547f2c2758869 15-Dec-2015 Todd Kennedy <toddke@google.com> Merge "Fix ephemeral post-install launching"
7440f177c3e70da0b883f8abffd6c8fc1d507bb8 09-Dec-2015 Todd Kennedy <toddke@google.com> Fix ephemeral post-install launching

Provide the ephemeral installer with some additional pieces of information:
1) instead of de-referencing the URL a second time, give the installer the
exact package name
2) instead of relying on ephemeral apps to define verified links, give the
installer a pending intent to launch when the ephemeral is installed
3) give the installer a pending intent to launch if the installer fails,
for whatever reason, to install the ephemeral app

Bug: 25119046
Change-Id: I45f50481caee09d5d09451e4b2492e64b0faae82
ntent.java
m/EphemeralResolveInfo.java
m/ResolveInfo.java
f99104dadddb8d7587aaa607821d284e214eb997 14-Dec-2015 Fyodor Kupolov <fkupolov@google.com> Assigned a unique value for PRIVATE_FLAG_EPHEMERAL

Previously the value was conflicting with a private flag
PARTIALLY_ENCRYPTION_AWARE, which has been added before.

Change-Id: I661d8b5f59a39b18288eae47b7522f87b120c57b
m/ApplicationInfo.java
dad100699a8cb2537d8a4ec1d1c3df9aaff6a6eb 15-Dec-2015 Roozbeh Pournader <roozbeh@google.com> Negotiate locales during Resources contruction and updates

This also adds a new API to Resources, to get the resolved locale
from the Resources.

Bug: 25800576
Change-Id: I431f1c1b4b6775fcbc097936d0d607400db47f7d
es/Resources.java
e6748ce31f18782b7a47a5b2eb251efd83e7b609 12-Dec-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Use Arrays.toString

Fix a couple of cases where Arrays.toString should be used.

Bug: 19797138
Change-Id: I905fc79e63face9b26975320a92086c732bf6316
ontentProvider.java
m/ApplicationInfo.java
6714030083b1d8ec5b2df6dfef08034d0d30c2fe 10-Dec-2015 Jack Yu <jackyu@google.com> merge from master

Change-Id: Ic03669db3f4595336a7dbc13ffc77d055d11acf9
m/UserInfo.java
0c6cc308cfd26ae102a1a3deb258e675da2c1eb0 10-Dec-2015 Dianne Hackborn <hackbod@google.com> Merge "Add new target SDK filtering feature to BroadcastOptions."
e0e413e2b17a0164e15c77f4ab51b3166f9111d2 10-Dec-2015 Dianne Hackborn <hackbod@google.com> Add new target SDK filtering feature to BroadcastOptions.

You can now control the range of target SDKs that receivers
will be need to have in order to receive your broadcast.

Use this for CONNECTIVITY_ACTION to not allow N+ applications
to receive these broadcasts through their manifest.

Also tweak the broadcast debug output code to now include the
disposition of each receiver in the list. This is becoming
important as skipping receivers is becoming a more common
thing to have happen.

Change-Id: I251daf68575c07cbb447536286ab4e68b7015148
ontext.java
ontextWrapper.java
98cb23dccfb65ddd2802c49d8714979f7dbae1df 09-Dec-2015 Jeff Sharkey <jsharkey@google.com> Merge "Slight API renaming, better behavior."
e13529a4adb60e5a18c2e36ce6c5bf8f2d1db78f 09-Dec-2015 Jeff Sharkey <jsharkey@android.com> Slight API renaming, better behavior.

Rename APIs to reflect that they're storage-related. Also move
credential-storage APIs to be system API.

Return a null Context when device-encrypted storage isn't
supported. This is the easiest way to keep legacy apps working when
upgrading from M to N.

Reduce strictness of path checking so we don't crash when working
with special packages like "android".

Bug: 22358539, 26104027
Change-Id: I38c24fc003488186210a6ae3b64270f86e1efe56
ontext.java
ontextWrapper.java
27cf982641e5e84669565634bbb45940f6b1209a 09-Dec-2015 Dianne Hackborn <hackbod@google.com> Merge "Add a mechanism for broadcasts to control background dispatching."
6ac42aeed905181b484f97a53db57a17134ef7a8 09-Dec-2015 Dianne Hackborn <hackbod@google.com> Add a mechanism for broadcasts to control background dispatching.

Right now this is just for the BOOT_COMPLETED broadcast to allow
all apps to receive it.

Also clean up the dumpsys of the broadcast queue to not have
every little detail of ResolveInfo+ActivityInfo+ApplicationInfo,
which is just not useful and makes reading the broadcast queue
debug output a lot harder because of so much noise there is.

And rename the package shell query-intent-* commands to a
shorter query-* form.

Change-Id: I0d01565babb87e68b840c9756a2ea730d699efc7
ntent.java
m/ActivityInfo.java
m/ApplicationInfo.java
m/ComponentInfo.java
m/PackageItemInfo.java
m/ProviderInfo.java
m/ResolveInfo.java
m/ServiceInfo.java
1168548de3e8a5df514c7758da9e3d860f58b948 09-Dec-2015 Roozbeh Pournader <roozbeh@google.com> Merge "Fix null locale edge cases in Configuration and Resources"
103d61b9f79de4d7b907227a7925e809e3e183c2 08-Dec-2015 Jeff Sharkey <jsharkey@google.com> Merge "Shift around encryption public APIs."
7a30a30ebece75f4a73fa604d4c7721d28eecc16 08-Dec-2015 Jeff Sharkey <jsharkey@android.com> Shift around encryption public APIs.

There are far too many Context APIs with special directory paths
to replicate device-encryption versions of them all. Instead, add
methods to clone a Context that explicitly stores its data in either
credential- or device-encrypted storage.

Methods to test the behavior of a given Context.

Bug: 22358539
Change-Id: I6a6290a9b282605ce9a1f82742fc2c4c50536754
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
d35c13df6e9befe6e63a10f7ef83183e7682affa 08-Dec-2015 Alan Viverette <alanv@google.com> Merge "Attach drawable resource ID and name to getDrawable() exceptions"
c078c605ab904b0e4a5d793cbeffd78c340f2816 08-Dec-2015 Alan Viverette <alanv@google.com> Attach drawable resource ID and name to getDrawable() exceptions

Wraps the entire getDrawable() method in a try/catch block. Clears the
stack trace from the re-thrown exception, since we only need the trace
from the original exception.

Also clears stack traces from re-thrown RuntimeExceptions in applyTheme
implementations.

Change-Id: I92396abf9e748eef78777174b297a09e118f5e70
es/Resources.java
2acf063da08dfff69f184c9a6a90a7a5fe60d818 25-Nov-2015 Svet Ganov <svetoslavganov@google.com> Ephemeral cookie API

Add APIs for an ephemeral app to set a cookie which is a small
peice of data cached longer than the app itself. This is useful
for avoiding the user to login every time they use the ephemeral
app. The cookie is stored after an ephemeral app is uninstalled.
Normal apps or ephemeral apps upgraded to full apps can also use
these APIs with the difference that once they are uninstalled
the cookie is deleted.

The cookie size defaults to 16KB and is configurable by a global
settings which can be adjusted via gservices. Also eviction policy
is time based with a default of one month and is configurable by
a global setting which can be adjusted via gservices. If the cert
of the app cahnges (when ephemeral is installed, uninstalled and
installed again) the cooke is wiped to prevent data leaks.

This cahange also adds an API for apps to know whether they run in
an ephemeral mode since it this mode some APIs will not be available.
Another API exposed by this change is private for the system and
exposes all ephemeral apps - installed and uninstalled. Only the
system can call this API. When an ephemeral app is uninstalled the
system stores its name, icon, and permissions. When the app is
reinstalled or a full version is installed the permissions are
propagated.

Change-Id: Id4a73a7750bfbabda0bfcb9bf9018d2062e94367
m/ApplicationInfo.aidl
m/ApplicationInfo.java
m/EphemeralApplicationInfo.aidl
m/EphemeralApplicationInfo.java
m/IPackageManager.aidl
m/PackageManager.java
m/PackageParser.java
c4dd021322d38ea32ac49930e904b6d08ce6490c 18-Nov-2015 Lenka Trochtova <ltrochtova@google.com> Introduce ephemeral users.

BUG: 24883058

Change-Id: I2e1d6aa184142c2a3dc0415c0cd407573453cf41
m/UserInfo.java
6a6cdafaec56fcd793214678c7fcc52f0b860cfc 08-Dec-2015 Jeff Sharkey <jsharkey@android.com> APIs to obtain SharedPreferences paths.

Needed for apps that want to migrate SharedPreferences from CE to DE
storage. Note that a device will only ever enter a CE mode with a
factory reset, so apps should only be using these APIs when they
want to migrate files to a consistent location on non-FBE devices
for simplicity.

Bug: 25503089
Change-Id: Ic846215da1617d116a048e036415ac7ad523b770
ontext.java
ontextWrapper.java
cc586c5ab12cb713a499766875933947019b73fa 07-Dec-2015 Rubin Xu <rubinxu@google.com> Merge "Introduce quiet mode state to managed profile users"
0a29ecd8a53b5ac63b628e870a344650ff34c4b0 04-Nov-2015 Rubin Xu <rubinxu@google.com> Introduce quiet mode state to managed profile users

Quiet mode means the user will be free from visual and audio interruptions
from apps inside the managed profile, including notifications, widgets and
others. This CL adds the underlying state bit to users and exposes various
APIs to control and query the quiet mode state.

Bug: 22541941
Change-Id: If5f8e5a897843050e83b6ec26cb39561098f12b9
ntent.java
m/UserInfo.java
c72b3101ee368d2a9943e4436ede679acfa38f92 07-Dec-2015 Todd Kennedy <toddke@google.com> Merge "Add ephemeral installs"
9d8a1048bb666c68402dce031bebfa07c92a42db 04-Dec-2015 Jeff Sharkey <jsharkey@android.com> Handle non-encryption-aware accounts and sync.

The system can now boot in a "locked" state where only encryption
aware (EA) components can be safely started. When in this state,
PackageManager already filters away non-EA components, but system
services like AccountManager and SyncManager need to carefully handle
these temporarily "missing" components.

As a guiding principle, all known Accounts are still present when
the device is locked, but communication with underlying non-EA
authenticators is blocked.

To keep things simple for now, all SyncManager requests are kept
dormant until the user enters the unlocked state.

The core of this logic is that RegisteredServicesCache now works
with all components regardless of EA status, which prevents us from
accidentally thinking a service was removed when the user is locked.

Bug: 25945136
Change-Id: I8714121f6236b00821769023c4df7de1c8a99944
m/RegisteredServicesCache.java
b3523c45dd764ba9926ee70a04cfee78b10e7ab4 04-Dec-2015 Tony Mak <tonymak@google.com> Merge "Introduce ONLY_IF_NO_MATCH_FOUND in CrossProfileIntentFilter"
2699f065558ba78066887210b0c7346105959860 20-Nov-2015 Todd Kennedy <toddke@google.com> Add ephemeral installs

* Add a new --ephemeral argument to 'adb install'
* Add plumbing to internally track ephemeralness
* Create new app directory for ephemeral installs

Bug: 25119046
Change-Id: I1d379f5ccd42e9444c9051eef2d025a37bd824fe
m/ApplicationInfo.java
m/PackageManager.java
m/PackageParser.java
8b4fce4bac9daf813a990cf0c199d39e655b3f9c 03-Dec-2015 Jeff Sharkey <jsharkey@google.com> Merge "Flesh out user locked/unlocked lifecycle."
bedbaa9ea6e41eaa34a35098c913c096ddf2ce0f 03-Dec-2015 Jeff Sharkey <jsharkey@android.com> Flesh out user locked/unlocked lifecycle.

When a user is first started, we assume that they're "locked" meaning
that credential-encrypted data is unavailable. Once credentials have
been supplied, we can transition the user to a fully running state.

To facilitate this lifecycle, UserState now has two separate
RUNNING_LOCKED and RUNNING states. To ensure consistent events are
sent on all devices, we always step through RUNNING_LOCKED before
arriving at RUNNING. This consistency means that apps processing
data based on the new ACTION_LOCKED_BOOT_COMPLETED broadcast and
system services using the new onUnlockUser() event will be less
bug-prone over time.

If the user storage is unlocked (which is the case on the majority
of legacy devices), we immediately transition from the RUNNING_LOCKED
into the RUNNING state.

Add logging for all state transitions.

When we "recover" a user in the process of being shut down, return
to the last known state.

Bug: 25943941
Change-Id: I5fec980f10b0d0fb2c272a662d193dc15136f9b9
ntent.java
23d188873a5d54b5508d0f4679579e2faf7c0336 03-Dec-2015 Jeff Sharkey <jsharkey@android.com> Merge "Avoid a double decrease of reference counter for unstable provider" am: e8651aed4b am: aae0a49c16
am: a9c2218940

* commit 'a9c22189404b5cb1f4e66ca3ff99ed8e04403f1e':
Avoid a double decrease of reference counter for unstable provider
a9c22189404b5cb1f4e66ca3ff99ed8e04403f1e 03-Dec-2015 Jeff Sharkey <jsharkey@android.com> Merge "Avoid a double decrease of reference counter for unstable provider" am: e8651aed4b
am: aae0a49c16

* commit 'aae0a49c164e9eeb19d46967c84697cd1a3a6783':
Avoid a double decrease of reference counter for unstable provider
aae0a49c164e9eeb19d46967c84697cd1a3a6783 03-Dec-2015 Jeff Sharkey <jsharkey@android.com> Merge "Avoid a double decrease of reference counter for unstable provider"
am: e8651aed4b

* commit 'e8651aed4b8a2c6703589069e26f5be750b2a947':
Avoid a double decrease of reference counter for unstable provider
e8651aed4b8a2c6703589069e26f5be750b2a947 03-Dec-2015 Jeff Sharkey <jsharkey@android.com> Merge "Avoid a double decrease of reference counter for unstable provider"
8a412e0bb76e22d65cb2e3de1eff9945e502ecc3 03-Dec-2015 Roozbeh Pournader <roozbeh@google.com> Fix null locale edge cases in Configuration and Resources

Previously, Configuration#setTo() would not copy a null locale, and
Resources#updateConfiguration() could fail if it was updated with a
configuration with a null locale or empty locale list.

Bug: 25874762
Change-Id: I76ef5769a16a5165b91c8e5ec5d926c67ef4f3c5
es/Configuration.java
es/Resources.java
a6f0aa5785335654b5b81023655d0eeefa54dfc6 02-Dec-2015 Todd Kennedy <toddke@google.com> Merge "Fix SplitTests CTS test"
3398be854a6c4dbe7f6eeaf08aa940bf6c5bc6a1 02-Dec-2015 Todd Kennedy <toddke@google.com> Fix SplitTests CTS test

A recent change tightened the check for whether or not an APK has code.
The check verified against the application and not the individual split.

Bug: 25769800
Change-Id: Ia53bd0e31ce3379bdd8bfe6d0c3da99b6d65fe31
m/PackageParser.java
9bc00f1997f94aca33e57ea2ffe1b774d94c7862 02-Dec-2015 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Add extras to ClipDescription"
ac7579a6e5cb8302f38ebe2fc8fbcb6812621402 02-Dec-2015 Sunny Goyal <sunnygoyal@google.com> Merge "Adding context flag to open database with no localized collators"
a21e6b2fac2a2ecb1963ab5c04c9540109337842 02-Dec-2015 Sunny Goyal <sunnygoyal@google.com> Adding context flag to open database with no localized collators

Bug: 25956606
Change-Id: I209a8d18a7e83c1af54309fae8607f8b46772196
ontext.java
ddb4bdecfcb6fd84c0613f42c0fadb7fdd487839 24-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Add extras to ClipDescription

This is required to expand metadata capabilities of DragEvent.
Apps receiving ACTION_DRAG_* events have access to
ClipDescription, but not ClipData.

Adding extras to ClipDescription allows for a richer behavior of apps
responding to these events.

Bug: 25788641
Change-Id: I07e374f71d16f8441dc3a0b02c7d833e0139b74b
lipDescription.java
9c165d76010d9f79f5cd71978742a335b6b8d1b4 02-Dec-2015 Svet Ganov <svetoslavganov@google.com> Add optional permission review for legacy apps - framework

For some markets we have to allow the user to review permissions
for legacy apps at runtime despite them not supporting the new
permission model. This is achieved by showing a review UI before
launching any app component. If an update is installed the user
should see a permission review UI for the newly requested
permissions.

To allow distinguishing which permissions need a review we set
a special flag in the permission flags that a review is required.
This flag is set if a runtime permission is granted to a legacy
app and the system does not launch any app components until this
flag is cleared. Since install permissions are shared across all
users the dangerous permissions for legacy apps in review mode
are represented as always granted runtime permissions since the
reivew requirement is on a per user basis.

Whether the build supports permission review for legacy apps is
determined by a build constant allowing us to compile away the
unnecessary code for markets that do not require a permissions
review.

If an app launches an activity in another app that has some
permissions needing review, we launch the permissions review
UI and pass it a pending intent to launch the activity after
the review is completed.

If an app sends a broadcast to another app that has some permissions
needing review, we do not deliver the broadcast and if the sending
app is in the foreground plus the broadcast is explicit (has a
component) we launch the review UI giving it a pending intent to
send the broadcast after the review is completed.

If an app starts a service in another app that has some permissions
needing review, we do not start the service and if the calling app
is in the foreground we launch the review UI and pass it a pending
intent to start the service after the review is completed.

If an app binds to a service in another app that has some permissions
needing review, we schedule the binding but do not spin the target
service's process and we launch the review UI and pass it a callback
to invoke after the review is completed which spins the service
process and completes the binding.

If an app requests a content provider in another app that has some
permissions needing review we do not return the provider and if
the calling app is in the foreground we show the review UI.

Change-Id: I550f5ff6cadc46a98a1d1a7b8415eca551203acf
ntent.java
m/PackageManager.java
m/PackageManagerInternal.java
807e01cb47c2d5442f76e27b70a7206f77ed76d8 01-Dec-2015 Tony Mak <tonymak@google.com> Introduce ONLY_IF_NO_MATCH_FOUND in CrossProfileIntentFilter

With this flag, activities in other profiles can respond to the intent
only if no intent-filter with non-negative priority in current profile can
respond to it.
It is designed like this because activities with negative priority
intentfilter are always used as a fallback in case no one can respond
to the intent. In this case, we expect there is a "real" activity in
other profiles can handle the intentfilter

Here is the example activity that handle the call related intents when
there is no dialer.

NonPhoneActivity.java in Contacts app is an example.
https://github.com/android/platform_packages_apps_contacts/blob/master/AndroidManifest.xml#L461

Bug: 25760508

Change-Id: Ife2a7c19e91ddf5d2e81ad09bd4cf712cdcdb986
m/PackageManager.java
ef3dc06bfb25c21eb9161358e19de182de0eb812 01-Dec-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "Move StrictJarFile from libcore to framework"
8fc29cf1052fd951a3a0828b65506db30df89ece 01-Dec-2015 Jeff Sharkey <jsharkey@android.com> API to create SharedPreferences from File.

Needed to support storage of SharedPreferences on both credential-
encrypted and device-encrypted storage paths.

Bug: 22358539
Change-Id: I576b696951b2a9de817d5be63d31b06f7e166a19
ontext.java
ontextWrapper.java
8924e8759f9a8cffb5ad538ca40a7826793aac07 30-Nov-2015 Jeff Sharkey <jsharkey@android.com> Wire up lifecycle, send unlocked broadcast.

When the correct lock pattern is presented, ask the system to also
unlock credential-encrypted storage, if enabled. The token passed
along is empty for now, but can be wired up to gatekeeper in the
future.

During each system boot, ask vold to lock all users keys to give us
a known starting state. This also has the effect of chmod'ing away
any CE data when in emulation mode.

Define and send a new foreground broadcast when the CE storage is
unlocked for the first time. Add stronger last-ditch checking for
encryption-awareness before starting an app.

Bug: 22358539
Change-Id: Id1f1bece96a2b4e6f061214d565d51c7396ab521
ntent.java
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageParser.java
8a7c1606d88873c5a1b5764c16cb046b6f2275b2 03-Nov-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move StrictJarFile from libcore to framework

Bug: 25337946
Change-Id: Ib4fac6fa9f534b8654e5ca158bbaedb2393772ba
(cherrypicked from 43ea2cc2a81926a6b2ca13d41f4eab089640129e)
m/PackageParser.java
6cbc2fec91c8eae62b0ed578523af4f9765f9c17 24-Nov-2015 Sunny Goyal <sunnygoyal@google.com> Using ParceledListSlice to get the list of activities in LauncherApps

Bug: 25430879
Change-Id: I3a93bb1abcbcc54bc467e57c51f592b5946850cf
m/ILauncherApps.aidl
m/LauncherApps.java
9549544ab91e6b8edd7111057867b4feca5bd362 24-Nov-2015 Sunny Goyal <sunnygoyal@google.com> Merge "Fetching firstInstallTime on demand"
0736e201257177f516b41ce215d71911975039e6 24-Nov-2015 Sunny Goyal <sunnygoyal@google.com> Fetching firstInstallTime on demand

Change-Id: I96442aaf119553ffb0ea94ff06713752e4490e0b
m/LauncherActivityInfo.java
m/LauncherApps.java
936fdcd897b0f4a1f276e1458a33c47745f35823 24-Nov-2015 Alan Viverette <alanv@google.com> Merge "Allow activities to handle density configuration changes"
811dc3b42b4d3c967a2304bf1e01840147b1a528 23-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Allow preloading of freefore multi window drawables.

Bug: 25081468
Change-Id: Ic6ec6050882e5362e1ab8734962d163fff04b53d
m/PackageManager.java
09b108e2bb6b585947249eda92c047d0b582e8a0 21-Nov-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Added keep-uninstalled-packages DO policy"
cb6fd80721253ffa9dcab5cf8c2f4e9b9cd17ccc 05-Nov-2015 Fyodor Kupolov <fkupolov@google.com> Added keep-uninstalled-packages DO policy

This policy allows DO to specify a list of apps to cache even without being
installed on any user.

Bug: 23938464
Change-Id: I2eeab7f148409739fc23a5c44e955ad12b63fd04
m/PackageManagerInternal.java
28c4a0bb4cd2139586e7dd270ee76a64386c54e2 20-Nov-2015 Alan Viverette <alanv@google.com> Allow activities to handle density configuration changes

Some activities, like the density preference dialog in Settings, may need
to implement custom handling of display density changes.

This corresponds to the bit specified in ActivityInfo.CONFIG_NATIVE_BITS.

Change-Id: Idd4b9ec11a217b1f9af847d7ed8a6f3639e1f8ee
m/ActivityInfo.java
3f72604be806c0173b5dca0225cadf6e7c872147 15-Oct-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Use HexDump instead of java.lang.IntegralToString

java.lang.IntegralToString is being removed, replaced
all its usage by com.android.internal.util.HexDump.

Bug: 24932279
(cherry-picked from 15fc0548a536750110e159e06a39ba943eccdd81)

Change-Id: Id6ab88337af12d93cd73c41775b9d5baa1e61d96
m/ManifestDigest.java
a8057a9dcef71f9b3e0f31e830d750337a4349ba 16-Nov-2015 Tomasz Mikolajewski <mtomasz@google.com> Add first-class support for virtual files in SAF.

Bug: 20820363
Change-Id: Ic509a6003a99997126f129a836fdd8c0e843108f
ntent.java
b4fdb933cb7d48fd2b298a84e209cd7288f8a2c5 19-Nov-2015 Todd Kennedy <toddke@google.com> Merge "Allow ephemeral provider/installer"
b8a279ee838c309a64211a3caa5e5e204250163d 18-Nov-2015 Todd Kennedy <toddke@google.com> Allow ephemeral provider/installer

The ephemeral provider is a service that simply determines whether or
not an ephemeral application is available. The ephemeral installer
does the heavy lifting of installing the ephemeral application.

Bug: 25119046
Change-Id: I591f4c2c3f2b149d299fa8b4f359f2582d9199cb
ntent.java
ba51235ef5c598d845b77fcf14491329493da34f 13-Nov-2015 Jeff Sharkey <jsharkey@android.com> More file-based encryption work.

Add new "am unlock-user" command so we can trigger changes from the
command line.

Move FBE check to static method so it can safely be called early
during boot before the mount service is ready. Move FBE emulation
to persisted system property, and start reading/writing that value.

Change default permission grants to ignore current encryption-aware
flags, since many of the target apps aren't crypto aware.

Always prepare package data directories, which is how we create the
new "user_de" paths during boot.

Bug: 22358539
Change-Id: I6f58ea2d34b3a466d3775d614f8a13de92272621
m/ApplicationInfo.java
m/PackageManager.java
354c3bc3945cd0d676c403039c528c5f45d8a091 17-Nov-2015 Dianne Hackborn <hackbod@google.com> Merge "Some debugging improvements."
9edb7bf4c6f9c59d0c469798d5936019e8199043 17-Nov-2015 Jeff Vander Stoep <jeffv@google.com> fix ApplicationInfo flag collision

Give PRIVATE_FLAG_AUTOPLAY unique value

Bug: 25726468
Change-Id: I1dabe26eb4c72004ebd7e33252240e10c15c9159
m/ApplicationInfo.java
25bfb2b3d82797b78f5f6b5a715dbe5d192a0949 16-Nov-2015 Jeffrey Vander Stoep <jeffv@google.com> Merge "pm: selinux support for AutoPlay apps"
4d07bc99f014dfa112f635148cc2fbb3d73e983e 16-Nov-2015 Alan Viverette <alanv@google.com> Clean up usage of temporary TypedValue in Resources

Reduces the amount of time that a lock is held and reduces the scope of
the lock to only manage the temporary TypedValue. Also ensures that the
typed value is consistently returned to the (single item) pool.

Additionally, performs some refactoring:
- removes unused variables and constants
- moves the NotFoundException cause into the constructor for consistency
with other Exceptions
- inlines sPreloadedDensity which was not used anywhere
- fixes line wrapping and indentation in nearby code

Aside from improvements to locking, there are no functional changes in
this CL.

Change-Id: I8c3059261e3cc2288a086e6637ab946e0b7d3741

Clean up usage of temporary TypedValue in Resources

Reduces the amount of time that a lock is held and reduces the scope of
the lock to only manage the temporary TypedValue. Also ensures that the
typed value is consistently returned to the (single item) pool.

Additionally, performs some refactoring:
- removes unused variables and constants
- moves the NotFoundException cause into the constructor for consistency
with other Exceptions
- inlines sPreloadedDensity which was not used anywhere
- fixes line wrapping and indentation in nearby code

Aside from improvements to locking, there are no functional changes in
this CL.

Change-Id: I8c3059261e3cc2288a086e6637ab946e0b7d3741
es/Resources.java
af5c9f809cf7bbb890036a6411504a92e0d507ca 13-Nov-2015 Matthew Williams <mjwilliams@google.com> Sync extras bundle comparison can throw NPE am: c0f39c1ece am: 34b700a7c2 am: a0d20db02f am: 6d13650c74
am: c455148edc

* commit 'c455148edce05b4862df8853a78276fb5f28151a':
Sync extras bundle comparison can throw NPE
c455148edce05b4862df8853a78276fb5f28151a 13-Nov-2015 Matthew Williams <mjwilliams@google.com> Sync extras bundle comparison can throw NPE am: c0f39c1ece am: 34b700a7c2 am: a0d20db02f
am: 6d13650c74

* commit '6d13650c74b7cab047e43a4a3a0b880a832dd2db':
Sync extras bundle comparison can throw NPE
a0d20db02f0e6cfc06ec37cfc68ce626dd35858a 13-Nov-2015 Matthew Williams <mjwilliams@google.com> Sync extras bundle comparison can throw NPE am: c0f39c1ece
am: 34b700a7c2

* commit '34b700a7c2355f1dbea4b8d796619033bdd87a0c':
Sync extras bundle comparison can throw NPE
cc7c1d381249edfd906cb57afbd8589e6c345141 13-Nov-2015 Shreyas Basarge <snb@google.com> Sync extras bundle comparison can throw NPE am: 2f137b7705
am: 294611faa8

* commit '294611faa8bd1bdbf75adc3cee835b69d348df86':
Sync extras bundle comparison can throw NPE
294611faa8bd1bdbf75adc3cee835b69d348df86 13-Nov-2015 Shreyas Basarge <snb@google.com> Sync extras bundle comparison can throw NPE
am: 2f137b7705

* commit '2f137b7705875ee026319abb8e512d918c118222':
Sync extras bundle comparison can throw NPE
34b700a7c2355f1dbea4b8d796619033bdd87a0c 13-Nov-2015 Matthew Williams <mjwilliams@google.com> Sync extras bundle comparison can throw NPE
am: c0f39c1ece

* commit 'c0f39c1ece72a05c796f7ba30b7a2b5b580d5025':
Sync extras bundle comparison can throw NPE
1682dad7ed303fc43a07e70d0bb5cb42103a7624 12-Nov-2015 Fyodor Kupolov <fkupolov@google.com> Moved system user apps whitelisting to PM

Previously applications where uninstalled for the system user at a later stage
in a boot process, when PM has already been initialized and registered as
a service. This was causing a flood of PACKAGE_REMOVED broadcasts.

Applications are now uninstalled at an earlier stage, when PM hasn't been
registered. Packages can simply be marked as not installed and broadcast
can be skipped.

Bug: 25626819
Change-Id: Ib64e7c45619809b0efb99cc566a9a2120ed48cd3
m/AppsQueryHelper.java
2f137b7705875ee026319abb8e512d918c118222 12-Nov-2015 Shreyas Basarge <snb@google.com> Sync extras bundle comparison can throw NPE

Bug: 23591205
Change-Id: I960dfcc1584c0a17685790d5d722eaf11b930e25
eriodicSync.java
a4407bfceef1bdb7eb4d83990722a61082d926c9 30-Oct-2015 Jeff Vander Stoep <jeffv@google.com> pm: selinux support for AutoPlay apps

Add AutoPlay flag to ApplicationInfo.

Append autoplay flag to seinfo string - passed to libselinux for
domain labeling decision.

Change-Id: Ieb45ba328140888c0b679bf344df154658f9fbae
m/ApplicationInfo.java
3cdb56efea044112bfe1b97b3ed78ee05e0dba46 11-Nov-2015 Dianne Hackborn <hackbod@google.com> Some debugging improvements.

- Fix dumping of package manager intent filters so the option
to print the filter detail works again.
- Extend dump resolvers to allow you to specify the specific
types of resolvers you'd like to dump.
- Add new package manager commands for querying activities,
services, receivers.
- Move the code for parsing a command line into an intent to
the framework, so it can be used by the new package manager
commands and later elsewhere.

Change-Id: I56ea2bb8c3dd0e5198ee333be8f41ad9dcdb626f
ntent.java
f9fc6d6cc05595241bc7ced6d4cab97b45f9b901 09-Nov-2015 Jeff Sharkey <jsharkey@android.com> More file-based encryption work.

Add granular StorageManager APIs for key creation/destruction and
unlocking/locking. Start passing through an opaque token as part
of the unlock command, but leave it empty for now. We now have a
separate "prepare" method that sanity checks that user directories
are correctly setup.

Define a handful of system properties used for marking devices that
should be operating in FBE mode, and if they're emulating FBE. Wire
a command to "sm", but persisting will come later.

Start using new "encryptionAware" flag on apps previously marked with
coreApp flag, which were apps running in the legacy CryptKeeper
model. Small tweaks to handle non-encryptionAware voice interaction
services. Switch PackageManager to consult StorageManager about the
unlocked state of a user.

Bug: 22358539
Change-Id: Ic2865f9b81c10ea39369c441422f7427a3c3c3d6
m/ApplicationInfo.java
m/PackageParser.java
c0f39c1ece72a05c796f7ba30b7a2b5b580d5025 16-Oct-2015 Matthew Williams <mjwilliams@google.com> Sync extras bundle comparison can throw NPE

BUG: 23591205
Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c
(cherry picked from commit 9ad2c8403354a985258c098681067e74b9e2f638)
eriodicSync.java
183501e1aaee9584f8f0c6ea2d983e3fc17429d1 11-Nov-2015 Nicolas Geoffray <ngeoffray@google.com> Merge "Remove performBootDexOpt and am's ensurePackageDexOpt."
27c073796978106746e4a51f2100b29068ab37f6 05-Nov-2015 Nicolas Geoffray <ngeoffray@google.com> Remove performBootDexOpt and am's ensurePackageDexOpt.

Except common shared libraries and boot image, all compilations
are now done through BackgroundDexOptService.

Change-Id: Ib736e253c38b0c8085bc94e45f4e61a048f66e26
m/IPackageManager.aidl
417bbe017906c995aabe4f82e7a341d4e9f513e3 10-Nov-2015 Roozbeh Pournader <roozbeh@google.com> Fix case where some locales may have empty langauges.

This is to make the behvior the same as before
47f71a697a50e76565fef520a0f51e5d6826ceee for cases when some of the
locales' languages are empty.

Change-Id: Ifee92e199f20130e060670f244eb3b4b7be13872
es/Configuration.java
87e1db355b55b1ecbe755cdcd9748f8edf612dde 10-Nov-2015 Roozbeh Pournader <roozbeh@google.com> Merge "Use the full locale list in resourceQualifierString()."
6da1693c0c43f5de16ad343428480c1505a1ba7a 09-Nov-2015 Roozbeh Pournader <roozbeh@google.com> Merge "Removed unused setLocale() method."
e17ac1569793c333bb4dce86607a342e7c982ae7 07-Nov-2015 Jeff Sharkey <jsharkey@android.com> More APIs for encryption-aware apps.

Apps can mark manifest components as being encryption-aware, which
means they can safely be run before the credential encrypted storage
is available.

Start adding filtering logic so that we only return these components
when a user is running "with amnesia." That is to say, only device
encrypted storage is available, so the user is running but with only
partial knowledge of its data.

To avoid calling into ActivityManager with the PackageManager lock
held, we quickly determine user state and splice the state into the
flags for later per-component evaluation.

Bug: 22358539
Change-Id: Idc56ec29f1ef04da8963e004314d7f5e47400997
m/ApplicationInfo.java
m/ComponentInfo.java
m/PackageManager.java
m/PackageParser.java
47f71a697a50e76565fef520a0f51e5d6826ceee 07-Nov-2015 Roozbeh Pournader <roozbeh@google.com> Use the full locale list in resourceQualifierString().

Previously, only the first locale was dumped to the output in
android.content.res.Configuration#resourceQualifierString(). Now the full
locale list is part of the output.

Change-Id: I5d4b73738a14d48533ee96c38dbc6c4b204ea998
es/Configuration.java
0d02bd8442f6c062130aa6b9e6be5f87fddf7fb3 07-Nov-2015 Roozbeh Pournader <roozbeh@google.com> Removed unused setLocale() method.

The setLocale() method in android.content.res.AssetManager was not
used. Removing it to reduce maintenance cost.

Change-Id: I1b168fe84c2465d1ebc2b62bb965eda885e1220a
es/AssetManager.java
15447798a38d2b5acb1998731340255f4203f294 06-Nov-2015 Jeff Sharkey <jsharkey@android.com> Initial file-based encryption public APIs.

Define two explicit directories where device-encrypted and
credential-encrypted data will be stored. Third-party apps only
need access to the device-encrypted directory, so that's the only
API exposed for now.

General cleanup in how ApplicationInfo details are derived.

Bug: 22358539
Change-Id: If0a0108721a4aa1c3052b4912e08604bbf24e1ae
ontext.java
ontextWrapper.java
m/ApplicationInfo.java
m/InstrumentationInfo.java
m/PackageParser.java
f2acc54aad23762c9b2458bae90679147fbe3f44 06-Nov-2015 Svet Ganov <svetoslavganov@google.com> Fix some docs

Change-Id: Ie28788330249a1f96b7b168a05546d3d0862a9cf
m/ActivityInfo.java
f7fea166d40842fc5b55b2169d41df88136ae2cc 22-Oct-2015 Clara Bayarri <clarabayarri@google.com> Intercept activity start with ConfirmCredentials

When the calling user is a work profile and the device has
file based encryption enabled, show the work challenge via the
Confirm Credentials APIs before launching the requested activity.

A companion CL in Settings will add support to the Confirm
Credentials flow to read the given intent extra and fire it when
the authorization succeeds.

This is part of the Separate Work Challenge feature.
Note nobody will see this yet as the feature is conditioned by
file based encryption.

Change-Id: I303890095936b1fd1f6a99d645724dffba144345
ntent.java
6a230aa10bfc5bed78592fc1f9d5c8849f1d58e6 02-Nov-2015 Glenn Kasten <gkasten@google.com> Merge "CDD for pro audio feature does not specify acoustics"
7587edccd04a5e76ca712fc34fbab0fb562ac86e 31-Oct-2015 Glenn Kasten <gkasten@google.com> CDD for pro audio feature does not specify acoustics

Change-Id: If24a2ee485a35ad18969abacf55798b64ff939af
m/PackageManager.java
df5f870d989bd1f3c94466adace1e3879d77178e 30-Oct-2015 Jeff Sharkey <jsharkey@android.com> resolve merge conflicts of 07c6628d68 to master.

Change-Id: I29c9b408956c578ce1cfe0eb5d8704b7a5d2f818
07c6628d68da39582d8d682bc9c849be8bfaaa10 30-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Handle "uninstalled" apps when pruning app-ops." into mnc-dr-dev am: a975732a83 am: 637d05eb5c
am: d359137d41

* commit 'd359137d419023f207351251cdbfa23180236963':
Handle "uninstalled" apps when pruning app-ops.
637d05eb5c19825b1f9a7da481037a0c54add08d 30-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Handle "uninstalled" apps when pruning app-ops." into mnc-dr-dev
am: a975732a83

* commit 'a975732a8302893a40cdc444f893bf09b7669173':
Handle "uninstalled" apps when pruning app-ops.
58a98c457218044d3375dfe65e742e75e99ca105 30-Oct-2015 Anthony Hugh <ahugh@google.com> Merge "Add intent extra for determining if apps are system apps" into cw-e-dev am: 3a9bf5c8ce am: a8e20b3919
am: c2b3e48bb1

* commit 'c2b3e48bb1ab75163f8d7890db39b91436c06015':
Add intent extra for determining if apps are system apps
c2b3e48bb1ab75163f8d7890db39b91436c06015 30-Oct-2015 Anthony Hugh <ahugh@google.com> Merge "Add intent extra for determining if apps are system apps" into cw-e-dev am: 3a9bf5c8ce
am: a8e20b3919

* commit 'a8e20b391909cbc115e8996bd247e84a2819bfc3':
Add intent extra for determining if apps are system apps
e2ed23e6b221185ce2587fb19a6e904dbf7ec77b 30-Oct-2015 Jeff Sharkey <jsharkey@android.com> Handle "uninstalled" apps when pruning app-ops.

During system boot, we prune app-ops belonging to apps that have
been uninstalled. However, apps installed on adopted storage devices
haven't been scanned at this point, so they appear to be uninstalled.

To avoid pruning app-ops for these apps, we need a getPackageUid()
variant that also considers "uninstalled" apps for which we still
have PackageSetting values.

Bug: 25206071
Change-Id: I1820f674d45c5ddc1c5f10ed7d859e7025005e28
m/IPackageManager.aidl
9147ce4cf99d8fd06be7fb88d280503dd214777c 28-Oct-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Enable default system IMEs for system user"
56f0720fd7f67bc8e71c98459ef7a255a6f35f4b 28-Oct-2015 Vladislav Kaznacheev <kaznacheev@google.com> Merge " Add PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT"
d303b25ad3dc7249800b28c4a5bda2d787f0c4c5 28-Oct-2015 Vladislav Kaznacheev <kaznacheev@google.com> Add PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT

Bug: 25329519

Change-Id: Ib09cb2332ee1810b2f774a8453fe519fa920cd5d
m/PackageManager.java
b3b4f61525a3547920d642841202730f3cb16151 27-Oct-2015 Fyodor Kupolov <fkupolov@google.com> Enable default system IMEs for system user

Added GET_DEFAULT_IMES flag to AppsQueryHelper. Default system IMEs are now
enabled for system user.

Bug: 25276229
Change-Id: I38d74903951200e2207e1864bb3a815f8f2d572f
m/AppsQueryHelper.java
3575a400090a0863a5978d9550d171e0525d3b13 27-Oct-2015 Anthony Hugh <ahugh@google.com> Add intent extra for determining if apps are system apps

This is being added to help identify system apps so that
the UI can filter on that type.

BUG: 24955055
Change-Id: Ie4be3717ce997f60eeb48a389c0f54ce5803141a
ntent.java
b60692e3d8af750bb089cfc0e0d591002894e118 24-Oct-2015 Wale Ogunwale <ogunwale@google.com> Support for activity to opt-in/out of PiP form of multi-window.

While it makes sense to be able to resize most activities types
in multi-window mode. It only makes sense to put specific types
of activities in Picture-in-Picture (PiP) form of multi-window.
For example, activities that play video will be good candidates
while the Settings activity isn't.

The new flag allows the system to differentiate between resizeable
activities that can go into PiP mode and those that can't.

Bug: 25006507
Change-Id: I8ac518cec2fa3c8fb88be40c266b3751fb88f1ce
m/ActivityInfo.java
m/PackageParser.java
008672f62d15bac2b26502f20688da92d5ad3292 21-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Correctly derive ABI for apps on adopted media." into mnc-dr-dev am: 55d2b6e8e6 am: 257d2ca7fd am: e01b99faa5
am: 6dee8faff3

* commit '6dee8faff3b25c6dd6c8fa308ceb0fb8b31f6a05':
Correctly derive ABI for apps on adopted media.
6dee8faff3b25c6dd6c8fa308ceb0fb8b31f6a05 21-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Correctly derive ABI for apps on adopted media." into mnc-dr-dev am: 55d2b6e8e6 am: 257d2ca7fd
am: e01b99faa5

* commit 'e01b99faa54a083ae7b10db902a03f4aa6c9bd63':
Correctly derive ABI for apps on adopted media.
257d2ca7fd75926bd1cfd13d3a07809e2d51a097 21-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Correctly derive ABI for apps on adopted media." into mnc-dr-dev
am: 55d2b6e8e6

* commit '55d2b6e8e6f364e2fd52c45b5fa3eb6a56082456':
Correctly derive ABI for apps on adopted media.
55d2b6e8e6f364e2fd52c45b5fa3eb6a56082456 21-Oct-2015 Jeff Sharkey <jsharkey@google.com> Merge "Correctly derive ABI for apps on adopted media." into mnc-dr-dev
bbcb3312050dc89385e70e96fee7d88fbcb4e794 21-Oct-2015 Jeff Sharkey <jsharkey@android.com> Correctly derive ABI for apps on adopted media.

There was a bug causing PackageManager to think apps on adopted media
were actually in an ASEC, causing it to skip ABI derivation. This
change fixes the issue by copying the volume UUID into place early
in the scanning process.

Also fixes two places where we had incorrectly been including apps
on adopted media; switched them to check only for ASECs.

Bug: 24583803
Change-Id: If66d1bce02824a4d8e22f741b04a2abda0378cfb
m/PackageParser.java
2fbd20fd7b213daef99598a836c285fdf7794c57 20-Oct-2015 Todd Kennedy <toddke@google.com> Merge "Enable "quick install""
c31529097de3011cb2145d7bc4b609c2ddc69d41 20-Oct-2015 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Sync extras bundle comparison can throw NPE am: 7d7a2254bc am: cb937cbc6a
am: d7d56a4feb

* commit 'd7d56a4feb5502e17dea4ebb4c9b22347be2b7d3':
DO NOT MERGE Sync extras bundle comparison can throw NPE
27c24fb8b85c36298de053699b1967a808c6d308 18-Sep-2015 Todd Kennedy <toddke@google.com> Enable "quick install"

Quick install skips a lot of the normal install steps in order to
dramatically reduce the installation time [eg Twitter normally takes
20s to install. But, installs in under 2.5s with quick install]

The specific optimizations [with caveats]:
1. Use the JIT. Although the oat file is technically created, it
only contains the exploded contents of the APK and does not contain
pre-compiled native binary code. While this improves install time,
it impacts app execution. [saves 17s]
2. Bypass Play verification. Play normally verifies all installs
to ensure we're not installing malware. But, it can take multiple
seconds for Play to collect and send package information to our
backend servers. [saves 2.7s]
3. Reduce JAR file verification. Due to the structure of the JAR
certs, we cannot completely bypass JAR processing. However we skip
the step of verifying every manifest entry. [saves 1.3s]

NOTE: #2 and #3 will only occur on eng/user-debug builds.

Bug: 22848361
Change-Id: I48e77595ad5c13a9534fdb06da67ba8dae2797fb
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
cb937cbc6ae8a026a90ce524fd74a01e7d48726b 20-Oct-2015 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Sync extras bundle comparison can throw NPE
am: 7d7a2254bc

* commit '7d7a2254bc41d2dfc34fbb8693cb0dad2ccd528a':
DO NOT MERGE Sync extras bundle comparison can throw NPE
2d021f9f48e8792181d13c269cc4d2484a62e040 20-Oct-2015 Rob Carr <racarr@google.com> Merge "Correct ActivityInfo constructors." into mnc-dr-dev am: cfea184d6c am: e2a49862c1
am: 8caf80d571

* commit '8caf80d571c37bc6fefd68227432fd49d76aaa93':
Correct ActivityInfo constructors.
7d7a2254bc41d2dfc34fbb8693cb0dad2ccd528a 16-Oct-2015 Matthew Williams <mjwilliams@google.com> DO NOT MERGE Sync extras bundle comparison can throw NPE

BUG: 23591205
Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c
(cherry picked from commit 9ad2c8403354a985258c098681067e74b9e2f638)
eriodicSync.java
9ad2c8403354a985258c098681067e74b9e2f638 16-Oct-2015 Matthew Williams <mjwilliams@google.com> Sync extras bundle comparison can throw NPE

BUG: 23591205
Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c
eriodicSync.java
e2a49862c147161292b802d70070b7f6c91cca00 20-Oct-2015 Rob Carr <racarr@google.com> Merge "Correct ActivityInfo constructors." into mnc-dr-dev
am: cfea184d6c

* commit 'cfea184d6c0268b92ed55276d2b686962c8ee531':
Correct ActivityInfo constructors.
8ab115a9aaf96cd165c683bfd8a47cfda1239f82 15-Sep-2015 Robert Carr <racarr@google.com> Correct ActivityInfo constructors.

ActivityInfo was missing initialization for the
documentLaunchMode flag in the copy-constructor
and the Parcel constructor. The copy-constructor
is used in multi-user/profile mode to create a
seperate instance of the ActivityInfo per uid
and this was manifesting in the linked bug.

Bug: 21590916
Change-Id: I6f71d94ec32ec6326d23c9b62e9d8d319e2fa25e
(cherry picked from commit 3e2e0117858eb02fef55ca4c245e8b920aedc6eb)
m/ActivityInfo.java
f783c02c61850cad5ecac59261d70ff967c9b898 07-Feb-2014 Koji Fukui <koji.fukui@sonymobile.com> Avoid a double decrease of reference counter for unstable provider

In some APIs unstable provider is released twice.
Unexpected release of unstable provider makes the reference counter
for unstable provider invalid state and it causes application crash.

This change avoids unexpected double decrease of reference counter
for unstable provider by setting null to prevent extra release
in finally block.

Change-Id: Ie2985c316ffcb6a9db7570c46347035c24d226af
ontentResolver.java
e1ed980d4c8461b7622eaf88ca1a816532f59cc1 16-Oct-2015 Jeff Sharkey <jsharkey@google.com> am de0b34ea: am d56756fd: am 535726f6: am 0c15693e: Merge "Update docs to reflect adoptable behavior." into mnc-dr-dev

* commit 'de0b34ea14cfd5a5d219ee6e3d15ca4b04b6ce2e':
Update docs to reflect adoptable behavior.
de0b34ea14cfd5a5d219ee6e3d15ca4b04b6ce2e 16-Oct-2015 Jeff Sharkey <jsharkey@google.com> am d56756fd: am 535726f6: am 0c15693e: Merge "Update docs to reflect adoptable behavior." into mnc-dr-dev

* commit 'd56756fdee9fce3d08bea769710d7173bcbc263a':
Update docs to reflect adoptable behavior.
535726f637d952f172e7758e4f0faf725a838add 16-Oct-2015 Jeff Sharkey <jsharkey@google.com> am 0c15693e: Merge "Update docs to reflect adoptable behavior." into mnc-dr-dev

* commit '0c15693e8de6f89fab7ca3d582f0a8605a54df9f':
Update docs to reflect adoptable behavior.
d2f1d94fe5acc5d23f03bb3b653061184fd67eb5 15-Oct-2015 Filip Gruszczynski <gruszczy@google.com> API for minimal width/height of an activity.

Bug: 21409825

Change-Id: Id6286064713672366dd4dc1f80258450a8039c36
m/ActivityInfo.java
m/PackageParser.java
59d28dc82000b1696ed9ef7ef2c0d7fbb2834100 14-Oct-2015 Jeff Sharkey <jsharkey@android.com> Update docs to reflect adoptable behavior.

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

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

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

Bug: 24251945
Change-Id: Ie5ab337649b4740dfd7594997bbb19c4969cfd2f
ontext.java
9b907ce5d87e26c5aed6400160b2911073013ec7 09-Oct-2015 Anthony Hugh <ahugh@google.com> am 66940eaa: am 073a1624: am 6b566ec5: Merge "Give Android Wear system apps default permission" into cw-e-dev

* commit '66940eaaabc007d839d17c71b21c914a1bbba2e0':
Give Android Wear system apps default permission
66940eaaabc007d839d17c71b21c914a1bbba2e0 09-Oct-2015 Anthony Hugh <ahugh@google.com> am 073a1624: am 6b566ec5: Merge "Give Android Wear system apps default permission" into cw-e-dev

* commit '073a1624912a93da65b5e40b6ff434c4fd3ab0f2':
Give Android Wear system apps default permission
979b81ac33c2ba678414c5350c19fc78dbac724a 30-Sep-2015 Anthony Hugh <ahugh@google.com> Give Android Wear system apps default permission

This change grants Android Wear system components default
permission.

I have also added a new Intent category to help identify
the main Home handler on Wear.

BUG: 23419042
Change-Id: Ie669a9908bd3b03498f75c5ca22c0fddf52a5203
ntent.java
6a5913681e96fb4eadac64770ec39042678e7ab5 06-Oct-2015 Wale Ogunwale <ogunwale@google.com> Make activities trageting SDK N or greater resizeable by defualt

Also, removed condition that prevented activity from setting
device orientation if it is resizeable. We only need to prevent
it from affecting the orientation when it isn't fullscreen and
not all the time. Work is being tracked in bug 24685213.

Bug: 19865400
Change-Id: I9e1ea77c6acd13801a06f791e0b8859fbcb0f15c
m/PackageParser.java
3da3ca609ec48e1ff23bcfda0b208632fab88d80 01-Oct-2015 Todd Kennedy <toddke@google.com> Merge "Update PackageInstaller install handing"
0223804e05bb64e17e45ede26c9c6028ef6c85cf 30-Sep-2015 Roozbeh Pournader <roozbeh@google.com> Merge "Add LocaleList support to content.res.Resources."
a1d12cfdb072acb14fa95d5e771e23396e6bd8e1 30-Sep-2015 Todd Kennedy <toddke@google.com> Update PackageInstaller install handing

* Allow forcing permission check. We want to modify the PackageInstaller to
use the PackageInstallerSession for better security / remove deprecated APIs.
In order to do this and continue to prompt for permissions, we need to prevent
the PakcageInstaller from auto-approving the permissions.

* Add originating UID to SessionParams. This is used for package verifier
checks.

Bug: 22282121
Change-Id: I19079749d20ace66f1332f399d52cb0fb8784cd9
m/PackageInstaller.java
m/PackageManager.java
8392b394f26ef726a002cd380979058203438dc8 29-Sep-2015 Nicolas Prévot <nprevot@google.com> Merge "Add more methods that take a userId to PackageManager."
47571c76afadc23b8c2b4407a960e427e9db2472 01-Sep-2015 Roozbeh Pournader <roozbeh@google.com> Add LocaleList support to content.res.Resources.

Also remove the adjustLocales() method, since it's no longer possible
to create non-adjusted Locale objects using the public API.

The implementation is still in progress: currently only the first
locale in the list is passed down to the native code.

(Also fix the order of imports based on Android style.)

Change-Id: I325d7a2c0d86a9bf5cd202081f0b02299660364a
es/Resources.java
535570a7ce8fac764a45a603856d664227dba8c1 27-Sep-2015 Bryce Lee <brycelee@google.com> am 979a22ea: am 6ad696c3: am f0740e0a: Merge "Add ThermalObserver system service to capture thermal state uevents." into cw-e-dev

* commit '979a22eaf9c62637c02ebd6f92ef6ea2888aa5be':
Add ThermalObserver system service to capture thermal state uevents.
979a22eaf9c62637c02ebd6f92ef6ea2888aa5be 26-Sep-2015 Bryce Lee <brycelee@google.com> am 6ad696c3: am f0740e0a: Merge "Add ThermalObserver system service to capture thermal state uevents." into cw-e-dev

* commit '6ad696c35b80f70f19de304b53bdbfc6f5a265d8':
Add ThermalObserver system service to capture thermal state uevents.
bc58f59da6226c6f1d240c95d566186f679fc310 26-Sep-2015 Bryce Lee <brycelee@google.com> Add ThermalObserver system service to capture thermal state uevents.

Bug: 21445745
Change-Id: I980d60b66ca51942a1fd62502d6cf1f09208fc3a
ntent.java
9a80e53b27cd1ca00364a30a0ad153c83000b9d2 23-Sep-2015 Nicolas Prevot <nprevot@google.com> Add more methods that take a userId to PackageManager.

Add methods installPackageAsUser and installExistingPackageAsUser
and deletePackageAsUser and getPackageInfoAsUser.

BUG:23516394
Change-Id: I15e30d2ec45ab18c7f8c0ac02cfc617c50fedb44
m/PackageManager.java
a4490622207804ef85f39439ff7b9cb2470f6287 23-Sep-2015 Xiaohui Chen <xiaohuic@google.com> Cleanup USER_OWNER in activity and location services

Bug: 19913735
Change-Id: Ie2b7acb3fa53b1dcf7319de1eb5bdec585dbf78c
m/UserInfo.java
3355eca23e89045be068b39f5236cd43406a2a2d 23-Sep-2015 Nicolas Prévot <nprevot@google.com> Revert "Add more methods that take a userId to PackageManager."

This reverts commit 3b0fc3cf24e1fecdbc11808483c2109415ebfdd2.

It breaks the build. I had missed other places that extend PackageManager.

Change-Id: Iff012ed4ec8d2d32821586eca85fce55ae67f5b5
m/PackageManager.java
bc5a6c5f0c090852ae2c52328a82c69d680bad3f 22-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Preserve windows during stack resize.

It also adds debugging information for configuration changes, so it's
easier to observe what exactly changes.

Change-Id: Ia2cd4df9a868a8cea216ce137d67a1bb8ed2e6c7
es/Configuration.java
3b0fc3cf24e1fecdbc11808483c2109415ebfdd2 21-Sep-2015 Nicolas Prevot <nprevot@google.com> Add more methods that take a userId to PackageManager.

Add methods installPackageAsUser and installExistingPackageAsUser
and deletePackageAsUser and getPackageInfoAsUser.

Change-Id: I9a3ff96f968b4f8d21a57cc7760679628d35c1a9
BUG:23516394
m/PackageManager.java
f3d939cc73a7c9846b649e4856378b1e04ad14a9 17-Sep-2015 Christopher Tate <ctate@google.com> At install, require the presence of code if hasCode=true

Bug 23875788

Change-Id: I125ea4caf9e558e875e36dc8534f0d0877ff1e89
m/PackageParser.java
cf9f751206e027a1654572585d045a325dec4ecc 16-Sep-2015 Fyodor Kupolov <fkupolov@google.com> am fd464a30: am 71b4b738: am d20f2106: am bfc584df: Merge "Use app directory as apkPath for cluster installs" into mnc-dr-dev

* commit 'fd464a301fea9395ad2b882dc90b0fee6515e9d1':
Use app directory as apkPath for cluster installs
fd464a301fea9395ad2b882dc90b0fee6515e9d1 16-Sep-2015 Fyodor Kupolov <fkupolov@google.com> am 71b4b738: am d20f2106: am bfc584df: Merge "Use app directory as apkPath for cluster installs" into mnc-dr-dev

* commit '71b4b738a611565659df33fe56635d75a25e6f19':
Use app directory as apkPath for cluster installs
d20f21065036a50cf0ba8537746f68f713f20f8b 16-Sep-2015 Fyodor Kupolov <fkupolov@google.com> am bfc584df: Merge "Use app directory as apkPath for cluster installs" into mnc-dr-dev

* commit 'bfc584df683a84dffd8e04b7b13f619606a0a42a':
Use app directory as apkPath for cluster installs
3acde12254f37de72b37b7b591ce984856545b6d 16-Sep-2015 Rob Carr <racarr@google.com> Merge "Correct ActivityInfo constructors."
3e2e0117858eb02fef55ca4c245e8b920aedc6eb 15-Sep-2015 Robert Carr <racarr@google.com> Correct ActivityInfo constructors.

ActivityInfo was missing initialization for the
documentLaunchMode flag in the copy-constructor
and the Parcel constructor. The copy-constructor
is used in multi-user/profile mode to create a
seperate instance of the ActivityInfo per uid
and this was manifesting in the linked bug.

Bug: 21590915
Change-Id: I6f71d94ec32ec6326d23c9b62e9d8d319e2fa25e
m/ActivityInfo.java
0f07424dc5b0a9d87c5f14c995447c77c9a636f2 15-Sep-2015 Vinod Krishnan <vinodkrishnan@google.com> am f274e325: am aae9c4ab: am 74c3a0e7: Merge "Add some constants for Wear MNC Perms" into cw-e-dev

* commit 'f274e3252b263d9e001a8de9d55c065f353ad02f':
Add some constants for Wear MNC Perms
f274e3252b263d9e001a8de9d55c065f353ad02f 15-Sep-2015 Vinod Krishnan <vinodkrishnan@google.com> am aae9c4ab: am 74c3a0e7: Merge "Add some constants for Wear MNC Perms" into cw-e-dev

* commit 'aae9c4ab35ac98e8106d6a57d9d094780fbb0189':
Add some constants for Wear MNC Perms
74c3a0e7b42e11ccd8f427660825bf6b3e3a4afc 15-Sep-2015 Vinod Krishnan <vinodkrishnan@google.com> Merge "Add some constants for Wear MNC Perms" into cw-e-dev
d04c6d19a589a2a0f60650675438c59ac6900f45 14-Sep-2015 Alex Hills <ahills@google.com> resolved conflicts for 693e11e5 to mnc-dr-dev-plus-aosp

Change-Id: I701841759a80f434a09b086492e817ca23a6a2e6
61665cc4aeb51be0f293cf252dc43ca2ced08b92 01-Sep-2015 Vinod Krishnan <vinodkrishnan@google.com> Add some constants for Wear MNC Perms

- Add an API for getting list of apps that has runtime perms

Change-Id: I4ebfc01033ea96efaac062fd34982fbd0d081073
ntent.java
3d2337eeb5c8b28bace281d049c5ca8cd13c8b70 11-Aug-2015 Alan Viverette <alanv@google.com> Cherry-pick system theme rebase to fix square UI on round watches

Our system themes were based on configurations that were added post-
init of the system theme.

I96e695441543379e4d5fdf3cc6f18d9e6cf953b4 broke this, because there
was a race condition in the code for rebasing themes

If8fecde76d62738a8e55eddf898eafc468afdba2 (the cherry-picked commit)
fixes the race condition and adds the rebasing back in.

This change cherry picks If8fecde76d62738a8e55eddf898eafc468afdba2.

Bug:23387146
Change-Id: I0725028e48599fc6cd9731ae16c71474dd5827e5
es/Resources.java
b91167620904eb439d0e8c09eab532fe7524ff6d 10-Sep-2015 Christopher Tate <ctate@google.com> Avoid parceling redundant ApplicationInfo objects within PackageInfo

Two benefits:

1) marshaling one flattened ApplicationInfo as part of a PackageInfo parcel
rather than one per included ComponentInfo; and

2) producing one ApplicationInfo at unmarshaling time and sharing the
reference to it among all included ComponentInfo instances, rather
than the previous implementation that generated a separate
ApplicationInfo instance for each ComponentInfo.

In some cases there can be many hundreds of ComponentInfo objects embedded
in a single PackageInfo, so coalescing duplicates is a significant win
for both payload size and object pressure.

Bug 19519502
Bug 20453802

Change-Id: Ib888810dad4471084fab9ead1ebb5e0b932905f1
m/ComponentInfo.java
m/PackageInfo.java
ebcac16cb1405bf7d0b570e11a287df078edfc1c 10-Sep-2015 Fyodor Kupolov <fkupolov@google.com> Use app directory as apkPath for cluster installs

Previously, size of of oat directory was not counted by the getsize command,
because base APK location was passed as apkpath argument.

Bug: 23896047
Change-Id: Ic7b6b725785ff2e2a0cf3887ba68c162b23b1212
m/PackageParser.java
ab5bca1519cb9acb4fd140e99a250fc50868ff2f 09-Sep-2015 Tao Bai <michaelbai@google.com> Merge "Load app resource as shared library."
a6d7e3fb9c9233b9ae46b702d17433854c43d6a0 02-Sep-2015 Tao Bai <michaelbai@google.com> Load app resource as shared library.

- Added aapt command line flag --app-as-shared-lib to build app resources
that could be loaded as shared lib at runtime.
- Added new method AssetManager.addAssetPathAsSharedLibrary() to load an
app resource as shared library.

Bug 22487604

Change-Id: Ib9b33c35f9c2b7129f3ba205de03d4564623ea39
es/AssetManager.java
b1a4bf2c4be73c72d2628b6087cf7b256376122a 04-Sep-2015 Wale Ogunwale <ogunwale@google.com> Ignore empty locale list when diffing Configuration objects

b46fdd4 introduced the concept of locale list to Configuration objects.
However, the change alway returned a locale difference when the delta
object locale list is set to the defualt (empty). We now don't return
a difference if the delta object as an empty locale list which is
consistent with what we did before the change and in line with how we
diff other configuration fields.

Bug: 23744091
Change-Id: I8c2c39d9a7e91e6a3a283312b745c4fdf6874396
es/Configuration.java
cdc56736332663efcc0b5fbbc978fb4ce7c997bd 01-Sep-2015 Roozbeh Pournader <roozbeh@google.com> Merge "Make res.Configuration support locale lists."
26637cb3fd56c73d51d7cf53a4e97a51847dfc4f 01-Sep-2015 Nick Kralevich <nnk@google.com> am 1293b953: am 712205ba: am 9d586927: Merge "Automatically assign default seinfo labels using the string "default"."

* commit '1293b953c4c82dfc8738ba1dfc48f7739df78c69':
Automatically assign default seinfo labels using the string "default".
712205bac075dc59a1ccd79a860d553ba31402f0 01-Sep-2015 Nick Kralevich <nnk@google.com> am 9d586927: Merge "Automatically assign default seinfo labels using the string "default"."

* commit '9d586927102b597845607ccc82661e350821de82':
Automatically assign default seinfo labels using the string "default".
5e16bc5a143b46bbe9a4873adceed85a6241d1d0 28-Aug-2015 Robert Craig <rpcraig@tycho.ncsc.mil> Automatically assign default seinfo labels using the string "default".

default seinfo values are those for which policy lacks a
matching stanza in the corresponding mac_permissions.xml
file. Prior to this change the null object reference was
used to represent the non-matching state. This is in
contrast to a policy supplied default stanza which will
assign a non null seinfo value. Confused yet?

Basically, two default states were distinguished in the
code to describe the two cases where either a policy stanza
spelled out the base case seinfo label or not. Policy
writers could either supply a default stanza or rely on
the class instantiated value assigned by the ApplicationInfo
object. The hope was that the later assignment could be
used to help distinguish the cases where policy writers
intentionally white listed apps. This change will just use
the hard coded "default" string implicitly to describe all
cases and removes the idea of a policy supplied default stanza.

Change-Id: Ib7b01ee004775f24db9a69340a31784b967ce030
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
m/ApplicationInfo.java
3f1099b062fb353850b78c22d7d815c811926557 28-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Non-system users can now have restricted profiles"
b46fdd427c5fc2ca69506cad0b35ea805477319d 19-Aug-2015 Roozbeh Pournader <roozbeh@google.com> Make res.Configuration support locale lists.

We also deprecate the locale attribute, but works around the cases in
which people would call it.

Also add various methods to LocaleList to support the features
Configuration requires.

Change-Id: Iacc537e5fc1a3d4c1ea7e5517347876ca4e07e0a
es/Configuration.java
06a484adb93c6c969321147b07112684383305f6 22-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Non-system users can now have restricted profiles

In the non split system user, only USER_OWNER is allowed to have restricted
profiles. This is now changed in split user mode, where multiple secondary
users can have restricted profiles.

Added UserInfo.restrictedProfileGroupId field, which defines parent/child
relationship between secondary users and linked restricted profiles. Adjusted
shared accounts handling logic to not assume that USER_OWNER is the only owner.

Bug: 23191995
Change-Id: I5f3fc2aa4f229103d6e75ec2c3dfce866b8007de
m/UserInfo.java
02fc5fef36357467eba22a0ee250a96734daf791 27-Aug-2015 Alan Viverette <alanv@google.com> Extract drawable inflation to its own class, inflate from class name

Bug: 22627299
Change-Id: Icd2ac88af4f3102e08e52f6f0f7565839da6437a
es/Resources.java
2170ee43a176cdfa45dd4d9122a183023831d44b 27-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Limit the number of apps running as system user"
d3a182e5734f460a510d229e27d27ac4cd72d9ff 26-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Renamed primaryUserOnly to systemUserOnly"
7db5af124e551554f7a2f1abdd2a486c937910fe 01-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Limit the number of apps running as system user

For the system user, enable apps based on the following conditions:
- app has no launcher icons or has INTERACT_ACROSS_USER_FULL permission
- app is whitelisted
- app is not in the blacklist

Bug: 23283899
Change-Id: I90fa266e8cfb28d002e5f792998fdddb6a1e6969
m/AppsQueryHelper.java
m/UserInfo.java
4f5de340c9c7b12d7d67ca53bac863976b36fd32 25-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Renamed primaryUserOnly to systemUserOnly

In the split mode, broadcast receivers and activities marked as
systemUserOnly will be running as system. This is a non-functional change for
non-split system user mode.

Bug: 22958572
Change-Id: I0f7d4f4a81275bc326bf630a776c695e8b5291a6
m/ActivityInfo.java
m/PackageParser.java
bd0e03bb763ae7956ecba35fe5759d4b443158ca 21-Aug-2015 Xiaohui Chen <xiaohuic@google.com> More USER_OWNER cleanup.

Bug: 19913735
Change-Id: I408a92d9dbab2a096407efccb91e2a8bdc22714d
m/UserInfo.java
db0fa33f44ac2486400a6737b0712f6b1e8a21ef 24-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Merge "Using initial activity layout to position the launching activity."
9b1ce52f254b4d9c17ebf437f19f45603d3ad5b2 21-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Using initial activity layout to position the launching activity.

The activity can be positioned in the center or in one of the corners.
From there it shifts its position and tries to find a spot where it
doesn't collide with other activities.

The CL also includes a few fixes necessary to pipe the information about
the initial layout through the system.

Change-Id: I2aaf5b6d20044aafec713b7bd4193b05cfbd16f3
m/ActivityInfo.java
m/PackageParser.java
3a22ad0ac44c14800168616e81a5694045e5b8c6 22-Aug-2015 Fyodor Kupolov <fkupolov@google.com> am 09dbd46a: am 037281d4: am 563f974d: am d7cdbd4d: am e6c64508: Merge "Fixed a typo in convertRestrictionsToBundle JavaDoc" into mnc-dev

* commit '09dbd46af8faa60419a97e926463dc25fbd0513f':
Fixed a typo in convertRestrictionsToBundle JavaDoc
09dbd46af8faa60419a97e926463dc25fbd0513f 22-Aug-2015 Fyodor Kupolov <fkupolov@google.com> am 037281d4: am 563f974d: am d7cdbd4d: am e6c64508: Merge "Fixed a typo in convertRestrictionsToBundle JavaDoc" into mnc-dev

* commit '037281d4a9a22fa55b643e785ff32144cfa61591':
Fixed a typo in convertRestrictionsToBundle JavaDoc
950297d27fcabe22b7c9fbbfa28ef8b9a350ae37 22-Aug-2015 Fyodor Kupolov <fkupolov@google.com> am e6c64508: Merge "Fixed a typo in convertRestrictionsToBundle JavaDoc" into mnc-dev

* commit 'e6c64508aba566b5bd4ac9cd87a07358b13f5a06':
Fixed a typo in convertRestrictionsToBundle JavaDoc
e6c64508aba566b5bd4ac9cd87a07358b13f5a06 22-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Fixed a typo in convertRestrictionsToBundle JavaDoc" into mnc-dev
7d35fc389890347eed9588092842386bf07cf8b7 21-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Fixed a typo in convertRestrictionsToBundle JavaDoc

Bug: 23408097
Change-Id: Ie06c33aa7b9a953dec645d1763e27dcb506764f0
estrictionsManager.java
c12e6780e43e422a26883f199f57276fd403a28d 21-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Merge "API for specifying size/gravity of launching activity."
848fe6bef28c8c8c46f14d37ad228268350e2dc8 19-Aug-2015 Filip Gruszczynski <gruszczy@google.com> API for specifying size/gravity of launching activity.

Change-Id: I4d75b3fa56ff9c35be9beeba81e3ec9ab28a9996
m/ActivityInfo.java
m/PackageParser.java
e67177d79aa4704ca1987b31e2f7f56458d39a4e 20-Aug-2015 Fyodor Kupolov <fkupolov@google.com> am 9125dbbf: am 1ffb592e: am 78985f3f: am ea57b592: am 1773ded8: Merge "Fixed key comparison in equals method" into mnc-dev

* commit '9125dbbf932efafa7a86ddb3e45598f230a81952':
Fixed key comparison in equals method
9125dbbf932efafa7a86ddb3e45598f230a81952 20-Aug-2015 Fyodor Kupolov <fkupolov@google.com> am 1ffb592e: am 78985f3f: am ea57b592: am 1773ded8: Merge "Fixed key comparison in equals method" into mnc-dev

* commit '1ffb592e0b0bf68e2d1db13712dc1c9810507140':
Fixed key comparison in equals method
8a363bb13de1fb0600a69352a0fb4a844fba21e2 20-Aug-2015 Fyodor Kupolov <fkupolov@google.com> am 1773ded8: Merge "Fixed key comparison in equals method" into mnc-dev

* commit '1773ded84684593f459b19f3271d471b38f14f85':
Fixed key comparison in equals method
1af7a839393152834a3659514528d8050901a4fe 20-Aug-2015 Fyodor Kupolov <fkupolov@google.com> Fixed key comparison in equals method

Bug: 23376695
Change-Id: Ie4bd55a88f5f86fd8de7b087d0a5f1755951e90d
estrictionEntry.java
be8b98b939639a579444de64ce2fd86cccf91daf 20-Aug-2015 Nicolas Prévot <nprevot@google.com> Merge "Allow non-owner users to have managed profiles."
b818681dcae157412b897587ff856cd0c531c3f4 06-Aug-2015 Nicolas Prevot <nprevot@google.com> Allow non-owner users to have managed profiles.

In the split system user model:
The only users that are not allowed to have managed profiles are:
- purely system user (user 0)
- guest users
- restricted profiles
- managed profiles

In the non-split system user model, the behavior does not change:
only the primary user can have managed profiles.

BUG:22956426
Change-Id: If908c30f110fd3e740770174f050c9b6cf87ce1b
m/UserInfo.java
98404fdc0b73e6563c19b863aa5ab605e092de29 18-Aug-2015 Xiaohui Chen <xiaohuic@google.com> Clean up USER_OWNER reference.

Bug: 19913735
Change-Id: I441672b360fa0fff5453f72c88f9577b5cc8eecf
m/PackageParser.java
m/RegisteredServicesCache.java
83eb8493b28ac44fdcac3b46051765644c52b851 16-Aug-2015 Dianne Hackborn <hackbod@google.com> am 0ce3a291: am 914eda00: am 574f9b42: am ac11522e: am 06f552cf: Merge "Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo..." into mnc-dev

* commit '0ce3a291fb4fdbfd041e605c0cb71dff4f681e8a':
Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo...
0ce3a291fb4fdbfd041e605c0cb71dff4f681e8a 16-Aug-2015 Dianne Hackborn <hackbod@google.com> am 914eda00: am 574f9b42: am ac11522e: am 06f552cf: Merge "Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo..." into mnc-dev

* commit '914eda0070cde26325db3d2a2e9bbf0a9e612107':
Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo...
b774ed20ec809cfb66a5e4cc43c452e8b43a9939 15-Aug-2015 Dianne Hackborn <hackbod@google.com> am 06f552cf: Merge "Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo..." into mnc-dev

* commit '06f552cf9a89cd129beda8318a4832bd56d00796':
Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo...
ae498721001c6cdcdb6cce1b2f3ba5abbce36f8a 14-Aug-2015 Dianne Hackborn <hackbod@google.com> Add debugging for issue #23190084: [APPComm][Dev Test] {Unable to share photo...

...from Camera360 to Hangouts }

In the short URI toString, include a small summary of the ClipData (instead
of just saying it has a clip data). This makes it a lot easier to understand
what is happening when you look at the log of activity starts.

Also separate out the activity manager dump of URI permission grants from
its dump of providers, so it is easy to just look at that state.

Change-Id: I68093d9f279944e1aa9a29347075f237f4f55ed3
lipData.java
lipDescription.java
ntent.java
848dd4bfc9575956187eccfc7c563eb9dd64a2b4 14-Aug-2015 Chris Tate <ctate@android.com> am 14e12258: am 13845aea: am b2d4c550: am b47890c4: am 7e7d79ef: Merge "Make "Ask every time" actually work that way" into mnc-dev

* commit '14e122582c45e236bf2e4c59d10438816f2eed09':
Make "Ask every time" actually work that way
14e122582c45e236bf2e4c59d10438816f2eed09 14-Aug-2015 Chris Tate <ctate@android.com> am 13845aea: am b2d4c550: am b47890c4: am 7e7d79ef: Merge "Make "Ask every time" actually work that way" into mnc-dev

* commit '13845aeae3fc3044f3fc279ca421df6d4f78ee35':
Make "Ask every time" actually work that way
d7a164bf3ff67a9c37e9879c333e79aacc991e1b 14-Aug-2015 Chris Tate <ctate@android.com> am 7e7d79ef: Merge "Make "Ask every time" actually work that way" into mnc-dev

* commit '7e7d79ef2f4aa6a8da86af459d419bd24c47b440':
Make "Ask every time" actually work that way
56f0ff3c48c88b969d9bf5e62eb1ee590e03e461 14-Aug-2015 Christopher Tate <ctate@google.com> Make "Ask every time" actually work that way

..in link-opening behavior. If a candidate is marked as "ask
every time," then the user is guaranteed to get a disambiguation
prompt including that candidate even when some other candidate
app is in the "always prefer this over a browser" state.

Bug 23147746

Change-Id: I904d8697a992b3f16f32b1c1b49c2bf9424c7137
m/IntentFilterVerificationInfo.java
m/PackageManager.java
02e8c2d4188a99077686451b320e7d1860e49bd7 13-Aug-2015 Alan Viverette <alanv@google.com> Merge "Rebase system theme on configuration change"
8d38e7c905e6f9fd242081ec4d822753f5e4182f 13-Aug-2015 Deepanshu Gupta <deepanshu@google.com> Merge "Add StyleableRes annotation to TypedArray."
395cd017e66b81f9b223f5310cce9b827d156b4c 11-Aug-2015 Alan Viverette <alanv@google.com> Rebase system theme on configuration change

Also makes native theme accesses thread-safe to avoid a race condition
when modifying the theme off the UI thread. Since drawable loading can
occur off the UI thread, we need to ensure Theme access is thread-safe
anyway.

This reverts commit c12ec70def2a5682c6cd7fdb3adaa82cc34d5bf6.

Change-Id: If8fecde76d62738a8e55eddf898eafc468afdba2
es/Resources.java
2349332f9f69189d7889692b9aafd6f80070e352 30-Jul-2015 Filip Gruszczynski <gruszczy@google.com> Only relaunch activity on significant size configuration changes.

Currently if the configuration width/height/smallest width changes, we
relaunch the activity or invoke onConfigurationChanged callback. When it
comes to size based configuration changes it might not be necessary: if
the size change doesn't pass one of the threshold defined by the
resources, it means there is no need to relaunch the activity.

In this CL the ActivityManager will receive the thresholds from the
application and use them to decide, whether to relaunch the activity.
The application reads the thresholds from the resources, specifically
from resource qualifiers used by the app.

Change-Id: Ie3cf0a172dc1ba0b865cf30c2962e7cfd9ad8436
es/AssetManager.java
es/Resources.java
64b9b9ad9e5f10d7a4d31c5e393432b87afbd742 08-Aug-2015 Svetoslav Ganov <svetoslavganov@google.com> am 618e065c: am 546a3449: am e12a685c: am 02d6c013: am 90b030ba: Merge "Do not show removed permissions in the UI - framework" into mnc-dev

* commit '618e065cc14b9069954e462fc25cdc934ee3300f':
Do not show removed permissions in the UI - framework
618e065cc14b9069954e462fc25cdc934ee3300f 08-Aug-2015 Svetoslav Ganov <svetoslavganov@google.com> am 546a3449: am e12a685c: am 02d6c013: am 90b030ba: Merge "Do not show removed permissions in the UI - framework" into mnc-dev

* commit '546a34490fbb31e40199e325473c5a510b61b55b':
Do not show removed permissions in the UI - framework
8a23ad62c5fc9b2df63bf5266109a6c85254b591 08-Aug-2015 Svetoslav Ganov <svetoslavganov@google.com> am 90b030ba: Merge "Do not show removed permissions in the UI - framework" into mnc-dev

* commit '90b030bae8cc1f13da7948fef4aff1d171a2885a':
Do not show removed permissions in the UI - framework
3e0be7440bf40f5d81581077bc4f5f47e57b88b7 08-Aug-2015 Svet Ganov <svetoslavganov@google.com> Do not show removed permissions in the UI - framework

bug:23043018

Change-Id: Ia5cf49f299eda627d9fde2b34498812afcb3a6d5
m/PermissionInfo.java
d7bb3f802973352dbbfdf2c9ce70f9027b5a3797 06-Aug-2015 Deepanshu Gupta <deepanshu@google.com> Add StyleableRes annotation to TypedArray.

Change-Id: Ice79b7791f72485aa3a6c2777334946316e72ff5
es/TypedArray.java
101d93bfb835b7301f0fc1435dbccadf459bef3f 05-Aug-2015 Filip Gruszczynski <gruszczy@google.com> am 42969008: am 94858568: am c3080d78: am 841d7b75: am 52d3312a: Merge "Make ResourceKey always use non-null configuration override." into mnc-dev

* commit '42969008ef898f204fc9f3504f85bb82ffc810c3':
Make ResourceKey always use non-null configuration override.
42969008ef898f204fc9f3504f85bb82ffc810c3 05-Aug-2015 Filip Gruszczynski <gruszczy@google.com> am 94858568: am c3080d78: am 841d7b75: am 52d3312a: Merge "Make ResourceKey always use non-null configuration override." into mnc-dev

* commit '94858568a1ee6af7b40ae0fcc5c4453dffca1cb8':
Make ResourceKey always use non-null configuration override.
cae230a4e37b77310b6980016e90f54be49fd044 05-Aug-2015 Filip Gruszczynski <gruszczy@google.com> am 52d3312a: Merge "Make ResourceKey always use non-null configuration override." into mnc-dev

* commit '52d3312abeafd988ecb2288896b74ba72c3e70c0':
Make ResourceKey always use non-null configuration override.
52d3312abeafd988ecb2288896b74ba72c3e70c0 05-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Merge "Make ResourceKey always use non-null configuration override." into mnc-dev
a01f48681cdaf34e0943609683d0bbb26e761a58 04-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Make ResourceKey always use non-null configuration override.

We don't differentiate between null conifguration and
Configuration.EMPTY, but if ResourceKey uses both, it will produce
different hashes and won't be equal. This CL makes ResourceKey always
hold a non null reference to the Configuration object.

We started delivering the configuration overrides in
Ib2c7be0b427f5ce05e7a362bcdd496ddbc9164f0, which changed behavior from
using always null, to using both null and Conifguration.EMPTY for empty
confgiuration. Now we will switch to using only one value, which is
Configuration.EMPTY.

Bug: 22620824
Change-Id: I090fd90ac21a6b3ebc7f2974a91dd7c861af10d7
es/ResourcesKey.java
371d4588382b54763f071d0fa0ccbdf489292fb6 05-Aug-2015 Steve McKay <smckay@google.com> Merge "Populate quick view intent w/ file uris."
6eaf3863c81779233c032b7f7fc5b90e94f5f70a 04-Aug-2015 Steve McKay <smckay@google.com> Populate quick view intent w/ file uris.

Change-Id: Ie4f15b11be1939f8b71752505caa9d74ab9f9680
ntent.java
da7526b4beb97de73b15be5d05a1d1c7a8d591a1 04-Aug-2015 Matthew Williams <mjwilliams@google.com> am 7667fa48: am 1dee8d41: am c62598bc: am d5fe5a8f: am fad3c663: Merge "Remove spurious syncmanager wake-ups" into mnc-dev

* commit '7667fa48224133adfbd4b1234c592988c0133713':
Remove spurious syncmanager wake-ups
7667fa48224133adfbd4b1234c592988c0133713 04-Aug-2015 Matthew Williams <mjwilliams@google.com> am 1dee8d41: am c62598bc: am d5fe5a8f: am fad3c663: Merge "Remove spurious syncmanager wake-ups" into mnc-dev

* commit '1dee8d4164553082c392b236d30144b4bad16f22':
Remove spurious syncmanager wake-ups
7d4c58f7267138cdbf650510389330dd45803d2d 04-Aug-2015 Matthew Williams <mjwilliams@google.com> am fad3c663: Merge "Remove spurious syncmanager wake-ups" into mnc-dev

* commit 'fad3c6638168ad65b4f4677a777b8f2dc7e5c9c9':
Remove spurious syncmanager wake-ups
29095983226310799e424428876aeb7708e60204 04-Aug-2015 Steve McKay <smckay@google.com> Merge "Use an explicit intent for "Quick View"..."
c78bcb8c7fa5db1726541c2c8bf8d4edfa0f1229 31-Jul-2015 Steve McKay <smckay@google.com> Use an explicit intent for "Quick View"...

Define Intent.ACTION_QUICK_VIEW.

Change-Id: Iae85a2a6fe35cfd135ff1af6672d37cc6b33dce4
ntent.java
a7b8074191e6ab50184691df9cfeb96034717b4d 04-Aug-2015 Dianne Hackborn <hackbod@google.com> am 3011f645: Merge "Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up" into mnc-dev

* commit '3011f645abe8f976af6f876579a179d51c09bf30':
Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up
3fa5609d83339032d456bb51f0419adae756baed 04-Aug-2015 Dianne Hackborn <hackbod@google.com> am aa860fd8: am 35c68de9: am 5dd9ef04: am b0bc8368: am 3011f645: Merge "Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up" into mnc-dev

* commit 'aa860fd83ab3d3096c4bdf86297b7d8f36f5eec8':
Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up
aa860fd83ab3d3096c4bdf86297b7d8f36f5eec8 04-Aug-2015 Dianne Hackborn <hackbod@google.com> am 35c68de9: am 5dd9ef04: am b0bc8368: am 3011f645: Merge "Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up" into mnc-dev

* commit '35c68de93dfec0a237642cca56ade0ba3a6aff92':
Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up
665d0140efce4ed53d6f86459c1551cdf983801b 04-Aug-2015 Matthew Williams <mjwilliams@google.com> Remove spurious syncmanager wake-ups

BUG: 22287469
1) Fix SyncManager waking up every 2 hrs if there is nothing
to do.
2) Fix sync wake-up alarm not being properly updated if the new
alarm was in the future.
2a) Due to staus bar sync signal that were removed post-K
one of the wake-ups was for 30s in the future, removed this
@hide intent completely.
3) The SyncManager will still set a timeout alarm for 5mins after
the start of a sync. Leaving this in as to post to a handler is
less expensive but more complex, and the alarm update is
correctly working now.

Change-Id: If51c9dd68391ccaeb480a17eb5a1364c4afe4c2a
ntent.java
28ec27cbfa157c242fd9330a10c7c2b8ea838694 04-Aug-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22912704: "android.process.acore has stopped" dialog keeps popping up

Slice 'em up!

Change-Id: Ibba3af7ec5b7f92e6d5e55a57aa838a7f7f936e1
m/IPackageManager.aidl
22350a8c2ce619ea799bba67d1fbced03ef44355 03-Aug-2015 Yusuke Sato <yusukes@google.com> am 82e78074: am b98e2353: am 158560ad: Merge "Distinguish user-requested shutdown from power-related ones"

* commit '82e780743046e620b724c28023b580e0e624bb15':
Distinguish user-requested shutdown from power-related ones
82e780743046e620b724c28023b580e0e624bb15 03-Aug-2015 Yusuke Sato <yusukes@google.com> am b98e2353: am 158560ad: Merge "Distinguish user-requested shutdown from power-related ones"

* commit 'b98e235364c2b221521f622c546733b2862e4677':
Distinguish user-requested shutdown from power-related ones
f6f1a7ec9935c32e6c1155333de94ac9cd544442 01-Aug-2015 Dianne Hackborn <hackbod@google.com> am 628b4125: am bc2a8843: am b97c5ddd: am 9b36f526: am c1836bb0: Merge "Change MNC codename to just M." into mnc-dev

* commit '628b4125843b93dc7f3ed0c9bbea76ff470d2eed':
Change MNC codename to just M.
628b4125843b93dc7f3ed0c9bbea76ff470d2eed 01-Aug-2015 Dianne Hackborn <hackbod@google.com> am bc2a8843: am b97c5ddd: am 9b36f526: am c1836bb0: Merge "Change MNC codename to just M." into mnc-dev

* commit 'bc2a88431e3dc51e2245cc28e327f11d0c78bd56':
Change MNC codename to just M.
c2369c5301c489195daa25894ea838cfa7f2a661 01-Aug-2015 Yusuke Sato <yusukes@google.com> am b98e2353: am 158560ad: Merge "Distinguish user-requested shutdown from power-related ones"

* commit 'b98e235364c2b221521f622c546733b2862e4677':
Distinguish user-requested shutdown from power-related ones
f2269f0454bd57d012c5df37e9b88023c2d924f2 30-Jul-2015 Dianne Hackborn <hackbod@google.com> Change MNC codename to just M.

Change-Id: I4281d200ff6560791c47cf9073ceea1cb509361e
ntent.java
c1836bb0f1bf3e5ef0911719525da0bab3e53507 31-Jul-2015 Dianne Hackborn <hackbod@google.com> Merge "Change MNC codename to just M." into mnc-dev
705ffd1efe529bb291e90fa06e92c8090ee98627 22-Jul-2015 Yusuke Sato <yusukes@google.com> Distinguish user-requested shutdown from power-related ones

With this patch, when the user requested shutdown,
PowerManagerService sets sys.powerctl is set to
"shutdown,userrequested", and init runs fsck on shutdown.

When shutdown is triggered due to a low power state etc.,
the service sets the property to "shutdown,", and init
immediately shuts down the system without running the
command.

This is a follow-up CL for http://r.android.com/158525.

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

Change-Id: I4281d200ff6560791c47cf9073ceea1cb509361e
ntent.java
fdf59bf82f35ccc870dbb7eb20b958997ea73b36 30-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> am c875ad14: am 56de6167: am f6c2d8a9: am 6da43a83: am 9352af2a: Merge "Remove dependencies on the package installer\'s package name" into mnc-dev

* commit 'c875ad14ddc09d0d3a3bde58f71845123110f9f2':
Remove dependencies on the package installer's package name
6672c8ba3b9e52a384cddb7fe77bd8d97fbfd128 30-Jul-2015 Sailesh Nepal <sail@google.com> am 33ec1710: am 2830a139: am 2084291d: am 33763760: am 6b96de8d: Merge "Default permissions for sim call manager" into mnc-dev

* commit '33ec1710b0404f36019688ea8e285b687f81109c':
Default permissions for sim call manager
c875ad14ddc09d0d3a3bde58f71845123110f9f2 29-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> am 56de6167: am f6c2d8a9: am 6da43a83: am 9352af2a: Merge "Remove dependencies on the package installer\'s package name" into mnc-dev

* commit '56de616725aca7d875fafc2a94e00ae9874fedf9':
Remove dependencies on the package installer's package name
33ec1710b0404f36019688ea8e285b687f81109c 29-Jul-2015 Sailesh Nepal <sail@google.com> am 2830a139: am 2084291d: am 33763760: am 6b96de8d: Merge "Default permissions for sim call manager" into mnc-dev

* commit '2830a13991dbd9e054aafa6b1b2b8da2a1d30681':
Default permissions for sim call manager
fc15b56bd23a31d519c0ac994430bd34b8fe242b 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am b003d9a8: am c4ed81af: am cb98228d: am deb28b77: am eda1cc50: Merge "Work on issue #22765972: Binder transactions running out of address..." into mnc-dev

* commit 'b003d9a8032a672dbcb76a9750522953d1c0db5d':
Work on issue #22765972: Binder transactions running out of address...
b003d9a8032a672dbcb76a9750522953d1c0db5d 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am c4ed81af: am cb98228d: am deb28b77: am eda1cc50: Merge "Work on issue #22765972: Binder transactions running out of address..." into mnc-dev

* commit 'c4ed81af8a12fac07c797870207e07cf7dc982c7':
Work on issue #22765972: Binder transactions running out of address...
862dc4f2c9053c29e85d7ef4a625bcc09c7aa57f 29-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> am 9352af2a: Merge "Remove dependencies on the package installer\'s package name" into mnc-dev

* commit '9352af2a9ef95e3f577a04474625249d3da62a04':
Remove dependencies on the package installer's package name
04a69aa102be7ae4f31bf8a990f4f8ef9ea6f230 29-Jul-2015 Sailesh Nepal <sail@google.com> am 6b96de8d: Merge "Default permissions for sim call manager" into mnc-dev

* commit '6b96de8dae8be99f75c86c795672905e10fca153':
Default permissions for sim call manager
9352af2a9ef95e3f577a04474625249d3da62a04 29-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> Merge "Remove dependencies on the package installer's package name" into mnc-dev
6b96de8dae8be99f75c86c795672905e10fca153 29-Jul-2015 Sailesh Nepal <sail@google.com> Merge "Default permissions for sim call manager" into mnc-dev
c2a024392ac7564126c0e09ee77e529fd1c37365 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am eda1cc50: Merge "Work on issue #22765972: Binder transactions running out of address..." into mnc-dev

* commit 'eda1cc50cead674287616e6a852f8f281b70b9f5':
Work on issue #22765972: Binder transactions running out of address...
eda1cc50cead674287616e6a852f8f281b70b9f5 29-Jul-2015 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #22765972: Binder transactions running out of address..." into mnc-dev
f1b7f20bb839c96e8254ccb65398135f10fd45d9 29-Jul-2015 Svet Ganov <svetoslavganov@google.com> Remove dependencies on the package installer's package name

bug:22700053

Change-Id: I8540eb8577fbec84e1a67e31e1c31ba654c828a4
m/IPackageManager.aidl
m/PackageManager.java
cf85562bc9a0f01db51b4088e72f05a8089fc7f1 29-Jul-2015 Sailesh Nepal <sail@google.com> Default permissions for sim call manager

This CL adds the following permissions by default to the
SIM call manager:
- microphone
- phone

BUG: 22790160
Change-Id: Icaf1db6c6943b3ddbd16a946a81d1bfb734d761f
m/PackageManagerInternal.java
bfdaab5fdacc352ef0e937d15eafef4e406159bc 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am 578d21fd: am e319841d: am 05e4e78d: am 1b391d64: am b492ced8: Merge "Fix issue #22802782: APR: NPE in package manager with bad intent data" into mnc-dev

* commit '578d21fddc2e15441d3404e6ee5c5813d95165d6':
Fix issue #22802782: APR: NPE in package manager with bad intent data
578d21fddc2e15441d3404e6ee5c5813d95165d6 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am e319841d: am 05e4e78d: am 1b391d64: am b492ced8: Merge "Fix issue #22802782: APR: NPE in package manager with bad intent data" into mnc-dev

* commit 'e319841da95a22152bfc4c519a2ab99478b7f68c':
Fix issue #22802782: APR: NPE in package manager with bad intent data
86cbc2bf30a7623b2ad6564cf50ca20f87067ea7 29-Jul-2015 Dianne Hackborn <hackbod@google.com> Work on issue #22765972: Binder transactions running out of address...

...space causing package manager to fail

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

Change-Id: I814013097966a7843179e5d581bfdb254c5ae318
m/ParceledListSlice.java
9d3a0efaef4dd33fac81ddcff88d9bdc467e463d 29-Jul-2015 Dianne Hackborn <hackbod@google.com> am b492ced8: Merge "Fix issue #22802782: APR: NPE in package manager with bad intent data" into mnc-dev

* commit 'b492ced89eaf38b2b9962dbfae2435dd242abf19':
Fix issue #22802782: APR: NPE in package manager with bad intent data
9dc6c61a8012f7e7a79ada72a4b65dea676c52f6 29-Jul-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22802782: APR: NPE in package manager with bad intent data

If they pass in a null data for the intent matching, don't throw up
on it, just consider it to not match.

Change-Id: I30b6af49989eb8b5c2e585ce5d96416f0daff3a8
ntentFilter.java
f3230a7e69869aa680ed30169892dd5c35ec931f 25-Jul-2015 Jeff Sharkey <jsharkey@google.com> am 43b379e7: am 43ff3afe: am 4c864be1: am 35f4b6a2: am 8be305dd: Merge "Also check app-ops on path-permissions." into mnc-dev

* commit '43b379e72be58fca50af64092f5c99463d76d65b':
Also check app-ops on path-permissions.
43b379e72be58fca50af64092f5c99463d76d65b 25-Jul-2015 Jeff Sharkey <jsharkey@google.com> am 43ff3afe: am 4c864be1: am 35f4b6a2: am 8be305dd: Merge "Also check app-ops on path-permissions." into mnc-dev

* commit '43ff3afe1371cc8ec56754a1c06e7ed7573b770b':
Also check app-ops on path-permissions.
fdda1ec30b98b983bab08a97f0eb63d05e06d904 25-Jul-2015 Jeff Sharkey <jsharkey@google.com> am 8be305dd: Merge "Also check app-ops on path-permissions." into mnc-dev

* commit '8be305dd6582f154c5a5894034a35fc8ec225b71':
Also check app-ops on path-permissions.
0e621c3921fc023dd13fe72739987f2a9b366c84 25-Jul-2015 Jeff Sharkey <jsharkey@android.com> Also check app-ops on path-permissions.

Any place that we check permissions we also need to check any
app-ops associated with those permissions. In the case of providers
with both <provider> and <path-permission> permissions, track and
report the strongest app-ops denial.

Bug: 22718722
Change-Id: I45e62de39b04d16d071558ad980b701667cfcb9a
ontentProvider.java
585307a36c06cfd590961bec3b3338612dcd5bc7 24-Jul-2015 Tor Norbye <tnorbye@google.com> Merge "Annotate Intent and ContentResolver params with @RequiresPermission"
225c8f99138930f503eb1203766732acd05a07be 24-Jul-2015 Jim Miller <jaggies@google.com> am 5703cd54: am 72d9a4df: am 56e1be70: am ecfbd588: am abd35bfc: Merge "Add FEATURE_FINGERPRINT to PackageManager\'s feature list" into mnc-dev

* commit '5703cd5448e0f7efb0a164ca971b6ca0cc117173':
Add FEATURE_FINGERPRINT to PackageManager's feature list
5cdca2a812af6b534000c93c0c72c7a0912bd81c 24-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> am cb731204: am ce4668b6: am 3fce45b6: am 54f1db79: am 607bc34f: Merge "Reset permissions and app links when clearing app preferences - framework" into mnc-dev

* commit 'cb731204c47034b6ce3e6a96b127fafc322a3625':
Reset permissions and app links when clearing app preferences - framework
5703cd5448e0f7efb0a164ca971b6ca0cc117173 24-Jul-2015 Jim Miller <jaggies@google.com> am 72d9a4df: am 56e1be70: am ecfbd588: am abd35bfc: Merge "Add FEATURE_FINGERPRINT to PackageManager\'s feature list" into mnc-dev

* commit '72d9a4dfc70973f83a5d6d005dac7f83e1d5640b':
Add FEATURE_FINGERPRINT to PackageManager's feature list
cb731204c47034b6ce3e6a96b127fafc322a3625 24-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> am ce4668b6: am 3fce45b6: am 54f1db79: am 607bc34f: Merge "Reset permissions and app links when clearing app preferences - framework" into mnc-dev

* commit 'ce4668b6be8f66625fcea4331baf5cc8e7d6dee1':
Reset permissions and app links when clearing app preferences - framework
a8bc790a60a23ce281d59d8f3d34f6fde70c8242 24-Jul-2015 Jim Miller <jaggies@google.com> am abd35bfc: Merge "Add FEATURE_FINGERPRINT to PackageManager\'s feature list" into mnc-dev

* commit 'abd35bfc81ae231656c6fba67d43cfbb76f3db0d':
Add FEATURE_FINGERPRINT to PackageManager's feature list
abd35bfc81ae231656c6fba67d43cfbb76f3db0d 24-Jul-2015 Jim Miller <jaggies@google.com> Merge "Add FEATURE_FINGERPRINT to PackageManager's feature list" into mnc-dev
29e3f766697c362e79b2d629812f9f17b1c559e0 24-Jul-2015 Svetoslav Ganov <svetoslavganov@google.com> am 607bc34f: Merge "Reset permissions and app links when clearing app preferences - framework" into mnc-dev

* commit '607bc34f93a8c074d1982861273d210291eae34d':
Reset permissions and app links when clearing app preferences - framework
788fc2b904add1c8b02ac62663b61ae8fd7aed5a 06-Jul-2015 Tor Norbye <tnorbye@google.com> Annotate Intent and ContentResolver params with @RequiresPermission

Change-Id: I831cd55da9c840be0f39b77a8ae868146f089326
ontentResolver.java
ontext.java
bf822d39a24b0de8228f5fc96c9ea4fcf320cbdc 24-Jul-2015 Dianne Hackborn <hackbod@google.com> am c9e454a5: am 26b2453c: am d363399b: am 86350411: am b7394671: Merge "Work on issue #22303510: Additional permissions aren\'t properly..." into mnc-dev

* commit 'c9e454a544233b6d4d7ae96d4442505bbad22fcb':
Work on issue #22303510: Additional permissions aren't properly...
c9e454a544233b6d4d7ae96d4442505bbad22fcb 23-Jul-2015 Dianne Hackborn <hackbod@google.com> am 26b2453c: am d363399b: am 86350411: am b7394671: Merge "Work on issue #22303510: Additional permissions aren\'t properly..." into mnc-dev

* commit '26b2453ca48b23177b8d692e3b1f9529a869211c':
Work on issue #22303510: Additional permissions aren't properly...
9c8b8ab941e3ca7bdf2cccad6836760d7723518e 23-Jul-2015 Svet Ganov <svetoslavganov@google.com> Reset permissions and app links when clearing app preferences - framework

bug:22359132

Change-Id: I198c0b1cd6c3dcb91fe560874a8502eb6b5f65b3
m/IPackageManager.aidl
d9b9d41082dae0a4bbed1bdb8a62f9f7e87ec14c 23-Jul-2015 Jim Miller <jaggies@google.com> Add FEATURE_FINGERPRINT to PackageManager's feature list

Fixes bug 22674557

Change-Id: I3d78e6bedc3ac18a25a06ac50e3a7eee4161fe70
m/PackageManager.java
dd400d6a5405be61172c451ead98535d8dc70762 22-Jul-2015 Dianne Hackborn <hackbod@google.com> am b7394671: Merge "Work on issue #22303510: Additional permissions aren\'t properly..." into mnc-dev

* commit 'b73946715cb9e3ca7a2702407e34f885e92a5d9a':
Work on issue #22303510: Additional permissions aren't properly...
cfbfafe1b9ca2fd135a4fb6b528b3829830803bf 22-Jul-2015 Dianne Hackborn <hackbod@google.com> Work on issue #22303510: Additional permissions aren't properly...

...disabled after toggling them off

Keep track of whether a permission that has been declared by an app
was able to actually be installed in the system, along with an API
to find this information so that system UI can tell whether that
permission is of interest.

Also clean up some of the permission debug output.

Change-Id: If4541bedb857789b255bb18f03cad155dcda0b95
m/PermissionInfo.java
543bd5e1312728ad5d55ecb9a0c020ed66f06634 21-Jul-2015 Alan Viverette <alanv@google.com> am c447689d: am 872cb95c: am 9362d96a: am 783b3d9d: am 001f1e7e: Merge "Add missing invalidation check to drawable cache" into mnc-dev

* commit 'c447689d2770a5f09bbef19a3097236f4a8e7445':
Add missing invalidation check to drawable cache
c447689d2770a5f09bbef19a3097236f4a8e7445 21-Jul-2015 Alan Viverette <alanv@google.com> am 872cb95c: am 9362d96a: am 783b3d9d: am 001f1e7e: Merge "Add missing invalidation check to drawable cache" into mnc-dev

* commit '872cb95cf211b6d30c8ac6f7670bbd5de19d33cb':
Add missing invalidation check to drawable cache
7e79319308bb485a875f2a0c3a4a8bdf520a077d 21-Jul-2015 Alan Viverette <alanv@google.com> am 001f1e7e: Merge "Add missing invalidation check to drawable cache" into mnc-dev

* commit '001f1e7eb35630df24d53298c1a3d2de055d7ce9':
Add missing invalidation check to drawable cache
7ef1e773fdf5f7aadf151a682c7f55a1e4f3c502 20-Jul-2015 Alan Viverette <alanv@google.com> Add missing invalidation check to drawable cache

Bug: 22478448
Change-Id: Ic9da1898cd921d8c133ef5397fc97a664601a863
es/DrawableCache.java
4cdb25211cae22c001eaf1f3f2df6cbc932fb558 17-Jul-2015 Neil Fuller <nfuller@google.com> am 1913dc11: resolved conflicts for merge of 71165ea6 to mnc-dr-dev-plus-aosp

* commit '1913dc11b1bd6d23a13949f9bfa34ca3029d90a8':
Migrate Resources.java to use ICU4j drectly.
04405925c7be041f561376517f995e4feceeab5f 17-Jul-2015 Neil Fuller <nfuller@google.com> resolved conflicts for merge of 71165ea6 to mnc-dev-plus-aosp

Change-Id: I5fb6eb3ee12318a575a5cd9faa8c8d2c98efa7bd
1913dc11b1bd6d23a13949f9bfa34ca3029d90a8 17-Jul-2015 Neil Fuller <nfuller@google.com> resolved conflicts for merge of 71165ea6 to mnc-dr-dev-plus-aosp

Change-Id: I21f2f14186965bdfc66ed3a2e6957d613837e138
28e7313992ba6efd94ddc16b45278863f84d7fcb 17-Jul-2015 Svet Ganov <svetoslavganov@google.com> am 71d12704: am 475858c3: am b295963b: am c00e49b6: am d4b566bf: Merge "Add APIs for verifier to grant at install and revoke permissions" into mnc-dev

* commit '71d12704f64eeace695a6b8e0cd8f36007b96270':
Add APIs for verifier to grant at install and revoke permissions
d4b566bf56333de708908ce4accb5fb067be64f0 17-Jul-2015 Svet Ganov <svetoslavganov@google.com> Merge "Add APIs for verifier to grant at install and revoke permissions" into mnc-dev
dbfb11a9f1c47349cf1582017a61369bf1ab75c5 16-Jul-2015 Xiaohui Chen <xiaohuic@google.com> Merge "sys user split: refactor systemui user switcher"
7121e18595d4c559044e26bfe6035406a862f466 14-Jul-2015 Svet Ganov <svetoslavganov@google.com> Add APIs for verifier to grant at install and revoke permissions

bug:22231699

Change-Id: Ie0c758bf73699f50bf99ff5aa0bf98dcc9004e37
ntent.java
m/PackageInstaller.java
5dc71cb2dd99bb2a5dd8bd6a51fec280bb488c38 16-Jul-2015 Svet Ganov <svetoslavganov@google.com> am ffb43184: am 3d8e949a: am 9088c083: am 12b05ec2: am 75f6b94a: Merge "Grant default permissions to the setup app robustly." into mnc-dev

* commit 'ffb4318447f7741b4901dd38e3f6d97c94794b42':
Grant default permissions to the setup app robustly.
75f6b94a5d5cadb218725011729466e8e438b231 15-Jul-2015 Svet Ganov <svetoslavganov@google.com> Merge "Grant default permissions to the setup app robustly." into mnc-dev
50a8bf4da0fe1685bfe6a0ecd9a9677e363e2ee1 15-Jul-2015 Svet Ganov <svetoslavganov@google.com> Grant default permissions to the setup app robustly.

There is a zoo of components that handle the home intent and
have different priority. There is no reliable way to distinguish
the setup app from the other apps that handle home as some of
them have lower priority than the setup app and some higher.
This change adds a dedicated category to recognize the default
setup app.

Uncommented the code that grants accounts permissions as the
get_accounts permission is now a runtime permission and can be
granted.

bug:22471024
bug:22501463

Change-Id: I41726751fa2567cbcd7d09c7acfa7615b8aba577
ntent.java
b27b3057687fa6dda8f10d6661eef200f44fdfdf 15-Jul-2015 Rayhaan Jaufeerally <rayhaan@google.com> Migrate Resources.java to use ICU4j drectly.

This change means that NativePluralRules can be removed in its entirety
because this is the only usage of that class.

Using a small benchmark from the NativePluralResources test, ICU4c code
takes 38.6 us and ICU4j code takes 49.2us to execute.

Change-Id: I5dbf643807c024a9c9c0f1292363fa8e39db965a
es/Resources.java
e0d96ce96c5f9e469eb51cdbcb61f81e94e61562 15-Jul-2015 Dianne Hackborn <hackbod@google.com> am 808dd5cc: am 4753b5bc: am 4f73990a: am aa3694f2: am f1f8b9cc: Merge "Fix issue #21626564: MMS should be receivied while Dozing" into mnc-dev

* commit '808dd5cc8af3e26d12c1b5fe80663eb306cc0c20':
Fix issue #21626564: MMS should be receivied while Dozing
b5143ecfeebfcf1424e599882e97c46881bb8c48 15-Jul-2015 Fyodor Kupolov <fkupolov@google.com> am 1fa2a088: am 1281575c: am 41fac5e8: am 189f3136: am 98724126: Merge "Added sendBroadcastMultiplePermissions method" into mnc-dev

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

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

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

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

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

Change-Id: Ic7fe010af680034d9f8cb014bb135b2addef7455
ontext.java
ontextWrapper.java
d4fd8c766da8a70e3359bbc7efbbc79496efe71a 14-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Added sendBroadcastMultiplePermissions method

Added Context.sendBroadcastMultiplePermissions(Intent intent, String[]
receiverPermissions) method, which allows an array of required permissions
to be enforced.

Bug: 21852542
Change-Id: I27c9130e8f004b428452501ebc8a36aabde1f343
ontext.java
ontextWrapper.java
9ac5983c7b43676f748816381904d4c62a168a3e 15-Jul-2015 Fyodor Kupolov <fkupolov@google.com> am 7aeb1a5c: am cf4617cf: am 1aeceef4: am fc4acfd9: am 4a817924: Merge "Revert "Allow array of required permissions in sendBroadcast"" into mnc-dev

* commit '7aeb1a5c19a1226f2b0ca7b498bdad941d206808':
Revert "Allow array of required permissions in sendBroadcast"
34ff2b04c9ffa36d11480336ff06935921b38984 15-Jul-2015 Fyodor Kupolov <fkupolov@google.com> am 64e8aa18: am 7f006b52: am 70174794: am ef77c116: am d69a82c1: Merge "Allow array of required permissions in sendBroadcast" into mnc-dev

* commit '64e8aa18f8c089989113ecd8775d41bffe74b41d':
Allow array of required permissions in sendBroadcast
4a817924ecb282eef48b06b92f8e1914edd6cec2 15-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Revert "Allow array of required permissions in sendBroadcast"" into mnc-dev
e37520b49da8fc2b7b7501c6dbbe1e6ac984dd9f 15-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Revert "Allow array of required permissions in sendBroadcast"

This reverts commit b4e7283c9afd9fb15ebd63f6ce9b75c9c1af658b.

Change-Id: Ie8390964bda5bdfa869cee8f46584043d8e7c664
ontext.java
ontextWrapper.java
d69a82c107cea4aca87eecc3978e21ea9bc23c82 14-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Allow array of required permissions in sendBroadcast" into mnc-dev
b4e7283c9afd9fb15ebd63f6ce9b75c9c1af658b 14-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Allow array of required permissions in sendBroadcast

Added Context.sendBroadcast(Intent intent, String[] receiverPermissions)
method, which allows an array of required permissions to be enforced.

Bug: 21852542
Change-Id: I3b8ff258fa9f3249c344bb8093b820b24eef00c0
ontext.java
ontextWrapper.java
fbb4a38c7cc8ddb313c588f8d29bfcda5c0609c2 14-Jul-2015 Ian Pedowitz <ijpedowitz@google.com> resolved conflicts for merge of 30efac5a to master

Change-Id: I0dad4cf10ed01cbf49e33f0c2ed1d6f8a1c893e0
4fd798768245f07064a1001a594fa2f4558efb9e 14-Jul-2015 Christopher Tate <ctate@google.com> am d5c43b76: am df8db14e: am 0e201048: am b4494b02: am 288ecf98: Merge "Prioritize most-recently-enabled link-handling app" into mnc-dev

* commit 'd5c43b7619d9d42e902a34c8b300f882b8213309':
Prioritize most-recently-enabled link-handling app
7cb69df507f5f7956c52a2868a0d6e89aec6dde2 14-Jul-2015 Xiaohui Chen <xiaohuic@google.com> sys user split: refactor systemui user switcher

BUG:19913735
Change-Id: I017dd1b03fd163c266b8080b969fb7a2e934e26c
m/UserInfo.java
84e7055983ed7500d3bb3a1ccef49dc5d3e842a9 14-Jul-2015 John Reck <jreck@google.com> am ae94ac95: am 5d84b44b: am 72e8e080: am 074b3ceb: am f96d9c54: Merge "Improve resource loading by ~3x" into mnc-dev

* commit 'ae94ac95754f4e1c4d4f9fda83e7a7e15e90d90b':
Improve resource loading by ~3x
8cee6587e0efb2d8e63f1505b057a1e328525017 14-Jul-2015 Svet Ganov <svetoslavganov@google.com> Merge "Teach storage appops." into mnc-dev
6ee871e59812fea4525c50231f677c4bd10c74b8 10-Jul-2015 Svet Ganov <svetoslavganov@google.com> Teach storage appops.

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

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

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

bug:22104923

Change-Id: I601c19c764a74c2d15bea6630d0f5fdc52bf6a5a
m/IPackageManager.aidl
288ecf98f14c9eff639b0a3de074d5b4a06eccec 14-Jul-2015 Christopher Tate <ctate@google.com> Merge "Prioritize most-recently-enabled link-handling app" into mnc-dev
f0d6cb38c47ee37583034dc3a68238ed13c91742 11-Jul-2015 Christopher Tate <ctate@google.com> Prioritize most-recently-enabled link-handling app

In the case when multiple apps handle a given web-link action,
all of which have been marked as "launch the app instead of a
browser" and so are otherwise ambiguous, always prefer the app
that was most recently placed into the always-handle-links state.

Bug 22051035

Change-Id: I3f43c19b0d7b74e9843445e41971bb5433affb1c
m/IntentFilterVerificationInfo.java
m/PackageUserState.java
4feb3260152b2ddbd4a96c43c09cd1ed3cf2d3fb 13-Jul-2015 John Reck <jreck@google.com> Improve resource loading by ~3x

Bug: 22392651

ColorStateLists were never cached because the lazy-create
of the constant state had a typo.

Resource caching in general was broken because ThemeKey did not
clone the hash code, so all keys in the cache had a hashCode
of 0 which did not match the real, uncloned ThemeKeys hash code
so the binary search in ArrayMap based off of hash code was failing.

Change-Id: I9df1628b226bfa797bed97875354c19bf64f41ad
es/ColorStateList.java
es/Resources.java
5a9a85d3d2b13a05ce2cf47511551428843d23b0 10-Jul-2015 Svet Ganov <svetoslavganov@google.com> am 0bdfb97a: am 88c3918d: am 3ceb043f: am b7cf986e: am 171fe6ac: Merge "Add an API for apps to query if a permisison is denied by policy." into mnc-dev

* commit '0bdfb97a0acb8b40c78b1f40151b334d5401a2d1':
Add an API for apps to query if a permisison is denied by policy.
171fe6ac0aa5b0d2dd64ac1cdda25cdcb5f183f3 10-Jul-2015 Svet Ganov <svetoslavganov@google.com> Merge "Add an API for apps to query if a permisison is denied by policy." into mnc-dev
8bbd9ac7460ea36ddd7b90213c914ba06967349d 10-Jul-2015 Christopher Tate <ctate@google.com> am 531209d2: am 06566db8: am 67fbc0bd: am bf8cc192: am adebbeba: Merge "Remote extraneous debugging log message" into mnc-dev

* commit '531209d29cd571254248cdc706bdd4dc297bc331':
Remote extraneous debugging log message
bf0c1ac1098f5d3be70ba7e7a62b94ffedf734af 09-Jul-2015 Christopher Tate <ctate@google.com> Remote extraneous debugging log message

Bug 22069429

Change-Id: I4e3803aff58449b2544d9d7cca27d8d2115ccdd6
m/PackageParser.java
7bd71f65417e0fa643d59abd3c3bdebb9cc992f2 09-Jul-2015 Svetoslav <svetoslavganov@google.com> am 122350fc: am 843d7216: am 353835e1: am c88dec32: am 6638c182: Merge "Fix reset permissions on clear data and package uninstall." into mnc-dev

* commit '122350fca781048e0a59260e2bed233b428cf3fd':
Fix reset permissions on clear data and package uninstall.
ad3b2975574f916c14382628d50c710a78064746 08-Jul-2015 Svet Ganov <svetoslavganov@google.com> Add an API for apps to query if a permisison is denied by policy.

bug:22177216

Change-Id: I32227f55097fae997f33743fd1eee06cb18f47f1
m/IPackageManager.aidl
m/PackageManager.java
4a5f4a2bc7a379a5b4174f78fefeefe745e6cd37 08-Jul-2015 Svetoslav <svetoslavganov@google.com> Fix reset permissions on clear data and package uninstall.

If the user clears data for an app we reset the permission but
only the changes made by the user. We do not modify syste or
policy flags and also ensure the permission that were granted
by default are granted after the data wipe. This is the same
as starting with a clean slate.

If the package whose data is cleared is a part of a shared user
we resent to initial state only the permissions that the cleared
package contributed. Hence, if another package also declared the
permission as used we do not clear the permission state as it is
still in use.

When a package is deleted for a user but still present for another
user we reset its permissions to their inital state follwoing
above described strategy.

Lastly when a preinstalled package wtih an upgrade is diabled
(triggers upgrade uninstall) and this package is a part of a
shared user, we do not drop permission state (grants and flags)
for permissions used by the shadowed system package. This ensures
that we do not drop runtime permission state (such state is
default grants and user changes).i

bug:22248525

Change-Id: I3a3007476d2cb9f4ff824e1e137a6e1a4d04408b
m/PackageManager.java
ee94484303ebddbb5eb7cc7efa347240ad641bc7 08-Jul-2015 Dianne Hackborn <hackbod@google.com> am 7b3add61: am f368f6b9: am 6ee8a509: am c55c4a28: am b14dc048: Merge "Add new "preinstalled" permission flag." into mnc-dev

* commit '7b3add61c9e47b708725147dffc23d396db37add':
Add new "preinstalled" permission flag.
4e5dac3d6ef6f28aecb116b8dfd92ff31d49c926 08-Jul-2015 Svetoslav <svetoslavganov@google.com> am 3fd5ebfd: am 7cc8de60: am 0ce19f8e: am 240f8e5f: am 3e07ee07: Merge "Grant installer and verifier install permissions robustly" into mnc-dev

* commit '3fd5ebfd778e540276fb5205a8ba3185e620647d':
Grant installer and verifier install permissions robustly
a90c8def2c6762bc6e5396b78c43e65e4b05079d 08-Jul-2015 Dianne Hackborn <hackbod@google.com> Add new "preinstalled" permission flag.

This allows you to specify that a permission can be granted to
any pre-installed system app (not just privileged ones).

And as long as I am doing this, clean up the old "system" permission
flag, renaming it to "privileged" which is what it really is today,
deprecating the old names. And switch the platform's permission
declarations to use the new name.

Change-Id: Iabf484746af232144786851ec7fe90e3de9dddb2
m/PermissionInfo.java
3e7d977ff7c743713f0ad6336a039d7760ba47d1 07-Jul-2015 Svetoslav <svetoslavganov@google.com> Grant installer and verifier install permissions robustly

bug:22248271

Change-Id: I3a47ae9a112ba7d88b421fcb5f9651d1168ba7a5
m/PermissionInfo.java
3bb8c854189591fcee16d2a6854fae862b02d1e8 07-Jul-2015 Jeff Sharkey <jsharkey@android.com> Merge commit '1db64c19' into merge3

Change-Id: I0aea6817876a5820a7d67a4de5bef0f86ce702a2
38cae6c8bcb86236b21d69f852473351c0c1d82a 06-Jul-2015 Jeff Sharkey <jsharkey@android.com> Merge "Reconcile private volumes when mounted." into mnc-dev
f127f42fd44cf322ce942f1c42d2abed84621486 06-Jul-2015 Svet Ganov <svetoslavganov@google.com> am b017752a: am 6bc5b226: am c5a759cf: am d8c2bbcf: am 10c111ed: Merge "Show basic feature warning for default granted permissions" into mnc-dev

* commit 'b017752aeb1d6d2ee961580de9edfc3db8722c8a':
Show basic feature warning for default granted permissions
6dce4964b4d1a13d276d95730b8fb09d6a5a8d04 04-Jul-2015 Jeff Sharkey <jsharkey@android.com> Reconcile private volumes when mounted.

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

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

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

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

Bug: 20674082, 20275572
Change-Id: I4e3448837f7c03daf00d71681ebdc96e3d8b9cc9
m/PackageManager.java
m/PackageParser.java
92ebe9a289809c4f8845f6bf54a68e4cd575ff9b 04-Jul-2015 Nicolas Prevot <nprevot@google.com> am b06aece7: am d16f1252: am 60373e80: Merge "Fix the case where an intent bounces several times between users." into mnc-dev

* commit 'b06aece751cc86aa859005bbb8843c5ed6be7c6f':
Fix the case where an intent bounces several times between users.
e8ce8368fc65c3f5c54c44384be62cf228ceb10e 04-Jul-2015 Svet Ganov <svetoslavganov@google.com> am 55cd6f44: am 6fe87a56: am 68ffcf88: Merge "Teach receivers, activities, providers, and services app ops." into mnc-dev

* commit '55cd6f44fd1e49164a999e948bb91a03a3b9daf6':
Teach receivers, activities, providers, and services app ops.
7e07288c7720001542182a4a70a5395015bcff1c 04-Jul-2015 Dianne Hackborn <hackbod@google.com> am 0783b9a4: am ee987ce4: am 76664d9d: Merge "Work on issue #21589105: Scope WRITE_SETTINGS and SYSTEM_ALERT_WINDOW..." into mnc-dev

* commit '0783b9a47ae682cc85a14284e79643b5087b8c9f':
Work on issue #21589105: Scope WRITE_SETTINGS and SYSTEM_ALERT_WINDOW...
279a9a3131635fe84d33231711f40daaa798ae26 04-Jul-2015 Svetoslav <svetoslavganov@google.com> am 90336427: am 56ef372f: am 29563632: Merge "Grant permissions to headless system calendar/contacts sync adapters." into mnc-dev

* commit '90336427fd1fc85e15a43ce36a26576013061d91':
Grant permissions to headless system calendar/contacts sync adapters.
77ab6a888afaeb9010c7c3884adcd4819dbcee66 03-Jul-2015 Svet Ganov <svetoslavganov@google.com> Show basic feature warning for default granted permissions

bug:22174223

Change-Id: Ie8209e1f678ac459893151b5125e86eb5025aad8
m/PackageManager.java
60373e8060cf6de2d293a758c33cc5f610122657 02-Jul-2015 Nicolas Prevot <nprevot@google.com> Merge "Fix the case where an intent bounces several times between users." into mnc-dev
68ffcf883c15b97d28e36c684d0db3da084727fc 02-Jul-2015 Svet Ganov <svetoslavganov@google.com> Merge "Teach receivers, activities, providers, and services app ops." into mnc-dev
99b6043dad9d215cf15810b885b6b8c215dd5b5a 27-Jun-2015 Svet Ganov <svetoslavganov@google.com> Teach receivers, activities, providers, and services app ops.

Perform app op check in addition to the permisison check for all four
paltform components - activities, content providers, broadcast receivers,
services - if they are guarded by a permssion that has an associated app
op. This ensures that legacy apps will behave correctly if the permission
of the caller has been revoked, i.e. the app op for that permission was
disabled.

bug:22199666

Change-Id: Ia22d1c38d58b3cd6aabdc655cb7c7bddd85da7a2
roadcastReceiver.java
ontentProvider.java
76664d9dcfbbe04c50a00ea1e268e80b9a9f6087 02-Jul-2015 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #21589105: Scope WRITE_SETTINGS and SYSTEM_ALERT_WINDOW..." into mnc-dev
de15edaa9bf486a4050bb067317d313fd807bb10 01-Jul-2015 Dianne Hackborn <hackbod@google.com> Work on issue #21589105: Scope WRITE_SETTINGS and SYSTEM_ALERT_WINDOW...

...to an explicit toggle to enable in Settings

Add a new permission flag, saying the permission can be automatically
granted to pre-api-23 apps. Apply this to SYSTEM_ALERT_WINDOW.

Change-Id: I24a0ceabe7e9f5e458a864d30eda2696ad14a699
m/PermissionInfo.java
107f7b7becdb5fe6d735a4f1355eb3421f068fb0 01-Jul-2015 Nicolas Prevot <nprevot@google.com> Fix the case where an intent bounces several times between users.

An intent may bounce several times between users.
In this case, we want mContentUserHint to refer to the original
user.

BUG:19656340
Change-Id: I22a35fab0c228140dcb223899f5e38ff33ee5aed
ntent.java
3f69719a1b8f654a2b59fbea28fbca0fbad08bc1 01-Jul-2015 Svet Ganov <svetoslavganov@google.com> am ce3b66f5: am aadc90b5: am 67a461ec: Merge "Rename uses-permission-m to uses-permission-23" into mnc-dev

* commit 'ce3b66f542947211ed8ea7e09267bb66ff687a34':
Rename uses-permission-m to uses-permission-23
0010b70beae6fafd3faf06e1b02291f59f9f85db 01-Jul-2015 Svetoslav <svetoslavganov@google.com> Grant permissions to headless system calendar/contacts sync adapters.

bug:21861781

Change-Id: I5f9905a23ba1b23e387adf2cea842172d34207b0
m/PackageManagerInternal.java
67a461eca888243e1f4960e662aa2059c90da629 01-Jul-2015 Svet Ganov <svetoslavganov@google.com> Merge "Rename uses-permission-m to uses-permission-23" into mnc-dev
ffd25bbed1345a932b1338a210405d1f42daf07b 30-Jun-2015 Svet Ganov <svetoslavganov@google.com> Rename uses-permission-m to uses-permission-23

bug:20072113

Change-Id: Ia872853274c604a6fee1c1d84f82a98334523bac
m/PackageParser.java
932765b45b77c1ffdb0a4b46751caa67998bbeb7 30-Jun-2015 Benjamin Franz <bfranz@google.com> am aa2b7910: am adb41d8f: am 01b079f7: Merge "Make ContentObservers work across profiles" into mnc-dev

* commit 'aa2b79107918adfe2fbfc7d40dd17845b4739999':
Make ContentObservers work across profiles
01b079f7d2dff0c9230e0f58842a473dc8c2cd06 30-Jun-2015 Benjamin Franz <bfranz@google.com> Merge "Make ContentObservers work across profiles" into mnc-dev
ee4e4e79f59a808c4c13db8281ac895047ea199a 30-Jun-2015 Svetoslav <svetoslavganov@google.com> am 358a8362: am ae45cfa6: am 03b5f128: Merge "Grant default permissons to the default SMS, Phone, Browser app." into mnc-dev

* commit '358a8362781736a8ddaa27713a0727d4eac1cfd0':
Grant default permissons to the default SMS, Phone, Browser app.
cdfd230a392d0f0557a3a5bada221b7a05113392 26-Jun-2015 Svetoslav <svetoslavganov@google.com> Grant default permissons to the default SMS, Phone, Browser app.

The default SMS, Phone, Browser are selected in the UI and we
grant default permissions to these. We do this regardless if
they are on the system image as the user has made an explicit
choice in the UI and the permission we grant are considered
essential for such type of a core app to operate properly.

bug:22104986

Change-Id: Ide8caeb524b43dde11a20460666cf34c4d35f84b
m/IPackageManager.aidl
m/IPackagesProvider.aidl
m/PackageManagerInternal.java
adea1918bef942b6214cf549b1316affd2b10280 19-Jun-2015 Benjamin Franz <bfranz@google.com> Make ContentObservers work across profiles

Currently registering for changes to a cross-user Uri does not work, as
the calling user id is used to identify the Uri. Change this to use the
userId the Uri is associated with. In order to protect Uris across
users, we only allow registration for a Uri when the caller has read
permission. We also only allow notify calls from across users when the
caller has write permission to the Uri.

Bug: 19312280
Change-Id: Ide216b09980ed5ebefe9b37c946dd8160167809f
ontentResolver.java
7257462a7323234b453c14406724319e3bd75c7a 27-Jun-2015 Christopher Tate <ctate@google.com> am de3d02e4: am e436e19e: am b035c6d9: Merge "Properly scope the "only http/https schemes" intent filter semantics" into mnc-dev

* commit 'de3d02e4c3057c8ab7e40c0592dc2e94f0b42e64':
Properly scope the "only http/https schemes" intent filter semantics
b035c6d9a6827510e6ee3f855827cf6e428adb22 27-Jun-2015 Christopher Tate <ctate@google.com> Merge "Properly scope the "only http/https schemes" intent filter semantics" into mnc-dev
2134744efd305a875b7baa5073358387c479e3e4 27-Jun-2015 Christopher Tate <ctate@google.com> Properly scope the "only http/https schemes" intent filter semantics

That restriction applies only to default-app linkage verification, and
not to any general questions of "is this app effectively a web browser?"

Bug 21688029

Change-Id: I9f6a7bc6dcac5e12ee07f8da6465ad51c1aeddfb
ntentFilter.java
ab446232be8eca5a60a5fa9f0a937f521f744c14 27-Jun-2015 Rubin Xu <rubinxu@google.com> am ba5c0728: am d1858a7d: am 0a202eac: Merge "Use StorageManager.wipeAdoptableDisks to wipe external disks" into mnc-dev

* commit 'ba5c07286f9980220bda4ed6e9e29f392669c05c':
Use StorageManager.wipeAdoptableDisks to wipe external disks
0a202eac0103cae1c544d6f44bb67b236a3dde8d 27-Jun-2015 Rubin Xu <rubinxu@google.com> Merge "Use StorageManager.wipeAdoptableDisks to wipe external disks" into mnc-dev
1b96b1302671b9361cf7c7453a2ed2e5a079f4a0 26-Jun-2015 Dianne Hackborn <hackbod@google.com> am fb46261c: am a5de0eb5: am 7c5b5f71: Merge "Fix issue #22023824: Download folder is not created in internal storage" into mnc-dev

* commit 'fb46261c1eb015896d201a0275b41c3ebae11d02':
Fix issue #22023824: Download folder is not created in internal storage
ca8e6da41c6e63e3ed17eb461171f1ef2e1d29c6 25-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22023824: Download folder is not created in internal storage

The media provider and some other things need to be given storage access.

Also, seems like we should give storage access to the camera app as well.

And add a dump dump command that will dump data about a particular
permission name.

Change-Id: Idaaa9bba2ff4dc95290cf6d17e5df933df91e909
m/IPackageManager.aidl
aedb56fd18487d7a34b8ea9f09e4a717afa75a1e 26-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge commit 'b02c73d5' into manualmerge

Change-Id: I3ec37c9d45d685c2393087bdefa6ab512cc70062
e8490f1d78a62826742ddf4af8943e6666a1a8d0 25-Jun-2015 Rubin Xu <rubinxu@google.com> Use StorageManager.wipeAdoptableDisks to wipe external disks

Retire FORMAT_AND_FACTORY_RESET which is more fragile.

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

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

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

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

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

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

Bug: 21858077
Change-Id: I62fb25d126dd815aea699b33d580e3afb90f8fd2
m/IPackageManager.aidl
dcbe525ed1776e4e9318f88320d297d20995c7f8 25-Jun-2015 Svetoslav <svetoslavganov@google.com> am be17a55c: am 6a01c7ff: am 263b6e69: Merge "Prevent certain actions of app has revoked permissions" into mnc-dev

* commit 'be17a55c923f057f3f14656e7f56b2744607db45':
Prevent certain actions of app has revoked permissions
263b6e6983f50910f7e59d688ceb7ebd031ea2b3 25-Jun-2015 Svetoslav <svetoslavganov@google.com> Merge "Prevent certain actions of app has revoked permissions" into mnc-dev
7008b51817361443fc6f136c5b187e1d471c94f5 25-Jun-2015 Svetoslav <svetoslavganov@google.com> Prevent certain actions of app has revoked permissions

bug:21808294

Change-Id: I7214c1fe47c15fe185423a54a74b58caf8d82daa
ntent.java
46b9d3cf44cebaa0128f6f6ce8baeb1895af7893 24-Jun-2015 Christopher Tate <ctate@google.com> am 425bd876: am d1741ef9: am 1af5fe23: Merge "Require that verified intent filters only have http/https <data> decls" into mnc-dev

* commit '425bd87661e318d715458fdfa5de440a2474d437':
Require that verified intent filters only have http/https <data> decls
413020a6ca6e7d4eb7e61e3fe7d7a4c570a605db 24-Jun-2015 Christopher Tate <ctate@google.com> Require that verified intent filters only have http/https <data> decls

It is malformed to write a single intent filter like this:

<intent-filter android:autoVerify="true">
<data android:host="foo.example"
android:path="/"
android:scheme="http" />
<data android:host="*"
android:path="/custom"
android:scheme="fooexamplecustomscheme" />
</intent-filter>

In practice this app is accidentally defining a filter that will match
"http://*". This is now detected, and will never be auto-verified for
any of the mentioned domains.

Verified intent filters must *only* handle the http & https schemes.

Bug 21920537

Change-Id: I933cddbea23185d242565cac940e1e7a7e4e289b
ntentFilter.java
b96d1f1e6979a91b9e35657cbfbee6acff3330ed 24-Jun-2015 Svetoslav Ganov <svetoslavganov@google.com> am 242c1f33: am 4475dbca: am 2c99ea35: Merge "Remove not needed contacts related permissions." into mnc-dev

* commit '242c1f333431b32445336faed18feb1a90ebd6e4':
Remove not needed contacts related permissions.
2c99ea3524bba58f87a9fefad79aa136538b6e0e 24-Jun-2015 Svetoslav Ganov <svetoslavganov@google.com> Merge "Remove not needed contacts related permissions." into mnc-dev
6d2c0e5ee2f717d4a5c00df08aca21c76eea8278 23-Jun-2015 Svetoslav Ganov <svetoslavganov@google.com> Remove not needed contacts related permissions.

This reverts commit ed5ff51b2ca7c051e2719dfc8a8a083e6208848e.

Change-Id: If2407e4e474a438d95e1b7ad1aa6f441bb3ace08
m/PermissionInfo.java
b1cc316dcebc29ab74fa24bfb3f8f687e5835fb5 24-Jun-2015 Xiaohui Chen <xiaohuic@google.com> Merge "Introduce system user and primary user."
70f6c38644a4a6e28c016c265e6987bf00dd61f1 28-Apr-2015 Xiaohui Chen <xiaohuic@google.com> Introduce system user and primary user.

Bug: 19913735
Change-Id: I2c7855915d778cf80a7154314321ddd90e2eaaac
m/UserInfo.java
43469fd4a4e0d7b2fd387f74c0c7f23296553b23 24-Jun-2015 Jeff Davidson <jpd@google.com> resolved conflicts for merge of 8685db85 to master

Change-Id: I8fbf397082ac90d6a173785538fd6eeb8e4976f7
1d69d48596dae3c3e365182aa13acbd56b106b2e 23-Jun-2015 Amith Yamasani <yamasani@google.com> am ab8d7e31: am af259ee4: am 862ab87b: Merge "Runtime permissions cannot be set on legacy apps by device policy" into mnc-dev

* commit 'ab8d7e31fb1b6526479844111b177be81a54a31c':
Runtime permissions cannot be set on legacy apps by device policy
8d9ad19341e19256651ef86274a4382f2c09b279 23-Jun-2015 Jeff Davidson <jpd@google.com> Merge "Default permissions for carrier apps." into mnc-dev
0bf8f7cc3982164a9e11ea4a25ed930e466f1dd8 22-Jun-2015 Amith Yamasani <yamasani@google.com> Runtime permissions cannot be set on legacy apps by device policy

Clarify docs that runtime permissions can be granted or revoked by
a profile owner/device owner only for MNC apps and not legacy apps.

Check the targetSdkVersion and return false if legacy app.

Remove all policy flags from permissions when cleaning up
a device or profile owner.

Bug: 21835304
Bug: 21889278
Change-Id: I4271394737990983449048d112a1830f9d0f2d78
m/IPackageManager.aidl
ee9a55fd4b170d3343b1bb61e3b3a887c92c82fa 23-Jun-2015 Dianne Hackborn <hackbod@google.com> am 80e364a7: am 11ef84c8: am 6af40c83: Merge "Fix issue #21799741: AbstractThreadedSyncAdapter crashes..." into mnc-dev

* commit '80e364a71ac41672436f86b2ceb61698f4fb59d1':
Fix issue #21799741: AbstractThreadedSyncAdapter crashes...
2a880312086147577e1e814bda6985fa97fb343b 23-Jun-2015 Jeff Davidson <jpd@google.com> Default permissions for carrier apps.

Grant permissions in the PHONE and LOCATION buckets to default carrier
apps as defined by the telephony stack. Provide a system API to grant
default permissions for carrier apps, as the set of apps may change
when a new SIM is inserted.

Since the phone process is separate from the system process, we need
to allow for binder calls to these APIs.

Also fix a log tag that is too long (android.util.Log drops messages
silently if the tag is > 23 characters).

Bug: 21696731
Change-Id: I98ca0c49c69f621f835ba57c1fd0505f2cec0d0d
m/IPackageManager.aidl
m/IPackagesProvider.aidl
6af40c833890356e6a48c8f32feab1bd768d2480 23-Jun-2015 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #21799741: AbstractThreadedSyncAdapter crashes..." into mnc-dev
af6052f5464844ba6242a514cdaacc7e259f190b 23-Jun-2015 Christopher Tate <ctate@google.com> am 309499e0: am a116123f: am 6d2268a5: Merge "Back up / restore default app and intent filter verification state" into mnc-dev

* commit '309499e0cd138d30d340460d6c99ecb8292717d1':
Back up / restore default app and intent filter verification state
6d2268a57603e1c60329b93fb853ac2c134cb932 23-Jun-2015 Christopher Tate <ctate@google.com> Merge "Back up / restore default app and intent filter verification state" into mnc-dev
d01ed46c633912895ac4d9dc0804dac8f7fe9069 23-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21799741: AbstractThreadedSyncAdapter crashes...

...when permissions aren't granted

Eat the SecurityException, turn it into a new callback.

Change-Id: Ibeffce061aa51beba097c90f431de07ce70b3c4e
bstractThreadedSyncAdapter.java
6038d15cbc7f4648ceaadf5f15d1928c4899f98e 17-Jun-2015 Christopher Tate <ctate@google.com> Back up / restore default app and intent filter verification state

For apps not present on device, the state inherited from the ancestral
device is applied when the app is ultimately installed.

Bug 20144515

Change-Id: Ie05b4f1751357fc62f14e259da174b8cf465e913
m/IPackageManager.aidl
02724743791c05331b1d5d339812cee3395cb0f0 23-Jun-2015 Matthew Williams <mjwilliams@google.com> am 9ac21d4c: am 1a9245d5: am 8b1db074: Merge "Cancel Syncs that aren\'t making progress." into mnc-dev

* commit '9ac21d4cf8d0870d7f452665fa110e1aba356f89':
Cancel Syncs that aren't making progress.
8b1db0746fb5831cf670d4935acf1197b0c92748 22-Jun-2015 Matthew Williams <mjwilliams@google.com> Merge "Cancel Syncs that aren't making progress." into mnc-dev
1967c8ddd5bb46958b732002d391e4276c0710c4 20-Jun-2015 Matthew Williams <mjwilliams@google.com> Cancel Syncs that aren't making progress.

BUG: 18266674
1) If a sync has up/downloaded less than 10bytes in 60 seconds it is
considered to be making no progress and is summarily cancelled.

2) Apply a 30min hard time-out to initialization syncs.

Note that there is little proof that cancelling a sync has an
impact. All it results in is a Thread.interrupt on the sync
thread, which the adapter must itself implement. To this effect
this CL also updates the javadoc to make this clearer, and adds
some (unimplemented) threats about killing the hosting process.

Change-Id: I83c447648152ccbf76bb1fbd7e9216e01a37952f
bstractThreadedSyncAdapter.java
bf190b2ebb3549f5a4c65bc8eca68fd24df1dd64 22-Jun-2015 Kenny Guy <kennyguy@google.com> am 38914619: am 32327b72: am 43423549: Merge "Fix LauncherApps registerCallback adding duplicate callbacks." into mnc-dev

* commit '389146190e1d391a91871f07518be755d01d31de':
Fix LauncherApps registerCallback adding duplicate callbacks.
434235496c6356dd5e2fc9977c5f1d0609fd3d2a 22-Jun-2015 Kenny Guy <kennyguy@google.com> Merge "Fix LauncherApps registerCallback adding duplicate callbacks." into mnc-dev
971e091d523925c42c7f9e670d68c9b55d60ede0 20-Jun-2015 Svet Ganov <svetoslavganov@google.com> am 27479b57: am f5da7202: am 1e575a0f: Merge "Only grant runtime permissions to special components." into mnc-dev

* commit '27479b5752bcb06853ef5ada1813dc139efb7dd0':
Only grant runtime permissions to special components.
0c25fbde829a5bb5cecc74df01c14e75292cebfd 20-Jun-2015 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 5f1c2dbc to master

Change-Id: I4d08ad224c8cddd1d379c0f9ec326165a08dd651
1e575a0f32a00fc6a2f9a71fe1d1eb4426c71787 20-Jun-2015 Svet Ganov <svetoslavganov@google.com> Merge "Only grant runtime permissions to special components." into mnc-dev
adc1cf46045ae756d3a9ccbccf6b0f894e4c1edd 16-Jun-2015 Svet Ganov <svetoslavganov@google.com> Only grant runtime permissions to special components.

Now runtime permissions are granted only to components that are
part of the system or perform special system operations. For
exmple, the shell UID gets its runtime permissions granted by
default and the default phone app gets the phone permissions
granted by default.

bug:21764803

Change-Id: If8b8cadbd1980ffe7a6fc15bbb5f54a425f6e8f9
m/ApplicationInfo.java
m/PackageManagerInternal.java
m/PackageParser.java
b94761d0a48522b23c54f786445658bb58258da4 20-Jun-2015 Amith Yamasani <yamasani@google.com> Merge "App Standby : Association between content providers and their sync adapter" into mnc-dev
37a40c24deb02bca3868a8085069afae112f22e4 17-Jun-2015 Amith Yamasani <yamasani@google.com> App Standby : Association between content providers and their sync adapter

Set sync adapters to active if the associated content providers are used
at foreground process state.

Minimize how frequently published content providers are reported by
keeping track of last reported time.

Also cache sync adapters associated with an authority in SyncManager.

Bug: 21785111
Change-Id: Ic2c8cb6a27f005d1a1d0aad21d36b1510160753a
ontentResolver.java
ContentService.aidl
yncAdaptersCache.java
m/RegisteredServicesCache.java
c97f8742c872614fd88f384e165904a81bce960d 19-Jun-2015 Wale Ogunwale <ogunwale@google.com> am 91c0fbd1: am 0b3be03c: am 4186c977: Merge "Don\'t write IntentFilter autoVerify field to xml if false." into mnc-dev

* commit '91c0fbd126b2a9802f6c58de953e971d74a7d85a':
Don't write IntentFilter autoVerify field to xml if false.
eb6195c7a2b59d11ff934ead59b2ff7201769502 19-Jun-2015 Sudheer Shanka <sudheersai@google.com> am eaa25779: am a0fa30dc: am a408061c: Merge "Use the intent filter icon in ResolveInfo for managed profile." into mnc-dev

* commit 'eaa2577953eeff27754f6707ac0efa11b77ed947':
Use the intent filter icon in ResolveInfo for managed profile.
172a21697dca96c7665f0c36e27a05f8ed00e81a 19-Jun-2015 Kenny Guy <kennyguy@google.com> Fix LauncherApps registerCallback adding duplicate callbacks.

LauncherApps wraps the callback passed so checking
using List.contains isn't valid.

Bug: 21947184
Change-Id: Ice0973935574adda15e295073faedb62374ff627
m/LauncherApps.java
15b9fd268af89173ede26d1a75796392f6d4c8fb 19-Jun-2015 Wale Ogunwale <ogunwale@google.com> Don't write IntentFilter autoVerify field to xml if false.

Bug: 21205789
Change-Id: I650265eeec99d470ae2f089d8ae3ef3c866c0096
ntentFilter.java
a408061cc7b5efaf090ce9efd5fd0ba1d95e9c11 19-Jun-2015 Sudheer Shanka <sudheersai@google.com> Merge "Use the intent filter icon in ResolveInfo for managed profile." into mnc-dev
c6c902963c15ffa52be08bdd16295f3f985d6b61 18-Jun-2015 Christopher Tate <ctate@google.com> am ff69c55e: am 528e9abe: am 728b7500: Merge "Document possible null returns in PackageManager" into mnc-dev

* commit 'ff69c55eb078060b4bd7cd2e16ebe35229957356':
Document possible null returns in PackageManager
728b7500b3d34cd89f7aff0bad1bb7fe3e097f11 18-Jun-2015 Christopher Tate <ctate@google.com> Merge "Document possible null returns in PackageManager" into mnc-dev
abe6580199f8f61cd3070f377be61191e51cac00 18-Jun-2015 Christopher Tate <ctate@google.com> Document possible null returns in PackageManager

In particular queryIntentServices() but also a few others.

Bug 19127758

Change-Id: I590605ce4870b2ab300385678df8917cfade60f9
m/PackageManager.java
22afc5469efb924dea20902e3618735691e14f4a 18-Jun-2015 Dianne Hackborn <hackbod@google.com> am 2133afc7: am d21b695f: am 22433a33: Merge "Fix issue #21814207 and issue #21814212 (alarm manager)" into mnc-dev

* commit '2133afc77aa36f186b9e5c0ff9954d0d26848e3e':
Fix issue #21814207 and issue #21814212 (alarm manager)
a750a63d639f6936af456df904fa6b9ba941885e 17-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21814207 and issue #21814212 (alarm manager)

Issue #21814207: AlarmManager.setAndAllowWhileIdle should also allow wake locks.

Introduce a whole new infrastructure for providing options when
sending broadcasts, much like ActivityOptions. There is a single
option right now, asking the activity manager to apply a tempory
whitelist to each receiver of the broadcast.

Issue #21814212: Need to allow configuration of alarm manager parameters

The various alarm manager timing configurations are not modifiable
through settings, much like DeviceIdleController. Also did a few
tweaks in the existing DeviceIdleController impl.

Change-Id: Ifd01013185acc4de668617b1e46e78e30ebed041
ontext.java
ontextWrapper.java
IntentSender.aidl
ntentSender.java
773f3ed1e2a6b15a474c8c78f9e8a8d2a5b7dbba 17-Jun-2015 dcashman <dcashman@google.com> am f176b3b5: am 95e1f8b2: am acc2df21: Merge "Add keyset support for ECDSA public keys." into mnc-dev

* commit 'f176b3b5a5fccad5d16dc71642a70f90a57ebf64':
Add keyset support for ECDSA public keys.
acc2df21de9da66d8aaf9bf2b733f8b284454403 17-Jun-2015 dcashman <dcashman@google.com> Merge "Add keyset support for ECDSA public keys." into mnc-dev
1317a6585c523b4543720f32e45821f35c7f161b 15-Jun-2015 Dianne Hackborn <hackbod@google.com> am d5111d46: am 4169b628: am 285cb414: Merge "Fix issue #21813831: Need API for asking to be added to power whitelist" into mnc-dev

* commit 'd5111d46d6589921c3ad3d7ee6771ccc0e257f8f':
Fix issue #21813831: Need API for asking to be added to power whitelist
1958e5e7870579337f1d1d3e6c6fae096ba3abb9 13-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21813831: Need API for asking to be added to power whitelist

Add the API. Clean up a few related things.

Change-Id: I190adad1812f36f6095b98a1001fedb94874e8b5
ontext.java
b3dcb74c69d1a39abf2c5ab0e67503b692bbebb0 13-Jun-2015 Makoto Onuki <omakoto@google.com> am ed960080: am 5a9ef04f: am bd25b5f6: Merge "Fix ArrayIndexOutOfBoundsException in Transport.query" into mnc-dev

* commit 'ed9600801733b3481a3ede9af94d2129620a348e':
Fix ArrayIndexOutOfBoundsException in Transport.query
bd25b5f6021295932a8ce2a6fa534dc37dacf249 13-Jun-2015 Makoto Onuki <omakoto@google.com> Merge "Fix ArrayIndexOutOfBoundsException in Transport.query" into mnc-dev
34bdcdb10525336fe3e386f9dd10e8f3d9da416b 13-Jun-2015 Makoto Onuki <omakoto@google.com> Fix ArrayIndexOutOfBoundsException in Transport.query

The bug was that it used getCount() instead of getColumnCount().

Bug 21727804

Change-Id: I3ed6ed3be60c2cb25316340f588f993bac70f52b
ontentProvider.java
69353453c08218be2c7860d29d36b4d9e782b105 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> am 551ca4ff: am 05107ddf: am 54b65ff3: Merge "Annotate ContentProviderClient arguments." into mnc-dev

* commit '551ca4ffc4bdd65043277244952ba8a7a0603518':
Annotate ContentProviderClient arguments.
f8b32531801d87699b28e9454e81ebf96367a9bd 12-Jun-2015 Dianne Hackborn <hackbod@google.com> am ccd6d0c1: am d55860d9: am 8a435ced: Merge "Fix APIs." into mnc-dev

* commit 'ccd6d0c14decd111e7e12bf9844fa5ff75aa912e':
Fix APIs.
54b65ff3004a1585867e8c3c4d267b381123e179 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge "Annotate ContentProviderClient arguments." into mnc-dev
73ed509d44d9b3b235c81a1c1032c361fae92532 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Annotate ContentProviderClient arguments.

Explicitly mark if they're @Nullable or @NonNull.

Bug: 21560515
Change-Id: Id0a208a38c5a9ea19dddbe60c65d285645d08bb0
ontentProviderClient.java
8a435ced674562b827f91800317a89056e050b15 12-Jun-2015 Dianne Hackborn <hackbod@google.com> Merge "Fix APIs." into mnc-dev
679ba4992942873845eac46c3de8f419a4736447 12-Jun-2015 Tor Norbye <tnorbye@google.com> Merge "176321: Add missing @ColorRes/@ColorInt annotations"
34796bd07f871bc762d8ebd55cfbb80fcff4aeca 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Sigh, some apps are sending null ContentValues.

Bug: 21560515
Change-Id: Id5a62611781a2d9da47ad3e522d3d43f860b1f70
ontentProvider.java
ontentResolver.java
673db44fb3da4558059ef9746a496a63157f10bc 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Annotate ContentResolver/Provider arguments.

Explicitly mark if they're @Nullable or @NonNull.

Bug: 21560515
Change-Id: I5f671c241dfe65e5ab8bc06b2382fbf5a82bdb20
ontentProvider.java
ontentResolver.java
4f5e8b3ca489245005b76176ac6d28f5f184f3fe 12-Jun-2015 Jeff Sharkey <jsharkey@android.com> Valid filenames have length limits!

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

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

Tests to verify behavior.

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

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

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

Change-Id: Ic597e596fa772fcdf2553b64f444b3d9269e8b92
ntentFilter.java
e545bd36a483b51ef681ea063f7bda9352adb4d4 11-Jun-2015 Svet Ganov <svetoslavganov@google.com> Merge "Permission group is granted if one permission is granted for UI purposes." into mnc-dev
1ed0e553c6cfc231bb2c6f592c7825bc8cf045d8 11-Jun-2015 Svet Ganov <svetoslavganov@google.com> Permission group is granted if one permission is granted for UI purposes.

bug:21761217

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

Change-Id: I1ce450a59fb326c14848f46732d877dea33f33c7
m/IOnPermissionsChangeListener.aidl
m/IPackageManager.aidl
m/PackageManager.java
3c9614a03a40c3590b38eed71f86c24d81c6d52a 11-Jun-2015 Jeff Brown <jeffbrown@google.com> Merge "Expose Context.getSystemServiceName()." into mnc-dev
5b65a36d59a5ca09dc12c22c8b2f8dc50e3b4fbb 11-Jun-2015 Jeff Brown <jeffbrown@google.com> Merge "Add docs for ContentProviderOperations." into mnc-dev
40f58d910a45f04f47d6382e8c78c78727944821 11-Jun-2015 Jeff Brown <jeffbrown@google.com> Expose Context.getSystemServiceName().

Expose this method so that subclasses can declare new types of services
that can be returned by getSystemService(Class<T>).

Bug: 21343770
Change-Id: I08bdfa61153d19298645dc495deb2d535e54f9f0
ontext.java
95120bbb6fb8d36d52e32d6d8d5435fc92318ca7 11-Jun-2015 Jonathan Basseri <misterikkit@google.com> Merge "Fix typo possibly -> possible." into mnc-dev
764e95ec4f92affad448894bd2c4f4067625d3e6 11-Jun-2015 Jeff Brown <jeffbrown@google.com> Add docs for ContentProviderOperations.

Bug: 21343769
Change-Id: Ia122b58785cf98f16664f82eb00a1f6bd9366885
ontentProviderOperation.java
1616f30b0ca1221c7f60a6ae4e90562340c549a9 29-May-2015 dcashman <dcashman@google.com> Add keyset support for ECDSA public keys.

Bug: 21363613
Change-Id: If9eafc725dec4800276251722a7456382dfe207d
m/PackageParser.java
e6d8ffb40f555bbb3b88a3544616de28426e75a1 10-Jun-2015 Makoto Onuki <omakoto@google.com> Merge "Add more result extras for ACTION_GET_PERMISSIONS_COUNT" into mnc-dev
3e4cda7b1625395058306cca1ef7b24109a544b3 10-Jun-2015 Tor Norbye <tnorbye@google.com> 176321: Add missing @ColorRes/@ColorInt annotations

Change-Id: I1deb7ada45cc67a49c23032df5fb15161303ef5e
ontext.java
e687929f33f272fff9585bd0752d85ad519bc66d 10-Jun-2015 Jeff Sharkey <jsharkey@android.com> Merge "Flags to select storage volume for app installs." into mnc-dev
ab2340996a515ea0c437ad5bb1ea1fa88ab9edff 10-Jun-2015 Jeff Sharkey <jsharkey@android.com> Flags to select storage volume for app installs.

Remote callers can now provide the "--install-location" value from
the APK to help select a location, or they can explicitly force a
volume by UUID.

Bug: 21676789
Change-Id: Iefc92d770a851fc33e37edbf259fdb8df2b14ae5
m/PackageManager.java
a0d41262d48eb48285bb3a0e71bfc5b7b89be601 10-Jun-2015 Yao Chen <yaochen@google.com> Merge "Copy lockTaskLaunchMode from target activity to its alias." into mnc-dev
597ad3fb51accb68a8e61351421a0ed1d6c29869 10-Jun-2015 Yao Chen <yaochen@google.com> Copy lockTaskLaunchMode from target activity to its alias.

Bug: 21675800
Change-Id: I518f71d57b0a113797fb3879b776cc7142351218
m/PackageParser.java
a3acdb33df7c7be7ff3d9f376ff833e4b0c1d897 09-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21621920: VI: need mechanism to get current request

Add new APIs to associate a Request with a name, get all active
requests, and get active request by name.

Also add a new Activity.onProvideReferrer() which will allow
applications to propagate referrer information to the assistant
(and other apps they launch) in a consistent way.

Change-Id: I4ef74b5ed07447da9303a74a1bdf42e4966df363
ntent.java
bbb912a89e92b389c7f9f4f7669a6b2836cb159a 06-Jun-2015 Makoto Onuki <omakoto@google.com> Add more result extras for ACTION_GET_PERMISSIONS_COUNT

Now ACTION_GET_PERMISSIONS_COUNT returns more than counts, its a misnomer, but
I don't think it's worth renaming it, as Svet is planning to change the
interface to a service.

Bug 21615746

Change-Id: I9ce1f3ed674b21bb56ee5a8e2baed0017f5ae81a
ntent.java
159f558a39d200e08e06245d64ec1df9a08e7d93 08-Jun-2015 Tim Kilbourn <tkilbourn@google.com> Merge "Pass an args bundle to launchAssistAction." into mnc-dev
a73e4599506a1d3498ef5e9c240d79d7125fd2e9 08-Jun-2015 Kenny Guy <kennyguy@google.com> Merge "Correct the docs for getUserBadgedIcon" into mnc-dev
0e5f110fc915a9b044eb04cd07ae7ac588eacc8f 06-Jun-2015 Tim Kilbourn <tkilbourn@google.com> Pass an args bundle to launchAssistAction.

In order to track the input device that was used to trigger assist, the
input device id is sent as an extra in the assist intent whenever it is
available. This is particularly useful on TVs, when an app may want to
know whether the input device has a microphone.

Bug: 21666123
Change-Id: I0f8c09e2f617606bef481bdff924cb6b9b47dd12
ntent.java
a06b41b06e5bbcf5bf02741a765ebad5367c14de 05-Jun-2015 Alan Viverette <alanv@google.com> Merge "Avoid NPE when drawable fails to load" into mnc-dev
0f1c95edf8c14ad16b96f350b5507664fccc2ba0 05-Jun-2015 Alan Viverette <alanv@google.com> Avoid NPE when drawable fails to load

Bug: 17760671
Change-Id: I99364e915e318b3e49fc758811784939a937de7c
es/Resources.java
16422b25f7a814be0c3ceba44a4e9e62b10427a5 04-Jun-2015 Jeff Brown <jeffbrown@google.com> Merge changes If241e329,Ib69b6987 into mnc-dev

* changes:
Clarify docs on registerContentObserver.
Add missing docs to StateSet.
143739cb6b0468804f83f2398b3666eb21280de6 02-Jun-2015 Jeff Brown <jeffbrown@google.com> Clarify docs on registerContentObserver.

Bug: 19343752
Change-Id: If241e329f73925964f5589ee72d63a1fae54ef1b
ontentResolver.java
20770ddbd4d6f2af0093f36462a8f44a678b084b 30-May-2015 Svetoslav <svetoslavganov@google.com> Add API to hint whether to show on-board UI before a permission request.

bug:21511988

Change-Id: I9d1d7adf34b68074e65510f53b6e642cf784cf6b
m/IPackageManager.aidl
m/PackageManager.java
069767717a8323bbb05988137a91d40968af2972 02-Jun-2015 Alan Viverette <alanv@google.com> Remove strict mode violation from value to string coercion

The legitimate uses of value to string coercion, including the
interaction between lax attribute formatting and AAPT type inference,
combined with the low likelihood of unintentional coercion and low cost
of most string coercions, makes the value to string coercion violation
overkill.

Bug: 21563086
Change-Id: I7892e776d3e5479fcba507749b074c2abdf1b781
es/TypedArray.java
50ba321fbcecd0b050d755ff5a02eba7ab97bb00 01-Jun-2015 Alan Viverette <alanv@google.com> Prevent crash when ColorStateList has unresolved attrs

Bug: 21471789
Change-Id: Ieba6ab62b5e82eb716934a65efb6bfef2fc4e15a
es/ColorStateList.java
df77d717c33584f8fa04cb3780af68d38269cdf5 29-May-2015 Kenny Guy <kennyguy@google.com> Correct the docs for getUserBadgedIcon

Previously it wasn't clear that it was checking
if the target user was a managed profile in the
calling user = target user case.

Bug: 21455229
Change-Id: Iedce853092d2e5de6d84b06ca0ef4849bb26df26
m/PackageManager.java
9ded760f6378b79ae5f91fe694744981a4154d0b 19-May-2015 Sudheer Shanka <sudheersai@google.com> Use the intent filter icon in ResolveInfo for managed profile.

Bug: 20753645
Change-Id: Ifed4b498524272517c9f3338ba88fcbcd3b22075
m/ResolveInfo.java
63428ccde7e925ceb94aa40e933b3d51954a7797 28-May-2015 Svet Ganov <svetoslavganov@google.com> Merge "Add a normal permission guarding the installer UI - used for stats tracking" into mnc-dev
86877e44f054facb535b29b8db7fda8c543bc245 28-May-2015 Svet Ganov <svetoslavganov@google.com> Add a normal permission guarding the installer UI - used for stats tracking

bug:2147009

Change-Id: Id020eaf7b852de43966f4ab8231e3f7046e66542
ntent.java
60bf94e3bef8da0adb4f42043770cef7a608d07d 27-May-2015 Alan Viverette <alanv@google.com> Merge "Move ApplicationInfo hardware acceleration to public flags" into mnc-dev
d70b9e7aea9c7b0691f3ac1326752f91d5049458 27-May-2015 Alan Viverette <alanv@google.com> Move ApplicationInfo hardware acceleration to public flags

Bug: 21342038
Change-Id: I5af826f3f2921eef24725c909304243c67f3da78
m/ApplicationInfo.java
m/PackageParser.java
d0699fa5697ba43c64c142ee67b245e0a346acfe 27-May-2015 Alan Viverette <alanv@google.com> Merge "Avoid strict mode violation during saveAttributeData" into mnc-dev
16224288791dd3f122931504e624637fdcc70903 26-May-2015 Jason Monk <jmonk@google.com> Merge "Add constants for permissions granted status api" into mnc-dev
b7b7b5ece86e32a7e5636d0c41c3dee373e8ac5a 26-May-2015 dcashman <dcashman@google.com> Merge "Set error code on failed keyset manifest parsing." into mnc-dev
9cfa0cc51e135d9f156086028a6c99b34de50147 22-May-2015 Jason Monk <jmonk@google.com> Add constants for permissions granted status api

Bug: 21078474
Change-Id: I6b0bcf0c11258ae263eb08366c14f9298798afdb
ntent.java
a75902439403966b9308d38fcf5e51c20e43a583 23-May-2015 Svet Ganov <svetoslavganov@google.com> Merge "Hide pakcage installer system APIs." into mnc-dev
0b316706b1925554b73d902539187f3931a1bde9 23-May-2015 Svet Ganov <svetoslavganov@google.com> Hide pakcage installer system APIs.

Change-Id: If5245ed2be7a3ebb50a7af924be85894314f6f47
ntent.java
5db0cd49e8553f45deec6e3db7ec84a5c78ee228 23-May-2015 dcashman <dcashman@google.com> Set error code on failed keyset manifest parsing.

Bug: 21403585
Change-Id: I6f8e0766d373b1b0451b2abef7af6cbb089e4e0c
m/PackageParser.java
96616a57f3af05d4808fb5b84e758000f6ab5372 22-May-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Use factory methods for RestrictionEntry" into mnc-dev
4f11754f72ac4c60448b36a1a933cdc2d7bc1870 08-May-2015 Wojciech Staszkiewicz <staszkiewicz@google.com> Pass charset to XmlPullParser.setInput instead of null

Passing null to XmlPullParser.setInput forces it to do additional
work, which can be easily avoided if we know the charset beforehand.

bug: b/20849543

(cherry picked from commit 9e9e2e73c6ec7bece20268196dc89ad0c8bafad4)

Change-Id: Iaff97be9df2d0f99d7af8f19f65934439c9658e2
m/RegisteredServicesCache.java
f70c9346d6097be6967d0901830b00b84ae02a87 22-May-2015 Fyodor Kupolov <fkupolov@google.com> Use factory methods for RestrictionEntry

As per API council request, factory methods should be used instead of using
boolean.

Bug: 21343772
Change-Id: Ia0889e46916f4ed7edb942217880cdf9c27771c2
estrictionEntry.java
589f2b53f2ad4639d5a193bc89e903a8b2400975 23-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Do not create oat directory for an app in ASEC container

Currently installation fails, if an app is located on SD card (inside ASEC).
If an app is located inside ASEC, dexopt output should go to
/data/dalvik-cache. dexopt also needs to be performed at a later stage,
because the name of the oat file contains the absolute path to the dex file.

Bug: 20452651
Bug: 21360107

(cherry picked from commit 94056d1cb8183bde3e942336735b289b9654deb1)

Change-Id: Id1ced7159e5af9c05be0b637437b3b260e859c1d
m/ApplicationInfo.java
92c8e6f4a32c99bbc348774ebaaa0d6daf695405 21-May-2015 Clara Bayarri <clarabayarri@google.com> Update the PROCESS_TEXT action javadoc to include types

Bug: 21343771
Change-Id: If1d64ba121555863022cecc7a7b3d94c866e8715
ntent.java
a6f354b78ecba3add458df2857d4fbd7b3f0dcbc 19-May-2015 Alan Viverette <alanv@google.com> Avoid strict mode violation during saveAttributeData

Adds a new framework-private method for obtaining a string without
throwing a strict mode violation on coercion.

Bug: 21109507
Change-Id: I5a7f091fc92d5abfde9e1c31f30d59ed02c7569b
es/TypedArray.java
49e7ff9647e6547c2b852944a5435a05794b9951 15-May-2015 Adam Powell <adamp@google.com> Add Configuration data for round displays

Add round values to the screenLayout field for Configuration
and a convenience method to check roundness.

Plumb this through the DisplayManager, making roundness the property
of a DisplayAdapter. The built-in main display will read the
configuration resource config_mainBuiltInDisplayIsRound to determine
its roundness. Device-specific resource overlays should set this to
true for devices with round primary displays.

By default, this config resource inherits from the existing
config_windowIsRound value currently used by some Android Wear
device configurations.

This change awaits another for aapt/native resources code to make the
resource filtering system aware of this property.

Change-Id: I1daced7ca6d6e172789e7c32bebfd43753bfa2ae
es/Configuration.java
321f01574e523dd680090694ea22e38b83a7c2b3 17-May-2015 Svet Ganov <svetoslavganov@google.com> Hide platform platform legacy permissions behind a menu option - framework.

bug:21195624

Change-Id: I563c448e2abd7d33070ed2d8f62ba1b60a3744e8
ntent.java
98fa656f1636525c27a6d91ad4d7a3385292b99a 14-May-2015 Christopher Tate <ctate@google.com> fullBackupContent isn't public API

Bug 21090205

Change-Id: I1b468f1e7bf86455576760e4a1d1ea9657074a9e
m/ApplicationInfo.java
9e9e2e73c6ec7bece20268196dc89ad0c8bafad4 08-May-2015 Wojciech Staszkiewicz <staszkiewicz@google.com> Pass charset to XmlPullParser.setInput instead of null

Passing null to XmlPullParser.setInput forces it to do additional
work, which can be easily avoided if we know the charset beforehand.

bug: b/20849543

Change-Id: Iaff97be9df2d0f99d7af8f19f65934439c9658e2
m/RegisteredServicesCache.java
d9653703987f0ba194df6383d766173f65bf758e 14-May-2015 Svetoslav <svetoslavganov@google.com> Do not allow opting out from the new permission model.

bug:20525775

Change-Id: I84cd4587db5adb96f6f29148adb242905f53f2dc
m/PackageManager.java
7ea3a33d72cea41a836c965f7b6c86eda32b4980 13-May-2015 Jonathan Basseri <misterikkit@google.com> Fix typo possibly -> possible.

Change-Id: I3729109620355a2dd8343210354aace5008dcc68
m/PackageManager.java
a5c24e3bfe60770ac3180aac15df6c14dbf3bd4a 13-May-2015 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add IntentFilter auto verification - part 9" into mnc-dev
ef741da4d434b1eb95cc63dd1e5ded551795e44a 13-May-2015 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification - part 9

- make verifyIntentFilter(int, int, List<String>) a SystemApi

See bug #19628271

Change-Id: I8b1f29da385867beb8b19829c124db1821450c41
m/PackageManager.java
b3f22b48bbd4e4816212e596e3cb612457d48fe5 12-May-2015 Svet Ganov <svetoslavganov@google.com> Runtime permissions for system components not revokable - framework

Change-Id: I5b1d7bb1618ffa8d1231618ece47d0905c82f7bf
m/PackageManager.java
54415439ca8d286c4efaf975a54fe0cc7872c86b 12-May-2015 Christopher Tate <ctate@google.com> Merge "Deprecate Context.MODE_MULTI_PROCESS" into mnc-dev
227d42db5bd1bd16b6101f799052c10f4f493647 12-May-2015 Ricky Wai <rickywai@google.com> Merge "Fix LauncherActivityInfo.getBadgedIcon() cannot get high density icon" into mnc-dev
d5748b8facbc94d9c3b43f79bd49a1bbe8a0b6a0 09-May-2015 Christopher Tate <ctate@google.com> Deprecate Context.MODE_MULTI_PROCESS

It has never worked the way people expect.

Change-Id: I0633aacc5ed171495d9c3b51201b7ba86b666dc5
ontext.java
981de3c57c5a3f1f35cf5a0c6c4c5513b1643d06 12-May-2015 Svet Ganov <svetoslavganov@google.com> Merge "Add permission meta-state flags to support grant/revoke permission policy." into mnc-dev
8c7f700a59ad26e75c9791335d78f14322cad49a 07-May-2015 Svet Ganov <svetoslavganov@google.com> Add permission meta-state flags to support grant/revoke permission policy.

We now maintain a mata-state with each permission in the form of flags
specyfying the policy for this permission. This enables support of the
following use cases:

1. The user denies a permission with prejudice in which case an app cannot
request the permission at runtime. If an app requests such a permssion
it gets a denial unless the user grants the permission from settings.

2. A legacy app with disabled app-ops being upgraded to support runtime
permissions. The disabled app ops are converted to permission revocations.
The app ops manager is a part of the activity manger which sits on top
of the package manager, hence the latter cannot have a dependency on the
former. To avoid this the package installer which is the global
permission managment authority marks the permission as revoked on
upgrade and the package manager revokes it on upgrade.

3. A device policy fixing a permission in a granted or revoked state. This
additional information is folded in the meta-state flags and neither
apps can request such permissions if revoked not the user can change
the permission state in the UI.

Change-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811
m/IPackageManager.aidl
m/PackageManager.java
5fccffd573395bbd21c477f064de7c25100c3f8a 11-May-2015 Adam Powell <adamp@google.com> Merge "Bringing new Chooser UI closer to spec" into mnc-dev
7d7580019e44e2e162df01ffff51de20ed0721b3 07-May-2015 Adam Powell <adamp@google.com> Bringing new Chooser UI closer to spec

Separate the chooser targets into rows by type. Remove some API that
was redundant with LabeledIntent, simplifying ChooserTarget.

Change-Id: I90de471825f05d85e6ffbe72a32fb597be824a30
ntent.java
1c82b221d46b4f235f4c7fd3fd8d029772f86abb 11-May-2015 Paul McLean <pmclean@google.com> Merge "Changes as per API council review." into mnc-dev
4f434a04708e7a254afe2e0d362f715229dc15d1 09-May-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Remove restrictions PIN functionality" into mnc-dev
e3383cc4539921756232ae4f3f54e99b95fb20cc 08-May-2015 Paul McLean <pmclean@google.com> Changes as per API council review.

Bug: 20887665
Change-Id: I1da7a2c69d8cf20682c767294b1647beef33f90c
ontext.java
d7b69c2eca8a43eb069749071a15a635b5dc30d6 08-May-2015 Glenn Kasten <gkasten@google.com> Merge "Add feature for pro audio" into mnc-dev
ac67409582aafd7c3f3f58a79b7b3292221a88b8 08-May-2015 Alan Viverette <alanv@google.com> Use correct array index for Theme.getTheme()

Change-Id: Ic462a7b8a81bb87bf08136bb30e3432f10269918
es/Resources.java
cdcb57791f8392ae37bf80deb33b3d0282260405 07-May-2015 Glenn Kasten <gkasten@google.com> Add feature for pro audio

The specification for CDD is in progress

Bug: 20877157
Change-Id: Iaf37b2ccb21562170a080b53668a41b85c410241
m/PackageManager.java
0d857b9028f2702ce439e13feccde8182d40e1e5 22-Apr-2015 Siva Velusamy <vsiva@google.com> Improve hierarchy viewer dump hierarchy latency

Hierarchy Viewer obtains the properties for each view by using
reflection and looking for fields and methods that have the
@ExportedProperty annotation. Using reflection made it quite slow
for large view hierarchies.

This CL adds a new method (encode) to each class that wishes to
export data to hiererachy viewer. Inside this method, the object
can write a sequence of key, value pairs corresponding to the
values it wants exported.

With this change, the dump hierarchy operation that used to take
more than 10 seconds can be performed in a few hundred milliseconds.

Change-Id: I199ac2e7ca3c59ebcfec7e6bd201e134c41fd583
es/Resources.java
6a8c79bb2b4b0c749e76dc3628ec5200efec4f40 07-May-2015 Alan Viverette <alanv@google.com> Merge "Improve keying for theme caches, rebase system theme on config change" into mnc-dev
ef24909d84db9d5aefb825ee1556089fcdcc1678 06-May-2015 Fyodor Kupolov <fkupolov@google.com> Remove restrictions PIN functionality

Bug: 20852231
Change-Id: I5666ee28ff1341ead9b258bc0852d8ba6d313c5e
ntent.java
2ed547e55f820a9c705872d802b051d8ae9c906b 30-Apr-2015 Adam Powell <adamp@google.com> Add alternate intents and refinement callbacks to ChooserActivity

Allow a calling app to supply an array of additional Intents to the
system ChooserActivity.

The chooser will present a merged list of targets that can handle any
of the Intents supplied, including both the standard EXTRA_INTENT as
well as any of the intents supplied in EXTRA_ALTERNATE_INTENTS. These are
treated as ordered; EXTRA_INTENT is considered the first/primary
Intent and EXTRA_ALTERNATE_INTENTS are sorted most important first.

Targets are queried for all supplied Intents. If the same component is
returned for more than one Intent, the target is associated with the
most important Intent that matched.

This allows calling apps to supply several different payloads for an
action depending on what the intended targets are able to support. For
example, an app performing ACTION_SEND may supply image/jpeg data to
compatible targets or a hosted web link to targets that only support
text/plain. The user will have the opportunity to pick from a single
merged list of choices using the best available payload, and will not
be bothered with the implementation details of how the payload will be
delivered to the recipient.

If the calling app wishes to provide further disambiguation or
refinement after the user makes a choice, for example to let the user
choose which of the source intents to send from the primary or
alternates, show a progress dialog as a full-resolution version of a
photo is downloaded from the server before being sent along or while
reticulating splines, the caller can supply an IntentSender to
ACTION_CHOOSER including the extra EXTRA_REFINEMENT_INTENT_SENDER.
This should be the IntentSender obtained from a PendingIntent pointing
at an activity to launch to perform the refinement.

The refinement activity should report that it is finished by obtaining
the ResultReceiver from EXTRA_RESULT_RECEIVER. Available intents to
send to the selected target will be contained in EXTRA_INTENT and
EXTRA_ALTERNATE_INTENTS.

To complete the refinement and send the result along to the chosen
target, the refinement activity should select one of the supplied
intents and send it to the ResultReceiver in a Bundle with the key
EXTRA_INTENT and the result code RESULT_OK. To cancel the refinement,
and let the user select another choice, send RESULT_CANCEL.

While refinement activities cannot modify the filterEquals-affecting
fields of the Intent they return, they may modify extras to provide
additional or altered details to the final recipient. These extras
will be filled into the Intent sent to the final target.

Change-Id: I7ad4739eadd1a0e307675847ccf47ea948918a3a
ntent.java
e54d245b993e1347cb32c23a6bdc907a45fab324 06-May-2015 Alan Viverette <alanv@google.com> Improve keying for theme caches, rebase system theme on config change

Themes now use an array of applied styles rather than a String to store
their history. They are keyed based on a hash code computed from the
history of applied styles. The themed drawable cache has been abstracted
out into its own class.

Also updates system context to use DayNight as the default and ensures
that GlobalActions uses the correct context, which exercises the change.

CTS tests have been added in another CL.

Bug: 20421157
Change-Id: I9eb4b7dffd198ad24d02f656eaf0839570b59caa
es/AssetManager.java
es/ConfigurationBoundResourceCache.java
es/DrawableCache.java
es/Resources.java
es/ThemedResourceCache.java
261208e002775fe9a9f4e79e9f70b41852cfbe60 05-May-2015 Alan Viverette <alanv@google.com> Merge "Add API for obtaining changing configurations bitmask from Theme" into mnc-dev
c1d527926e1c82828e42bdc0c7abf50f6decc0a7 05-May-2015 Alan Viverette <alanv@google.com> Add API for obtaining changing configurations bitmask from Theme

Required to know when to reload the system context's theme in response
to configuration changes, and thus needed to support the DayNight theme.

Bug: 20267825
Change-Id: I7df5e28b7a6d8b611ea030032544cf4800788514
m/ActivityInfo.java
es/AssetManager.java
es/Resources.java
4a64b19f239b6bff82a032329ce5781681843044 05-May-2015 Svet Ganov <svetoslavganov@google.com> Merge "Permission UI - legacy apps support" into mnc-dev
019d2304998f3ed77c0a608df6cf4bea1138f8dc 04-May-2015 Svet Ganov <svetoslavganov@google.com> Permission UI - legacy apps support

Change-Id: Id3f98c138422d33868363d587dd196898b42a0d4
m/IPackageManager.aidl
1281b1809f0c3d4e0dfe185f7974ac930e260311 29-Apr-2015 Ricky Wai <rickywai@google.com> Fix LauncherActivityInfo.getBadgedIcon() cannot get high density icon

LauncherActivityInfo.getBadgedIcon() could not get high density icon,
because ResolveInfo.getIconResource() always return 0 when it is a badged.

Bug: 19816250
Change-Id: I94db6482ce34b9ad627771d73999228e4e133644
m/LauncherActivityInfo.java
m/ResolveInfo.java
303650c9cdb7cec88e7ec20747b161d9fff10719 18-Apr-2015 Matthew Williams <mjwilliams@google.com> Add full backup criteria to android manifest

BUG: 20010079
Api change: ApplicationInfo now has a fullBackupContent int
where -1 is (off) 0 is (on) and >0 indicates an xml
resource that should be parsed in order for a developer
to indicate exactly which files they want to include/exclude
from the backup set.
dd: https://docs.google.com/document/d/1dnNctwhWOI-_qtZ7I3iNRtrbShmERj2GFTzwV4xXtOk/edit#heading=h.wcfw1q2pbmae

Change-Id: I90273dc0aef5e9a3230c6b074a45e8f5409ed5ce
m/ApplicationInfo.java
m/PackageParser.java
83bb765b046a3c6d90abbd65545d4532f647ae14 01-May-2015 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add IntentFilter auto verification - part 7" into mnc-dev
1de3f0dcafb0c5ceb3d9bec96a5c630bb8d4a515 30-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification - part 7

- update packages priming so that it effectively save its data
- use ArraySet instead of ArrayList for list of domains (a set
is preferable as we dont want duplicates)

See bug #19628909

Change-Id: I52085f4bc28dcbc7fbc02ba0898abcd4ae9cf1e2
m/IntentFilterVerificationInfo.java
8310f87d96791e8b864df5e821fe65273c2dd874 30-Apr-2015 Alan Viverette <alanv@google.com> Merge "ActionBar SearchView's default hint shouldn't override SearchableInfo" into mnc-dev
e31b820dad4c5f2b19ee10479a675a139ad3c61e 30-Apr-2015 Jeff Sharkey <jsharkey@android.com> New "frozen" state during app move/upgrade.

This replaces mOperationPending, which was in an odd place. It adds
a new PackageSetting.frozen flag that is a last-ditch effort to
prevent ActivityManager from starting an app while it's being moved
or upgraded.

Also provides clearer guarding around all upgrades by freezing,
killing, upgrading, then unfreezing.

Bug: 20275579
Change-Id: I28bb0359a6f4e05080fb336b18dd2a249509d989
m/IPackageManager.aidl
m/PackageParser.java
50a05454795c93ac483f5cb6819e74cb17be1b5b 29-Apr-2015 Jeff Sharkey <jsharkey@android.com> Returning to wizard, split move events.

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

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

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

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

Bug: 19993667
Change-Id: I0f43edbba36c58c5cd33550022c54c4eb9f01a48
m/IPackageMoveObserver.aidl
m/PackageManager.java
f7b795ca1a552909d333ed3f2d5ec881a8b23144 30-Apr-2015 Dianne Hackborn <hackbod@google.com> Merge "Update use of procstate for services." into mnc-dev
d69e4c1460017062e7c36be55801cb434ad19d97 24-Apr-2015 Dianne Hackborn <hackbod@google.com> Update use of procstate for services.

Now that we have a separate foreground service proc state
(above a sleeping top app), update various system services
to put their bindings into this state when appropriate.

There are two new bind flags for this -- one that just always
makes it a foreground service, another that only does it when
the device is awake (useful for things like the wallpaper).

And with all of that, tweak network policy manager to only
include apps that are at least foreground service state when
in power save and device idle modes. This will allow us to
further reduce the set of apps that have network access
(in particular not giving access to the current top app when
the screen is off), hopefully leading to even better battery
life.

Change-Id: I91d85a5c5ed64e856149e9a5d94a634a7925ec7f
ontext.java
b4004dfc84b7c51519645020ea9431b051f5db62 30-Apr-2015 Alan Viverette <alanv@google.com> ActionBar SearchView's default hint shouldn't override SearchableInfo

Moves the queryHint to defaultQueryHint, specifies the override order
as queryHint > SearchableInfo > defaultQueryHint.

Cleans up annotations and comments for several related methods.

Bug: 20614122
Change-Id: Ib58ec309e6814cd512df147d789ec0cd546018af
ontext.java
es/Resources.java
0f1a3972c18371359c39e6789607621bf0989181 30-Apr-2015 Alan Viverette <alanv@google.com> Merge "Stash modulation alpha until ColorStateList has resolved base color" into mnc-dev
f601440e21f352f5e59dd27e6709c7137cd90090 30-Apr-2015 Alan Viverette <alanv@google.com> Stash modulation alpha until ColorStateList has resolved base color

Fixes an issue where specifying an explicit modulation alpha and a
theme-dependent base color discarded the modulation alpha during
applyTheme().

Sets the YOU MESSED UP YOUR THEME color to magenta, which matches the
behavior for RippleDrawable and should expose any remaining issues in
a painfully obvious way.

Bug: 20690409
Change-Id: I7a44f4bc4a5a85be6d3f27087b2d6c9ea12e1d29
es/ColorStateList.java
94d07cb7efbdd50b72d7f17e7c9596b789ebad4c 30-Apr-2015 Ben Kwa <kenobi@google.com> Merge "Properly unparcel the PFDs passed to android.content.ContentProviderProxy.openFile." into mnc-dev
192b3d4f90b0c576a926ea8c93d080606de817b9 29-Apr-2015 Ben Kwa <kenobi@google.com> Properly unparcel the PFDs passed to
android.content.ContentProviderProxy.openFile.

BUG=20693984

Change-Id: Id089d218057d5439da1bd5bf0ce3991059c1ecad
ontentProviderNative.java
b36586a7c9b7718f33961406537e27bbd9b16211 27-Apr-2015 Jeff Sharkey <jsharkey@android.com> Split some VolumeInfo state into VolumeRecord.

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

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

Add API to forget volumes.

Bug: 20275424, 20275424
Change-Id: I75602c17fdcd4d1f1f62324e1a08c4a33093eefa
m/IPackageMoveObserver.aidl
m/PackageManager.java
9f7e39fc9d278642a29df48daf44dceff11acd17 11-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Use Default Browser App for IntentResolution when needed

- add MATCH_ALL as a new flag for telling that all results need to
be returned (even if there is some sort of filtering done).
- take into account the default Browser App for Intent resolution
- also, dont do any domain verification priming for non system app

See bug #20144393

Change-Id: Iddd1f2029e3bbf3b99ebc5f416dc7f17e5bad10c
m/PackageManager.java
a2147ec975016f2aa1e44e5ed6c754a36ce1a074 28-Apr-2015 Svet Ganov <svetoslavganov@google.com> Handle null projection properly if provider app op is not enabled.

Change-Id: I00b757ef73bf4dd58217ba748520c3504350d4ba
ontentProvider.java
620b32b316fd4f1bab4eef55ec8802d14a55e7dd 24-Apr-2015 Jeff Sharkey <jsharkey@android.com> Package and storage movement callbacks.

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

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

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

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

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

Bug: 19993667
Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
m/IPackageManager.aidl
m/IPackageMoveObserver.aidl
m/PackageManager.java
112de0d41b9a2b36369faa95bf39dd7bf27a5135 23-Apr-2015 Svet Ganov <svetoslavganov@google.com> Merge "Return an empty cursor when a content provider app op is disabled"
7271f3e4cb516c410358f12215578aeafc7e6dcf 23-Apr-2015 Svet Ganov <svetoslavganov@google.com> Return an empty cursor when a content provider app op is disabled

bug:17446599

Change-Id: Ic1790c9afbee5eec1dc28e1d53ce82288d4b4f86
ontentProvider.java
60a6df9b95921138f07ae615b5b9a940df59a04b 23-Apr-2015 Mike Lockwood <lockwood@google.com> Merge "Add Context.MIDI_Service to the public API"
ec32ac95dc3142ecec13a8b301a5ef87f5a296ef 23-Apr-2015 Mike Lockwood <lockwood@google.com> Add Context.MIDI_Service to the public API

I forgot this when the rest of MidiManager was made public.

Change-Id: Ic5f8e2674d5b8e13bd88feebf3cf219f7af7fbcc
ontext.java
7f95a00ec0ed9d48579e758249e7ffb06371b2b8 22-Apr-2015 Todd Kennedy <toddke@google.com> Add hardware feature describing a car

We need to define a hardware feature for when Android is running
embedded on a vehicle's headunit. This is not applicable when
running Android on a phone and projecting onto a headunit.

Bug: 20016089
Change-Id: I70e94564f7493afe70a49bf582a627c5ea9f0a60
m/PackageManager.java
52dbaa08cdb7866fa51f98e4572f17077c492554 22-Apr-2015 Neil Fuller <nfuller@google.com> Merge "Add checks for types in Parcel / avoid class initialization"
d14a15a75439ebdbe880979066157280c76428d2 22-Apr-2015 Alex Klyubin <klyubin@google.com> Merge "Document that WebView doesn't honor "uses cleartext traffic" flag."
fbf4599a8edfc31585f207c434d35200a03657b4 21-Apr-2015 Alex Klyubin <klyubin@google.com> Document that WebView doesn't honor "uses cleartext traffic" flag.

Bug: 19215516
Change-Id: I5dbbaa03f3cae007c0b9b68fcf8cc8f250c16a62
m/ApplicationInfo.java
44e440cc7e834de7811f005998acb32716835b00 20-Apr-2015 Neil Fuller <nfuller@google.com> Add checks for types in Parcel / avoid class initialization

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

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

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

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

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

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

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

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

Bug: 1171613
Change-Id: I31d07516efee29a320e80f4bc4f96aaac628f81c
m/PackageCleanItem.java
m/ParceledListSlice.java
5892c9a2e2675323d13a8a2d64b46ecfcff8d424 20-Apr-2015 Sunny Goyal <sunnygoyal@google.com> Potential fix for apps disappearing in launcher on system server crash

Based on Ifda3fda209141b361a286fc033217acfa0ec196e

Bug: 20420558
Change-Id: Icfcaf585b8a19853fe2c0fd0e4f06a2efc087938
m/LauncherApps.java
529f91fc8e7e884ef19bef8eb3e4e3a1d69336f4 19-Apr-2015 Jeff Sharkey <jsharkey@android.com> Always send volume UUID with installd commands.

Since packages can be moved to other volumes, all relevant commands
to installd now require an explicit volume UUID parameter.

Bug: 20275577
Change-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e
m/IPackageManager.aidl
m/PackageManager.java
16a16899505ec0a9ede5b76650bfb8817b3227c7 16-Apr-2015 Svet Ganov <svetoslavganov@google.com> Add OP_READ_PHONE_STATE app op - framework

The READ_PHONE_STATE permission protects PII information and
is in the Phone group. This change is adding the corrseponding
app op for gating access to the API guarded by READ_POHNE state
which will be used instead as an access control for legacy apps.

Change-Id: I2ff895a5a0e529f26ec0ad706266a30d829268ba
ontext.java
ontextWrapper.java
6041cc1a07511fe8fe913793b9743e32c9b507c6 17-Apr-2015 Wale Ogunwale <ogunwale@google.com> Merge "Added attribute showForAllUsers that deprecates showOnLockScreen"
35075a07659254413b587b7a6557a1b922d8757f 17-Apr-2015 Alex Klyubin <klyubin@google.com> Merge "Document usesCleartextTraffic app-level attribute."
9a1c9b67c4b2426884deb60c1ff84130ab47333c 25-Feb-2015 Jonathan Basseri <misterikkit@google.com> Adding Carrier Config API.

UICC privileged carrier apps will extend CarrierConfigService to provide
carrier-specific configuration. Apps/services will use
CarrierConfigManager to read the current configuration.

CarrierConfigManager also defines the set of configuration variables and
their default values.

Bug: b/19483786
Change-Id: I027211b43276afd6fe893ae50048c52f2aed5cf5
ontext.java
6dfdfd6741c5a3dd8d8a49ddbd6ee5dfe2fd292d 15-Apr-2015 Wale Ogunwale <ogunwale@google.com> Added attribute showForAllUsers that deprecates showOnLockScreen

The new name is more meaningful to what the attribute actually does.

Also, force the FLAG_SHOWN_WHEN_LOCKED flag for windows that belong
to acitivties with the showForAllUsers attribute set.

Bug: 20227306
Change-Id: Ifd49166c3ec0e67ae43addc0fb30038523332ea5
m/ActivityInfo.java
m/PackageParser.java
bd3af28fdc38cfe741badb86f9daa2fc6122eabc 16-Apr-2015 Jeff Sharkey <jsharkey@android.com> Merge "Candidate volumes for packages, fix symlink."
e2d45be4dae116307f8edd85eaa61134221cb8f9 16-Apr-2015 Jeff Sharkey <jsharkey@android.com> Candidate volumes for packages, fix symlink.

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

Comparator for consistent VolumeInfo ordering when displayed in UI.

Fix native library symlink to be volume UUID aware.

Bug: 19993667
Change-Id: I68d5fac5f0f776ac1c7dd15e7a984bfe2704f3f7
m/ApplicationInfo.java
m/PackageManager.java
e35cefbf23ec2fe55e8be9e4d20fc9adf4374171 15-Apr-2015 Alex Klyubin <klyubin@google.com> Document usesCleartextTraffic app-level attribute.

This updates the documentation of the application element of
AndroidManifest.xml to mention the new android:usesCleartextTraffic
attribute.

This also updates the Javadoc of
android.security.NetworkSecurityPolicy and ApplicationInfo to match.

Bug: 19215516
Change-Id: I5c221b56addae8988b4db51994d18ae379d0fbe3
m/ApplicationInfo.java
15df08abd8190353e1430f88c2ed6462d72a5b25 01-Apr-2015 Craig Mautner <cmautner@google.com> Introduce android:lockTaskMode

The ability for tasks to be started in locktask mode or pinned is
dependent on the value of android:lockTaskMode for the root activity
of the task.

For bug 19995702

Change-Id: I514a144a3a0ff7dbdd4987da5361b94bdfe9a437
m/ActivityInfo.java
m/PackageParser.java
55787399c9fff728e1b475161b6ec8dc93e2eb9c 15-Apr-2015 Paul McLean <pmclean@google.com> Merge "Audio Devices Enumeration/Notification API"
a33be211e768746745a0deeba71f8c6b65e72442 20-Feb-2015 Paul McLean <pmclean@google.com> Audio Devices Enumeration/Notification API

Change-Id: I4eecfa43e4fecfe309ddd805ed193d078b10d5e6
ontext.java
d1500d8ff1ba70cd723076d94a994cdfcc1a64fb 15-Apr-2015 Amith Yamasani <yamasani@google.com> Merge "Always set the dataDir for the given userId"
1742cfbd8a1458e66f98a56f359590ce3263e161 15-Apr-2015 Amith Yamasani <yamasani@google.com> Always set the dataDir for the given userId

Don't try to optimize for userId != 0 when generating the
ApplicationInfo.

Change-Id: I2eb2d43f36677a781643a1e86a19c8850d517411
m/PackageParser.java
ecee322e59cbf59a65fa5815bf9a4fc065bb0fb5 15-Apr-2015 Adam Powell <adamp@google.com> Add ComponentName.createRelative methods

In a number of places, it's convenient to be able to refer to
ComponentName classes with relative package paths as they are
interpreted in manifest parsing. Express the official (yet simple)
policy for this in a simple pair of factory methods for ComponentName.

Change-Id: I81a40c81b7975445dd9f06292363b69bb072b16d
omponentName.java
2442841819f9554f9b5c8b9c147a51b04e50de4d 02-Apr-2015 Adam Powell <adamp@google.com> Implement ChooserTargetService querying for ChooserActivity

First cut at querying services provided by apps that offer
ChooserTargetServices. This first implementation provides no ranking.

Bind to a limit of 5 ChooserTargetServices and offer the
ChooserTargets they provide as options in the system
ChooserActivity. The chooser now presents targets as a grid and
displays the activity icon from the referrer activity.

Change-Id: I45db829f184fc78d4f18d42b2a60b25bc301eba8
ntent.java
28e7ba66440b3e135a2b5966ad54c498c2b684ca 12-Apr-2015 Clara Bayarri <clarabayarri@google.com> Merge "Show and trigger activities that implement Text Processing actions"
ce7eb6daf06a88129da365eb2112537ce0bb1b75 04-Apr-2015 Jim Miller <jaggies@google.com> Clean up FingerprintManager API and make it public.

Change-Id: I6a99dccd485c053cb47dbd0ec08b41a2dc5b17c8
ontext.java
6036cd51265d31c08eefe0470a9f37e7f757aae8 11-Apr-2015 Jeff Sharkey <jsharkey@android.com> Merge "Support moving apps to expanded storage."
30ca50a3ddf35e6426e7b561b95e0864885de6d5 11-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add Default Browser App support and relax Hosts validation for AppLinks"
6227172310663e1267b1fabd68be890a1cb7e145 11-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add Default Browser App support and relax Hosts validation for AppLinks

- add private PackageManager APIs for setting/getting the default
Browser App package name
- serialize / deserialize the default Browser App package name per User

Also relax the Hosts name validation for the AppLinls feature. Now we
just care if the IntentFilter is having an HTTP or HTTPS scheme.

Change-Id: I4436f66ac6beff57e14f7f3a2a00b0b582c03be9
m/IPackageManager.aidl
m/PackageManager.java
69010094aa34a4eac53ed06217f78731e95ab4f3 11-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add IntentFilter auto verification - part 6"
2d897fbc447fd315b246a752e14825cbd7214e74 10-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification - part 6

- fix handleAllWebDataURI() for taking into account CATEGORY_APP_BROWSER

Change-Id: I91f7628b3e2e40aa44143470ad38576f7874c7ff
ntentFilter.java
c5d8d88b12ac855e7150e4a1717d1a6a1bfbfba4 10-Apr-2015 Ashutosh Joshi <ashutoshj@google.com> Merge "Adding a feature string for high capability sensors."
eae371bf6f34a838b1209e491414bd306f68f7a3 09-Apr-2015 Ashutosh Joshi <ashutoshj@google.com> Adding a feature string for high capability sensors.

Adding a feature string for higher capability sensor platforms.
The string is supposed to signal the availability of lower power and
higher accuracy sensor processing on a supporting device.

Change-Id: I8093065278589fc9cc41fcc7f9b898c7eae20dff
m/PackageManager.java
d5bf3ed9b0138e9fd305da91386d1df03f9a75cc 27-Mar-2015 Clara Bayarri <clarabayarri@google.com> Show and trigger activities that implement Text Processing actions

This CL adds the Activities that support Intent.ACTION_PROCESS_TEXT
to the Text Selection Action Mode in Editor, and triggers an intent
with the currently selected text when they are selected.

It also adds the required mechanism to allow a View to request an
intent to be started, and return the activity result back to it.

Change-Id: I62ec618010edf01da41338c8c1a7dd4292a15227
ontext.java
ontextWrapper.java
b9f3674c11ed9c89b80a69f728cbc5f540b2ecde 09-Apr-2015 Jeff Sharkey <jsharkey@android.com> Support moving apps to expanded storage.

Start deriving the data path for apps based on the volume UUID where
the app lives. This path is used for all higher-level APIs, giving
us a clean place to switch app storage.

When parsing a package, keep track of the volume UUID where it lives
and update PackageSetting once installed. For now continue treating
moves as installs, but we'll eventually clean this up to avoid the
additional dexopt pass. Wire up move to use the new installd command
to move private data between devices.

Cache LoadedApk only for the current user, since otherwise the data
dir points at the wrong path.

Bug: 19993667
Change-Id: I53336e3b147d5fd3130e6800869af172b628da37
m/PackageManager.java
m/PackageParser.java
e48c137acdddd477d671417eb93ec120a1931cbb 10-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification - part 5

- optimize IntentFilter verification: dont do stuff we dont want
if we dont need to do them.

- improve IntentFilter candidates filtering and also improve
at the same time fix for bug #20128771: we can return the candidates
list rigth the way if the Intent is not related to a Web data URI and
include the "undefined verification state" ones if the first filtering
pass does not leave any.

Change-Id: I19f5c060f58b93530e37b4425d19ed23d2a0f4c0
m/PackageParser.java
7d014cec63939f7aca2a8014f45cd4c9a3e1aa0c 09-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification - part 4

- add domain verification priming at boot when the PackageManagerService
singleton is created. This will mainly set the domain verification status
to INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS for all Apps that
have an IntentFilter with action VIEW and data scheme HTTP or HTTPS.

- also optimize Intent resolution by taking into account Browser Apps

Change-Id: Id8e66c9759a99e79b07051595ca89a168dc5ae0e
ntentFilter.java
m/IntentFilterVerificationInfo.java
m/PackageParser.java
m/ResolveInfo.java
cd890311fb5d8240fb3df703befa202efe0ff60c 08-Apr-2015 Svetoslav <svetoslavganov@google.com> Merge "Apps can request permissions only on platforms that have runtime permissions."
0788595e0c9bc5e8c1907c63db595010006ef5b4 07-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification - part 3

- add private API PackageManager.getAllIntentFilters(String)
for getting all IntentFilters from a given package
- update IntentFilterVerificationInfo to use an ArrayList<String>
for domains instead of a String[]
- if you make an App a default domain handler then make the
others as non default
- create an IntentVerificationInfo even if the App IntentFilters
do not need to be verified. This would be done only if the App
has some domain URLs defined and would allow to make it the
default handler for a domain
- a few code optimizations here and there

Change-Id: I4535372a0bb1a2c8e662e1485be8ca700003e9b3
m/IPackageManager.aidl
m/IntentFilterVerificationInfo.java
m/PackageManager.java
96a77167c8247d3128efbd4a9456a49845bdb9cf 03-Apr-2015 Svetoslav <svetoslavganov@google.com> Apps can request permissions only on platforms that have runtime permissions.

Change-Id: Id0e53c37c9d472287f5bd6a610d446aef6b695b9
m/PackageParser.java
d95e58cb609228c4c4b231e00d6bb648e9dcaf71 07-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Load libraries directly from apk"
dec4688f40b0018fbd1f00db05581966f531d88f 01-Oct-2014 Dmitriy Ivanov <dimitry@google.com> Load libraries directly from apk

Introduced new 'extractNativeLibs' attribute to manifest/application.
Setting it to false prevents installer from extracting library from apk.

The default value for extractNativeLibs is true.

Bug: 8076853
(cherry picked from commit ff193d642eea7128faad837d19e347cd25212c27)
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
m/ApplicationInfo.java
m/PackageParser.java
9d1878674c86ab651926e192845d459bfafb6898 07-Apr-2015 Narayan Kamath <narayan@google.com> Merge "Don't set userSetLocale from Configuration.setLocale."
9b8178719b4ff9058ddcc1c66e9416439b2348f0 07-Apr-2015 Clara Bayarri <clarabayarri@google.com> Merge "Create the Process Text Intent Action and Extra"
0a26157a9f71fa4b26b88fc523b5809c64f6e7c9 26-Mar-2015 Clara Bayarri <clarabayarri@google.com> Create the Process Text Intent Action and Extra

Change-Id: I33e30324970e91b04fcc233b91c9d43580c446fc
ntent.java
39fb7fd730dc2113ced7e663d7a35e48a4c6b1ae 18-Feb-2015 Benjamin Franz <bfranz@google.com> Allow silent package install for device owner.

Allow the device owner to silently install and remove packages using the
PackageInstaller APIs. Show notifications to the user after the
installation / deletion was successful.

Bug: 19422461
Change-Id: I0506e18c510efd9d04c4aea9b60a37456e689615
m/IPackageInstaller.aidl
m/PackageInstaller.java
b2b9ab8354da1485178cd8d8e9d89ac915b3f269 06-Apr-2015 Jeff Sharkey <jsharkey@android.com> Installing packages to expanded storage.

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

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

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

Automount expanded volumes when they appear.

Bug: 19993667
Change-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageInstaller.java
m/PackageManager.java
m/PackageParser.java
e012a235569fe307d165dfd0784ae847d0b13739 02-Apr-2015 Christopher Tate <ctate@google.com> Back up / restore preferred app configuration

Bug 19848104

Change-Id: I84cdfcc44b48a9732984955d7eedf745b5586bdd
m/IPackageManager.aidl
863ba4c4bfdf1e1f701ec85c078aa80ba4d67e83 06-Apr-2015 Alan Viverette <alanv@google.com> Merge "Unify drawable caches"
96bba82ac4295f68ef956ecae7ee169eb3c271d1 03-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add private flag PRIVATE_FLAG_HAS_DOMAIN_URLS to ApplicationInfo"
d3d8a32217d5a2d895917cfe7e1645935d228494 02-Apr-2015 Fabrice Di Meglio <fdimeglio@google.com> Add private flag PRIVATE_FLAG_HAS_DOMAIN_URLS to ApplicationInfo

This is for supporting Settings UX and Domain URLs

- the new PRIVATE_FLAG_HAS_DOMAIN_URLS flag will be set by
generateApplicationInfo() when the Activity is said to have some
IntentFilter with a VIEW action and a http / https data URI

- code cleaning for args passing
- also add a new constant for the MetricsLogger

Change-Id: I5c9762fc2c4a9b46c0e255b9a23bffd70fae40c7
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageParser.java
c38a54b1f076b86453041755e15504fd0b4d48af 03-Apr-2015 Fyodor Kupolov <fkupolov@google.com> am 30c688da: am 031898df: am 3d8b7f4d: Merge "Support for storing OAT files in app directory"

* commit '30c688da8bd2b3320446a06424e1cc57b693522a':
Support for storing OAT files in app directory
70392818f07f175d4914cef13b12c215ff08f1df 23-Mar-2015 Narayan Kamath <narayan@google.com> Don't set userSetLocale from Configuration.setLocale.

This seems to have been a mistake : userSetLocale controls whether
a locale is persisted and as written it's too easy to make system wide
locale changes without intending to. Third party apps do not have
sufficient permissions to set global locales anyway, so they won't care
whether it's set or not.

Also, set userSetLocale = true in the LocalePicker.updateLocale internal
API, which is what all platform apps use to set the locale.

In addition, this commit fixes a bug where we were not setting RTL
directionality for the default locale loaded by the activity manager
service.

Change-Id: I2e11ad31e012dfa314ab8d78034f986b49ecae60
es/Configuration.java
2a53812cfad79e136a92d7a33a0dcab7ac063758 03-Apr-2015 Tor Norbye <tnorbye@google.com> Merge "Fix resource type annotations for obtainStyledAttributes"
c91531a863d65e4a74fa30ac9a20d02ccd31f5ca 02-Apr-2015 Tor Norbye <tnorbye@google.com> Fix resource type annotations for obtainStyledAttributes

Change-Id: I7681249ff46d687675d0dcd7d4f077646efba687
ontext.java
es/Resources.java
0daa5713ee2df841ea22d88a1393ca11e0138621 02-Apr-2015 Alan Viverette <alanv@google.com> Merge "Fix issues with theming of preloaded ColorStateLists"
885b3ef519e5b0b67a896fb6693925b9b2fd22c6 02-Apr-2015 Santos Cordon <santoscordon@google.com> Merge "New generic intent for SIM Activation"
15a13781ad17bbc7e8ddbbad4d0c208f0fae615e 01-Apr-2015 Santos Cordon <santoscordon@google.com> New generic intent for SIM Activation

New hidden intents and permissions for a generic SIM-activation
activity. New activity will handle generic SIM setup requests and then
delegate to the appropriate activation method (OTASP, HFA,
CARRIER_SETUP).

Change-Id: I1b22200544abefe486ec961b67a6e77b4d15aec3
ntent.java
4325f8e02a6aff999a11ad711d9e8aecc59c4ae2 02-Apr-2015 Alan Viverette <alanv@google.com> Unify drawable caches

Drawables that don't need a theme are now stored in a separate cache,
rather than storing a separate copy in each theme-specific cache.

Bug: 19992973
Change-Id: I98a67ea480af3d381469303439f4aea44ba1e909
es/Resources.java
e0f95f39c5a669a48ee3ebb8dc45bf2d7ee940f1 01-Apr-2015 Alan Viverette <alanv@google.com> Fix issues with theming of preloaded ColorStateLists

Ensures changing configurations mask is propagated to the host drawable
so that it can be properly cleared from cache on configuration changes.
Also fixes constant state handling of the mask in the Inset and Rotate
drawables.

Hides new ColorStateList methods related to theming, since they should
only be used during preloading or internally by framework drawables.

Fixes bug where the cached versions of themeable ColorStateLists were
modified by calling applyTheme() on the host drawable.

Also cleans up some docs and naming in GradientDrawable.

Bug: 19966397
Change-Id: I8c8d3cabbaf94b488c2b8fe9fd423e07d824c19c
es/ColorStateList.java
es/Resources.java
aa2609aae749401f009e0737c2902df4449226fb 01-Apr-2015 Craig Mautner <cmautner@google.com> Merge "Revert "Add lockTaskOnLaunch attribute.""
6cd6cec2adae647ca6ec3aa7ef3288cbb1f814b1 01-Apr-2015 Craig Mautner <cmautner@google.com> Revert "Add lockTaskOnLaunch attribute."

This reverts commit 0fb1cb56abf708291c09c783463408c7074ae9a7.
m/ActivityInfo.java
m/PackageParser.java
e1d6333341375217ce645bdbe039901fd6f64226 01-Apr-2015 Craig Mautner <cmautner@google.com> Merge "Add lockTaskOnLaunch attribute."
0fb1cb56abf708291c09c783463408c7074ae9a7 31-Mar-2015 Craig Mautner <cmautner@google.com> Add lockTaskOnLaunch attribute.

The new AndroidManifest activity attribute, lockTaskOnLaunch attribute
is a boolean that puts the system in lockTask mode when true and if
the activity specified is the root of a privileged task.

This bug also fixes lockTask mode for root activities that finish
themselves. Previously finish was not allowed even if there were
activities left in the task that were still valid.

A NullPointerException for lock task toasts has also been fixed.

Fixes bug 19995702.

Change-Id: Iba6976b1a0cc5a22eb526db66d2e9af66445541f
m/ActivityInfo.java
m/PackageParser.java
654875fad01c4ba2cc5f6ef9cc3b0135a4dce25c 01-Apr-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Support for nested bundles in setApplicationRestrictions"
b12dcfb1b12c13e01743567145f01e7d389afdbb 30-Mar-2015 Narayan Kamath <narayan@google.com> Remove org.apache.http.legacy for declared shared lib lists.

We currently unconditionally include this shared library in the
boot classpath, so attempts to compile it will fail resulting in
unnecessary logspam.

Change-Id: Iafe9b2e725e10d939cd39dd4a816a146a6031baf
m/PackageParser.java
262f9952e6e78e00a6d42bab97d73dccfb9607f4 24-Mar-2015 Fyodor Kupolov <fkupolov@google.com> Support for nested bundles in setApplicationRestrictions

Added new restriction types - bundle and bundle-array.

Modified RestrictionsManager.getManifestRestrictions to support new
hierarchical restrictions.
Added RestrictionsManager.convertRestrictionsToBundle, which enables
programmatic conversion from a list of RestrictionEntries to a Bundle.

Modified read/write methods for application restrictions in UserManagerService.
Added unit tests.

Bug: 19540606
Change-Id: I32b264e04d5d177ea5b4c39a8ace5ee0ce907970
estrictionEntry.java
estrictionsManager.java
b94c1657eb0140f7b91f5372a9f76de5a3d87e36 03-Mar-2015 Fyodor Kupolov <fkupolov@google.com> Support for storing OAT files in app directory

In installPackageLI, dexopt is now performed on a staging directory of the app
(dexopt phase 1). For each codepath:
- /oat/<isa> directory is created
- dexopt output goes to the newly created directory. Optimized files have
.odex extension.

Bug: 19550105
Change-Id: Iec59790d97837b78af82b079fd1970de3388c91d
m/ApplicationInfo.java
m/PackageParser.java
1c1b47125da018b44240739db75f8898e064a948 20-Nov-2014 Fabrice Di Meglio <fdimeglio@google.com> Add IntentFilter auto verification

The purpose of this feature is to prompt the Disambiguation dialog
to Users as less as possible.

- add the new "autoVerify" property to the IntentFilter class
- add new APIs to PackageManager:
verifyIntentFilter(int, int, List<String>),
getIntentVerificationStatus(String, int),
updateIntentVerificationStatus(String, int, int),
getIntentFilterVerifications(String)
for supporting IntentFilter verification
- add support for multi-user
- update PackageManager for IntentFilter verification:
basically when we are installing a new package, ask for verification
of all domains from the IntentFilters that have the "autoVerify" to true.
This means that the PackageManager will send a well defined protected
broadcast (with a new INTENT_FILTER_NEEDS_VERIFICATION action) to
an IntentFilter verifier to do the real job of verification.
We are passing in the broadcast Intent all the necessary data for
doing the verification. The PackageManager will receive as response
the result code of the domain verifications and, if needed, the list
of domains that have failed the verification.
- add a new INTENT_FILTER_VERIFICATION_AGENT permission that needs to
be set by an intent filter verifier to be considered as a trustable
party by the PackageManager.
- add also a new BIND_INTENT_FILTER_VERIFIER permission for securing
the binding between the PackageManager and a service doing the
intent filter verifications.
- add ResolveInfo filterNeedsVerification which is a boolean
to knows if the IntentFilter is of a type that needs a verification
(action VIEW, category BROWABLE, HTTP/HTTPS data URI)
- add new "domain-preferred-apps" / "d" dump command for listing the
prefered Apps for all domains
- add new "intent-filter-verifiers" / "ivf" command for listing the
IntentFilterVerifier used
- introduce the IntentVerificationService which is a basic service
for verifying IntentFilters. This service will send HTTPS requests
to the domain declared in the IntentFilter(s) for doing the
verification. This service has a low priority level so that it
can be replaced by a more sophisticated one if needed. This service
is updating the PackageManager intent verification states thru
the updateIntentVerificationStatus(...) API.
- update MockPackageManager

Change-Id: I0bfed193d0bf1f7c7ac79f6c1b160b7ab93b5fb5
ntent.java
ntentFilter.java
m/IPackageManager.aidl
m/IntentFilterVerificationInfo.aidl
m/IntentFilterVerificationInfo.java
m/PackageManager.java
m/PackageParser.java
m/PackageUserState.java
m/ResolveInfo.java
549a8cb66dff1ba3088a8dd15200dd02527510e8 28-Mar-2015 Mike Lockwood <lockwood@google.com> Merge "Make the MIDI Manager optional, enabled by "android.software.midi" feature"
0f09c3d0b6d483bbb457c62d67fac921f85e073a 27-Mar-2015 John Spurlock <jspurlock@google.com> Merge "Fix a few found doc problems."
5781cd5b218dc3e5a19d8f69e6fb9f310bed4df6 27-Mar-2015 Mike Lockwood <lockwood@google.com> Make the MIDI Manager optional, enabled by "android.software.midi" feature

Change-Id: I76d442ea28beea4b9e2876bfef501d8f61403702
m/PackageManager.java
92d8b334e4b311847767d61585169e9f284e6e94 27-Mar-2015 Alan Viverette <alanv@google.com> Merge "Clean up lint warnings in Resources"
a8636c9414d02e80998b538ceb2726c8f2c68fd0 27-Mar-2015 Alan Viverette <alanv@google.com> Clean up lint warnings in Resources

Change-Id: I28dff6f293c5b6c24fc451f282d11d648042d5dd
es/Resources.java
545ebdefd25e4bbc0c7353df38f852f7ba982971 27-Mar-2015 Alex Klyubin <klyubin@google.com> Merge "Unhide public API about cleartext traffic policy."
0f9d0fa125f64ccc115a0ce47e7b90eb642e22ae 27-Mar-2015 Flavio Lerda <flerda@google.com> Merge "Dump sharedLibraryFiles in a readable way."
7cb000ff56babf18d39ab0aa31dfc5dcac0bf11e 26-Mar-2015 Alex Klyubin <klyubin@google.com> Unhide public API about cleartext traffic policy.

Bug: 19215516
Change-Id: I5da81a36c2f3d0edcf715a5f1b14b0a56c7abc6d
m/ApplicationInfo.java
9c5dfa5c79fff17f96bf977b86c0c9ceb8c3cf9b 23-Feb-2015 Zoltan Szatmary-Ban <szatmz@google.com> Data Usage public API

Added new API consisting of android.app.usage.NetworkUsageManager and
android.app.usage.NetworkUsageStats. Through them data usage on a
network interface can be programmatically queried. Both summary and
details are available.

Bug: 19208876
Change-Id: I0e0c4b37ae23ad1e589d4b0c955b93f28ba4333e
ontext.java
084da9b14e0459a91fdac11fa365cdce2fb696d9 25-Mar-2015 Florian Salbrechter <fsalbrechter@google.com> Fixed wrong documentation for BLUETOOTH_SERVICE.

The documentation was incorrectly stating that getSystemService() would
return a BluetoothAdater for Context.BLUETOOTH_SERVICE. The actual
return type is BluetoothManager.
ontext.java
dcc36bf2a4c0ce863676affcb3cbdd0586a4f888 25-Mar-2015 Flavio Lerda <flerda@google.com> Dump sharedLibraryFiles in a readable way.

Currently, we are dumping sharedLibraryFiles using the default
toString() method, which for an array returns a not so useful string.
Instead, use Arrays.toString() to get out something that is more useful.

Change-Id: I717e37ab38ed784a327fad59d63536ae2c56576a
m/ApplicationInfo.java
3695b8a1488a6cc331feba1c2ab359888656bf7c 25-Mar-2015 Svet Ganov <svetoslavganov@google.com> First implementation of the grant/revoke UI

Change-Id: Icdb7c822881552b30850697dba709671bf27baa5
ntent.java
m/PackageParser.java
bc4cf00dc5bf6e0e3c01206d5c46e64306df260a 25-Mar-2015 John Spurlock <jspurlock@google.com> Fix a few found doc problems.

Change-Id: I98567f4a0fc96f501c00bf361688e2c55232f78d
es/Configuration.java
6a225edccda80b38f4d249d9befdbcf0769c0446 24-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Merge "Load libraries directly from apk"
95c1adea0c5fe10ceba217a327163757f4589d3d 19-Mar-2015 Svet Ganov <svetoslavganov@google.com> Add install option to grant all runtime permissions.

Change-Id: I72ba67a72025646a3d53611621b0353d3a86677c
m/PackageManager.java
c6d1c345f41cf817bf2c07c97b97107d94296064 26-Feb-2015 Svetoslav <svetoslavganov@google.com> Runtime permissions: per user permission tracking.

Before all permissions were granted at install time at once, so the user
was persented with an all or nothing choice. In the new runtime permissions
model all dangarous permissions (nomal are always granted and signature
one are granted if signatures match) are not granted at install time and
the app can request them as necessary at runtime.

Before, all granted permission to an app were identical for all users as
granting is performed at install time. However, the new runtime model
allows the same app running under two different users to have different
runtime permission grants. This change refactors the permissions book
keeping in the package manager to enable per user permission tracking.

The change also adds the app facing APIs for requesting runtime permissions.

Change-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5
ontext.java
ontextWrapper.java
m/IPackageManager.aidl
m/PackageInfo.java
m/PackageManager.java
m/PackageParser.java
e7666f9e45461111a5ff2da67ad8ecc9ab740d1f 23-Mar-2015 Wale Ogunwale <ogunwale@google.com> Merge "Default ActivityInfo.resizeable to false for all SDK versions."
0ef59ac0e57e9b99d174d4a53f7d9639357743ac 23-Mar-2015 Alan Viverette <alanv@google.com> Update DatePicker and CalendarView to latest Material spec

Bug: 19431364
Change-Id: If364a051a5208d170495de4182e46b32c7560e08
es/ColorStateList.java
ff193d642eea7128faad837d19e347cd25212c27 01-Oct-2014 Dmitriy Ivanov <dimitry@google.com> Load libraries directly from apk

Introduced new 'extractNativeLibs' attribute to manifest/application.
Setting it to false prevents installer from extracting library from apk.

The default value for extractNativeLibs is true.

Bug: 8076853
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
m/ApplicationInfo.java
m/PackageParser.java
3daef246bdbc43879b2db996c11e7ecc1b0a9eec 20-Mar-2015 Casey Ho <caseyho@google.com> Merge "Javadoc for ACTION_SCREEN_<ON|OFF> to indicate they cannot be registered in the manifest."
abfcc22ddf3010ca06b979d3bd0f03ebcf854631 20-Mar-2015 Wale Ogunwale <ogunwale@google.com> Default ActivityInfo.resizeable to false for all SDK versions.

Bug: 19347452
Bug: 19865400
Change-Id: I2afbcdb9c876c756b14068efc750093057f0b865
m/PackageParser.java
160a253d48d81066c7dfaf7e21aca63942df75b8 19-Mar-2015 Alex Klyubin <klyubin@google.com> am d71f548f: am 4177b8cb: Merge "Add app-level usesCleartextTraffic manifest attribute."

* commit 'd71f548f4803f0696af7de9a2989673cfd83800f':
Add app-level usesCleartextTraffic manifest attribute.
dbf6785c6765c80d3e9c36505bad5e0777aa127d 17-Mar-2015 Casey Ho <caseyho@google.com> Javadoc for ACTION_SCREEN_<ON|OFF> to indicate they cannot be registered in the manifest.

Change-Id: Ic97a36498628f7f249b6776df455e01aaa995ae4
ntent.java
4a357cd2e55293402d7172766f7f9419815fc1e8 19-Mar-2015 Alan Viverette <alanv@google.com> Replace usages of deprecated Resources.getColor() and getColorStateList()

Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
es/Resources.java
es/StringBlock.java
f2560e62cf26cae64f5751b0479743e09cb7bd7f 18-Mar-2015 James Cook <jamescook@google.com> Merge "Improve undo support for text entered with IME"
d2026686702f6c893e871c078dc5176347b3b27e 03-Mar-2015 James Cook <jamescook@google.com> Improve undo support for text entered with IME

Use span properties to detect:
* Composing text - don't record undo operations
* Completing a composition - record an insert undo operation
* Canceling a composition - don't record

Save the composition state on parcel/unparcel.

Stop using begin/end batch edit to try to detect when a TextWatcher
is modifying the text. IMEs trigger multiple InputFilter passes in
a single batch edit. Use SpannableStringBuilder to determine when
we're in a TextWatcher callback because it is the authority on that
state.

Fix a bug in undo manager where it doesn't forget undos correctly if
there are more than one in the stack.

Bug: 19332904
Change-Id: Iaa9b0b2a7bf6683302cc85e7616e5d5fcc9fa202
ndoManager.java
dd0d4b75794081e873977a5480d3d1dbff270d05 18-Mar-2015 Alan Viverette <alanv@google.com> Merge "Enable/disable hardware rendering on windows by application tag"
9b0ab65ed46be992dd71b5f811bb972168e51c36 18-Mar-2015 Alan Viverette <alanv@google.com> Enable/disable hardware rendering on windows by application tag

Previously, hardware rendering cannot be enabled or disabled
on windows created without a parent activity (e.g. by services)
by setting the <application> tag, "android:hardwareAccelerated"
in AndroidManifest.xml. It's enabled by default in Android L
from the commit, 5e1565ead6dbb7d5c414522591f61b16a23de1c3.
This patch provides a way of setting hardware rendering for
that case.

Change-Id: I60ee9566e99db39cd661fe6f196f43c3968b311a
Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
m/ApplicationInfo.java
m/PackageParser.java
07459a36177411595df2d6d0993d3dc489fa302b 18-Mar-2015 Ed Heyl <edheyl@google.com> Merge "Fix build: Revert "Enable/disable hardware rendering on windows by application tag""
1445469b9e011feb51be4f789779dc6f5828ef9b 18-Mar-2015 Ed Heyl <edheyl@google.com> Fix build: Revert "Enable/disable hardware rendering on windows by application tag"

This reverts commit ae114d2eb4f2720e0435623e49ff091e2308c18c.

Change-Id: I5400c9aa121491164e8739892408c377b99f3980
m/ApplicationInfo.java
m/PackageParser.java
78d9de97a624f4edd0d9ad028e084f98e523e5e8 18-Mar-2015 Alan Viverette <alanv@google.com> Merge "Enable/disable hardware rendering on windows by application tag"
ae114d2eb4f2720e0435623e49ff091e2308c18c 18-Mar-2015 Alan Viverette <alanv@google.com> Enable/disable hardware rendering on windows by application tag

Previously, hardware rendering cannot be enabled or disabled
on windows created without a parent activity (e.g. by services)
by setting the <application> tag, "android:hardwareAccelerated"
in AndroidManifest.xml. It's enabled by default in Android L
from the commit, 5e1565ead6dbb7d5c414522591f61b16a23de1c3.
This patch provides a way of setting hardware rendering for
that case.

Change-Id: I08ce58a8644970a2a18407e83ad317a72a2dad10
Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
m/ApplicationInfo.java
m/PackageParser.java
a212e6b5b1929abc161cc53fa44425da486cb439 18-Mar-2015 John Spurlock <jspurlock@google.com> Merge "Update package manager documentation."
01a959d60a2c5f04ab240513a853d7845b3a309e 18-Mar-2015 Alex Klyubin <klyubin@google.com> Add app-level usesCleartextTraffic manifest attribute.

The attribute declares whether the app intends to use cleartext
network traffic (e.g., HTTP, WebSockets, XMPP, SMTP, IMAP -- without
TLS or STARTTLS). The default value is true. If set to false, the app
declares that it does not intend to use cleartext network traffic. In
this case the app requests the platform, tooling, and third-party
libraries to prevent it from using cleartext traffic. The danger of
cleartext network traffic is that its confidentiality, authenticity,
and integrity are not guaranteed.

This feature is designed to help apps which care about security of
data exchanged over the network. These apps can accidentally
regress/downgrade to using cleartext network communications. This
typically happens when the server the app communicates with all of a
sudden tells it to use cleartext communications (e.g, HTTP URL
instead of an HTTPS URL) or when one of the components of the app gets
updated and regresses to cleartext communications without the
developer noticing.

In general, the prevention measures are on best effort basis. It's
impossible to automatically prevent all instances of cleartext
traffic. For example, an app bent on bypassing restrictions could
perform low-level network I/O with unusual TCP packet fragmentation,
or could use a custom application-level protocol.

The expectation is that most apps use libraries for network
communications and these libraries over time will start to honor this
flag, thus increasing the protections offered by it.

Bug: 19215516
Change-Id: I8700d51ddbc5d528faa4b6a5fa5bc9551ad02d13
m/ApplicationInfo.java
m/PackageParser.java
38e6425bb490fbc65c1d0d74cdca205b4db4197d 18-Mar-2015 John Spurlock <jspurlock@google.com> Update package manager documentation.

Out lists are required to be non null.

Change-Id: I87b586a90f9f221bbea6f6f18135bfcdd65680c2
m/PackageManager.java
6597e3435f8abfedbb9a4f1bfb10cc17ea7f38bf 17-Feb-2015 Christopher Tate <ctate@google.com> Notification listener backup & restore

We now back up & restore the set of enabled notification listeners. Post-
restore, a listener that had been enabled on the ancestral device will be
enabled on the current device as soon as it's installed, matching the
user's previous configuration. After this has happened the enable/disable
state for that app is not "sticky"; disabling it again will work as
expected.

The infrastructure for accomplishing this is general: it can be leveraged
by any ManagedServices derivative. There's a bit of extra wiring in the
settings provider to support the restore-time information flow as well.
This is because ManagedServices -- like many other parts of the system --
monitors writes to the settings provider and does work in response to new
writes of the elements that it cares about. Unfortunately this means that
there is no way to use the BackupAgent's restoreFinished() hook to post-
process the restored data: by the time it is run, the ManagedService's
observers have already executed and culled any unknown components from
the description that was just pushed into settings.

As of this patch, the settings provider's restore logic knows that a
particular settings element will require a message to interested observers
about the restore-driven change. The message is delivered as a broadcast,
and is sent after the new value has been committed to the settings db.
Adding other system ManagedService handling that parallels this will only
require adding a new corresponding entry to the table of individual settings
for which the relevant "this settings element is being restored" broadcast
is sent, found in SettingsHelper.

(It isn't sent for all settings elements because very few settings elements
have semantics that require it; 3rd party code won't be running yet during
platform restore anyway; and sending up to hundreds of broadcasts during
setup & restore is far from ideal.)

Bug 19254153

Change-Id: Ib8268c6cb273862a3ee089d2764f3bff4a299103
ntent.java
aff57b7519a2c2700f6259a99faa05fb673d184a 16-Mar-2015 Eric Laurent <elaurent@google.com> Merge "broadcast radio API"
8458e531bfc681ebb0de98476d782ca4d052a145 16-Mar-2015 Nicolas Prevot <nprevot@google.com> Merge "Remove the owner userid of cross-profile intent filters."
2035ac85f61b0e7fa384d52fcfa99766424c122c 06-Mar-2015 Eric Laurent <elaurent@google.com> broadcast radio API

Initial implementation of system APIs for broadcast
radio framework. Added manager and interfaces to control
a broadcast radio function exposed by the radio HAL.

- RadioManager: contains data structures and definitions as well as
top level API for feature discovery and tuner interface instantiation.
- RadioTuner: interface to control a broadcast radio tuner.
- RadioModule: framework component implementing the RadioTuner interface
and controlling a HW radio module via the radio HAL.
- RadioMetadata: representation of radio meta data (Station name, PTY,
song title, artwork, etc...) communicated by the framework to the client.

Change-Id: Iee42a185c694503e25f0b2dcfa417d88f5e9549b
ontext.java
a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9d 11-Mar-2015 Dianne Hackborn <hackbod@google.com> More work on collecting assist data.

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

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

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

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

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

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

Change-Id: I88420a55761bf48d34ce3013e81bd96a0e087637
ntent.java
7487657ee9f3f91a1fb4e52ce2a03b56496ac1f4 24-Feb-2015 Fyodor Kupolov <fkupolov@google.com> Extracted a separate class to run dexopt on packages

performDexOptLibsLI and related methods were extracted to PackageDexOptimizer
class. Minor refactoring of PackageManagerService.

This is a non-functional change. It should simplify further work to allow
storing OAT files inside package dir.

(cherry picked from commit eeea67b8c3678d882d3774edc41242c63daa60fa)

Change-Id: I3494a2da70605362bb6fb4625ffbee1cbe1cd457
m/ApplicationInfo.java
m/PackageParser.java
93795053da04b0f16dadb6e56f6056bd2dd37875 09-Mar-2015 Alan Viverette <alanv@google.com> Make TypedArray and LayoutInflater exceptions more useful

Include unresolved TypedValue data in TypedArray exceptions, wrap all
LayoutInflater exceptions with the parser position.

Bug: 19658760
Change-Id: I8965bdc4d0c58c082cb7129c3b692a3e5418cfdb
es/TypedArray.java
1c2bf03d1082fc6b7eb42cbd163c60c07cf2bccc 02-Mar-2015 Tor Norbye <tnorbye@google.com> Annotate return values with @CheckReturn

Change-Id: Icd8fb6adb591ccd7f35f2336ae716b198abf69c5
ontext.java
m/PackageManager.java
3aa2d01752ffecb4a9847249eefd7fa3cffeb309 08-Mar-2015 Andreas Gampe <agampe@google.com> am 3f74f638: am 55966006: am 7a4cb563: Merge "Frameworks/base: Remove unnecessary Pattern instance"

* commit '3f74f6386a15d09f27dbc81edd8dd2c13e298d73':
Frameworks/base: Remove unnecessary Pattern instance
5596600697f54feb944737b7bc55df06123e6e54 07-Mar-2015 Andreas Gampe <agampe@google.com> am 7a4cb563: Merge "Frameworks/base: Remove unnecessary Pattern instance"

* commit '7a4cb563a29f05658760739d3bc2e70bd6342174':
Frameworks/base: Remove unnecessary Pattern instance
055678b5fe8f892ca64a384e839564b6de4d89cc 07-Mar-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Remove unnecessary Pattern instance

Using a static Pattern in UriMatcher prevents compile-time
initialization.

It is also not efficient, as String.split has a fast path for simple
splits.

Bug: 19542228

Change-Id: Ie9e5bfe6da04c6d05ec10b1426d0cd136ef46ef2
riMatcher.java
80756e38882720860db52f1fcc21fa1505a02abf 02-Mar-2015 Tor Norbye <tnorbye@google.com> Annotate ARGB integer parameters with @ColorInt

Change-Id: I307f72a382272cf18ddb6b07d9fcb81228568d9a
es/ColorStateList.java
es/Resources.java
es/TypedArray.java
4b8d5821512c6a4fdaf442f6d48e1dc412539136 05-Mar-2015 Nicolas Prevot <nprevot@google.com> Remove the owner userid of cross-profile intent filters.

The owner user id was used to identify in which user an app had set
a cross-profile intent filter. But it's not really necessary.

BUG:19505190

Change-Id: Iacc49d31c95e34efee1895e5fbe7224277dbc493
m/IPackageManager.aidl
c1bce3de9014ef49869be45c915c8a844d19c64b 02-Mar-2015 James Cook <jamescook@google.com> Merge "Fix crash in UndoManager after parceling TextView"
f143ace3aa80227b7612c0a9428b2de996c4920a 02-Mar-2015 James Cook <jamescook@google.com> Fix crash in UndoManager after parceling TextView

UndoOwner maintains a manual reference count of the number of undo operations
it is associated with, but this count is not restored (and hence becomes zero)
when UndoManager is parceled and unparceled. This can cause the count to
underflow on subsequent text editing.

A test for this will land separately in CTS.

Bug: 19568283
Change-Id: Ic50890828db9679c7cef805388957d66dc75422d
ndoManager.java
ndoOwner.java
7b91c55b3ff4857e904a11a0a67fcc86a32868b4 02-Mar-2015 John Spurlock <jspurlock@google.com> Merge "Remove unused imports in frameworks/base."
9f78f6528f1afad260be51d2058c37717851e3a2 02-Mar-2015 Scott Kennedy <skennedy@google.com> Mark arg and extras @Nullable in ContentProvider#call()

Change-Id: I431b01323fe76c744520c72661d30f6b9cb6b7f1
ontentProvider.java
ontentResolver.java
ContentProvider.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
ontentProviderResult.java
m/LauncherApps.java
es/Resources.java
es/TypedArray.java
7af589995f8036bc9e622ec54fc29492152f926f 27-Feb-2015 James Cook <jamescook@google.com> Merge "Reland: Add basic support for Ctrl-Z to editable TextViews"
228fd600cebe51e612357489310bc239d6bf24cc 27-Feb-2015 Alan Viverette <alanv@google.com> Merge "Implement landscape layout for time picker dialog"
f59152cf00520d1bd36949b44faca2e1fcf6d28f 27-Feb-2015 James Cook <jamescook@google.com> Reland: Add basic support for Ctrl-Z to editable TextViews

Reland 9201e797833f35b9afb219f88c10d3b6fda02a4e which was reverted in
c8f08e07a47cc259a25caed3f731ee7044328635.

Original description:
* Add an UndoManager to the Editor for each editable TextView
* Record operations as being owned by that Editor
* Parcel the undo state
* Wire hardware keyboard shortcuts Ctrl-Z for undo and Ctrl-Shift-Z
for redo into TextView shortcut handling.
* Expose IDs for "undo" and "redo" for symmetry with cut/copy/paste.

Additional fix:
* Ensure each UndoOwner always has a valid mManager, even after the
UndoManager is parceled and restored.

Bug: 19332904
Bug: 19505388
Change-Id: Iad4476e6e9ca952281e69bf22c07cca915dfa7bd
ndoManager.java
ndoOwner.java
8b8423e0c995c030543ca74168b5473d8644faec 26-Feb-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Extracted a separate class to run dexopt on packages"
62c79e9a64c3b2cafd5500ed3064977dff7b7da3 26-Feb-2015 Alan Viverette <alanv@google.com> Implement landscape layout for time picker dialog

Adds support overriding default alert dialog panel elements by including
them in the dialog's custom content view, but no public API (yet!) since
the panel IDs have never been public. Some minor cleanup and refactoring
in TimePickerDialog. Removes Holo styles for "clock" and "calendar" style
pickers since they are new in Material. If the new styles are used against
Holo they will match Material but with Holo primary/accent colors.

Also implements themed color state lists to resolve TODOs in both time
and date pickers.

Bug: 19431361
Change-Id: I095fd8d653e02d9e5d20d66611432a08a7a5685e
es/ColorStateList.java
6e53931f49f49245deef8622eb8e7dc6ccf04536 25-Feb-2015 Jeff Brown <jeffbrown@google.com> Add Context.getSystemService(Class<?>).

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

Cleaned up docs.

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

Change-Id: I9da46b20641fc83ecd3342560e5b94cb721f289c
ontext.java
ontextWrapper.java
eeea67b8c3678d882d3774edc41242c63daa60fa 24-Feb-2015 Fyodor Kupolov <fkupolov@google.com> Extracted a separate class to run dexopt on packages

performDexOptLibsLI and related methods were extracted to PackageDexOptimizer
class. Minor refactoring of PackageManagerService.

This is a non-functional change. It should simplify further work to allow
storing OAT files inside package dir.

Change-Id: I3494a2da70605362bb6fb4625ffbee1cbe1cd457
m/ApplicationInfo.java
m/PackageParser.java
8ee1d64c0ac3dba3e72fcc3503c7c36397a5ac74 24-Feb-2015 James Cook <jamescook@google.com> Merge "Change UndoManager mOwners from HashMap to ArrayMap"
419389c52a2c81cbb0b4615d6b0b1c1253c3469c 24-Feb-2015 Narayan Kamath <narayan@google.com> am fd335f84: am 948682d1: am 6e208cdd: Merge "Remove wrong javadoc comment"

* commit 'fd335f8467259410c0a55733331e10531141e76e':
Remove wrong javadoc comment
948682d15f1a4a6676318213a49b50b967cfae27 24-Feb-2015 Narayan Kamath <narayan@google.com> am 6e208cdd: Merge "Remove wrong javadoc comment"

* commit '6e208cddad3315c4e38accdb801908b2b9b5cbbd':
Remove wrong javadoc comment
6e208cddad3315c4e38accdb801908b2b9b5cbbd 24-Feb-2015 Narayan Kamath <narayan@google.com> Merge "Remove wrong javadoc comment"
761a4b333548bea72fe9df64cb70dc9c3400126f 24-Feb-2015 James Cook <jamescook@google.com> Change UndoManager mOwners from HashMap to ArrayMap

The number of undo operation owners is small (and usually one),
so save memory by switching to ArrayMap.

Bug: 19332904
Change-Id: Ic32cd49c292db2eaab1739cea8e8e518e68bd826
ndoManager.java
b673770f7172d4fca9bc05de1f36bc53e93eb247 20-Feb-2015 Mike Lockwood <lockwood@google.com> Add MIDI Manager API tweaks:

- Change the package name from android.midi to android.media.midi

- Add option for specifying a Handler for DeviceCallback notifications

Change-Id: Ia9e9817a651c06299f4e02ee1da3c9666ff64cb9
ontext.java
7b9c912f536925ac6ec43935d6e97506851b33d6 31-May-2013 Tor Norbye <tnorbye@google.com> Add @ResourceInt annotations on APIs

Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
ontext.java
ntent.java
estrictionEntry.java
m/PackageManager.java
es/Resources.java
es/TypedArray.java
bc26d2eafd6185a197a968b2dffde5871791cf0b 13-Feb-2015 Fyodor Kupolov <fkupolov@google.com> Merge "RegisteredServicesCache now saves files to a user-specific dir"
259e76153255e4d7c6d6c14af77936fe060e7038 11-Feb-2015 Fyodor Kupolov <fkupolov@google.com> RegisteredServicesCache now saves files to a user-specific dir

Previously, its state was saved in a single xml file inside
/data/system/registered_services.

Services are now stored in separate files stored in a user-specific dir. A
one-off migration step was added, which runs, when the system discovers a
file in the old format.

Bug:19321135
Change-Id: Ie92be01047f4855d01352b6a304820b37344ae2c
m/RegisteredServicesCache.java
bf44ce24a949b844d89e681c54bc2bcccbba34b1 12-Feb-2015 Tor Norbye <tnorbye@google.com> Update the @ServiceName annotation

It was missing some recently added services (and some unhidden
services). For completeness also include newly added hidden services
as comments such that if they get unhidden in the future it's more
likely that a search and replace update will discover the annotation
reference as well.

Change-Id: I04ff5e1cf7b14b19c3650a49403771ef4f14c862
ontext.java
05ecfd308d983755bc7cab39ba99a37c321f176b 11-Feb-2015 Alex Klyubin <klyubin@google.com> am 33d3c53d: resolved conflicts for merge of 517e0274 to lmp-mr1-dev-plus-aosp

* commit '33d3c53da021f0d044028860ace0f4ad817273f5':
Move hidden ApplicationInfo flags into a separate field.
33d3c53da021f0d044028860ace0f4ad817273f5 11-Feb-2015 Alex Klyubin <klyubin@google.com> resolved conflicts for merge of 517e0274 to lmp-mr1-dev-plus-aosp

Change-Id: Ic20b6c8851458483dd73a144bd5ae6e8d141e62a
b9f8a5204a1b0b3919fa921e858d04124c582828 03-Feb-2015 Alex Klyubin <klyubin@google.com> Move hidden ApplicationInfo flags into a separate field.

The public API field android.content.pm.ApplicationInfo.flags can
support only 32 flags. This limit has been reached. As a short term
workaround to enable new public flags to be added, this CL moves flags
which are not public API into a separate new field privateFlags and
renames the affected flags constants accordingly (e.g., FLAG_PRIVILEGED
is now PRIVATE_FLAG_PRIVILEGED).

The new privateFlags field is not public API and should not be used
for flags that are public API.

The flags that are moved out of ApplicationInfo.flags are:
* FLAG_HIDDEN,
* FLAG_CANT_SAVE_STATE,
* FLAG_FORWARD_LOCK, and
* FLAG_PRIVILEGED.

NOTE: This changes the format of packages.xml. Prior to this CL flags
were stored in the "flags" attribute. With this CL, the public flags
are stored in a new "publicFlags" attribute and private flags are
stored in a new "privateFlags" attribute. The old "flags" attribute
is interpreted by using the old values of hidden/private flags.

Change-Id: Ie23eb8ddd5129de3c6e008c5261b639e22182ee5
m/ApplicationInfo.java
m/IPackageManager.aidl
m/PackageParser.java
9e0d81e8439089845b7ddee21676f3f427a34cca 10-Feb-2015 Fyodor Kupolov <fkupolov@google.com> Added unit test for RegisteredServicesCache

Minor refactoring of RegisteredServicesCache for testability. Added
RegisteredServicesCacheTest which uses a mock version of
RegisteredServicesCache.

Bug:19321135
Change-Id: If18b794b28f03b4bf4bbdfbba9e9a57e808aaebf
m/RegisteredServicesCache.java
9e9345c70a8ba1b2775b62a2cb218ec80dd01547 10-Feb-2015 Soonil Nagarkar <sooniln@google.com> Merge "Add @SystemApi annotations to ACTION_QUERY_PACKAGE_RESTART and related."
0e8fd097082dddf10bd62f9a209ae4932a0a515f 10-Feb-2015 Soonil Nagarkar <sooniln@google.com> Add @SystemApi annotations to ACTION_QUERY_PACKAGE_RESTART and related.

Make Intent.ACTION_QUERY_PACKAGE_RESTART and Intent.EXTRA_PACKAGES
accessible from GmsCore so that location and context components can
properly respond to the broadcast.

BUG: 19298558
Change-Id: I4b5cf4991c69d3aa745d03271187c65794df10b2
ntent.java
00c5e4e1908877fea23b1b2aab97f122dba2ceef 10-Feb-2015 Wale Ogunwale <ogunwale@google.com> Merge "Set TaskStack config orientation based on dimensions"
a928127a74d6ffe9334774e64a4470aedbe6c28b 07-Feb-2015 Wale Ogunwale <ogunwale@google.com> Set TaskStack config orientation based on dimensions

The TaskStack override configuration is set based on the
stack dimensions so we can load the most acturate resources
for activities in the stack in a multi-window environment.

Also, disabled fixed screen orientation for resizeable
activities.

Bug: 19305402
Change-Id: I7b182554523b12f2ef77f8bbc7b16891231125bf
m/PackageParser.java
00591330117e75fedbe4c76141c2c2b05c9cb31b 10-Feb-2015 Soonil Nagarkar <sooniln@google.com> Merge "Revert "Add @SystemApi annotations to ACTION_QUERY_PACKAGE_RESTART and related.""
ffcd2400aa3c99c0f7533cab40de0e1703951d24 10-Feb-2015 Soonil Nagarkar <sooniln@google.com> Revert "Add @SystemApi annotations to ACTION_QUERY_PACKAGE_RESTART and related."

This reverts commit f02fee70e1d3f0281ef7fd6117f118d5c4f7187d.
ntent.java
02696d5b0f7a8d4e43ea4dffa412f73340fd6231 10-Feb-2015 Soonil Nagarkar <sooniln@google.com> Merge "Add @SystemApi annotations to ACTION_QUERY_PACKAGE_RESTART and related."
f02fee70e1d3f0281ef7fd6117f118d5c4f7187d 10-Feb-2015 Soonil Nagarkar <sooniln@google.com> Add @SystemApi annotations to ACTION_QUERY_PACKAGE_RESTART and related.

Make Intent.ACTION_QUERY_PACKAGE_RESTART and Intent.EXTRA_PACKAGES
accessible from GmsCore so that location and context components can
properly respond to the broadcast.

BUG: 19298558
Change-Id: I8377db7c347068cfdd534e8f85834674f77d4cf3
ntent.java
fd8e7306be82499631981b7744d7ed15ca3b88d2 09-Feb-2015 Amith Yamasani <yamasani@google.com> am 2b865d7e: am a6318cd7: am d09878c1: am 61333d1b: Merge "Limit cache update to packages that have changed" into lmp-mr1-dev

* commit '2b865d7e16e19df76f01982b90e647e873098f51':
Limit cache update to packages that have changed
2b865d7e16e19df76f01982b90e647e873098f51 09-Feb-2015 Amith Yamasani <yamasani@google.com> am a6318cd7: am d09878c1: am 61333d1b: Merge "Limit cache update to packages that have changed" into lmp-mr1-dev

* commit 'a6318cd7f29c87bce2dfe9b74ff4a89c945be591':
Limit cache update to packages that have changed
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
e2d2ed49235d2f717f0aee1d2c6671b376700b62 13-Jan-2015 Narayan Kamath <narayan@google.com> Conditionally include org.apache.http.legacy in app classpaths.

bug: 18027885

Change-Id: Id330ffde9d2a6e516fd60edc33f5529df719c634
m/PackageParser.java
7e19f5016f1757e70520ea6e36ad9fa3b5d84b84 30-Jan-2015 Amith Yamasani <yamasani@google.com> Use ResolveInfo for label and icon for LauncherActivityInfo

Instead of using the ActivityInfo, use the ResolveInfo so that
any label or icon specified on the intent-filter is used.

Also handle the density param in getIcon()

Bug: 18482039
Change-Id: I65cb7adb34b2e472bfc68e7734f3a40fd0a6244c
m/LauncherActivityInfo.java
4aab1bba6975b0447ad7435120edb5a90c8506f8 03-Feb-2015 Wale Ogunwale <ogunwale@google.com> @hide ActivityInfo.resizeable.

Bug: 19178148
Change-Id: Icc132eef7196cc2b8e50294df10595bde8d73ecd
m/ActivityInfo.java
9d3de4cfb42519fefe9d8b03c38ba440bd6bc886 02-Feb-2015 Wale Ogunwale <ogunwale@google.com> Support for activity to opt-in/out of resizeable/multi-window support.

Bug: 19178148
Change-Id: I5819a71cdc48e0af4add11a6d4a503ec5cbe5d63
m/ActivityInfo.java
m/PackageParser.java
2333e3406c1742d0755b4a80daaf717aa50cd1e5 31-Jan-2015 Scott Kennedy <skennedy@google.com> Add some @Nullable annotations to SharedPreferences

Change-Id: I26e7a02a18d802902fca6892bed77b4f98ccf3ee
haredPreferences.java
8b8d61952a4599439f3308a5f73bb0a2a0610563 29-Jan-2015 Jon Larimer <jlarimer@google.com> am 9570e144: am ea63fd7f: am 88add689: am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit '9570e144fe38a53c507838cc5234225c7a0da315':
Fix ParceledListSlice to enforce the same concrete types among its elements.
9570e144fe38a53c507838cc5234225c7a0da315 29-Jan-2015 Jon Larimer <jlarimer@google.com> am ea63fd7f: am 88add689: am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit 'ea63fd7f9b4bb2701c9d12ab8775867dbdeefcf1':
Fix ParceledListSlice to enforce the same concrete types among its elements.
ea63fd7f9b4bb2701c9d12ab8775867dbdeefcf1 29-Jan-2015 Jon Larimer <jlarimer@google.com> am 88add689: am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit '88add68942694fc643518bcf5c26f6c3df7e9aa0':
Fix ParceledListSlice to enforce the same concrete types among its elements.
88add68942694fc643518bcf5c26f6c3df7e9aa0 29-Jan-2015 Jon Larimer <jlarimer@google.com> am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit 'a5ccca242747d59233ec5ecebc20d4a721e7850e':
Fix ParceledListSlice to enforce the same concrete types among its elements.
a5ccca242747d59233ec5ecebc20d4a721e7850e 29-Jan-2015 Jon Larimer <jlarimer@google.com> am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit '2982d64802ed0d5b59130680c43485e9d7862e50':
Fix ParceledListSlice to enforce the same concrete types among its elements.
2982d64802ed0d5b59130680c43485e9d7862e50 29-Jan-2015 Jon Larimer <jlarimer@google.com> am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit 'de9a76ed997c300a6c5f2f82c517719503af9045':
Fix ParceledListSlice to enforce the same concrete types among its elements.
de9a76ed997c300a6c5f2f82c517719503af9045 29-Jan-2015 Jon Larimer <jlarimer@google.com> am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev

* commit 'fc731e6e40f6f449b8e7ac72c2cd36a57c04a32b':
Fix ParceledListSlice to enforce the same concrete types among its elements.
0e8f037ded946f3aeaa0480c2d1eeb77d6688d0b 28-Jan-2015 Fyodor Kupolov <fkupolov@google.com> Merge "Added primaryUserOnly attribute for activities"
f741c3727383008b131cd3877cbdb3857e07fc9b 07-Nov-2014 Adam Lesinski <adamlesinski@google.com> Fix ParceledListSlice to enforce the same concrete types among its elements.

Bug:17671747
Change-Id: I896f75738e5b464ccb6c03290f139cc2fa72f966
(cherry picked from commit 3df1c38ee098872352086e03d6f1adb16796ee29)
m/ParceledListSlice.java
703d1c43a25fe6e80c5fea46cc0ff14f0e1fbc00 27-Jan-2015 Fyodor Kupolov <fkupolov@google.com> Added primaryUserOnly attribute for activities

In addition to receivers, primaryUserOnly is now supported for activities.

In queryIntentActivities method, activities with primaryUserOnly flag set will
be filtered out, when current user is not the owner.

Change-Id: I0b7168b8c96749cd6d23b8c95d5624589f5f2d86
m/PackageParser.java
60454dbc4d815c90ff2713e224953d6547fc3ad5 24-Jan-2015 Wale Ogunwale <ogunwale@google.com> Support activities in the same process having different resources.

Activities can be of various sizes in a multi-window environment.
This change allows them to have override configurations that allows
different resources to the loaded if needed.

Bug: 19002213
Change-Id: Ib2c7be0b427f5ce05e7a362bcdd496ddbc9164f0
es/Resources.java
es/ResourcesKey.java
1cf7405f1f4cdf823f9ff8378185af015653772a 22-Jan-2015 Brian Attwell <brianattwell@google.com> Expose ContentProviderOperation type

CHANGE
isInsert, isDelete, isUpdate, isAssertQuery

JUSTIFICATION
The use of getType() in lots of unit tests means that
ContentProviderOperation#getType() can't practically be
removed.

Why not make it public? This allows 3p to use getType() in
unit tests. Plus it allows the unbundled contacts app
to continue using getType() in order to handle TYPE_INSERT
specially, without needing to awkwardly pass isInsert values
around.

Bug: 18777272
Change-Id: I6be5f325bbf6fbeb7817e9b1f7fa1a1ae2002e0b
ontentProviderOperation.java
09341baa8ea889c153674b3731cd4851e1c51719 22-Jan-2015 Brian Attwell <brianattwell@google.com> Merge "Revert "Expose ContentProviderOperation type""
8b89f0b2070e740f96c1b07f37d72f7e530e1a20 22-Jan-2015 Brian Attwell <brianattwell@google.com> Revert "Expose ContentProviderOperation type"

This reverts commit 9986f8e85a095320afbdebb2d0dfee9a2e19e510.

Change-Id: Icdcedf485a67fff4ab5e6bab9cc3e82aa7cc8760
ontentProviderOperation.java
a29ce2d47d78fd247cbff8b6a86f193760762118 22-Jan-2015 Brian Attwell <brianattwell@google.com> Merge "Expose ContentProviderOperation type"
9986f8e85a095320afbdebb2d0dfee9a2e19e510 22-Jan-2015 Brian Attwell <brianattwell@google.com> Expose ContentProviderOperation type

CHANGE
isInsert, isDelete, isUpdate, isAssertQuery

JUSTIFICATION
The use of getType() in lots of unit tests means that
ContentProviderOperation#getType() can't practically be
removed.

Why not make it public? This allows 3p to use getType() in
unit tests. Plus it allows the unbundled contacts app
to continue using getType() in order to handle TYPE_INSERT
specially, without needing to awkwardly pass isInsert values
around.

Bug: 18777272
Change-Id: I3265193cda0c9405f6df896cd96a10df7225445a
ontentProviderOperation.java
4e106cedfecd1f6026a79870c2e427853cba7491 15-Jan-2015 Dianne Hackborn <hackbod@google.com> Bring back voice interaction APIs.

Change-Id: I6039d7c0b188ac342441c56f7d19994b9a80ba17
ntent.java
23a6d889aa0cdcb244ccbe2b999a87e7ece7b7e5 16-Jan-2015 Ricardo Cervera <rcervera@google.com> am 1e59b338: am 08314642: am 90312d80: am 22878790: am 93f94c2c: resolved conflicts for merge of e8f6bd48 to lmp-dev

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

* commit '083146428420dd3daa887d6e9c019e747a604cb5':
docs: Added info on noHistory and onActivityResult(). Bug: 13807256
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
e6eb0772d680e8dbb7477a7f972d862a7720d25e 15-Jan-2015 Dianne Hackborn <hackbod@google.com> am fce232b4: am 5a4b4084: am b96a6916: Merge "Fix issue android-app doc, bump battery stats checkin version" into lmp-mr1-dev

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

* commit '5a4b4084215b1efc5308c0c914185599b4d502bf':
Fix issue android-app doc, bump battery stats checkin version
0ee10f6d263e5476d0eb8f8ba82ff5cd522883e9 15-Jan-2015 Dianne Hackborn <hackbod@google.com> Fix issue android-app doc, bump battery stats checkin version

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

Change-Id: I0bd8f32b9d8d5978bd01d421ea2232d20def340a
ntent.java
34b064a1406ebb2eb10b5b1f24c845891748c238 14-Jan-2015 Alan Viverette <alanv@google.com> Merge "Clean up TypedArray docs & formatting, remove coercion warnings"
be37df395eb791d9f877f4ca3c6e5d355a19896e 13-Jan-2015 Olawale Ogunwale <ogunwale@google.com> am 9d293911: am ebdfb6e8: Merge "[ActivityManager] Distinguish FG or BG receiver finished"
automerge: 0f8ecc8

* commit '0f8ecc84c8b86054bfd3275f942c3a705df01fbb':
[ActivityManager] Distinguish FG or BG receiver finished
0f8ecc84c8b86054bfd3275f942c3a705df01fbb 12-Jan-2015 Olawale Ogunwale <ogunwale@google.com> am 9d293911: am ebdfb6e8: Merge "[ActivityManager] Distinguish FG or BG receiver finished"

* commit '9d293911221cac930eb8edfef01362ea083eeaab':
[ActivityManager] Distinguish FG or BG receiver finished
6bbb47b7d5ac1b49d916679e5f081fe181d8f162 06-Jan-2015 Alan Viverette <alanv@google.com> Clean up TypedArray docs & formatting, remove coercion warnings

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

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

BUG: 18625719
Change-Id: I385f0b719182d3c0358943e1d6c3d7bedc756eb5
es/Resources.java
es/TypedArray.java
304ea5aac77cae03b4e8440a7c73c18086d96a20 06-Jan-2015 Alan Viverette <alanv@google.com> Merge "Allow use of theme attributes in color state lists"
45c4bbbbce6bbad50a033efcba7948a23f1f117a 05-Jan-2015 Alan Viverette <alanv@google.com> Allow use of theme attributes in color state lists

BUG: 17384842
Change-Id: Ibdc413acbd00e37b908432abd55f6521c22b8fc9
ontext.java
es/ColorStateList.java
es/Resources.java
es/TypedArray.java
d6ebb3a75ef9c87ff5294462dc0637ca802d1e59 05-Jan-2015 Alan Viverette <alanv@google.com> Remove null entries from constant state cache

We insert null entries on cache miss, which can cause NPE on prune, but
we ought to remove these entries during prune.

BUG: 18842826
Change-Id: I9c0bca04f34575d1403de943abd8d12b18c9c032
es/Resources.java
1f5ac4d322d76ca76fdf5dee40fe9549aad7437e 03-Jan-2015 riddle_hsu <riddle_hsu@htc.com> [ActivityManager] Distinguish FG or BG receiver finished

Symptom:
Assume a foreground broadcast FG and a background BG.
If a recevier registers both FG and BG. When sending
BG and FG to the receiver, and the receiver BG receiver
completes first, its finishReceiver will trigger next FG
receiver rather than BG, and also deliver wrong result
code/data to the next.

More detail and sample:
https://code.google.com/p/android/issues/detail?id=92917

Root cause:
Due to BroadcastQueue:getMatchingOrderedReceiver will match
by receiver(IBinder), so the caller ActivityManagerService:
broadcastRecordForReceiverLocked will always match the first
queue(fg) if a receiver is both receiving fg and bg.

Solution:
Add a parameter flags to finishReceiver, then server side
could know the finished receiver should belong to which queue.

Another general solution but with bigger scope:
I60dce4a48e20c1002a61a979e4d78b9b0a8b94a0

Change-Id: I913ca6f101ac8ec6c7a8e42754e6781f80247b7f
roadcastReceiver.java
3979c0bf42734e0e608c0e583b18b892b0583377 30-Dec-2014 Michael Wright <michaelwr@google.com> resolve merge conflicts of 342e903 to master.

Change-Id: Id8404cce5c1c8e7818e5d164f93207a8c17cf7bb
342e9030002e5a1c654f3f802e0d6cc0498ac32c 30-Dec-2014 Michael Wright <michaelwr@google.com> am 95700457: am a33424a5: Merge "Add MEDIA_PROJECTION_SERVICE to the ServiceName list." into lmp-mr1-dev

* commit '95700457139803af54a5e731816cedf1c924f3a6':
Add MEDIA_PROJECTION_SERVICE to the ServiceName list.
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
c4ec5b633e6162cbe9bb00b8f90ae89b871b9fbf 17-Dec-2014 Jeff Sharkey <jsharkey@android.com> Iterate based on index, not key.

Bug: 18785949
Change-Id: I5d92fedac9f71b997f87f7035635fde276756faa
es/Resources.java
081d7d5091b9f1c9d2c8c3206d20103a1c048031 16-Dec-2014 Jay Shrauner <shrauner@google.com> am 58d66c30: am 12b5e504: Merge "Fix NPE in Transport.applyBatch" into lmp-mr1-dev automerge: 59e96ee

* commit '58d66c30d78a70c7bb5d2a62669ed64d6931b777':
Fix NPE in Transport.applyBatch
58d66c30d78a70c7bb5d2a62669ed64d6931b777 16-Dec-2014 Jay Shrauner <shrauner@google.com> am 12b5e504: Merge "Fix NPE in Transport.applyBatch" into lmp-mr1-dev
automerge: 59e96ee

* commit '59e96ee423f4fc810f29451144143a581a8cd99a':
Fix NPE in Transport.applyBatch
ac2506c7e325b4e095405de155480a1abb3c4623 15-Dec-2014 Jay Shrauner <shrauner@google.com> Fix NPE in Transport.applyBatch

Bug:18756774
Change-Id: I1da4f0131b1529598043e4cb9fb226d02bff8669
ontentProvider.java
43cd1ddc81d45f9e1789486826c30358d8f92ef2 15-Dec-2014 Alan Viverette <alanv@google.com> Merge "Prune the resource cache before adding new caches"
69ff299e79a9215af254e32da91dc14b5a0bd1b2 10-Dec-2014 Dianne Hackborn <hackbod@google.com> am 9b287368: am 6bdbae07: Merge "Fix issue #18665625 CTS:android.app.cts.InstrumentationTest#..." into lmp-mr1-dev automerge: 7557ec1

* commit '9b287368b05f36e322f339b82d2bb495f230ca50':
Fix issue #18665625 CTS:android.app.cts.InstrumentationTest#...
9b287368b05f36e322f339b82d2bb495f230ca50 10-Dec-2014 Dianne Hackborn <hackbod@google.com> am 6bdbae07: Merge "Fix issue #18665625 CTS:android.app.cts.InstrumentationTest#..." into lmp-mr1-dev
automerge: 7557ec1

* commit '7557ec128f3d2e6dca42b92b2771d1cf486cbb0c':
Fix issue #18665625 CTS:android.app.cts.InstrumentationTest#...
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
9267fda30c73558d4fddfc8e1834782498af742b 08-Dec-2014 Alan Viverette <alanv@google.com> Prune the resource cache before adding new caches

BUG: 18666986
Change-Id: I5f7e4983100c2d5e4478a4d82c21bb59fa87810e
es/Resources.java
210d9d94cf67d2dfc422978aa4e6341bea67a4e2 08-Dec-2014 Mike Lockwood <lockwood@google.com> Merge "MIDI Manager work in progress"
67f8e8bd8927f24147d7a1edd6ec3db1a54233b2 01-Dec-2014 Mike Lockwood <lockwood@google.com> MIDI Manager work in progress

Still to do:

Add MidiInputPort and MidiOutputPort classes
Schedule sending MIDI events in the future
Security/permissions
Reconsider interface for virtual devices
Look into performance optimizations

Change-Id: I9b7d63b196996a04be0a830efa913043da1328a8
ontext.java
1aef3b1eb4598e0c9b8e44c15bc667f5a0fff4a5 04-Dec-2014 Eino-Ville Talvala <etalvala@google.com> am 431b65d1: am 6e21817b: am d23f8b44: Merge "Revert "Camera: Add new capability flags as system features as well"" into lmp-mr1-dev

* commit '431b65d11fa79ee1acf55e1de0d074fe9913a51d':
Revert "Camera: Add new capability flags as system features as well"
c22369be46346974165ef8f8256acdb768860518 04-Dec-2014 Dianne Hackborn <hackbod@google.com> am 3c8a439b: am e6333e51: am f696efa2: Merge "Fix issue #17948584: Application crash and phone restart when app..." into lmp-mr1-dev

* commit '3c8a439be33932f35b723271cec5cd4210c19221':
Fix issue #17948584: Application crash and phone restart when app...
431b65d11fa79ee1acf55e1de0d074fe9913a51d 04-Dec-2014 Eino-Ville Talvala <etalvala@google.com> am 6e21817b: am d23f8b44: Merge "Revert "Camera: Add new capability flags as system features as well"" into lmp-mr1-dev

* commit '6e21817b8ef160fae5e7046745cb11ceab06b2d7':
Revert "Camera: Add new capability flags as system features as well"
3c8a439be33932f35b723271cec5cd4210c19221 04-Dec-2014 Dianne Hackborn <hackbod@google.com> am e6333e51: am f696efa2: Merge "Fix issue #17948584: Application crash and phone restart when app..." into lmp-mr1-dev

* commit 'e6333e5188fd4becf7dea286c768f55c3b89d63e':
Fix issue #17948584: Application crash and phone restart when app...
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
0ab6472237d2c69aaf9d2c87f496444321a1f4df 03-Dec-2014 Tor Norbye <tnorbye@google.com> Merge "Add BIND_IMPORTANT to @BindServiceFlags"
6c23ba0d8d39aed98197071c7cf9ffc0b6c633b5 03-Dec-2014 Alan Viverette <alanv@google.com> am a6779bc5: am 9a888816: Merge "Deprecate one-arg getDrawableForDensity, update currents.txt" into lmp-mr1-dev

* commit 'a6779bc51772aae2ba4cc94db2ae47b76a2cc972':
Deprecate one-arg getDrawableForDensity, update currents.txt
a6f8b2ce552debde1f8a1ea673d689f96c56d67b 03-Dec-2014 Alan Viverette <alanv@google.com> Deprecate one-arg getDrawableForDensity, update currents.txt

BUG: 18579576
Change-Id: I7df6ec2952ab121e2be8ae0a016ccf36f6fba2ff
es/Resources.java
0cd6296c0afb92f63487247ef4c9c73715113926 03-Dec-2014 Alan Viverette <alanv@google.com> am 63c7a655: am 1b33396e: Merge "Deprecate Resources.getDrawable(int) in favor of the two-arg version" into lmp-mr1-dev

* commit '63c7a655beab21da934d21bb4004889bfb6e4417':
Deprecate Resources.getDrawable(int) in favor of the two-arg version
9438ad1599716176fb6c593e77a2e93b265bbcb5 03-Dec-2014 Adam Lesinski <adamlesinski@google.com> am e580d661: am e89a2865: Merge changes If2c7e09f,Ie21f227c

* commit 'e580d6617f67a1db5eff7ffe5450684cfc7e1a2b':
RRO idmap: pad with 0xffffffff, not 0x00000000
RRO: reintroduce lost ResTable insert of assets
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
e89a286541e242ad96705fcdd1fe2c6a9eafb4a0 02-Dec-2014 Adam Lesinski <adamlesinski@google.com> Merge changes If2c7e09f,Ie21f227c

* changes:
RRO idmap: pad with 0xffffffff, not 0x00000000
RRO: reintroduce lost ResTable insert of assets
ce1c67cdd7a0d0ad64e9a7ef4e9eef7847347ce9 02-Dec-2014 Tor Norbye <tnorbye@google.com> Add BIND_IMPORTANT to @BindServiceFlags

bindService calls passing BIND_IMPORTANT is being flagged
as invalid in Android Studio because our tools metadata
(derived from @BindServiceFlags) does not know that BIND_IMPORTANT
(and BIND_ADJUST_WITH_ACTIVITY) are allowed.

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

Change-Id: Ifad899f581f01c96bff46e304013219b80710c87
ontext.java
44a711ccac480aef4e8518284b8a0320e227f2df 25-Nov-2014 Adam Lesinski <adamlesinski@google.com> am 9f692b52: am 9be305d1: Merge "Make the Context service constant for UsageStats public" into lmp-mr1-dev

* commit '9f692b520255435903c8c1efb7b50f22a80505a5':
Make the Context service constant for UsageStats public
67c55be39a76fb17cff79d926914a37fe56d452d 25-Nov-2014 Alan Viverette <alanv@google.com> am 0d05788f: am 760cfb02: Merge "Check for null drawable in theme-less getDrawable()" into lmp-mr1-dev

* commit '0d05788fd06b24068c269bfa80dd96deafb00357':
Check for null drawable in theme-less getDrawable()
c02f304c3a1dc45a7e44b9f91b38c62353850d30 25-Nov-2014 Jeff Sharkey <jsharkey@android.com> am 58b699c3: am 636baa0d: Merge "Introduce revision codes for split APKs." into lmp-mr1-dev

* commit '58b699c366dea7abc26f34c1e5f1cc6031c04e23':
Introduce revision codes for split APKs.
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
b4c5410987a6657b71fb0b86e1ef8337628241dc 24-Nov-2014 Wink Saville <wink@google.com> am 4f1cce63: am 12c2136e: Merge "Additional changes to SubscriptionManager API as per API council." into lmp-mr1-dev

* commit '4f1cce63061976490e2e2cfc4085e1634d3a02de':
Additional changes to SubscriptionManager API as per API council.
bd9567e1569a6fc5222427f18cc653c29c0beb89 24-Nov-2014 Eino-Ville Talvala <etalvala@google.com> am e289082a: am dfa99f63: Merge "Camera: Add new capability flags as system features as well" into lmp-mr1-dev

* commit 'e289082a7066a86032190aa100425ce29cd2a4f2':
Camera: Add new capability flags as system features as well
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
47379f3050265453655ff82edd4c36bda01ba48f 21-Nov-2014 Alan Viverette <alanv@google.com> am e442e904: am 47172f53: Merge "Use parseColor instead of getHTMLColor"

* commit 'e442e904ae19f0b59ebfd4a7c735648b64bc955e':
Use parseColor instead of getHTMLColor
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
a987d9af69ca5447a888a3d5b50f3511d4b8f0da 10-Oct-2013 Stefan Wysocki <stefan.wysocki@sonymobile.com> Use parseColor instead of getHTMLColor

getHTMLColor is not aware of ARGB color format which is commonly used in
android xml files. This causes problem with coloring spans in resources.

Instead of above it should be changed to parseColor() with supported
formats: #RRGGBB #AARRGGBB

Bug: https://code.google.com/p/android/issues/detail?id=58192

Change-Id: I16bdf4c5c2a3b5e216b44e5c1955cac0104b3e12
es/StringBlock.java
30113131fb958850ef92c6a8f7f2aa2ed92a8ffe 07-Nov-2014 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> RRO: reintroduce lost ResTable insert of assets

With the recent introduction of AssetManager::appendPathToResTable,
overlay packages were not properly added to the AssetManager, and once
added, were not properly inserted into the ResTable.

Bug: 17765434
Change-Id: Ie21f227c654c98730f74a687d0e16ee2b80e747e
es/AssetManager.java
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
0670078bb6530dd00d5b0c537ccf0538231f74e8 08-Jul-2014 Romain Vimont <rom@rom1v.com> Remove wrong javadoc comment

Contrary to what the comment of SharedPreferences.Editor.putString()
says, a call to putString(key, null) is not equivalent to remove(key),
at least with SharedPreferencesImpl, backed by a HashMap.

Instead, it associates a null item to the key.

Signed-off-by: Romain Vimont <rom@rom1v.com>
haredPreferences.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
cebf960525539efac009c0b418b0bebf803079c5 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am 9b1c46df: am 3c00b28b: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '9b1c46df60dec6af81b9cbfcbf8a70192da66d64':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
9b1c46df60dec6af81b9cbfcbf8a70192da66d64 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am 3c00b28b: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '3c00b28bf60ab01b449e16df045238f4bae4d700':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
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
3c00b28bf60ab01b449e16df045238f4bae4d700 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib [DO NOT MERGE]

Cherry picked from klp-dev from
Change-Id: If1e7187645f0b0388f7b97d742395efd228b347a which was
cherrypicked from master with the following

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
(cherry picked from commit f1e7187645f0b0388f7b97d742395efd228b347a)
es/Resources.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